/* ProspectEngine — landing page (scroll-narrative). Brand tokens shared with the app. */
@font-face { font-family:'Outfit'; src:url('assets/fonts/Outfit-Variable.ttf') format('truetype'); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face { font-family:'DM Mono'; src:url('assets/fonts/DMMono-Regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'DM Mono'; src:url('assets/fonts/DMMono-Medium.ttf') format('truetype'); font-weight:500; font-display:swap; }

:root{
  --bg:#0a0a0c; --bg-2:#0d0d10; --ink:#f4f2ee; --ink-dim:#b6b4bd; --muted:#807e88; --faint:#4a4954;
  --brand:#ff5a1f; --brand-2:#ff7a45; --brand-deep:#f0430a;
  --brand-dim:rgba(255,90,31,.10); --brand-15:rgba(255,90,31,.15); --brand-30:rgba(255,90,31,.30); --brand-40:rgba(255,90,31,.40);
  --border:#23232c; --border-soft:#17171d; --card:#131317; --card-2:#191920;
  --success:#34d399; --warn:#fbbf24; --error:#f87171; --info:#60a5fa; --purple:#c084fc;
  --grad:linear-gradient(180deg,#ff7a45 0%,#f0430a 100%);
  --grad-text:linear-gradient(135deg,#ff9a6b 0%,#ff5a1f 55%,#e23d08 100%);
  --glow:0 0 80px -10px rgba(255,90,31,.5);
  --f-sans:'Outfit',ui-sans-serif,system-ui,sans-serif; --f-mono:'DM Mono',ui-monospace,monospace;
  --tl:.18em; --maxw:1240px;
  --dim-fit:#60a5fa; --dim-pain:#fb923c; --dim-reach:#34d399; --dim-size:#c084fc;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-sans);-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
.mono{font-family:var(--f-mono);}

/* backdrop helpers */
.grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--brand-dim) 1px,transparent 1px),linear-gradient(90deg,var(--brand-dim) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000,transparent 75%);mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000,transparent 75%);}
.glow{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,90,31,.5),transparent 65%);filter:blur(50px);pointer-events:none;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.kick{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:var(--tl);color:var(--brand);font-size:13px;font-weight:500;}
.kick .d{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 12px var(--brand);}
.grad-ink{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* ── Nav ─────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:72px;display:flex;align-items:center;backdrop-filter:blur(14px);background:rgba(10,10,12,.55);border-bottom:1px solid transparent;transition:border-color .3s,background .3s;}
.nav.scrolled{border-bottom-color:var(--border);background:rgba(10,10,12,.82);}
.nav .wrap{display:flex;align-items:center;gap:28px;width:100%;}
.brand{display:flex;align-items:center;gap:11px;}
.brand img{width:34px;height:34px;border-radius:9px;display:block;}
.brand b{font-weight:700;font-size:18px;letter-spacing:-.02em;}
.brand b span{color:var(--brand);}
.nav-links{display:flex;gap:28px;margin-left:auto;}
.nav-links a{font-size:14.5px;color:var(--ink-dim);transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--f-sans);font-weight:600;font-size:15px;border-radius:10px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .2s,background .2s;text-decoration:none;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--grad);color:#fff;border-color:var(--brand-40);box-shadow:var(--glow);padding:0 22px;height:46px;}
.btn-ghost{background:rgba(255,255,255,.03);color:var(--ink);border-color:var(--border);padding:0 20px;height:46px;}
.btn-ghost:hover{border-color:var(--brand-30);}
.btn-sm{height:40px;padding:0 18px;font-size:14px;}

