/* Layout: cinematic editorial — alternating oxblood "night" scenes and bone "day" pages, a 12-col asymmetric grid, oversized grotesque headlines cut with a serif italic word. One deliberate visual world (not theme-switched). */
:root{
  --night:#16080F;      /* oxblood black */
  --wine:#2A0C1B;       /* raised night surface */
  --crimson:#E0457B;    /* brand red */
  --ember:#FF7EA8;      /* glow */
  --gold:#F2B632;       /* logo sun-ray */
  --bone:#F2EBE3;       /* day page */
  --paper:#FBF7F2;
  --ink:#170A0B;
  --stone:#7D6E6A;      /* muted on bone */
  --mist:#C6A9B4;       /* muted on night */
  --rule-d:rgba(23,10,11,.14);
  --rule-n:rgba(242,235,227,.14);
  --f-display:"Bricolage Grotesque","Hanken Grotesk",system-ui,sans-serif;
  --f-serif:"Instrument Serif","Times New Roman",Georgia,serif;
  --f-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --gutter:clamp(16px,4vw,56px);
  --max:1360px;
  --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--bone);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--f-display);font-weight:800;letter-spacing:-.035em;line-height:.95;text-wrap:balance}
em.s{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
[hidden]{display:none!important}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
section[id]{scroll-margin-top:76px}
.mono{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.day{background:var(--bone);color:var(--ink)}
.paper{background:var(--paper);color:var(--ink)}

/* film grain over everything */
body::after{content:"";position:fixed;inset:-50%;z-index:60;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* buttons */
.btn{--mx:0px;--my:0px;display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:16px 26px;font-family:var(--f-body);font-weight:700;font-size:.98rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transform:translate(var(--mx),var(--my));transition:transform .35s var(--ease),background .25s,color .25s,border-color .25s}
.btn .arr{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;transition:transform .35s var(--ease)}
.btn:hover .arr{transform:rotate(-45deg)}
.btn-ember{background:var(--crimson);color:#fff}
.btn-ember .arr{background:rgba(255,255,255,.18)}
.btn-ember:hover{background:#EC5A8C}
.btn-ghost{border-color:var(--rule-n);color:var(--bone)}
.btn-ghost:hover{border-color:var(--bone)}
.btn-ink{background:var(--ink);color:var(--bone)}
.btn-ink .arr{background:var(--crimson);color:#fff}

/* ---------- header ---------- */
.hdr{position:fixed;left:0;right:0;top:0;z-index:40;padding-top:env(safe-area-inset-top,0px);transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
.hdr.solid{background:rgba(22,8,15,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--rule-n)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.hdr .logo img{height:26px;width:auto}
.hdr nav ul{display:flex;gap:34px;list-style:none;margin:0;padding:0}
.hdr nav a{text-decoration:none;font-weight:600;font-size:.93rem;color:var(--mist);transition:color .2s;position:relative}
.hdr nav a:hover,.hdr nav a.on{color:var(--bone)}
.hdr nav a.on::after{content:"";position:absolute;left:50%;bottom:-10px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--gold)}
.hdr .end{display:flex;gap:10px;align-items:center}
.hdr .btn{padding:11px 18px;font-size:.9rem}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--rule-n);background:transparent;color:var(--bone);cursor:pointer;place-items:center}
.burger span{display:block;width:18px;height:1.5px;background:currentColor;box-shadow:0 6px 0 currentColor;transform:translateY(-3px);transition:transform .3s,box-shadow .3s}
.burger[aria-expanded="true"] span{box-shadow:none;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{content:"";display:block;width:18px;height:1.5px;background:currentColor;transform:rotate(-90deg)}
.sheet{position:fixed;inset:0;z-index:35;background:var(--night);padding:calc(110px + env(safe-area-inset-top,0px)) var(--gutter) 40px;display:grid;align-content:space-between;clip-path:circle(0 at calc(100% - 44px) 38px);transition:clip-path .7s var(--ease);visibility:hidden}
.sheet.open{clip-path:circle(150% at calc(100% - 44px) 38px);visibility:visible}
.sheet ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.sheet a{text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:clamp(2.4rem,11vw,4rem);letter-spacing:-.04em;line-height:1.05}
.sheet a:hover{color:var(--ember)}
@media (max-width:900px){.hdr nav{display:none}.burger{display:grid}.hdr .end .btn{display:none}}

/* ---------- 1. hero ---------- */
.hero{position:relative;min-height:max(720px,100svh);display:grid;overflow:hidden;isolation:isolate;
  background:radial-gradient(60% 70% at 72% 45%,#5E1238 0%,rgba(94,18,56,0) 70%),radial-gradient(40% 50% at 10% 100%,#3A0C24 0%,rgba(58,12,36,0) 70%),var(--night)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero .wrap{position:relative;width:100%;display:grid;grid-template-rows:1fr auto;padding-block:clamp(120px,16vh,170px) 36px}
.hero .kicker{display:flex;gap:14px;align-items:center;color:var(--gold)}
.hero .kicker i{display:block;width:44px;height:1px;background:currentColor}
.hero h1{margin-top:26px;font-size:clamp(3.4rem,11.2vw,11rem);max-width:12ch}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln>span{display:inline-block;animation:rise 1.2s var(--ease) both}
.hero h1 .ln:nth-child(2)>span{animation-delay:.12s}
.hero h1 em.s{color:var(--ember);font-size:1.08em}
@keyframes rise{from{transform:translateY(60%) skewY(4deg)}to{transform:none}}
.hero .lower{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin-top:42px}
.hero .lede{max-width:46ch;font-size:clamp(1.05rem,1.5vw,1.22rem);color:#EDDAE1}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero .scroll{display:grid;justify-items:center;gap:12px;color:var(--mist)}
.hero .scroll b{display:block;width:1px;height:64px;background:linear-gradient(var(--mist),transparent);position:relative;overflow:hidden}
.hero .scroll b::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--gold);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{to{top:100%}}
.hero .rail{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule-n);margin-top:56px}
.hero .rail div{padding:18px 18px 0 0;display:flex;gap:12px;align-items:baseline}
.hero .rail div+div{padding-left:18px;border-left:1px solid var(--rule-n)}
.hero .rail b{font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.02em}
.hero .rail span{color:var(--mist);font-size:.92rem}
@media (max-width:760px){.hero .lower{grid-template-columns:1fr}.hero .scroll{display:none}.hero .rail{grid-template-columns:1fr}.hero .rail div+div{border-left:0;padding-left:0;border-top:1px solid var(--rule-n);margin-top:14px}}

/* marquee */
.marq{background:var(--crimson);color:#fff;overflow:hidden;padding-block:20px;border-block:1px solid rgba(0,0,0,.2)}
.marq .track{display:flex;width:max-content;animation:marq 40s linear infinite}
.marq .track span{font-family:var(--f-display);font-weight:800;font-size:clamp(1.6rem,3.4vw,2.8rem);letter-spacing:-.03em;padding-right:44px;display:flex;align-items:center;gap:44px;white-space:nowrap}
.marq .track span::after{content:"";width:14px;height:14px;border-radius:50%;background:var(--gold);flex:none}
.marq .track span:nth-child(even){font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:0}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- 2. problem / solution (scroll story) ---------- */
.story{position:relative;height:320vh}
.story .pin{position:sticky;top:0;height:100svh;display:grid;align-items:center;overflow:hidden}
.story .pin>.wrap{width:100%}
.story .grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:center}
.story .copy{position:relative;min-height:340px}
.story .step{position:absolute;inset:0;display:grid;align-content:center;gap:22px;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.story .step:not(.on){opacity:0;transform:translateY(24px);pointer-events:none}
.story .step h2{font-size:clamp(2.2rem,4.6vw,4.2rem)}
.story .step h2 em.s{color:var(--crimson)}
.story .step p{font-size:1.1rem;color:var(--stone);max-width:42ch}
.story .count{display:flex;gap:10px;align-items:center;margin-bottom:6px;color:var(--stone)}
.story .count i{display:block;height:2px;width:26px;background:var(--rule-d);border-radius:2px;transition:background .4s,width .4s}
.story .count i.on{background:var(--crimson);width:44px}
.story svg{width:100%;height:auto;max-height:78svh;overflow:visible}
.story .node-label{font-family:var(--f-display);font-weight:800;font-size:22px;letter-spacing:-.5px;fill:var(--ink)}
.story .node-need{font-family:var(--f-body);font-size:14px;fill:var(--stone)}
@media (max-width:860px){
  .story{height:300vh}
  .story .grid{grid-template-columns:1fr;gap:8px}
  .story svg{max-height:44svh}
  .story .copy{min-height:260px}
  .story .step h2{font-size:clamp(1.9rem,8vw,2.6rem)}
}

/* ---------- 3a. three worlds ---------- */
.worlds{padding-block:clamp(90px,12vw,180px)}
.worlds .head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:40px;align-items:end}
.worlds .head h2{font-size:clamp(2.8rem,7vw,6.4rem)}
.worlds .head h2 em.s{color:var(--gold)}
.worlds .head p{color:var(--mist);max-width:38ch}
.tri{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:clamp(56px,8vw,110px);align-items:start}
.world{display:grid;gap:18px;min-width:0}
.world:nth-child(1){grid-column:1/span 4}
.world:nth-child(2){grid-column:5/span 4;margin-top:clamp(40px,10vw,140px)}
.world:nth-child(3){grid-column:9/span 4;margin-top:clamp(20px,5vw,60px)}
.world .frame{position:relative;overflow:hidden;border-radius:4px;aspect-ratio:4/5;background:var(--wine)}
.world .frame img{width:100%;height:112%;object-fit:cover;transform:translateY(var(--py,0px)) scale(1.02);transition:transform .9s var(--ease)}
.world:hover .frame img{transform:translateY(var(--py,0px)) scale(1.07)}
.world .frame .tag{position:absolute;left:16px;top:16px;background:rgba(22,8,15,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--bone);border-radius:999px;padding:6px 12px}
.world h3{font-size:clamp(2rem,3.4vw,3rem)}
.world h3 em.s{color:var(--ember)}
.world ul{list-style:none;padding:0;margin:0;display:grid;border-top:1px solid var(--rule-n)}
.world li{padding-block:10px;border-bottom:1px solid var(--rule-n);color:#EBD6DE;display:flex;justify-content:space-between;gap:12px}
.world li::after{content:"↗";color:var(--gold);opacity:.7}
@media (max-width:860px){.worlds .head{grid-template-columns:1fr}.tri{grid-template-columns:1fr}.world:nth-child(n){grid-column:auto;margin-top:0}.world .frame{aspect-ratio:5/4}}

/* ---------- 3b. growth index ---------- */
.growth{padding-block:clamp(90px,12vw,170px);position:relative}
.growth .head{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:40px;align-items:end}
.growth .head h2{font-size:clamp(2.8rem,7vw,6.4rem);grid-column:2;grid-row:1}
.growth .head h2 em.s{color:var(--crimson)}
.growth .head p{grid-column:1;grid-row:1;color:var(--stone);max-width:32ch}
.index{list-style:none;margin:clamp(48px,7vw,90px) 0 0;padding:0;border-top:1px solid var(--rule-d)}
.index li{border-bottom:1px solid var(--rule-d)}
.index a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) 48px;gap:24px;align-items:center;padding-block:clamp(22px,3vw,36px);text-decoration:none;position:relative}
.index .t{font-family:var(--f-display);font-weight:800;font-size:clamp(1.9rem,4.6vw,4.2rem);letter-spacing:-.04em;line-height:1;transition:transform .5s var(--ease),color .3s}
.index .d{color:var(--stone);max-width:40ch}
.index .go{width:48px;height:48px;border-radius:50%;border:1px solid var(--rule-d);display:grid;place-items:center;transition:background .3s,color .3s,transform .5s var(--ease)}
.index a:hover .t{transform:translateX(18px);color:var(--crimson)}
.index a:hover .go{background:var(--crimson);color:#fff;border-color:var(--crimson);transform:rotate(-45deg)}
.peek{position:fixed;left:0;top:0;width:300px;aspect-ratio:4/5;border-radius:6px;overflow:hidden;pointer-events:none;z-index:30;opacity:0;transform:translate(-50%,-50%) scale(.85) rotate(-4deg);transition:opacity .3s,transform .5s var(--ease);box-shadow:0 40px 80px -30px rgba(40,6,24,.55)}
.peek.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-2deg)}
.peek img{width:100%;height:100%;object-fit:cover}
@media (hover:none),(max-width:860px){.peek{display:none}}
@media (max-width:860px){.growth .head{grid-template-columns:1fr}.growth .head h2,.growth .head p{grid-column:auto;grid-row:auto}.index a{grid-template-columns:1fr 40px;gap:10px}.index .d{grid-column:1}.index .go{grid-row:1/span 2;grid-column:2;width:40px;height:40px}}

/* ---------- 4. proof ---------- */
.proof{padding-block:clamp(90px,12vw,170px);position:relative;overflow:hidden}
.proof::before{content:"";position:absolute;width:70vw;height:70vw;right:-20vw;top:-20vw;background:radial-gradient(closest-side,rgba(224,69,123,.28),rgba(224,69,123,0));pointer-events:none}
.proof .grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,100px);align-items:center}
.proof figure{margin:0;position:relative}
.proof figure .ph{border-radius:4px;overflow:hidden;box-shadow:0 60px 100px -50px rgba(0,0,0,.8)}
.proof figure img{width:100%;height:auto;aspect-ratio:694/1040;object-fit:cover}
.proof figure .stamp{position:absolute;right:-28px;bottom:48px;width:128px;height:128px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;text-align:center;animation:spin 22s linear infinite}
.proof figure .stamp svg{position:absolute;inset:0;width:100%;height:100%}
.proof figure .stamp b{font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:2.4rem;line-height:1;animation:spin 22s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.proof figcaption{margin-top:16px;color:var(--mist);font-size:.9rem;display:flex;gap:12px}
.proof figcaption .mono{color:var(--gold)}
.proof h2{font-size:clamp(2.6rem,6vw,5.4rem)}
.proof h2 em.s{color:var(--ember)}
.proof .intro{margin-top:26px;color:#EBD6DE;max-width:48ch;font-size:1.08rem}
.figs{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border-top:1px solid var(--rule-n)}
.fig{padding:26px 22px 26px 0;border-bottom:1px solid var(--rule-n);display:grid;gap:8px;align-content:start}
.fig:nth-child(even){padding-left:22px;border-left:1px solid var(--rule-n)}
.fig .n{font-family:var(--f-display);font-weight:800;font-size:clamp(3.2rem,6vw,5rem);letter-spacing:-.05em;line-height:.9;color:var(--bone);font-variant-numeric:tabular-nums}
.fig .n sup{font-size:.35em;color:var(--gold);vertical-align:top;margin-left:4px;letter-spacing:0}
.fig p{color:var(--mist);font-size:.95rem}
.fig p b{color:var(--bone);font-weight:600}
.pull{margin-top:clamp(70px,10vw,140px);text-align:center;font-family:var(--f-serif);font-style:italic;font-size:clamp(2rem,5vw,4.4rem);line-height:1.08;letter-spacing:-.01em;max-width:20ch;margin-inline:auto;text-wrap:balance}
.pull span{color:var(--gold)}
.pull-by{text-align:center;margin-top:18px;color:var(--mist)}
@media (max-width:860px){.proof .grid{grid-template-columns:1fr}.proof figure{max-width:440px}.proof figure .stamp{right:-8px;width:104px;height:104px}}
@media (max-width:480px){.figs{grid-template-columns:1fr}.fig:nth-child(even){padding-left:0;border-left:0}}

/* ---------- 5. process ---------- */
.process{padding-block:clamp(90px,12vw,170px)}
.process .head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px}
.process .head h2{font-size:clamp(2.8rem,7vw,6.4rem)}
.process .head h2 em.s{color:var(--crimson)}
.process .head p{color:var(--stone);max-width:34ch}
.pgrid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center;margin-top:clamp(48px,7vw,90px)}
.dial{position:relative;width:min(520px,100%);aspect-ratio:1;margin-inline:auto}
.dial svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.dial .arc{fill:none;stroke-width:14;stroke-linecap:round;transition:stroke .5s,stroke-width .5s}
.dial .core{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F77BA3,#B8285C 55%,#5C0F34);display:grid;place-items:center;text-align:center;color:#fff;box-shadow:inset -20px -30px 60px rgba(0,0,0,.35),0 50px 80px -40px rgba(120,14,64,.7)}
.dial .core .k{color:var(--gold)}
.dial .core b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.04em;line-height:1;margin-top:8px}
.dial .core small{display:block;font-family:var(--f-serif);font-style:italic;font-size:clamp(1rem,2vw,1.3rem);opacity:.9;margin-top:6px}
.steps{list-style:none;padding:0;margin:0;display:grid;border-top:1px solid var(--rule-d)}
.steps li{border-bottom:1px solid var(--rule-d)}
.steps button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px 16px;padding-block:22px;align-items:baseline}
.steps button:focus-visible{outline:2px solid var(--crimson);outline-offset:4px}
.steps .no{color:var(--stone);transition:color .3s}
.steps h3{font-size:clamp(1.5rem,2.8vw,2.3rem);letter-spacing:-.03em;color:var(--stone);transition:color .3s}
.steps p{grid-column:2;color:var(--stone);max-width:44ch;display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.steps p>span{overflow:hidden}
.steps button[aria-selected="true"] h3{color:var(--ink)}
.steps button[aria-selected="true"] .no{color:var(--crimson)}
.steps button[aria-selected="true"] p{grid-template-rows:1fr}
.steps button:hover h3{color:var(--ink)}
.pbar{display:flex;align-items:center;gap:14px;margin-top:22px;color:var(--stone)}
.pbar button{all:unset;cursor:pointer;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule-d);display:grid;place-items:center;color:var(--ink)}
.pbar button:hover{background:var(--ink);color:var(--bone)}
.pbar button:focus-visible{outline:2px solid var(--crimson);outline-offset:3px}
@media (max-width:860px){.pgrid{grid-template-columns:1fr}.dial{width:min(360px,100%)}}

/* ---------- 6. offer ---------- */
.offer{padding-block:clamp(90px,12vw,170px)}
.offer .head{text-align:center;display:grid;justify-items:center;gap:20px}
.offer .head h2{font-size:clamp(2.8rem,7vw,6.4rem)}
.offer .head h2 em.s{color:var(--crimson)}
.offer .head p{color:var(--stone);max-width:52ch}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(48px,7vw,90px);align-items:stretch}
.plan{padding:clamp(28px,3vw,44px);display:grid;grid-template-rows:auto auto auto 1fr auto;gap:18px;border:1px solid var(--rule-d);min-width:0;background:var(--paper)}
.plan+.plan{border-left:0}
.plan .top{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--stone)}
.plan h3{font-size:clamp(2rem,3.2vw,2.8rem)}
.plan h3 em.s{color:var(--crimson)}
.plan .verbs{font-family:var(--f-serif);font-style:italic;font-size:1.3rem;color:var(--stone)}
.plan ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:12px;align-content:start}
.plan li{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:baseline}
.plan li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--crimson);transform:translateY(-1px)}
.plan .price{border-top:1px solid var(--rule-d);padding-top:20px;display:grid;gap:14px}
.plan .price b{font-family:var(--f-display);font-weight:800;font-size:1.5rem;letter-spacing:-.03em}
.plan .price span{color:var(--stone);font-size:.92rem}
.plan.feat{background:var(--night);color:var(--bone);border-color:var(--night);transform:translateY(-24px);box-shadow:0 60px 90px -50px rgba(40,6,24,.7);position:relative;z-index:1}
.plan.feat .top,.plan.feat .verbs,.plan.feat .price span{color:var(--mist)}
.plan.feat h3 em.s{color:var(--ember)}
.plan.feat li::before{background:var(--gold)}
.plan.feat .price{border-color:var(--rule-n)}
.plan .badge{background:var(--gold);color:var(--ink);border-radius:999px;padding:5px 10px}
.plan .btn{justify-content:space-between;width:100%}
.plan:not(.feat) .btn{border-color:var(--rule-d);color:var(--ink);background:transparent}
.plan:not(.feat) .btn .arr{background:var(--ink);color:var(--bone)}
.plan:not(.feat) .btn:hover{background:var(--ink);color:var(--bone)}
.plan:not(.feat) .btn:hover .arr{background:var(--crimson)}
.offer .fine{margin-top:40px;text-align:center;color:var(--stone);font-size:.92rem}
@media (max-width:960px){.plans{grid-template-columns:1fr;gap:16px}.plan+.plan{border-left:1px solid var(--rule-d)}.plan.feat{transform:none}}

