/* KEYMAKER — 랜딩 */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(/static/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}

:root{
  --ink:#080B11;--ink2:#0C1018;--ink3:#121722;--ink4:#1A2030;
  --paper:#F5F1E8;--paper2:#ECE5D6;--pink:#13161D;
  --text:#ECE7DD;--muted:#A3A9B4;--muted2:#6F7785;
  --gold:#C9A96C;--gold2:#EAD6A6;--gold3:#8C7243;--goldDeep:#6D5631;
  --line:rgba(234,214,166,.16);--line2:rgba(255,255,255,.08);
  --ease:cubic-bezier(.2,.75,.12,1);
  --serif:"Cormorant Garamond","Times New Roman",serif;
  --sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --pad:24px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.75;letter-spacing:-.015em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:keep-all;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img,svg{display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-weight:inherit}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
.wrap{position:relative;width:100%;max-width:1120px;margin:0 auto;padding:0 var(--pad)}

/* 강조 */
.hl{font-style:normal;background:linear-gradient(100deg,#B08E55 0%,#F3E2B6 42%,#C9A96C 64%,#9C7C47 100%);background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s var(--ease) infinite}
@keyframes sheen{0%,62%{background-position:100% 0}100%{background-position:-120% 0}}
strong{font-weight:650;color:#fff}
.sec--light strong{color:var(--pink)}

/* 위 진행선 · 상단바 */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:70;pointer-events:none}
.progress i{display:block;height:100%;transform-origin:0 50%;transform:scaleX(var(--sp,0));background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold2))}
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:14px var(--pad);padding-top:max(14px,env(safe-area-inset-top));transition:background .5s,backdrop-filter .5s,transform .5s var(--ease),opacity .5s}
.topbar.solid{background:rgba(8,11,17,.72);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line2)}
.tb-mark{font-family:var(--serif);font-weight:600;letter-spacing:.32em;font-size:15px;text-decoration:none;color:var(--gold2)}
.tb-cta{font-size:13px;font-weight:600;text-decoration:none;padding:8px 14px;border-radius:999px;border:1px solid var(--line);color:var(--gold2);
  opacity:0;transform:translateY(-6px);transition:.5s var(--ease)}
.topbar.solid .tb-cta{opacity:1;transform:none}

/* 버튼 */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 26px;border-radius:16px;border:0;
  font-weight:650;font-size:16px;letter-spacing:-.01em;text-decoration:none;cursor:pointer;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s,opacity .3s}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-gold{color:#17120A;background:linear-gradient(135deg,#F0DDAE 0%,#D2B47A 38%,#B8955A 100%);
  box-shadow:0 10px 30px -10px rgba(201,169,108,.55),inset 0 1px 0 rgba(255,255,255,.55)}
.btn-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 66%);
  transform:translateX(-120%);animation:sweep 5.5s var(--ease) infinite 1.5s}