/* ── Hero ─────────────────────────────────── */
.hero{position:relative;padding:170px 0 90px;overflow:hidden;}
.hero .glow{width:900px;height:900px;left:50%;top:-280px;transform:translateX(-50%);opacity:.5;}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
.hero h1{font-size:74px;font-weight:800;letter-spacing:-.04em;line-height:.98;margin:22px 0 0;}
.hero p.sub{font-size:21px;line-height:1.5;color:var(--ink-dim);margin:26px 0 0;max-width:540px;}
.hero-cta{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap;}
.hero-trust{display:flex;align-items:center;gap:22px;margin-top:34px;color:var(--muted);font-size:14px;}
.hero-trust .dotsep{width:4px;height:4px;border-radius:50%;background:var(--faint);}
.hero-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);background:rgba(255,255,255,.02);border-radius:999px;padding:9px 16px;font-size:13.5px;color:var(--ink-dim);}
.hero-badge .pulse{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 0 rgba(52,211,153,.5);animation:pulse 2.4s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.5);}70%{box-shadow:0 0 0 12px rgba(52,211,153,0);}100%{box-shadow:0 0 0 0 rgba(52,211,153,0);}}

/* hero phone holder */
.hero-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:560px;}
.hero-stage .glow{width:520px;height:520px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.4;}

/* ── Phone ─────────────────────────────────── */
.phone{position:relative;width:344px;height:712px;border-radius:52px;background:#000;border:11px solid #1c1c22;box-shadow:0 50px 120px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.03),var(--glow);flex-shrink:0;overflow:hidden;}
.phone-notch{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:118px;height:30px;background:#000;border-radius:18px;z-index:30;}
.phone-screen{position:absolute;inset:0;border-radius:41px;overflow:hidden;background:var(--bg);}
.phone-status{height:50px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 26px 6px;font-family:var(--f-mono);font-size:13px;font-weight:500;color:var(--ink);}
.phone-status .right{display:flex;gap:6px;align-items:center;}

/* ── Scroll narrative ─────────────────────── */
.story{position:relative;}
.story-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden;}
.story-sticky .grid-bg{opacity:.6;}
.story-glow{position:absolute;width:680px;height:680px;border-radius:50%;filter:blur(60px);pointer-events:none;transition:background .6s,left .8s,top .8s;opacity:.4;}
.story-inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 48px;display:grid;grid-template-columns:1fr 360px 226px;gap:56px;align-items:center;}
.story-inner.center{grid-template-columns:1fr;justify-items:center;text-align:center;}
.story-inner.withcard{grid-template-columns:1fr 380px 320px;}

/* narrative copy column */
.story-copy{position:relative;min-height:390px;display:flex;flex-direction:column;justify-content:center;}
.beat-step{font-family:var(--f-mono);font-size:13px;letter-spacing:var(--tl);text-transform:uppercase;color:var(--brand);margin-bottom:18px;display:flex;align-items:center;gap:12px;}
.beat-step .n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--brand-30);background:var(--brand-dim);font-weight:500;}
.beat-h{font-size:52px;font-weight:800;letter-spacing:-.03em;line-height:1.02;margin:0;}
.beat-p{font-size:19px;line-height:1.55;color:var(--ink-dim);margin:22px 0 0;max-width:440px;}
.story-inner.center .beat-p{margin-left:auto;margin-right:auto;}
.beat-stat{display:flex;gap:34px;margin-top:30px;}
.story-inner.center .beat-stat{justify-content:center;}
.beat-stat .v{font-family:var(--f-mono);font-size:30px;font-weight:500;color:var(--ink);}
.beat-stat .l{font-size:13px;color:var(--muted);margin-top:4px;}

/* the layered beat copy: only active shown */
.beat-layer{transition:opacity .5s,transform .5s;}
.beat-layer[data-on="false"]{opacity:0;transform:translateY(24px);position:absolute;top:0;left:0;right:0;pointer-events:none;}
.beat-layer[data-on="true"]{opacity:1;transform:translateY(0);position:relative;}

/* progress rail */
.rail{position:absolute;left:50%;transform:translateX(-50%);bottom:38px;display:flex;gap:12px;z-index:5;}
.rail i{height:5px;width:34px;border-radius:3px;background:var(--border);overflow:hidden;position:relative;}
.rail i b{position:absolute;inset:0;background:var(--grad);transform-origin:left;transform:scaleX(0);transition:transform .3s;border-radius:3px;}
.rail i.done b{transform:scaleX(1);}
.rail i.active b{transform:scaleX(var(--p,0));}

