*{box-sizing:border-box;margin:0;padding:0}
:root{color-scheme:light dark;--bg:light-dark(#f6f6f3,#111315);--surface:light-dark(#fff,#1a1d20);--text:light-dark(#171918,#f3f4f2);--muted:light-dark(#626763,#afb4b0);--line:light-dark(#dedfdb,#313538);--accent:light-dark(#171918,#f3f4f2);--accent-text:light-dark(#fff,#171918)}
html,body{min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;background:var(--bg);color:var(--text)}
body{min-width:320px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.site-shell{min-height:100svh;display:flex;flex-direction:column}
.site-header{height:62px;flex:0 0 62px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:600}.brand-mark{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--accent);color:var(--accent-text);font-size:18px}.desktop-nav{display:flex;align-items:center;gap:22px}.desktop-nav a,.site-footer a{border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.desktop-nav a:hover,.site-footer a:hover{color:var(--text)}
.menu-button{display:none;width:44px;height:44px;border:0;background:transparent;font-size:22px;cursor:pointer}
.hero{width:100%;max-width:1180px;min-height:650px;margin:auto;padding:52px 5% 58px;display:grid;grid-template-columns:minmax(500px,1.08fr) minmax(330px,.92fr);gap:58px;align-items:center}.hero-copy{min-width:0}.eyebrow{margin-bottom:14px;color:var(--muted);font-size:12px;letter-spacing:.12em}.hero h1{max-width:520px;margin-bottom:18px;white-space:nowrap;font-size:clamp(27px,2.8vw,32px);line-height:1.2;letter-spacing:-.01em;font-weight:600}.lead{max-width:520px;margin-bottom:26px;color:var(--muted);font-size:16px;line-height:1.9}.desktop-editor-button{display:inline-flex;min-height:49px;padding:0 23px;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:var(--accent-text);font-weight:600}.steps{margin-top:20px;color:var(--muted);font-size:12px}.steps span{padding:0 5px;opacity:.55}.privacy-note{display:flex;align-items:flex-start;gap:7px;max-width:510px;margin-top:11px;color:var(--muted);font-size:12px;line-height:1.55}
.showcase{min-width:0}.photo-stack{position:relative;min-height:480px;padding:0 42px 30px;display:grid;place-items:center}.photo-card{position:relative;overflow:hidden;border-radius:12px;background:var(--surface);box-shadow:0 25px 65px light-dark(rgba(25,28,25,.17),rgba(0,0,0,.45));transition:width .2s ease,aspect-ratio .2s ease}.photo-card-main{z-index:2;width:min(90%,440px);aspect-ratio:var(--sample-aspect,4/3)}.photo-card-main.landscape{width:min(100%,540px)}.photo-card-main.portrait{width:min(70%,330px);max-height:500px}.photo-card-main.square{width:min(82%,410px)}.photo-viewport{position:relative;width:100%;height:100%;overflow:hidden;background:linear-gradient(145deg,#9bbbd0,#e5d8b7 50%,#3d4f46)}.photo-viewport img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transition:opacity .35s}.photo-viewport img.loaded{opacity:1}.showcase-placeholder{position:absolute;inset:0;display:grid;place-content:center;gap:7px;text-align:center;color:rgba(255,255,255,.92)}.showcase-placeholder span{font-size:18px;letter-spacing:.16em}.showcase-placeholder small{font-size:11px}.showcase-placeholder.hidden{display:none}.mobile-editor-button{display:none}.showcase-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:44px;height:52px;border:0;display:grid;place-items:center;background:transparent;color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.62));font-size:35px;font-weight:300;line-height:1;cursor:pointer}.showcase-arrow:hover{transform:translateY(-52%)}.showcase-arrow:focus-visible{outline:2px solid var(--text);outline-offset:2px}.showcase-arrow-prev{left:0}.showcase-arrow-next{right:0}.showcase-dots{position:absolute;z-index:4;bottom:5px;display:flex;gap:8px}.showcase-dots:empty{display:none}.showcase-dots button{width:10px;height:10px;border:0;border-radius:50%;background:var(--line);cursor:pointer}.showcase-dots button.active{background:var(--accent)}
.site-footer{min-height:64px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;background:var(--surface);border-top:1px solid var(--line);color:var(--muted);font-size:12px}.site-footer nav{display:flex;gap:17px;flex-wrap:wrap}
.mobile-menu,.menu-backdrop{display:none}dialog{width:min(92vw,560px);max-height:82vh;margin:auto;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 25px 70px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(0,0,0,.58)}dialog h2{margin-bottom:18px;font-size:22px}dialog h3{margin:18px 0 6px;font-size:15px}dialog p,dialog li{color:var(--muted);font-size:14px;line-height:1.8}dialog ol{padding-left:22px}.dialog-close{position:absolute;top:12px;right:12px;width:42px;height:42px;border:0;background:transparent;font-size:24px;cursor:pointer}
@media(max-width:760px){.site-header{height:56px;flex-basis:56px;padding:0 14px}.desktop-nav{display:none}.menu-button{display:grid;place-items:center}.hero{min-height:0;padding:23px 16px 34px;grid-template-columns:1fr;gap:10px;text-align:center}.eyebrow{margin-bottom:6px;font-size:11px;letter-spacing:.1em}.hero h1{max-width:none;margin-bottom:7px;font-size:clamp(18px,5.4vw,21px);letter-spacing:-.015em}.lead{max-width:330px;margin:0 auto 7px;font-size:12px;line-height:1.65}.desktop-editor-button{display:none}.steps{order:5;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.privacy-note{justify-content:center;margin:0 auto 6px;font-size:11px}.showcase{grid-row:2}.photo-stack{min-height:340px;padding:0 35px 26px}.photo-card{border-radius:9px}.photo-card-main.landscape{width:min(96%,390px)}.photo-card-main.portrait{width:min(62%,235px);max-height:330px}.photo-card-main.square{width:min(78%,290px)}.showcase-arrow{width:44px;height:48px;font-size:30px}.mobile-editor-button{position:absolute;z-index:5;top:47%;left:50%;transform:translate(-50%,-50%);width:min(68%,220px);min-height:48px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:rgba(20,22,22,.56);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 26px rgba(0,0,0,.16);font-size:14px;font-weight:600}.showcase-dots{bottom:2px}.site-footer{justify-content:center;text-align:center;padding:21px 14px}.site-footer nav{justify-content:center;gap:12px 15px}.mobile-menu{position:fixed;z-index:101;top:0;right:0;width:min(82vw,330px);height:100%;padding:14px;background:var(--surface);box-shadow:-18px 0 45px rgba(0,0,0,.45);transform:translateX(105%);transition:transform .2s;display:block}.mobile-menu.open{transform:none}.mobile-menu-heading{height:46px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.mobile-menu-heading button{width:42px;height:42px;border:0;background:transparent;font-size:24px}.mobile-menu>a,.mobile-menu>button{display:block;width:100%;padding:15px 2px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font-size:13px}.menu-backdrop{position:fixed;z-index:100;inset:0;width:100%;border:0;background:rgba(0,0,0,.56)}.menu-backdrop.visible{display:block}}
@media(prefers-reduced-motion:reduce){.photo-card,.photo-viewport img{transition:none}}
@media(max-width:360px){.hero{padding-left:12px;padding-right:12px}.hero h1{font-size:18px}.photo-stack{min-height:350px}}
body.menu-open{overflow:hidden}
@media (min-width:761px) and (max-width:1000px) {
  .hero { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:24px; }
  .hero h1 { font-size:clamp(18px,2vw,22px); }
}
/* Locale switcher and language-specific font fallbacks. */
.language-select { min-height: 36px; max-width: 128px; padding: 6px 26px 6px 8px; border: 1px solid #526579; border-radius: 7px; background: #172532; color: #fff; font: inherit; }
.desktop-nav { align-items: center; }
.desktop-nav a, .site-footer a { overflow-wrap: anywhere; }
:lang(ko) body { font-family: "Apple SD Gothic Neo", "Noto Sans KR", sans-serif; }
:lang(zh-Hans) body { font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif; }
@media (max-width: 860px) { .desktop-nav .language-select { display: none; } }