@keyframes sweep{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.btn-gold:active{transform:scale(.98)}
.btn-ghost{background:transparent;color:var(--gold2);border:1px solid var(--line);height:52px}
.btn-block{width:100%}

/* 공통 섹션 */
.sec{position:relative;padding:112px 0}
.sec--dark{background:var(--ink)}
.sec--deep{background:radial-gradient(120% 80% at 80% 0%,#141B2B 0%,var(--ink2) 45%,var(--ink) 100%)}
.sec--light{background:var(--paper);color:var(--pink)}
.sec--light .lead,.sec--light .prose p,.sec--light .closing{color:#5B606B}
.sec--light + .sec--dark,.sec--light + .sec--deep{border-top:0}
.sec--dark + .sec--dark{padding-top:40px}
.sec-head{max-width:720px;margin-bottom:48px}
.center .sec-head,.center .prose,.center .big-line,.center .closing{margin-left:auto;margin-right:auto;text-align:center}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:26px;font-size:13px;letter-spacing:.08em;color:var(--gold)}
.eyebrow .no{font-family:var(--serif);font-style:italic;font-size:18px;letter-spacing:0;color:var(--gold2);font-variant-numeric:lining-nums;font-feature-settings:"lnum"}
.eyebrow .bar{width:28px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.sec--light .eyebrow{color:var(--gold3)}
.sec--light .eyebrow .no{color:var(--goldDeep)}
.center .eyebrow{justify-content:center}
.h1{font-size:clamp(36px,9.4vw,76px);line-height:1.16;font-weight:720;letter-spacing:-.045em}
.h2{font-size:clamp(27px,6.6vw,46px);line-height:1.32;font-weight:680;letter-spacing:-.04em}
.lead{margin-top:20px;font-size:17px;color:var(--muted);max-width:620px}
.prose{max-width:620px}
.prose p{color:var(--muted);font-size:17px;margin-top:14px}
.big-line{margin-top:44px;font-size:clamp(21px,4.6vw,30px);line-height:1.5;font-weight:650;letter-spacing:-.035em;max-width:720px}
.closing{margin-top:40px;color:var(--muted);font-size:16px;max-width:620px}
.fine{margin-top:22px;font-size:12.5px;line-height:1.7;color:var(--muted2)}

/* 줄마다 올라오기 */
.ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.ln>span{display:inline-block;transform:translateY(108%);transition:transform 1.15s var(--ease);transition-delay:calc(var(--l,0)*110ms + 80ms)}
.in .ln>span,.ln.in>span{transform:none}
.rv{opacity:0;transform:translateY(22px);filter:blur(8px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);transition-delay:calc(var(--i,0)*90ms + 120ms)}
.rv.in{opacity:1;transform:none;filter:none}

/* 첫 화면 */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:120px 0 96px;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1}
.glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55}
.g1{width:70vmax;height:70vmax;left:-25vmax;top:-30vmax;background:radial-gradient(circle,#1B2A47 0%,transparent 62%)}
.g2{width:55vmax;height:55vmax;right:-20vmax;bottom:-25vmax;background:radial-gradient(circle,rgba(201,169,108,.22) 0%,transparent 60%)}
.dust{position:absolute;inset:0;width:100%;height:100%}
.dial{position:absolute;width:min(132vw,820px);aspect-ratio:1;right:max(-38vw,-300px);top:6%;opacity:.95;
  transform:translateY(calc(var(--p,0)*-60px)) scale(calc(1 + var(--p,0)*.08))}
.dial svg{width:100%;height:100%;overflow:visible}
.ring{transform-origin:300px 300px;transform-box:view-box}
.r1{animation:spin 140s linear infinite}
.r2{animation:spin 90s linear infinite reverse}
.r3{animation:spin 60s linear infinite}
.r4{animation:spin 44s linear infinite reverse}
.r5{animation:spin 30s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.core{opacity:calc(.35 + var(--p,0)*.65);transition:opacity .2s}
.keyhole{filter:drop-shadow(0 0 18px rgba(234,214,166,.35))}
.beam{position:absolute;right:calc(min(132vw,820px)/2 + max(-38vw,-300px) - 2px);top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,transparent,rgba(243,226,182,.0) 30%,rgba(243,226,182,.35) 52%,transparent 80%);
  filter:blur(6px);opacity:calc(var(--p,0)*1.2);transform:scaleX(calc(1 + var(--p,0)*14))}
.hero-in{z-index:1}
.badge{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.03);font-size:13px;color:var(--gold2);margin-bottom:28px;backdrop-filter:blur(8px)}
.badge .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(201,169,108,.7);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(201,169,108,.6)}70%{box-shadow:0 0 0 10px rgba(201,169,108,0)}100%{box-shadow:0 0 0 0 rgba(201,169,108,0)}}
.hero-eyebrow{font-size:15px;color:var(--muted);margin-bottom:22px;line-height:1.8}
.hero-sub{margin-top:26px;max-width:560px;font-size:17.5px;color:#C9CDD5;line-height:1.8}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.hero-chips li{font-size:13px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line2);color:#D9DCE2}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;margin-top:40px}
.hero-note{font-size:13px;color:var(--muted2)}
.scroll-cue{position:absolute;left:50%;bottom:22px;width:22px;height:36px;margin-left:-11px;border:1px solid var(--line);border-radius:12px}
.scroll-cue span{position:absolute;left:50%;top:7px;width:2px;height:7px;margin-left:-1px;border-radius:2px;background:var(--gold);animation:cue 2s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

/* 인용 카드 */
.q-list{display:grid;gap:14px;max-width:760px}
.q-card{position:relative;padding:26px 26px 26px 64px;border-radius:20px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04),0 20px 40px -28px rgba(20,22,30,.35)}
.sec--dark .q-card,.sec--deep .q-card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.06);border:1px solid var(--line2)}
.q-mark{position:absolute;left:22px;top:12px;font-family:var(--serif);font-size:54px;line-height:1;color:var(--gold)}
.q-card p{font-size:16.5px;line-height:1.75}
.sec--light .q-card p{color:#30343D}

/* 기능 · 특징 */
.f-list{display:grid;gap:14px}
.f-cards{grid-template-columns:1fr}
.f-item{display:flex;gap:18px;align-items:flex-start;padding:24px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border:1px solid var(--line2)}
.sec--light .f-item{background:#fff;border-color:rgba(20,22,30,.06);box-shadow:0 18px 40px -30px rgba(20,22,30,.4)}
.f-item h3{font-size:18px;font-weight:650;letter-spacing:-.03em;line-height:1.45}
.f-item p{margin-top:6px;color:var(--muted);font-size:15px;line-height:1.7}
.sec--light .f-item p{color:#666b75}
.f-ic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(234,214,166,.22),rgba(201,169,108,.06));border:1px solid var(--line)}
.ic{width:22px;height:22px;fill:none;stroke:var(--gold2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sec--light .ic{stroke:var(--gold3)}
.f-num{flex:none;font-family:var(--serif);font-style:italic;font-size:30px;line-height:1;color:var(--gold);width:40px;font-feature-settings:"lnum"}
.f-list.f-numbered .f-item{background:transparent;border:0;border-top:1px solid var(--line2);border-radius:0;padding:24px 0}
.sec--light .f-list.f-numbered .f-item{box-shadow:none;border-top-color:rgba(20,22,30,.1)}
.f-list.f-plain .f-item{background:transparent;border:0;padding:6px 0}

/* 맞는 분 · 안 맞는 분 */
.fit{display:grid;gap:14px}
.fit-card{padding:28px;border-radius:24px}
.fit-card.good{background:linear-gradient(160deg,rgba(234,214,166,.13),rgba(234,214,166,.03) 60%);border:1px solid var(--line)}
.fit-card.bad{background:rgba(255,255,255,.02);border:1px solid var(--line2)}
.sec--light .fit-card.good{background:#fff;border-color:rgba(140,114,67,.25);box-shadow:0 24px 50px -36px rgba(109,86,49,.55)}
.sec--light .fit-card.bad{background:var(--paper2);border-color:transparent}
.fit-label{font-size:13px;font-weight:650;letter-spacing:.04em;margin-bottom:16px;color:var(--gold)}
.fit-card.bad .fit-label{color:var(--muted2)}
.fit-card li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;font-size:16px;line-height:1.6}
.fit-card li .ic{flex:none;margin-top:2px;width:20px;height:20px}
.fit-card.bad li{color:var(--muted)}
.sec--light .fit-card.bad li{color:#7a7f89}
.fit-card i{flex:none;width:20px;text-align:center;font-style:normal;color:var(--muted2);font-size:18px;line-height:1.4}

/* 단계 */
.steps{position:relative;display:grid;gap:8px;max-width:720px}
.st-line{position:absolute;left:23px;top:24px;bottom:24px;width:1px;background:var(--line2)}
.st-line i{position:absolute;inset:0;transform-origin:50% 0;transform:scaleY(var(--sl,0));background:linear-gradient(180deg,var(--gold2),var(--gold) 70%,transparent)}
.sec--light .st-line{background:rgba(20,22,30,.1)}
.st{position:relative;display:flex;gap:20px;align-items:flex-start;padding:14px 0}
.st-node{flex:none;position:relative;z-index:1;min-width:48px;height:48px;padding:0 8px;border-radius:24px;display:grid;place-items:center;
  font-family:var(--serif);font-weight:600;font-size:16px;color:var(--gold2);background:var(--ink3);border:1px solid var(--line);font-variant-numeric:lining-nums;font-feature-settings:"lnum"}
.sec--light .st-node{background:#fff;color:var(--goldDeep);border-color:rgba(140,114,67,.3)}
.st-body{padding-top:9px}
.st-body h3{font-size:18.5px;font-weight:650;letter-spacing:-.03em}
.st-body p{margin-top:4px;font-size:15px;color:var(--muted)}
.sec--light .st-body p{color:#666b75}

/* 비교표 */
.cmp{border-radius:24px;border:1px solid var(--line2);overflow:hidden;background:rgba(255,255,255,.02)}
.cmp-row{display:grid;grid-template-columns:.9fr 1fr 1.15fr;align-items:stretch;border-top:1px solid var(--line2)}
.cmp-row:first-child{border-top:0}
.cmp-row>div{padding:18px 14px;font-size:14.5px;line-height:1.55}
.cmp-head>div{font-size:12.5px;font-weight:650;letter-spacing:.04em;color:var(--muted2);padding-top:16px;padding-bottom:16px}
.cmp-item{font-weight:650}
.cmp-other{color:var(--muted)}
.cmp-ours{background:linear-gradient(180deg,rgba(234,214,166,.11),rgba(234,214,166,.04));color:#F4E9CF;font-weight:600;box-shadow:inset 1px 0 0 var(--line)}
.cmp-head .cmp-ours{color:var(--gold2);font-family:var(--serif);letter-spacing:.2em;font-size:13px}

/* 숫자 */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stat{padding:24px;border-radius:22px;border:1px solid var(--line2);background:rgba(255,255,255,.025)}
.stat b{display:block;font-family:var(--serif);font-size:46px;font-weight:600;line-height:1;color:var(--gold2);font-feature-settings:"lnum"}
.stat b small{font-size:22px;margin-left:2px}
.stat>span{display:block;margin-top:10px;font-size:14px;color:var(--muted)}

/* 지급 사례 */
.cases{display:grid;gap:2px;max-width:760px}
.case{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid var(--line2)}
.sec--light .case{border-bottom-color:rgba(20,22,30,.08)}
.case-label{font-size:13px;color:var(--muted2)}
.case-bar{height:4px;border-radius:4px;background:rgba(255,255,255,.05);overflow:hidden}
.sec--light .case-bar{background:rgba(20,22,30,.06)}
.case-bar i{display:block;height:100%;width:var(--w);border-radius:4px;background:linear-gradient(90deg,var(--gold3),var(--gold2));transform-origin:0 50%;transform:scaleX(0);transition:transform 1.4s var(--ease) .3s}
.case.in .case-bar i{transform:scaleX(1)}
.case b{font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;letter-spacing:-.02em}
.case b small{font-size:13px;font-weight:500;color:var(--muted);margin-left:2px}
.cases[data-collapsed="1"] .more{display:none}
.more-btn{margin-top:22px}

/* 후기 */
.voices{display:grid;gap:14px}
.voice{padding:26px;border-radius:22px;border:1px solid var(--line2);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.sec--light .voice{background:#fff;border-color:transparent;box-shadow:0 18px 40px -30px rgba(20,22,30,.4)}
.voice p{font-size:16px;line-height:1.75}
.voice span{display:block;margin-top:14px;font-size:13px;color:var(--gold)}

/* 이야기 */
.story{max-width:680px;display:grid;gap:18px}
.story p{font-size:17px;color:var(--muted);line-height:1.85}
.sec--light .story p{color:#545964}

/* 체크리스트 */
.checks{display:grid;gap:10px;max-width:640px}
.checks li{display:flex;gap:14px;align-items:center;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid var(--line2);font-size:16.5px}
.sec--light .checks li{background:#fff;border-color:transparent;box-shadow:0 14px 30px -26px rgba(20,22,30,.45)}
.checks .ic{flex:none}

/* 혜택 */
.bns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bn{position:relative;padding:22px 18px;border-radius:20px;border:1px solid var(--line2);background:rgba(255,255,255,.025);min-height:150px}
.bn-lg{grid-column:1/-1;padding:28px 24px;background:linear-gradient(150deg,rgba(234,214,166,.14),rgba(234,214,166,.02) 70%);border-color:var(--line)}
.bn-num{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--gold);line-height:1;font-feature-settings:"lnum"}
.bn-tag{position:absolute;right:16px;top:20px;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--muted2)}
.bn h3{margin-top:18px;font-size:17px;font-weight:650;letter-spacing:-.03em}
.bn p{margin-top:6px;font-size:14px;color:var(--muted);line-height:1.65}

/* 앱 화면 */
.phone-wrap{display:grid;gap:44px;align-items:center}
.phone{width:min(300px,78vw);margin:0 auto;aspect-ratio:9/19;border-radius:44px;padding:11px;background:linear-gradient(160deg,#2a3142,#0c0f16 40%,#1b2130);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.07),0 0 80px -10px rgba(201,169,108,.25)}
.phone-screen{height:100%;border-radius:34px;background:#F7F4EE;color:#14171E;padding:16px 16px 0;display:flex;flex-direction:column;overflow:hidden;font-size:12px}
.ph-top{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:11px}
.ph-isl{width:70px;height:20px;border-radius:12px;background:#0b0d12}
.ph-brand{margin-top:16px;font-family:var(--serif);letter-spacing:.3em;font-weight:600;color:var(--gold3);font-size:11px}
.ph-title{font-size:20px;font-weight:750;letter-spacing:-.04em;margin-top:2px}
.ph-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}
.ph-stats div{background:#fff;border-radius:14px;padding:10px 8px;box-shadow:0 6px 16px -12px rgba(0,0,0,.4)}
.ph-stats b{display:block;font-size:17px}
.ph-stats span{font-size:10px;color:#7b808a}
.ph-list{margin-top:12px;display:grid;gap:6px}
.ph-list li{display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:10px;font-size:11.5px}
.ph-list i{width:14px;height:14px;border-radius:50%;border:1.5px solid #cfc6b4;flex:none}
.ph-list i.on{background:var(--gold);border-color:var(--gold)}
.ph-list span{flex:1}
.ph-list em{font-style:normal;font-size:10px;color:#8b8f98}
.ph-nav{margin-top:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:10px 0 14px;font-size:10px;text-align:center;color:#9aa0aa;border-top:1px solid #ebe5d8}
.ph-nav .on{color:#14171E;font-weight:700}

/* 강조 띠 */
.sec.cta{padding:72px 0}
.cta-band{position:relative;text-align:center;padding:52px 24px;border-radius:30px;overflow:hidden;border:1px solid var(--line);
  background:radial-gradient(90% 140% at 50% 0%,rgba(234,214,166,.16),rgba(234,214,166,0) 60%),linear-gradient(180deg,#121826,#0B0F17)}
.cta-eyebrow{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:18px;margin-bottom:12px}
.cta-title{font-size:clamp(22px,5.4vw,34px);font-weight:700;letter-spacing:-.04em;line-height:1.4}
.cta-sub{margin-top:12px;color:var(--muted)}
.cta-band .btn{margin-top:28px}

/* 신청서 */
.b-form{padding-bottom:130px}
.form-grid{display:grid;gap:36px}
.assure{margin-top:30px;display:grid;gap:12px}
.assure li{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:15px}
.assure .ic{width:20px;height:20px;flex:none}
.form-card{position:relative;padding:26px 20px;border-radius:28px;background:linear-gradient(180deg,rgba(23,29,43,.92),rgba(13,17,26,.92));
  border:1px solid var(--line);box-shadow:0 50px 100px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.form-card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(140deg,rgba(234,214,166,.55),transparent 35%,transparent 70%,rgba(234,214,166,.25));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.form-progress{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted2);margin-bottom:22px}
.form-progress i{flex:1;height:1px;background:var(--line2);position:relative;overflow:hidden}
.form-progress i::after{content:"";position:absolute;inset:0;background:var(--gold);transform-origin:0 50%;transform:scaleX(0);transition:transform .8s var(--ease)}
.form-card[data-step="2"] .form-progress i::after{transform:scaleX(1)}
.form-progress .on{color:var(--gold2);font-weight:600}
form{margin:0}
fieldset{border:0;margin:0;padding:0;min-width:0}
.step-2{display:none}
.form-card[data-step="2"] .step-1{display:none}
.form-card[data-step="2"] .step-2{display:block;animation:stepIn .7s var(--ease)}
@keyframes stepIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.fld{display:block;margin-bottom:18px}
.fld>span{display:block;font-size:13.5px;font-weight:600;color:#D5D9E0;margin-bottom:8px}
.fld>span small{font-weight:400;color:var(--muted2)}
.row2{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;font:inherit;font-size:16px;color:#fff;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px 15px;outline:none;transition:border-color .3s,background .3s,box-shadow .3s;-webkit-appearance:none;appearance:none}
textarea{resize:vertical;min-height:96px;line-height:1.6}
select{background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;margin-top:10px}
input::placeholder,textarea::placeholder{color:#5f6674}
input:focus,select:focus,textarea:focus{border-color:rgba(234,214,166,.6);background:rgba(255,255,255,.06);box-shadow:0 0 0 4px rgba(201,169,108,.12)}
.fld.bad input,.fld.bad textarea{border-color:#E07A6A}
.err{display:block;font-style:normal;font-size:12.5px;color:#F0A091;min-height:0;margin-top:6px}
.err:empty{display:none}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{height:42px;padding:0 15px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);font-size:14.5px;cursor:pointer;transition:.25s}
.chips button[aria-pressed="true"]{border-color:var(--gold);background:rgba(201,169,108,.16);color:var(--gold2);font-weight:600}
.motives{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.motives button{border:0;background:transparent;color:var(--gold);font-size:13px;padding:4px 2px;cursor:pointer;opacity:.85}
.consent{margin:6px 0 8px;padding:16px;border-radius:16px;background:rgba(255,255,255,.025);border:1px solid var(--line2)}
.ck{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;cursor:pointer;padding:4px 0}
.ck input{position:absolute;opacity:0;width:1px;height:1px}
.ck .box{flex:none;width:20px;height:20px;border-radius:6px;border:1.5px solid rgba(255,255,255,.25);margin-top:1px;position:relative;transition:.25s}
.ck input:checked + .box{background:var(--gold);border-color:var(--gold)}
.ck input:checked + .box::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #17120A;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ck input:focus-visible + .box{box-shadow:0 0 0 4px rgba(201,169,108,.25)}
.terms{margin:4px 0 10px 30px;font-size:12.5px;color:var(--muted)}
.terms summary{cursor:pointer;color:var(--gold);width:max-content}
.terms table{margin-top:10px;border-collapse:collapse;width:100%}
.terms th{text-align:left;white-space:nowrap;vertical-align:top;padding:6px 10px 6px 0;color:#C9CDD5;font-weight:600}
.terms td{padding:6px 0;line-height:1.6}
.row-btn{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:18px}
.err-form{text-align:center;margin-top:12px}
.btn[disabled]{opacity:.55;pointer-events:none}
.done{text-align:center;padding:30px 6px 18px}
.done-mark svg{width:72px;height:72px;margin:0 auto;fill:none;stroke:var(--gold2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.done-mark circle{stroke-dasharray:151;stroke-dashoffset:151;animation:draw 1s var(--ease) forwards}
.done-mark path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .6s var(--ease) .7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.done-title{margin-top:22px;font-size:24px;font-weight:700;letter-spacing:-.04em}
.done-body{margin-top:10px;color:var(--muted)}
.done-dup{margin-top:14px;font-size:13.5px;color:var(--gold2)}

/* 바닥 */
.foot{background:#06080C;padding:64px 0 120px;border-top:1px solid var(--line2);font-size:12.5px;color:var(--muted2);line-height:1.8}
.wordmark{font-family:var(--serif);font-weight:600;letter-spacing:.42em;font-size:18px;color:var(--gold2);margin-bottom:18px}
.wordmark a{text-decoration:none}
.foot-links{margin-top:16px}
.foot-links a{color:var(--muted)}
.copy{margin-top:8px}

/* 아래 고정 버튼 (휴대폰) */
.sticky-cta{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:55;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:10px;
  font-weight:700;text-decoration:none;color:#17120A;background:linear-gradient(135deg,#F0DDAE 0%,#D2B47A 40%,#B8955A 100%);
  box-shadow:0 20px 40px -12px rgba(0,0,0,.7),0 10px 30px -14px rgba(201,169,108,.7);transform:translateY(140%);transition:transform .6s var(--ease)}
.sticky-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sticky-cta.show{transform:none}

/* 단순 페이지 */
.simple{background:var(--ink)}
.simple-main{max-width:720px;margin:0 auto;padding:96px 24px}
.simple-main .lead{margin-top:16px}
.doc h2{font-size:18px;font-weight:700;margin:34px 0 10px}
.doc p,.doc li{color:var(--muted);font-size:15px}
.doc ul{list-style:disc;padding-left:20px}
.doc table{border-collapse:collapse;width:100%;font-size:14px;color:var(--muted)}
.doc th,.doc td{border:1px solid var(--line2);padding:10px;text-align:left;vertical-align:top}

/* 넓은 화면 */
@media (min-width:760px){
  :root{--pad:40px}
  .sec{padding:150px 0}
  .hero{align-items:center;padding:140px 0 120px}
  .dial{right:-120px;top:50%;transform:translateY(calc(-50% - var(--p,0)*60px)) scale(calc(1 + var(--p,0)*.08));width:min(72vw,860px)}
  .beam{display:none}
  .f-cards{grid-template-columns:1fr 1fr}
  .fit{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:repeat(4,1fr)}
  .voices{grid-template-columns:1fr 1fr}
  .bns{grid-template-columns:repeat(4,1fr)}
  .bn-lg{grid-column:span 2}
  .form-grid{grid-template-columns:1fr 1.05fr;gap:64px;align-items:start}
  .form-card{padding:34px 32px;position:sticky;top:96px}
  .phone-wrap{grid-template-columns:auto 1fr;gap:72px}
  .cmp-row>div{padding:20px 24px;font-size:15.5px}
  .sticky-cta{display:none}
  .q-list{grid-template-columns:1fr}
}
@media (hover:hover){
  .f-item,.voice,.bn,.fit-card{transition:transform .5s var(--ease),border-color .5s}
  .f-item:hover,.voice:hover,.bn:hover{transform:translateY(-4px);border-color:var(--line)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none;filter:none}
  .ln>span{transform:none}
}