/* vertical step list (desktop right of copy or far side) */
.vrail{display:flex;flex-direction:column;gap:2px;}
.vrail-item{display:flex;align-items:center;gap:14px;padding:13px 0;opacity:.4;transition:opacity .4s;}
.vrail-item.on{opacity:1;}
.vrail-dot{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0;transition:all .4s;}
.vrail-item.on .vrail-dot{border-color:var(--brand-30);background:var(--brand-dim);color:var(--brand);box-shadow:var(--glow);}
.vrail-item .vt{font-size:15px;font-weight:600;}
.vrail-item .vs{font-size:12.5px;color:var(--muted);}

/* phone screen content (beats) */
.scr{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;transition:opacity .55s;pointer-events:none;}
.scr[data-on="true"]{opacity:1;pointer-events:auto;}
.scr-pad{padding:8px 20px 22px;flex:1;display:flex;flex-direction:column;min-height:0;}
.scr-appbar{display:flex;align-items:center;gap:10px;padding:6px 2px 16px;}
.scr-appbar .t{font-size:16px;font-weight:700;letter-spacing:-.01em;}
.scr-appbar .badge{margin-left:auto;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);border:1px solid var(--brand-30);background:var(--brand-dim);border-radius:999px;padding:4px 9px;}

/* generic card bits inside phone */
.pcard{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px;}
.row{display:flex;align-items:center;gap:11px;}
.av{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;padding:4px 9px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--card-2);}
.score-ring{font-family:var(--f-mono);font-weight:500;}
.barrow{display:grid;grid-template-columns:46px 1fr 30px;align-items:center;gap:9px;padding:5px 0;}
.barrow .nm{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;}
.barrow .tk{height:6px;border-radius:4px;background:#26262e;overflow:hidden;}
.barrow .tk i{display:block;height:100%;border-radius:4px;transform-origin:left;}
.barrow .vv{font-family:var(--f-mono);font-size:12px;text-align:right;}

/* scrape list */
.scan-row{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:var(--card);margin-bottom:9px;}
.scan-row .nm{font-size:13.5px;font-weight:600;}
.scan-row .sub{font-size:11px;color:var(--muted);}
.scan-row .tickmark{margin-left:auto;color:var(--success);}

/* voice call */
.wave{display:flex;align-items:center;justify-content:center;gap:4px;height:64px;}
.wave i{width:5px;border-radius:3px;background:var(--brand);}
.call-line{font-size:12.5px;line-height:1.4;margin-top:10px;}
.call-line .who{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}

/* chat bubbles */
.bub{padding:10px 13px;border-radius:14px;font-size:13px;line-height:1.45;max-width:84%;margin-bottom:9px;}
.bub.inb{background:var(--card-2);border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:4px;}
.bub.out{background:var(--brand-dim);border:1px solid var(--brand-30);align-self:flex-end;border-bottom-right-radius:4px;color:var(--ink);}
.ai-suggest{margin-top:auto;background:var(--card);border:1px solid var(--brand-30);border-radius:14px;padding:12px;}

/* booked */
.booked-check{width:74px;height:74px;border-radius:50%;background:color-mix(in srgb,var(--success) 14%,transparent);border:1px solid color-mix(in srgb,var(--success) 40%,transparent);color:var(--success);display:flex;align-items:center;justify-content:center;margin:0 auto;}
.cal-chip{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:13px 15px;}

/* ── Section shells ─────────────────────────── */
.sec{position:relative;padding:120px 0;}
.sec-head{text-align:center;max-width:720px;margin:0 auto 64px;}
.sec-head h2{font-size:46px;font-weight:800;letter-spacing:-.03em;line-height:1.04;margin:18px 0 0;}
.sec-head p{font-size:19px;color:var(--ink-dim);margin:18px 0 0;line-height:1.5;}

/* proof band */
.proof{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-2);}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.proof-cell{padding:46px 30px;text-align:center;border-right:1px solid var(--border);}
.proof-cell:last-child{border-right:none;}
.proof-cell .v{font-family:var(--f-mono);font-size:52px;font-weight:500;letter-spacing:-.03em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;}
.proof-cell .l{font-size:15px;color:var(--muted);margin-top:14px;}