/* ---------- 7. final CTA ---------- */
.final{position:relative;overflow:hidden;padding-block:clamp(100px,14vw,200px) 0;background:radial-gradient(80% 60% at 50% 0%,#6E1440 0%,rgba(110,20,64,0) 70%),var(--night)}
.final .big{font-family:var(--f-display);font-weight:800;font-size:clamp(2.6rem,11vw,12.5rem);letter-spacing:-.06em;line-height:.9;text-align:center;white-space:nowrap}
.final .big span{display:inline-block}
.final .big .o{color:transparent;-webkit-text-stroke:1.5px var(--bone)}
.final .big em.s{color:var(--ember);letter-spacing:-.03em}
.final .sub{text-align:center;margin-top:28px;color:var(--mist);font-size:1.1rem}
.cgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);margin-top:clamp(70px,10vw,130px);padding-bottom:clamp(70px,10vw,120px);border-top:1px solid var(--rule-n);padding-top:clamp(40px,6vw,70px)}
.cgrid .side h2{font-size:clamp(2.2rem,4.4vw,3.8rem)}
.cgrid .side h2 em.s{color:var(--gold)}
.cgrid .side p{color:var(--mist);margin-top:18px;max-width:40ch}
.cgrid .side .tag{margin-top:34px;color:var(--gold)}
form{display:grid;gap:26px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.f{position:relative;display:grid;min-width:0}
.f label{color:var(--mist);margin-bottom:6px}
.f input,.f select,.f textarea{font:inherit;font-size:1.15rem;color:var(--bone);background:transparent;border:0;border-bottom:1px solid var(--rule-n);padding:10px 0 12px;border-radius:0;width:100%;transition:border-color .3s}
.f select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mist) 50%),linear-gradient(135deg,var(--mist) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.f select option{background:var(--night);color:var(--bone)}
.f textarea{min-height:110px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--gold)}
.f input::placeholder,.f textarea::placeholder{color:#7E6A66}
.f .err{color:var(--ember);font-size:.85rem;font-weight:600;margin-top:6px}
.f .err:empty{display:none}
.f.bad input,.f.bad textarea{border-color:var(--ember)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{margin:0}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:9px 16px;border:1px solid var(--rule-n);border-radius:999px;cursor:pointer;color:#EBD6DE;font-size:.95rem;transition:all .25s}
.chips input:checked+span{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.chips input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.fnote{color:var(--mist);font-size:.88rem}
.done{border:1px solid var(--rule-n);border-radius:6px;padding:clamp(28px,4vw,48px);display:grid;gap:14px;justify-items:start}
.done h3{font-size:clamp(2rem,4vw,3rem)}
.done h3 em.s{color:var(--gold)}
.done p{color:var(--mist)}
@media (max-width:860px){.cgrid{grid-template-columns:1fr}}
@media (max-width:520px){.row{grid-template-columns:1fr}}

footer{border-top:1px solid var(--rule-n);padding-block:40px calc(40px + env(safe-area-inset-bottom,0px))}
footer .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}
footer img{height:24px;width:auto}
footer ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:0;padding:0}
footer a{text-decoration:none;color:var(--mist);font-size:.92rem}
footer a:hover{color:var(--bone)}
footer .c{color:var(--mist);font-size:.85rem}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr;justify-items:start}footer ul{justify-content:flex-start}}

/* reveal: transform only, so content is always readable */
.rv{transition:transform 1.1s var(--ease)}
.rv.pre{transform:translateY(40px)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv.pre{transform:none}
}
