/* 깊이새김 랜딩 — 네이비·골드·라이트 (앱 theme.ts 기반) */
:root{
  --navy:#0F1B33; --navy-deep:#0A1326; --navy-2:#132444;
  --gold:#C6A15B; --gold-dark:#87692D; --gold-soft:rgba(198,161,91,.5);
  --cream:#ECE5D3; --cream-2:#F4EEDD;
  --bg:#FBFAF7; --surface:#F3F2ED; --ink:#16223B; --body:#39435A; --muted:#5C6474; --line:#E7E3D7;
  --sans:'Pretendard',-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --serif:'Noto Serif KR',serif;
  --r:16px; --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--body);font-family:var(--sans);font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;word-break:keep-all;overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--navy);color:var(--cream);padding:12px 20px;border-radius:0 0 10px 0;font-size:14px;font-weight:700;border:1px solid var(--gold-soft)}
.skip:focus{left:0}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--acc,var(--gold));outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 30px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--gold-dark);text-transform:uppercase;margin-bottom:20px}
.eyebrow.gold{color:var(--gold)}
.sec-h2{font-family:var(--sans);font-weight:800;font-size:clamp(26px,3.8vw,40px);line-height:1.26;letter-spacing:-.02em;color:var(--ink)}
.sec-h2.light{color:var(--cream-2)}
.sec{padding:128px 0}
.band{padding:52px 0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:100px;font-family:var(--sans);font-size:15px;font-weight:700;cursor:pointer;transition:.35s var(--ease);border:1px solid transparent}
.btn span{font-size:12px}
.btn.primary{background:var(--navy);color:var(--cream);border-color:var(--gold-soft)}
.btn.primary:hover{background:var(--navy-deep);transform:translateY(-1px)}
.btn.ghost{border-color:var(--gold-soft);color:var(--gold-dark);background:rgba(194,161,90,.05)}
.btn.ghost:hover{border-color:var(--gold-dark);background:rgba(194,161,90,.1)}

/* ===== NAV (네이비 마스트헤드 바 — 3사이트 공통 구조) ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;height:64px;display:flex;align-items:center;background:rgba(10,19,38,0);transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(10,19,38,.92);backdrop-filter:saturate(140%) blur(18px);border-bottom-color:var(--gold-soft)}
.nav .wrap{display:flex;align-items:center;gap:14px;width:100%;max-width:1200px;padding:0 30px}
.nav-left{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.nav-logo{height:20px;width:auto;filter:brightness(0) invert(1);opacity:.94}
.nav-menu{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:30px}
.nav-menu a{font-size:14px;color:var(--cream);opacity:.82;transition:.3s}
.nav-menu a:hover{opacity:1}
#how,#feat,#trust{scroll-margin-top:80px}
.nav-cta{display:inline-flex;align-items:center;margin-left:auto;padding:8px 17px;border-radius:100px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.85);font-size:13.5px;font-weight:500;white-space:nowrap;transition:.3s}
.nav-cta:hover{border-color:rgba(255,255,255,.5);color:#fff}
.nav-act{display:inline-flex;align-items:center;padding:9px 20px;border-radius:100px;background:var(--gold);color:var(--navy-deep);font-size:13.5px;font-weight:700;white-space:nowrap;transition:.3s var(--ease)}
.nav-act:hover{background:var(--cream);transform:translateY(-1px)}
.nav-burger{display:none;align-items:center;gap:8px;background:none;border:0;cursor:pointer;padding:8px 4px}
.nb-txt{font-size:13.5px;font-weight:500;color:var(--cream);white-space:nowrap}
.nb-ico{display:flex;flex-direction:column;gap:5px}
.nb-ico i{display:block;width:22px;height:1.5px;background:var(--cream);transition:.3s}
@media(max-width:860px){
  .nav-menu{display:none;position:absolute;top:64px;left:0;right:0;transform:none;flex-direction:column;gap:0;background:rgba(10,19,38,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--gold-soft);padding:8px 0}
  .nav-menu.open{display:flex}
  .nav-menu a{padding:15px 30px;border-bottom:1px solid rgba(236,229,211,.12);opacity:1}
  .nav-burger{display:flex}
  .nav-eco{margin-left:auto}
  .nav-cta,.nav-act{display:none}
}

/* ===== FLOATING APP CTA (모바일 전용) ===== */
@media(min-width:861px){.fab-cta{display:none}}
.fab-cta{position:fixed;left:20px;bottom:22px;z-index:45;display:inline-flex;align-items:center;padding:14px 24px;border-radius:100px;background:var(--gold);color:var(--navy-deep);font-size:14.5px;font-weight:700;box-shadow:0 12px 34px -10px rgba(0,0,0,.5);transition:transform .3s;white-space:nowrap}
.fab-cta:hover{transform:translateY(-2px);background:var(--cream)}
@media(max-width:560px){.fab-cta{left:16px;bottom:16px;padding:12px 20px;font-size:14px}}