/* feature cards */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.feat{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:30px;transition:border-color .3s,transform .3s;}
.feat:hover{border-color:var(--brand-30);transform:translateY(-4px);}
.feat .fic{width:50px;height:50px;border-radius:13px;background:var(--brand-dim);border:1px solid var(--brand-30);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.feat h3{font-size:21px;font-weight:700;letter-spacing:-.02em;margin:0 0 10px;}
.feat p{font-size:15.5px;color:var(--ink-dim);line-height:1.55;margin:0;}

/* pricing */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:22px;max-width:1080px;margin:0 auto;align-items:stretch;}
.plan{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:34px;position:relative;display:flex;flex-direction:column;height:100%;}
.plan ul{flex:1;}
.plan.pop{border-color:var(--brand-40);background:linear-gradient(180deg,var(--brand-dim),transparent 60%);box-shadow:var(--glow);}
.plan .tag{position:absolute;top:-13px;left:38px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--grad);color:#fff;border-radius:999px;padding:5px 14px;}
.plan .pname{font-size:16px;font-weight:600;color:var(--ink-dim);}
.plan .pprice{font-size:48px;font-weight:800;letter-spacing:-.03em;margin:14px 0 4px;}
.plan .pprice span{font-size:16px;color:var(--muted);font-weight:500;}
.plan .pdesc{font-size:15px;color:var(--muted);margin-bottom:24px;}
.plan ul{list-style:none;padding:0;margin:0 0 30px;display:flex;flex-direction:column;gap:14px;}
.plan li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--ink-dim);}
.plan li .ck{color:var(--brand);flex-shrink:0;margin-top:2px;}

