@font-face{font-family:Bricolage;src:url('assets/BricolageGrotesque.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:DM;src:url('assets/DMSans-Roman.woff2') format('woff2');font-weight:100 900;font-display:swap}

/* ---------- Theme tokens ---------- */
:root,[data-theme=light]{
  --bg:#f5f4ef;--bg-2:#ecebe4;--surface:#ffffff;--surface-2:#f9f8f4;
  --ink:#1c1f1d;--ink-2:#4b524d;--muted:#6b726d;--line:#e0dfd7;
  --accent:#3f6b55;--accent-ink:#ffffff;--accent-soft:#e3ece6;--hot:#e2603b;
  --band:#1f2a24;--band-ink:#f2f3ee;--band-muted:#b7c2bb;
  --shadow:0 1px 2px rgba(20,30,25,.04),0 12px 40px -12px rgba(20,30,25,.14);
  --shadow-lg:0 2px 4px rgba(20,30,25,.05),0 40px 80px -24px rgba(20,30,25,.28);
  --glow:radial-gradient(closest-side,rgba(63,107,85,.20),rgba(63,107,85,0));
  --phone:#151816;--screen:#fbfaf6;--bubble-me:#1c1f1d;--bubble-me-ink:#fff;--bubble-ai:#ffffff;
  --display:Bricolage,Arial,sans-serif;--body:DM,Arial,sans-serif;
}
[data-theme=dark]{
  --bg:#0f2219;--bg-2:#132a1f;--surface:#173226;--surface-2:#1b3a2c;
  --ink:#f4efe4;--ink-2:#d7d2c4;--muted:#a9b3a5;--line:rgba(244,239,228,.12);
  --accent:#e6b873;--accent-ink:#0f2219;--accent-soft:rgba(230,184,115,.14);--hot:#ff8f63;
  --band:#f4efe4;--band-ink:#0f2219;--band-muted:#45584c;
  --shadow:0 1px 0 rgba(255,255,255,.05) inset,0 24px 50px -24px rgba(0,0,0,.55);
  --shadow-lg:0 1px 0 rgba(255,255,255,.06) inset,0 50px 100px -34px rgba(0,0,0,.7);
  --glow:none;
  --phone:#08130d;--screen:#f4efe4;--bubble-me:#0f2219;--bubble-me-ink:#f4efe4;--bubble-ai:#ffffff;
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;transition:background .5s,color .5s}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.04;letter-spacing:-.035em;margin:0}
h1{font-size:clamp(40px,4.7vw,70px)}
h2{font-size:clamp(34px,4.4vw,60px)}
h3{font-size:22px;letter-spacing:-.02em;line-height:1.2}
p{margin:0}
.soft{color:var(--muted)}
.kicker{font-size:13px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.section{max-width:1240px;margin:0 auto;padding:120px 24px}
.mark{position:relative;white-space:nowrap;color:var(--accent)}
.mark:after{content:"";position:absolute;left:.02em;right:.1em;bottom:-.04em;height:.055em;border-radius:9px;background:var(--hot);transform-origin:left;transform:scaleX(0);transition:transform 1s cubic-bezier(.2,.8,.2,1) .7s}
.is-in .mark:after,.mark.is-in:after,.reveal.is-in .mark:after{transform:scaleX(1)}
:focus-visible{outline:2px solid var(--hot);outline-offset:3px;border-radius:6px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:650;font-size:16px;border:1px solid transparent;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--ink);color:var(--bg);box-shadow:var(--shadow)}
[data-theme=dark] .btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:none}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{background:var(--surface)}
.btn-light{background:var(--band-ink);color:var(--band)}
.btn-sm{min-height:40px;padding:0 18px;font-size:14px}
.btn-block{width:100%}
.link{font-weight:650;color:var(--accent);border-bottom:1px solid currentColor;padding-bottom:1px}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 28px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.scrolled{border-bottom-color:var(--line)}
.logo{display:flex;align-items:center;gap:0;font-family:var(--display);font-weight:650;font-size:21px;letter-spacing:-.04em}
.logo .dot{color:var(--hot)}
.logo-mark{display:inline-flex;gap:3px;align-items:flex-end;margin-right:9px}
.logo-mark i{width:5px;height:18px;border-radius:4px;background:var(--ink);transform:skewX(-14deg)}
.logo-mark i:nth-child(2){height:22px}.logo-mark i:nth-child(3){height:15px}
.nav nav{display:flex;gap:30px;font-size:15px;color:var(--ink-2)}
.nav nav a:hover{color:var(--ink)}