/* ===== HERO (네이비) ===== */
.hero{position:relative;background:linear-gradient(170deg,var(--navy) 0%,var(--navy-deep) 100%);color:var(--cream);text-align:center;padding:150px 24px 96px;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(100% 60% at 50% -5%,rgba(194,161,90,.14),transparent 60%);pointer-events:none}
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold-soft)}
.hero-in{position:relative;z-index:1;opacity:0;animation:rise 1.2s var(--ease) .15s forwards}
@keyframes rise{to{opacity:1}}
.masthead{height:82px;width:auto;margin:0 auto;display:block;filter:drop-shadow(0 20px 40px rgba(0,0,0,.4))}
.mast-tag{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px;font-size:13px;letter-spacing:.06em}
.mast-tag span:first-child{color:var(--cream);opacity:.8}
.mast-tag .season{color:var(--gold);font-weight:700;padding-left:12px;border-left:1px solid var(--gold-soft)}
.hero-kick{margin-top:40px;font-size:13.5px;font-weight:700;letter-spacing:.16em;color:var(--gold)}
.hero-h1{margin-top:20px;font-family:var(--sans);font-weight:800;font-size:clamp(33px,5.6vw,56px);line-height:1.22;letter-spacing:-.02em;color:var(--cream-2)}
.carve{background:linear-gradient(transparent 70%, rgba(198,161,91,.45) 70%);padding:0 2px;border-radius:2px}
.hero-sub{margin-top:26px;font-size:clamp(15px,1.9vw,17.5px);line-height:1.85;color:rgba(236,229,211,.72);font-weight:400}
.hero-cta{margin-top:40px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.school-pill{margin-top:40px;display:inline-flex;align-items:center;padding:10px 22px;border:1px solid var(--gold-soft);border-radius:100px;font-size:13.5px;font-weight:500;color:var(--gold);background:rgba(194,161,90,.06);letter-spacing:.02em}

/* ===== POSITION ===== */
.position{background:var(--surface);border-bottom:1px solid var(--line);text-align:center}
.position-line{font-size:clamp(18px,2.4vw,24px);font-weight:700;color:var(--ink);letter-spacing:-.01em}
.position-line b{color:var(--gold-dark)}
.position-sub{margin-top:12px;font-size:15px;color:var(--muted)}

/* ===== HOW (스텝) ===== */
.how{background:var(--bg)}
.how .sec-h2{margin-bottom:44px}
.steps{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.step{display:flex;gap:26px;align-items:baseline;padding:26px 8px;border-bottom:1px solid var(--line);transition:background .3s}
.step:hover{background:var(--surface)}
.step-no{font-family:var(--sans);font-size:21px;font-weight:800;color:var(--gold-dark);min-width:44px}
.step-title{font-size:18px;font-weight:700;color:var(--ink)}
.step-desc{margin-top:5px;font-size:14.5px;color:var(--muted)}

/* ===== FEATURES ===== */
.feat{background:var(--surface)}
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.feat-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;transition:.4s var(--ease)}
.feat-card:hover{transform:translateY(-3px);border-color:var(--gold-soft);box-shadow:0 24px 50px -30px rgba(15,27,51,.4)}
.feat-no{font-family:var(--sans);font-size:13px;font-weight:800;color:var(--gold-dark);letter-spacing:.08em}
.feat-card h3{margin-top:14px;font-size:20px;font-weight:700;color:var(--ink)}
.feat-card p{margin-top:12px;font-size:14.5px;line-height:1.75;color:var(--muted)}

/* ===== TRUST ===== */
.trust{background:var(--bg)}
.trust-list{list-style:none;margin-top:30px;display:flex;flex-direction:column;gap:2px}
.trust-list li{display:flex;align-items:center;gap:16px;padding:20px 4px;border-bottom:1px solid var(--line);font-size:clamp(15px,1.9vw,18px);color:var(--ink);font-weight:500}
.tick{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--gold-dark);position:relative}
.tick::after{content:'';position:absolute;left:7px;top:5px;width:5px;height:9px;border:solid var(--cream);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ===== DOWNLOAD ===== */
.download{background:var(--bg);padding-bottom:110px}
.dl-card{position:relative;background:linear-gradient(165deg,var(--navy),var(--navy-deep));border:1px solid var(--gold-soft);border-radius:26px;padding:56px 52px;text-align:center;overflow:hidden}
.dl-card::before{content:'';position:absolute;inset:0;background:radial-gradient(90% 70% at 50% 0%,rgba(194,161,90,.14),transparent 60%);pointer-events:none}
.dl-mark{position:absolute;right:-10px;top:-18px;font-family:'Pretendard',-apple-system,'Malgun Gothic',sans-serif;font-size:120px;font-weight:800;color:rgba(194,161,90,.08);pointer-events:none;line-height:1;letter-spacing:-.03em}
.dl-card .eyebrow{position:relative}
.dl-sub{position:relative;margin-top:20px;max-width:560px;margin-inline:auto;font-size:15.5px;line-height:1.8;color:rgba(236,229,211,.72)}
.store-row{position:relative;margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.store{display:inline-flex;align-items:center;gap:12px;padding:13px 22px;border:1px solid var(--gold-soft);border-radius:14px;background:rgba(255,255,255,.04);transition:.35s var(--ease);min-width:190px}
.store:hover{background:rgba(255,255,255,.08);border-color:var(--gold);transform:translateY(-2px)}
.s-txt{display:flex;flex-direction:column;text-align:left;line-height:1.25}
.s-txt small{font-size:11px;color:rgba(236,229,211,.72);font-weight:400}
.s-txt b{font-size:14.5px;color:var(--cream-2);font-weight:700}
.store.web{background:var(--gold);border-color:var(--gold)}
.store.web .s-txt small{color:rgba(15,27,51,.6)}
.store.web .s-txt b{color:var(--navy-deep)}
.dl-pwa{position:relative;margin-top:18px;font-size:14px;color:rgba(236,229,211,.85)}
.dl-pwa b{color:var(--gold)}
.dl-note{position:relative;margin-top:14px;font-size:13px;color:rgba(236,229,211,.68)}

/* ===== FOOTER ===== */
.foot{background:var(--navy-deep);color:var(--cream);text-align:center;padding:60px 0 70px}
.foot-mark{font-family:'Pretendard',-apple-system,'Malgun Gothic',sans-serif;font-size:24px;font-weight:800;color:var(--cream);letter-spacing:-.01em}
.foot-mark .fm-gold{color:var(--gold)}
.foot-brand{margin-top:18px;font-size:14.5px;color:rgba(236,229,211,.85)}
.foot-brand b{font-weight:700}
.foot-brand a{color:var(--gold)}
.foot-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.foot-links a{font-size:13px;color:var(--cream);padding:8px 16px;border:1px solid var(--gold-soft);border-radius:100px;transition:.3s;opacity:.85}
.foot-links a:hover{opacity:1;border-color:var(--gold)}
.foot-legal{margin-top:28px;font-size:11.5px;line-height:1.9;color:rgba(236,229,211,.6)}
.foot-sig{color:var(--gold);opacity:.85;letter-spacing:.05em}

/* ===== TOAST ===== */
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:var(--navy);color:var(--cream);padding:14px 24px;border-radius:100px;font-size:13.5px;font-weight:500;border:1px solid var(--gold-soft);opacity:0;pointer-events:none;transition:.4s var(--ease);z-index:100;box-shadow:0 20px 50px -12px rgba(0,0,0,.5)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ===== RESPONSIVE ===== */
@media(max-width:760px){
  .sec{padding:72px 0}
  .feat-grid{grid-template-columns:1fr}
  .dl-card{padding:42px 26px}
  .masthead{height:62px}
  .store{min-width:auto;flex:1 1 100%;justify-content:center}
}