/* ── ROI calculator (console) ───────────────────────── */
.calc-win{max-width:940px;margin:0 auto;background:var(--bg);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 40px 120px -40px rgba(0,0,0,.8),var(--glow);}
.calc-bar{height:42px;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--card);}
.calc-bar .lights{display:flex;gap:7px;}
.calc-bar .lights i{width:11px;height:11px;border-radius:50%;background:#3a3a44;}
.calc-bar .url{margin-left:14px;font-family:var(--f-mono);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;min-width:0;}
.calc-bar .url b{color:var(--ink-dim);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.calc-bar .live{margin-left:auto;flex-shrink:0;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--success);display:flex;align-items:center;gap:7px;}
.calc-bar .live i{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success);}
.calc-body{display:grid;grid-template-columns:268px 1fr;}
.calc-side{border-right:1px solid var(--border);padding:20px 18px;display:flex;flex-direction:column;gap:18px;background:var(--bg-2);}
.calc-grp{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}
.ci-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.ci-label{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-dim);}
.ci-label svg{color:var(--muted);flex-shrink:0;}
.ci-val{font-family:var(--f-mono);font-weight:500;font-size:15px;color:var(--ink);white-space:nowrap;}
.calc-input input[type=range]{width:100%;accent-color:var(--brand);height:6px;cursor:pointer;margin:0;}
.ci-sub{font-size:11px;color:var(--muted);margin-top:9px;font-family:var(--f-mono);line-height:1.4;}
.calc-assume{margin-top:auto;font-family:var(--f-mono);font-size:11.5px;color:var(--muted);line-height:1.85;}
.calc-assume .ca-h{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;font-size:10px;margin-bottom:6px;}
.calc-assume .ca-faint{color:var(--faint);}
.calc-main{padding:20px 22px;display:flex;flex-direction:column;gap:16px;min-width:0;}
.calc-chart{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end;}
.cc-bars{display:flex;align-items:flex-end;justify-content:center;gap:30px;height:244px;}
.cc-col{display:flex;flex-direction:column;align-items:center;gap:10px;justify-content:flex-end;}
.cc-val{font-family:var(--f-mono);font-weight:500;font-size:17px;}
.cc-val.brand{color:var(--brand);}
.cc-bar{width:68px;border-radius:8px 8px 0 0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:height .35s var(--ease-out,ease);}
.cc-bar .seg{transition:height .35s var(--ease-out,ease);}
.cc-bar .seg.sdr{background:#f87a7a;}
.cc-bar .seg.tools{background:linear-gradient(180deg,#fbbf24,#ffb060);}
.cc-bar.pe{background:var(--grad);}
.cc-label{font-size:12.5px;color:var(--ink-dim);text-align:center;}
.cc-label span{display:block;font-size:10px;color:var(--muted);font-family:var(--f-mono);}
.cc-label.brand{color:var(--brand);}
.cc-legend{display:flex;flex-direction:column;gap:11px;justify-content:center;}
.lg-row{display:flex;align-items:center;gap:10px;font-size:13px;}
.lg-row .dot{width:10px;height:10px;border-radius:3px;flex-shrink:0;}
.lg-row .lg-l{color:var(--ink-dim);}
.lg-row .lg-v{margin-left:auto;font-family:var(--f-mono);color:var(--ink);}
.calc-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cstat{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;}
.cstat.hl{border-color:var(--brand-30);background:linear-gradient(160deg,var(--brand-dim),var(--card) 70%);}
.cs-l{font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.cs-v{font-family:var(--f-mono);font-weight:500;font-size:28px;line-height:1;}
.cs-v.brand{color:var(--brand);}
.cs-v.green{color:var(--success);}
.calc-hours{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;}
.ch-top{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--ink-dim);margin-bottom:12px;}
.ch-top .green{font-family:var(--f-mono);font-size:18px;color:var(--success);}
.ch-bar{height:8px;border-radius:5px;background:#26262e;overflow:hidden;}
.ch-bar i{display:block;height:100%;background:linear-gradient(90deg,#34d399,#10b981);border-radius:5px;transition:width .4s;}
.ch-sub{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-top:9px;font-family:var(--f-mono);}
.calc-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 26px;border-top:1px solid var(--border);background:var(--card);}
.cf-cpd{font-family:var(--f-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px;}
.cf-cpd s{color:var(--faint);}
.cf-cpd b.green{color:var(--success);}
@media(max-width:860px){
  .calc-body{grid-template-columns:1fr;}
  .calc-side{border-right:none;border-bottom:1px solid var(--border);}
  .calc-foot{flex-direction:column;align-items:stretch;text-align:center;}
  .calc-foot .cf-cpd{justify-content:center;}
  .calc-foot .btn{width:100%;}
}
@media(max-width:560px){
  /* same element scale as desktop — only the layout reflows */
  .calc-main{padding:20px 16px;}
  .calc-side{padding:20px 16px;}
  .calc-chart{grid-template-columns:1fr;gap:24px;}
  .calc-stats{grid-template-columns:1fr;}
}

/* ── Request access (gated) ─────────────────────────── */
.req{position:relative;overflow:hidden;border-top:1px solid var(--border);padding:120px 0;}
.req>.glow{width:680px;height:680px;left:50%;bottom:-360px;transform:translateX(-50%);opacity:.4;}
.req-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.req-copy h2{font-size:42px;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:16px 0 0;}
.req-copy p{font-size:17px;color:var(--ink-dim);line-height:1.6;margin:18px 0 24px;max-width:460px;}
.req-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px;}
.req-points li{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--ink-dim);}
.req-points li svg{flex-shrink:0;}
.req-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:30px;}
.req-card form{display:flex;flex-direction:column;gap:14px;}
.req-card label{display:flex;flex-direction:column;gap:7px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.req-card input{font-family:var(--f-sans);font-size:15px;color:var(--ink);background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;transition:border-color .2s;}
.req-card input::placeholder{color:var(--faint);}
.req-card input:focus{outline:none;border-color:var(--brand-40);}
.req-card .btn{width:100%;}
.req-card .btn-primary{margin-top:4px;}
.req-note{font-family:var(--f-mono);font-size:11px;color:var(--muted);text-align:center;margin:6px 0 0;}
.req-err{font-size:13px;color:var(--error);background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.3);border-radius:10px;padding:10px 12px;margin:0;}
.req-done{text-align:center;padding:24px 6px;}
.rd-check{width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--success) 14%,transparent);border:1px solid color-mix(in srgb,var(--success) 40%,transparent);color:var(--success);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.req-done h3{font-size:22px;font-weight:700;margin:0 0 8px;}
.req-done p{font-size:14.5px;color:var(--ink-dim);margin:0;line-height:1.5;}
@media(max-width:860px){
  .req{padding:80px 0;}
  .req-inner{grid-template-columns:1fr;gap:36px;}
  .req-copy h2{font-size:32px;}
}

/* CTA */
.cta-band{position:relative;overflow:hidden;text-align:center;padding:120px 0;}
.cta-band .glow{width:760px;height:760px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.45;}
.cta-band h2{font-size:60px;font-weight:800;letter-spacing:-.035em;line-height:1;margin:0;position:relative;z-index:2;}
.cta-band p{font-size:20px;color:var(--ink-dim);margin:22px 0 36px;position:relative;z-index:2;}

/* footer */
.foot{border-top:1px solid var(--border);padding:56px 0 40px;}
.foot-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.foot-col h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;}
.foot-col a{display:block;font-size:14.5px;color:var(--ink-dim);margin-bottom:11px;}
.foot-col a:hover{color:var(--brand);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:26px;border-top:1px solid var(--border);color:var(--muted);font-size:13.5px;flex-wrap:wrap;gap:16px;}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ── Engine (A–Z) pinned desktop window ─────────────── */
.engine{position:relative;}
.engine-inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 48px;display:grid;grid-template-columns:404px 1fr;gap:56px;align-items:center;}
.eng-win{width:740px;max-width:100%;height:486px;background:var(--bg);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 50px 120px -30px rgba(0,0,0,.85),var(--glow);display:flex;flex-direction:column;}
.eng-bar{height:42px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--card);}
.eng-bar .lights{display:flex;gap:7px;}
.eng-bar .lights i{width:11px;height:11px;border-radius:50%;background:#3a3a44;}
.eng-bar .url{margin-left:14px;font-family:var(--f-mono);font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:8px;}
.eng-bar .url b{color:var(--ink-dim);font-weight:500;}
.eng-bar .live{margin-left:auto;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--success);display:flex;align-items:center;gap:7px;}
.eng-bar .live i{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success);}
.eng-body{flex:1;display:flex;min-height:0;}
.eng-side{width:184px;flex-shrink:0;border-right:1px solid var(--border);background:var(--card);padding:12px 10px;display:flex;flex-direction:column;gap:3px;}
.eng-side .grp{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:8px 9px 5px;}
.eng-nav{display:flex;align-items:center;gap:10px;padding:8px 9px;border-radius:8px;color:var(--muted);font-size:12.5px;position:relative;transition:color .35s,background .35s;}
.eng-nav.on{color:var(--brand);background:var(--brand-dim);font-weight:500;}
.eng-nav.on::before{content:"";position:absolute;left:-10px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--brand);}
.eng-nav.done{color:var(--ink-dim);}
.eng-nav .ec{flex-shrink:0;display:flex;}
.eng-nav .echeck{margin-left:auto;color:var(--success);opacity:0;transition:opacity .35s;}
.eng-nav.done .echeck{opacity:1;}
.eng-main{flex:1;position:relative;min-width:0;overflow:hidden;background:var(--bg);}
.eng-stage{position:absolute;inset:0;padding:18px;display:flex;flex-direction:column;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s;pointer-events:none;overflow:hidden;}
.eng-stage[data-on="true"]{opacity:1;transform:none;pointer-events:auto;}
.eng-h{display:flex;align-items:center;gap:9px;margin-bottom:14px;}
.eng-h .t{font-size:14.5px;font-weight:700;letter-spacing:-.01em;}
.eng-h .sub{margin-left:auto;font-family:var(--f-mono);font-size:10px;color:var(--muted);}