/* ---------- Hero ---------- */
.hero{max-width:1240px;margin:0 auto;padding:64px 24px 110px;display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}
.hero h1{margin-bottom:24px}
.lede{font-size:clamp(18px,1.5vw,21px);color:var(--ink-2);max-width:560px;margin-bottom:34px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.cta-row.center{justify-content:center}
.proof-row{list-style:none;padding:0;margin:30px 0 0;display:flex;gap:28px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.proof-row b{color:var(--ink);font-weight:650}
.team-route{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font-size:15px;color:var(--ink-2);padding:8px 16px 8px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);transition:transform .25s,border-color .25s}
.team-route:hover{transform:translateY(-1px);border-color:var(--accent)}
.pill{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}

/* Phone */
.hero-visual{position:relative;height:640px;display:grid;place-items:center}
.phone{position:relative;width:310px;height:620px;border-radius:52px;background:var(--phone);padding:12px;box-shadow:var(--shadow-lg);transform:rotate(-2deg)}
.phone-notch{position:absolute;top:22px;left:50%;width:96px;height:26px;border-radius:20px;background:#000;transform:translateX(-50%);z-index:2}
.phone-screen{position:relative;height:100%;border-radius:41px;background:var(--screen);padding:62px 18px 18px;overflow:hidden;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.45}
.chat-time{text-align:center;font-size:11px;color:var(--muted);font-weight:600}
.bubble{padding:12px 14px;border-radius:20px;max-width:88%}
.bubble.me{align-self:flex-end;background:var(--bubble-me);color:var(--bubble-me-ink);border-bottom-right-radius:6px}
.bubble.ai{align-self:flex-start;background:var(--bubble-ai);border:1px solid var(--line);border-bottom-left-radius:6px;box-shadow:var(--shadow)}
.bubble.ai ul{margin:6px 0 8px;padding-left:18px}
.bubble.ai li{margin:2px 0}
.bubble.ai .open{font-size:13px;color:var(--ink-2);border-top:1px dashed var(--line);padding-top:8px}
.bubble.ai .open b{color:var(--hot)}
.typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;border-radius:18px;background:var(--bubble-ai);border:1px solid var(--line)}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
.sources{display:flex;flex-wrap:wrap;gap:6px}
.sources span{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:650;padding:5px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.chat-label{margin-top:auto;text-align:center;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
/* chat sequence: hidden until the phone is in view, then plays */
.js .phone-screen [data-step]{opacity:0;transform:translateY(10px) scale(.98)}
.chat-done [data-step]{opacity:1!important;transform:none!important}
.phone-screen .typing[data-step]{display:none}
.chat-play [data-step="1"]{animation:pop .5s .3s cubic-bezier(.2,.8,.2,1) forwards}
.chat-play .typing[data-step="2"]{display:flex;animation:pop .3s .9s forwards,gone .2s 2.2s forwards}
.chat-play [data-step="3"]{animation:pop .6s 2.3s cubic-bezier(.2,.8,.2,1) forwards}
.chat-play [data-step="4"]{animation:pop .5s 3s cubic-bezier(.2,.8,.2,1) forwards}

/* Floating source chips */
.chip{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:13px;font-weight:650;white-space:nowrap;animation:float 6s ease-in-out infinite}
.chip-1{top:56px;left:-6px}
.chip-2{top:190px;right:-34px;animation-delay:-1.5s}
.chip-3{bottom:64px;left:-34px;animation-delay:-3s}
.chip-4{bottom:170px;right:-30px;animation-delay:-4.5s}
.ic{width:14px;height:16px;border-radius:3px;display:inline-block;background:var(--accent);opacity:.85;-webkit-mask:linear-gradient(#000,#000);flex:none}
.ic-note{background:var(--hot)}
.ic-mail{border-radius:3px;height:12px;width:16px;background:var(--ink-2)}

/* ---------- Pain ---------- */
.pain h2{margin-bottom:48px}
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}
.pain .card h3{margin-top:60px}
.card h3{margin-bottom:12px}
.card p{color:var(--ink-2);font-size:16px}

/* ---------- How (sticky story) ---------- */
.how-head{margin-bottom:56px}
.story{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.story-visual{position:sticky;top:110px;height:480px}
.stage{position:relative;height:100%;border-radius:36px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden}
.scene{position:absolute;inset:0;padding:40px;display:flex;flex-direction:column;justify-content:center;gap:14px;opacity:0;transform:translateY(20px) scale(.98);transition:opacity .6s,transform .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.stage[data-active="1"] .scene-1,.stage[data-active="2"] .scene-2,.stage[data-active="3"] .scene-3{opacity:1;transform:none}
.pile{position:absolute;padding:14px 18px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);font-weight:650;font-size:15px;box-shadow:var(--shadow)}
.p1{top:70px;left:40px;transform:rotate(-6deg)}.p2{top:120px;right:50px;transform:rotate(5deg)}.p3{top:230px;left:90px;transform:rotate(3deg)}.p4{bottom:90px;right:70px;transform:rotate(-4deg)}.p5{bottom:60px;left:40px;transform:rotate(7deg);opacity:.7}
.shelf{display:grid;gap:4px;padding:18px 20px;border-radius:18px;background:var(--surface-2);border:1px solid var(--line)}
.shelf.faded{opacity:.5}.shelf.faded b{text-decoration:line-through}
.shelf small{color:var(--muted);font-size:13px}
.tag{justify-self:start;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.tag-now{background:var(--accent-soft);color:var(--accent)}.tag-old{background:var(--bg-2);color:var(--muted)}.tag-open{background:rgba(226,96,59,.13);color:var(--hot)}
.mini-q{align-self:flex-end;padding:14px 16px;border-radius:20px 20px 6px 20px;background:var(--bubble-me);color:var(--bubble-me-ink);font-weight:600;max-width:80%}
.mini-a{align-self:flex-start;padding:16px 18px;border-radius:20px 20px 20px 6px;background:var(--surface-2);border:1px solid var(--line);max-width:88%;display:grid;gap:10px}
.mini-a span{justify-self:start;font-size:12px;font-weight:650;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.steps{list-style:none;margin:0;padding:0}
.step{min-height:56vh;display:flex;flex-direction:column;justify-content:center;padding:20px 0 20px 0;opacity:.32;transition:opacity .5s}
.step.is-current{opacity:1}
.step-n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:650;background:var(--accent-soft);color:var(--accent);margin-bottom:22px}
.step h3{font-size:clamp(26px,2.6vw,36px);margin-bottom:14px}
.step p{color:var(--ink-2);font-size:18px;max-width:460px}

/* ---------- Teams band ---------- */
.teams-band{background:var(--band);color:var(--band-ink);padding:110px 24px;overflow:hidden;position:relative}
.teams-band:before{content:"";position:absolute;width:700px;height:700px;right:-200px;top:-260px;background:radial-gradient(closest-side,rgba(143,209,172,.18),transparent);pointer-events:none}
.teams-inner{max-width:1192px;margin:0 auto;display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:end;position:relative}
.teams-band .kicker{color:var(--hot)}
[data-theme=dark] .teams-band:before{background:radial-gradient(closest-side,rgba(15,34,25,.08),transparent)}
[data-theme=dark] .btn-light{background:var(--band-ink);color:var(--band)}
.teams-band h2{margin-bottom:18px;max-width:720px}
.teams-band p{color:var(--band-muted);max-width:620px;font-size:18px}
.teams-cta{display:grid;gap:18px;justify-items:start}
.teams-band .price-sm{font-family:var(--display);font-size:34px;line-height:1.1;font-weight:600;color:var(--band-ink)!important;letter-spacing:-.03em}
.teams-band .price-sm small{display:block;font-family:var(--body);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--band-muted)}

/* ---------- Trust ---------- */
.trust{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.founder{display:grid;grid-template-columns:168px 1fr;gap:32px;align-items:start}
.founder img{width:168px;height:168px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-lg)}
.founder h2{font-size:clamp(32px,3.3vw,48px);margin-bottom:18px}
.founder p{color:var(--ink-2)}
.founder .links{display:flex;gap:26px;margin-top:18px;font-weight:650;font-size:15px;color:var(--ink)}
.data h3{font-size:28px;margin-bottom:18px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.checks li{position:relative;padding-left:32px;color:var(--ink-2);font-size:16px}
.checks li:before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--accent-soft)}
.checks li:after{content:"";position:absolute;left:7px;top:7px;width:5px;height:9px;border:solid var(--accent);border-width:0 2px 2px 0;transform:rotate(45deg)}
.checks b{display:block;color:var(--ink)}

/* ---------- Pricing ---------- */
.pricing-head{margin-bottom:48px;text-align:center}
.plans{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;max-width:1040px;margin:0 auto}
.plan{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}
.plan p{color:var(--ink-2);font-size:16px}
.plan-main{padding:44px;border:2px solid var(--accent)}
.plan-main h3{font-size:30px}
.plan-main .checks{margin:28px 0 32px}
.badge{position:absolute;top:-14px;left:44px;background:var(--hot);color:#fff;font-size:13px;font-weight:700;padding:6px 14px;border-radius:999px}
.plan .price{font-family:var(--display);font-size:64px;font-weight:600;letter-spacing:-.04em;line-height:1;margin-top:18px;color:var(--ink)!important}
.plan .price small{font-size:20px;color:var(--muted);margin-right:4px;letter-spacing:0}
.plan .price span{font-family:var(--body);font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}
.plan .price-s{font-size:38px;margin:10px 0 12px}
.plan .price-s small{font-size:15px}
.plan-side{display:grid;gap:20px}
.plan-side .plan{display:grid;gap:4px;align-content:start}
.plan-side .link{justify-self:start;margin-top:14px}
.soon{font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:999px;background:var(--bg-2);color:var(--muted);vertical-align:middle;margin-left:6px}
.fine{font-size:13px!important;color:var(--muted)!important;margin-top:14px;text-align:center}

/* ---------- Try ---------- */
.try{padding-top:0}
.try-card{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;padding:56px;border-radius:36px;background:var(--accent-soft);border:1px solid var(--line)}
.try-card h2{font-size:clamp(30px,3.2vw,44px);margin-bottom:12px}
.try-card p{color:var(--ink-2)}
.try-actions{display:grid;gap:18px;justify-items:start}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.02em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";font-size:26px;line-height:1;color:var(--accent);transition:transform .3s}
.faq-list details[open] summary:after{transform:rotate(45deg)}
.faq-list details p{color:var(--ink-2);padding-top:12px;max-width:640px}

/* ---------- Final ---------- */
.final{padding:140px 24px;text-align:center;background:linear-gradient(180deg,var(--bg),var(--bg-2))}
.final-inner{max-width:860px;margin:0 auto}
.final h2{font-size:clamp(40px,5.6vw,76px);margin-bottom:22px}
.final p{color:var(--ink-2);font-size:19px;margin-bottom:34px}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:34px 28px 110px;font-size:14px;color:var(--muted);max-width:1240px;margin:0 auto}
.foot nav{display:flex;gap:24px}

/* ---------- Sticky mobile CTA + theme switch ---------- */
.sticky-cta{display:none}
.theme-switch{position:fixed;right:18px;bottom:18px;z-index:60;font:inherit;font-size:13px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);cursor:pointer}

/* ---------- Motion ---------- */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.js .reveal.is-in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.4s}
@keyframes pop{to{opacity:1;transform:none}}
@keyframes gone{to{opacity:0;height:0;padding:0;margin:0;border:0}}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}
/* Scroll-linked phone tilt where supported; static elsewhere */
@supports (animation-timeline: view()){
  .phone{animation:settle linear both;animation-timeline:view();animation-range:exit 0% exit 80%}
  @keyframes settle{to{transform:rotate(3deg) translateY(-60px) scale(.94)}}
  .teams-band h2{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 35%}
  @keyframes rise{from{opacity:.2;transform:translateY(40px)}to{opacity:1;transform:none}}
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero{grid-template-columns:1fr;padding-top:40px;gap:20px;text-align:left}
  .hero-visual{height:600px}
  .pain-grid{grid-template-columns:1fr}
  .story{grid-template-columns:1fr}
  .story-visual{top:84px;height:300px;z-index:2}
  .step{min-height:46vh}
  .teams-inner,.trust,.plans,.try-card,.faq{grid-template-columns:1fr}
  .nav nav{display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .section{padding:84px 20px}
  .nav{padding:12px 18px}
  .nav .btn{display:none}
  .hero{padding:28px 20px 70px}
  .hero h1{font-size:clamp(36px,10.4vw,46px);letter-spacing:-.04em}
  .lede{font-size:17px;margin-bottom:26px}
  .cta-row .btn{flex:1 1 100%}
  .proof-row{gap:16px;font-size:13px}
  .team-route{font-size:14px}
  .hero-visual{height:560px;margin-top:10px}
  .phone{width:270px;height:540px;border-radius:46px}
  .phone-screen{border-radius:36px;padding:56px 14px 14px;font-size:13px}
  .chip{font-size:12px;padding:8px 11px}
  .chip-2,.chip-3{display:none}.chip-1{left:2px;top:6px}.chip-4{right:2px;bottom:6px}
  .card{padding:26px}.pain .card h3{margin-top:28px}
  .stage{border-radius:28px}.scene{padding:24px}
  .pile{font-size:13px;padding:10px 13px}
  .p1{top:30px;left:20px}.p2{top:70px;right:20px}.p3{top:140px;left:40px}.p4{bottom:50px;right:24px}.p5{bottom:24px;left:20px}
  .step{min-height:62vh;padding-top:0}.story-visual{height:280px;top:72px}.story-visual:after{content:"";position:absolute;left:-20px;right:-20px;top:100%;height:40px;background:linear-gradient(var(--bg),transparent)}
  .step p{font-size:16px}
  .teams-band{padding:84px 20px}
  .founder{grid-template-columns:1fr;gap:20px}
  .founder img{width:112px;height:112px}
  .plan,.plan-main{padding:28px}.badge{left:28px}
  .plan-main .price{font-size:52px}
  .try-card{padding:32px}
  .final{padding:100px 20px}
  .sticky-cta{display:flex;gap:8px;position:fixed;left:12px;right:12px;bottom:12px;z-index:55;padding:8px;border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow-lg);transform:translateY(140%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
  .sticky-cta.show{transform:none}
  .sticky-cta .btn{flex:1;min-height:46px;padding:0 14px;font-size:15px}
  .theme-switch{bottom:84px;right:12px}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .phone-screen [data-step]{opacity:1;transform:none}
  .phone-screen .typing[data-step]{display:none}
  .mark:after{transform:scaleX(1)}
}

[data-theme=dark] .phone-screen{color:#1c1f1d}
[data-theme=dark] .phone-screen .chat-time,[data-theme=dark] .phone-screen .chat-label{color:#6b726d}
[data-theme=dark] .bubble.ai{border-color:#e0dfd7;box-shadow:0 12px 30px -14px rgba(0,0,0,.25)}
[data-theme=dark] .bubble.ai .open{color:#4b524d;border-color:#e0dfd7}
[data-theme=dark] .typing{background:#fff;border-color:#e0dfd7}
[data-theme=dark] .sources span{background:#e3ece6;color:#3f6b55}
[data-theme=dark] .chip{background:var(--surface-2);color:var(--ink)}

.shot .step{min-height:430px!important;opacity:1}

/* ---------- Social proof ---------- */
.quotes h2{margin-bottom:44px}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{position:relative;margin:0;padding:34px 30px 28px;border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;gap:26px}
.quote blockquote{margin:0;font-family:var(--display);font-size:21px;line-height:1.3;letter-spacing:-.015em;color:var(--ink)}
.quote figcaption{font-size:14px;color:var(--muted)}
.quote figcaption b{display:block;color:var(--ink);font-size:15px}
.sample-tag{position:absolute;top:-11px;right:20px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#ffe6a6;color:#5a4300;border:1px dashed #b88a00}
@media (max-width:980px){.quote-grid{grid-template-columns:1fr}}

/* ---------- Context gap stats ---------- */
.stats h2{max-width:900px;margin-bottom:44px}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.stat{padding:30px 0 0;border-top:2px solid var(--ink)}
.stat b{display:block;font-family:var(--display);font-size:clamp(64px,7vw,104px);font-weight:600;letter-spacing:-.05em;line-height:1;color:var(--accent)}
.stat span{display:block;margin-top:10px;font-size:18px;color:var(--ink-2);max-width:260px}
.source{margin-top:26px;font-size:13px;color:var(--muted)}
.pain-close{margin-top:34px;font-size:20px;color:var(--ink-2)}
.pain-close b{color:var(--ink)}
/* ---------- Files over apps ---------- */
.own-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:center;padding:56px;border-radius:36px;border:1px solid var(--line);background:var(--surface)}
.own h2{font-size:clamp(32px,3.6vw,50px);margin-bottom:16px}
.own p{color:var(--ink-2);max-width:620px}
.ai-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ai-list li{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.02em;padding:14px 20px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
/* ---------- Pricing ladder ---------- */
.ladder{display:grid;grid-template-columns:.9fr 1.2fr .9fr;gap:20px;align-items:center;max-width:1180px;margin:0 auto}
.ladder .plan{display:grid;gap:6px;align-content:start}
.ladder .link{justify-self:start;margin-top:14px}
.plan .price s{font-size:24px;color:var(--muted);font-weight:500;margin-left:8px;letter-spacing:0}
.founding{font-size:14px!important;font-weight:650;color:var(--hot)!important}
.keep{max-width:1180px;margin:20px auto 0;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 32px;border-radius:24px;border:1px dashed var(--line);background:var(--surface-2)}
.keep p{color:var(--ink-2)}
.price-k{font-family:var(--display);font-size:38px;font-weight:600;letter-spacing:-.03em;white-space:nowrap;color:var(--ink)!important}
.price-k small{font-family:var(--body);font-size:14px;color:var(--muted);margin-right:4px}
.price-k span{font-family:var(--body);font-size:15px;color:var(--muted)}
@media (max-width:980px){.stat-grid,.ladder,.own-inner{grid-template-columns:1fr}.keep{flex-direction:column;align-items:flex-start}}
@media (max-width:640px){.own-inner{padding:30px}.stat span{font-size:16px}}

/* ---------- Film ---------- */
.film-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.film-head p{color:var(--ink-2);max-width:420px}
.film-frame{border-radius:32px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#0f2219;aspect-ratio:16/9}.film-frame video{width:100%;height:100%;display:block}
@media (max-width:980px){.film-head{flex-direction:column;align-items:flex-start}}

/* ---------- AI tools marquee ---------- */
.tools{padding:8px 0 64px;overflow:hidden}
.tools-label{text-align:center;font-size:14px;font-weight:650;color:var(--muted);margin-bottom:22px}
.marquee{display:flex;width:max-content;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tools .marquee{width:100%}
.track{list-style:none;margin:0;padding:0 7px;display:flex;gap:14px;flex:none;animation:marquee 38s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.tool{display:inline-flex;align-items:center;gap:12px;padding:12px 22px 12px 14px;border-radius:999px;background:#fff;border:1px solid #e3e1d8;box-shadow:0 8px 24px -14px rgba(0,0,0,.25);white-space:nowrap}
.tool img{width:28px;height:28px;object-fit:contain}
.tool span{font-family:var(--display);font-weight:650;font-size:19px;letter-spacing:-.02em}
.tool-chatgpt span{color:#000000}.tool-claude span{color:#D97757}.tool-gemini span{color:#8E75B2}.tool-copilot span{color:#0F6CBD}.tool-perplexity span{color:#1FB8CD}.tool-metaai span{color:#0467DF}.tool-mistral span{color:#FA520F}.tool-deepseek span{color:#4D6BFE}.tool-grok span{color:#000000}.tool-notebooklm span{color:#000000}
[data-theme=dark] .tool{border-color:transparent}
@keyframes marquee{to{transform:translateX(calc(-100% - 14px))}}
.own-inner{grid-template-columns:1fr}
@media (max-width:640px){.tool{padding:9px 16px 9px 10px}.tool img{width:22px;height:22px}.tool span{font-size:16px}.tools{padding-bottom:40px}}
@media (prefers-reduced-motion:reduce){.marquee{width:100%;flex-wrap:wrap;justify-content:center;-webkit-mask:none;mask:none}.track{flex-wrap:wrap;justify-content:center}.track[aria-hidden]{display:none}}

/* Shared optional analytics controls. */
.analytics-choice{position:fixed;bottom:16px;left:16px;right:16px;z-index:1000;background:#fff;color:#172724;border:1px solid #b8c6be;border-radius:12px;box-shadow:0 8px 32px #12251f22;padding:20px;display:flex;gap:24px;align-items:center;justify-content:space-between}.analytics-choice[hidden]{display:none}.analytics-choice p{font-size:14px;line-height:1.5;margin:6px 0 0;max-width:650px}.analytics-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.analytics-actions button{font:inherit;font-size:14px;padding:12px 16px;border:1px solid #53766c;border-radius:6px;background:#f2f5f1;color:#173e32;cursor:pointer}.analytics-actions button:focus-visible,.analytics-settings:focus-visible{outline:3px solid #397b64;outline-offset:3px}.analytics-settings{font:inherit;background:none;border:0;padding:0;text-decoration:underline;color:inherit;cursor:pointer}@media(max-width:700px){.analytics-choice{flex-direction:column;align-items:stretch;padding:16px;gap:12px;bottom:8px;left:8px;right:8px}.analytics-actions{display:grid;grid-template-columns:1fr 1fr}.analytics-actions button{padding:11px 8px}}
.analytics-choice a{color:#173e32;text-decoration:underline}.foot .analytics-settings{font-size:inherit}
#contact{scroll-margin-top:90px}