/* mini leads table inside window */
.etbl{display:flex;flex-direction:column;gap:7px;}
.etrow{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:11px;background:var(--card);transition:border-color .4s,background .4s;}
.etrow.hot{border-color:var(--brand-30);background:linear-gradient(120deg,var(--brand-dim),var(--card) 55%);}
.etrow .nm{font-size:12.5px;font-weight:600;}
.etrow .sub{font-size:10.5px;color:var(--muted);}
.score-pill{font-family:var(--f-mono);font-weight:500;font-size:13px;min-width:36px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid;}
.heat-hot{color:#fb923c;border-color:rgba(251,146,60,.4);background:rgba(251,146,60,.12);}
.heat-warm{color:#fbbf24;border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.12);}
.heat-cool{color:#38bdf8;border-color:rgba(56,189,248,.4);background:rgba(56,189,248,.12);}
.etier{font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.04em;padding:2px 6px;border-radius:5px;}

/* mini stat tiles */
.estat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.estat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:13px;}
.estat .l{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.estat .v{font-family:var(--f-mono);font-size:24px;font-weight:500;margin-top:8px;line-height:1;}
.estat .dl{font-size:10px;color:var(--success);margin-top:6px;}

/* sequence steps */
.eseq{display:flex;flex-direction:column;}
.eseq-row{display:flex;gap:12px;}
.eseq-node{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--brand-30);background:var(--brand-dim);color:var(--brand);}
.eseq-line{width:1px;flex:1;background:var(--border);margin:3px auto;min-height:12px;}
.eseq-card{flex:1;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:9px 12px;margin-bottom:8px;}
.eseq-card .lbl{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.eseq-card .ttl{font-size:12px;font-weight:500;margin-top:2px;}

/* chip group for ICP */
.echips{display:flex;flex-wrap:wrap;gap:7px;}
.echip{font-size:11px;padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--muted);display:inline-flex;align-items:center;gap:5px;}
.echip.on{border-color:var(--brand-30);background:var(--brand-dim);color:var(--brand);}
.eng-label{font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;}

@media(max-width:980px){
  .engine-inner{grid-template-columns:1fr;gap:36px;justify-items:center;text-align:center;}
  .eng-win{width:100%;height:auto;aspect-ratio:740/486;}
}

/* ── Responsive ─────────────────────────────── */
@media(max-width:980px){
  .hero-inner{grid-template-columns:1fr;gap:40px;}
  .hero h1{font-size:54px;}
  .hero-stage{min-height:auto;}
  .nav-links{display:none;}
  .story-inner,.story-inner.withcard{grid-template-columns:1fr;gap:18px;justify-items:center;text-align:center;}
  .story-inner .vrail,.story-inner .story-side-card{display:none;}
  .beat-h{font-size:38px;}
  .beat-p{margin-left:auto;margin-right:auto;}
  /* Pinned narrative on mobile: caption above a screen-fitted phone/window */
  .story-inner,.engine-inner{padding-left:16px;padding-right:16px;}
  .story-sticky{padding-top:60px;align-items:center;}
  .story-copy{min-height:0;}
  .story-sticky .beat-step{margin-bottom:8px;}
  .story-sticky .beat-h{font-size:25px;}
  .engine-inner{grid-template-columns:1fr;gap:18px;justify-items:center;text-align:center;}
  /* the phone story is tall — trim its caption so the phone fits */
  .story:not(.engine) .beat-p,.story:not(.engine) .story-copy .beat-stat{display:none;}
  .story:not(.engine) .beat-h{font-size:26px;}
  /* engine window is short on mobile — keep its copy fuller */
  .engine .beat-p{font-size:14.5px;margin-top:12px;}
  .engine .beat-stat{margin-top:16px;}
  .proof-grid{grid-template-columns:repeat(2,1fr);}
  .proof-cell:nth-child(2){border-right:none;}
  .feat-grid{grid-template-columns:1fr;}
  .price-grid{grid-template-columns:1fr;}
  .sec-head h2{font-size:34px;}
  .cta-band h2{font-size:40px;}
}
@media(max-width:560px){
  .wrap{padding:0 18px;}
  .nav .btn-ghost{display:none;}            /* Sign in lives in footer + app; keep primary CTA */
  .nav .btn-primary{margin-left:auto;}
  .hero{padding:140px 0 70px;}
  .hero h1{font-size:40px;}
  .hero p.sub{font-size:18px;}
  .hero-cta{flex-direction:column;align-items:stretch;}
  .hero-cta .btn{width:100%;}
  .hero-trust{flex-wrap:wrap;gap:10px 16px;}
  .story-sticky .beat-h{font-size:23px;}
  .proof-cell{padding:34px 16px;}
  .proof-cell .v{font-size:40px;}
  .cta-band h2{font-size:34px;}
  .cta-band .btn{width:100%;}
  .foot-grid{gap:30px;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
}
