:root{
  --ink:#0E0D0C;--ink-2:#1A1917;--bone:#EFEAE2;--paper:#F8F5F0;--cobalt:#2B3BFF;--film:#C9D1FF;--pulse:#FF5A36;
  --graphite:#5E5A55;--muted:#9B958C;--line:rgba(14,13,12,.12);--line-d:rgba(239,234,226,.16);
  --sans:'Inter Tight',system-ui,sans-serif;--serif:'Instrument Serif',Georgia,serif;--mono:'JetBrains Mono',ui-monospace,monospace;
  --pad:clamp(20px,5vw,72px);--sec:clamp(72px,10vw,140px);--r:22px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--bone);color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:99;background:var(--ink);color:var(--bone);padding:10px 14px;border-radius:8px}
:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;border-radius:6px}

/* wordmark */
.wm{font-weight:800;letter-spacing:-.055em;font-size:24px;line-height:1;display:inline-flex;align-items:baseline}
.wm .rx{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--cobalt);letter-spacing:-.02em;margin-left:.02em}
.wm .dot{width:.17em;height:.17em;border-radius:50%;background:var(--pulse);margin-left:.06em;display:inline-block}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 26px;border-radius:100px;font-weight:600;font-size:15px;transition:transform .25s var(--ease),background .25s,box-shadow .25s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-pulse{background:var(--pulse);color:var(--ink);box-shadow:0 10px 30px -10px rgba(255,90,54,.7)}
.btn-pulse:hover{box-shadow:0 16px 36px -10px rgba(255,90,54,.85)}
.btn-ink{background:var(--ink);color:var(--bone)}
.btn-sm{padding:11px 18px;font-size:14px}
.btn-full{width:100%}
.btn-link{font-weight:500;font-size:15px;border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .2s}
.btn-link:hover{color:var(--cobalt)}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad);transition:background .3s,backdrop-filter .3s,padding .3s}
.nav.is-scrolled{background:rgba(239,234,226,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.nav nav{display:flex;gap:32px;font-size:14px;color:#3a3732}
.nav nav a:hover{color:var(--cobalt)}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:120px var(--pad) 0;overflow:hidden}
.hero-art{position:absolute;inset:0;z-index:0}
.hero-art::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(239,234,226,.9) 0,rgba(239,234,226,.55) 30%,rgba(239,234,226,0) 52%);pointer-events:none}
.hero-art img{object-position:85% 50%!important}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;transform:scale(1.04);transition:transform .8s var(--ease);will-change:transform}
.hero-art img{animation:float 9s ease-in-out infinite}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}
.hero-inner{position:relative;z-index:1;max-width:760px}
.eyebrow{color:var(--graphite)}
.hero h1{font-size:clamp(48px,6vw,92px);font-weight:700;letter-spacing:-.05em;line-height:.92;margin-top:18px}
.hero h1 em{color:var(--cobalt);display:block;letter-spacing:-.02em}
.lede{font-size:clamp(17px,1.4vw,20px);color:#3a3732;max-width:420px;margin-top:22px}
.cta-row{display:flex;align-items:center;gap:22px;margin-top:32px;flex-wrap:wrap}
.proofbar{position:relative;z-index:1;margin-top:auto;padding:28px 0 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);margin-top:clamp(48px,9vh,110px)}
.proof-stat{display:flex;align-items:center;gap:16px}
.proof-stat .num{font-size:34px;font-weight:700;letter-spacing:-.04em}
.proof-stat .mono{color:var(--graphite);max-width:280px;line-height:1.4}
.proof-names{display:flex;align-items:center;gap:clamp(16px,2.6vw,40px);flex-wrap:wrap}
.proof-names .mono{color:var(--graphite)}
.proof-names .name{font-weight:700;font-size:20px;letter-spacing:-.03em;color:#2a2825;opacity:.78}

/* section shared */
section{scroll-margin-top:70px}
.sec-head{display:flex;flex-direction:row-reverse;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(32px,4vw,56px)}
.kicker{color:var(--pulse)}
h2{font-size:clamp(40px,5.4vw,80px);font-weight:700;letter-spacing:-.045em;line-height:.95}
h2 em{color:var(--cobalt)}

/* solutions */
.solutions{padding:var(--sec) var(--pad) 0;background:var(--paper)}
.solutions .sec-head{flex-direction:row-reverse}
.sol-list{list-style:none;border-top:1px solid var(--line)}
.sol-list li{display:grid;grid-template-columns:60px 1fr 1.1fr;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .35s var(--ease)}
.sol-list li::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--cobalt);transition:width .5s var(--ease)}
.sol-list li:hover{padding-left:14px}
.sol-list li:hover::before{width:100%}
.sol-list .n{color:var(--muted)}
.sol-list .t{font-size:clamp(26px,3vw,42px);font-weight:650;letter-spacing:-.035em;transition:color .3s}
.sol-list li:hover .t{color:var(--cobalt)}
.sol-list .d{color:var(--graphite);font-size:16px;max-width:420px}
.marquee{overflow:hidden;padding:34px 0;margin:0 calc(var(--pad) * -1);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;align-items:center;gap:28px;width:max-content;animation:marq 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{font-size:clamp(20px,2.2vw,30px);font-weight:600;letter-spacing:-.03em;white-space:nowrap}
.marquee span:first-child{color:var(--cobalt)}
.marquee i{width:8px;height:8px;border-radius:50%;background:var(--pulse);flex:none}
@keyframes marq{to{transform:translateX(-50%)}}

/* pricing */
.pricing{padding:var(--sec) var(--pad);position:relative}
.pulse-line{width:100%;height:60px;display:block;margin-bottom:-6px}
.pulse-line path{fill:none;stroke:var(--cobalt);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1600;stroke-dashoffset:1600;transition:stroke-dashoffset 2.2s var(--ease)}
.pulse-line circle{fill:var(--pulse);opacity:0;transition:opacity .4s 1.9s}
.pricing.is-in .pulse-line path{stroke-dashoffset:0}
.pricing.is-in .pulse-line circle{opacity:1}
.rx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rxc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:28px 24px 24px;display:flex;flex-direction:column;min-height:300px;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.rxc:hover{transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(14,13,12,.28);border-color:transparent}
.rxc .n{color:var(--muted)}
.rxc h3{font-size:30px;font-weight:650;letter-spacing:-.035em;margin-top:22px}
.rxc .price{font-size:clamp(34px,3.2vw,46px);font-weight:700;letter-spacing:-.045em;margin-top:6px}
.rxc .d{color:var(--graphite);font-size:15px;margin-top:10px}
.rx-cta{margin-top:auto;padding-top:22px;font-weight:600;font-size:14px;display:inline-flex;gap:8px;color:var(--cobalt)}
.rx-cta span{transition:transform .25s}
.rxc:hover .rx-cta span{transform:translateX(4px)}
.rxc-feature{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}
.rxc-feature .n{color:#dfe2ff}.rxc-feature .d{color:#e3e6ff}.rxc-feature .rx-cta{color:#fff}

/* proof */
.proof{background:var(--ink);color:var(--bone);padding:var(--sec) var(--pad);position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:40px}
.proof-art{position:relative;aspect-ratio:1;max-width:560px;width:100%}
.proof-art img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);mask-image:radial-gradient(circle at 50% 50%,#000 55%,transparent 75%)}
.proof h2 em{color:var(--film)}
.proof-copy{font-size:clamp(18px,1.6vw,22px);color:#d9d3ca;max-width:560px;margin-top:22px}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:40px;border-top:1px solid var(--line-d)}
.stats>div{padding:22px 18px 0 0}
.stats>div+div{padding-left:18px;border-left:1px solid var(--line-d)}
.stats .num{display:block;font-size:clamp(36px,4vw,58px);font-weight:700;letter-spacing:-.05em;line-height:1}
.stats .mono{display:block;color:var(--muted);margin-top:10px;font-size:11px;line-height:1.4}
.team{color:var(--muted);font-size:15px;max-width:520px;margin-top:36px}

/* book */
.book{padding:var(--sec) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.book-sub{color:var(--graphite);font-size:18px;margin-top:16px}
.book-img{margin-top:36px;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;max-width:520px}
.book-img img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.form-card{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,3vw,36px);box-shadow:0 30px 60px -36px rgba(14,13,12,.35);position:sticky;top:96px}
.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--bone);border-radius:100px;padding:5px;margin-bottom:26px}
.tab{padding:11px 10px;border-radius:100px;font-size:14px;font-weight:600;color:var(--graphite);transition:background .3s,color .3s}
.tab.is-on{background:var(--ink);color:var(--bone)}
.progress{height:3px;background:var(--line);border-radius:3px;overflow:hidden}
.progress span{display:block;height:100%;width:25%;background:var(--cobalt);transition:width .45s var(--ease)}
.step-label{color:var(--muted);margin:14px 0 6px}
fieldset{border:0;display:none}
fieldset.is-on{display:block;animation:stepIn .45s var(--ease)}
@keyframes stepIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
legend{font-size:clamp(24px,2.4vw,32px);font-weight:650;letter-spacing:-.035em;line-height:1.1;margin-bottom:20px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:14px 18px;border-radius:14px;border:1px solid var(--line);background:#fff;font-size:15px;font-weight:500;transition:border-color .2s,background .2s,transform .2s;text-align:left}
.chip:hover{border-color:var(--cobalt);transform:translateY(-1px)}
.chip.is-on{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}
.fields{display:grid;gap:12px}
.fields label{display:grid;gap:6px}
.fields label>span{font-size:13px;font-weight:600;color:var(--graphite)}
.fields label em{font-family:var(--sans);font-style:normal;font-weight:400;color:var(--muted)}
.fields input{font:inherit;font-size:16px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:#fff;transition:border-color .2s,box-shadow .2s}
.fields input:focus{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 3px rgba(43,59,255,.14)}
.fields input[aria-invalid="true"]{border-color:var(--pulse)}
.err{color:#c43a1c;font-size:14px;min-height:20px;margin:10px 0 4px}
.form-nav{margin-top:18px;min-height:20px}
.back{font-size:14px;color:var(--graphite)}
.back:hover{color:var(--ink)}
.result{animation:stepIn .45s var(--ease)}
.result h3{font-size:clamp(26px,2.6vw,34px);font-weight:650;letter-spacing:-.035em;line-height:1.1;margin:12px 0 10px}
.result p{color:var(--graphite);margin-bottom:24px}
.pulse{color:var(--pulse)}

/* footer */
.foot{background:var(--ink);color:var(--bone);padding:clamp(48px,6vw,80px) var(--pad) 28px}
.foot .wm .rx{color:var(--film)}
.wm-lg{font-size:clamp(56px,9vw,140px)}
.foot-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid var(--line-d)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;color:var(--muted);gap:16px;flex-wrap:wrap}
.credit{display:flex;align-items:center;gap:12px;opacity:.8;transition:opacity .2s}
.credit:hover{opacity:1}
.credit img{height:20px;width:auto}

/* reveal (opacity only, no layout shift) */
.reveal{opacity:0;transition:opacity .9s var(--ease)}
.reveal.is-in{opacity:1}

/* responsive */
@media (max-width:1024px){
  .rx-grid{grid-template-columns:repeat(2,1fr)}
  .proof{grid-template-columns:1fr}
  .proof-art{max-width:420px;margin:0 auto -40px}
  .book{grid-template-columns:1fr}
  .form-card{position:relative;top:0}
  .book-img{display:none}
}
@media (max-width:760px){
  .nav nav{display:none}
  .wm{font-size:21px}
  .hero{justify-content:flex-start;padding-top:88px}
  .hero-art{position:relative;inset:auto;margin:0 calc(var(--pad) * -1);height:44svh;min-height:280px}
  .hero-art img{object-position:60% 50%!important}
  .hero-art::before{display:none}
  .hero-art::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(rgba(239,234,226,0),var(--bone))}
  .hero-inner{margin-top:-20px}
  .hero h1{font-size:clamp(42px,12vw,56px)}
  .lede{margin-top:16px}
  .cta-row{flex-direction:column;align-items:stretch;gap:16px;margin-top:24px}
  .cta-row .btn-link{align-self:center}
  .proofbar{flex-direction:column;align-items:flex-start;gap:16px;margin-top:36px;padding:22px 0 28px}
  .proof-names{gap:14px 20px}
  .proof-names .name{font-size:17px}
  .sec-head,.solutions .sec-head{flex-direction:column;align-items:flex-start;gap:10px}
  .sol-list li{grid-template-columns:36px 1fr;gap:4px 12px;padding:18px 0}
  .sol-list .d{grid-column:2;font-size:15px}
  .hide-m{display:none}
  .rx-grid{grid-template-columns:1fr 1fr;gap:10px}
  .rxc{min-height:0;padding:18px 16px 16px;border-radius:18px}
  .rxc h3{margin-top:10px;font-size:21px}
  .rxc .price{font-size:28px}
  .rxc .d{font-size:13px;line-height:1.4}
  .rx-cta{padding-top:12px;font-size:13px}
  .wm-lg{font-size:64px}
  .stats{grid-template-columns:1fr}
  .stats>div,.stats>div+div{padding:18px 0;border-left:0;border-bottom:1px solid var(--line-d);display:flex;align-items:baseline;justify-content:space-between;gap:12px}
  .stats .mono{margin-top:0;text-align:right}
  .chip{flex:1 1 100%}
  .foot-top .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1}
  .pulse-line path{stroke-dashoffset:0}.pulse-line circle{opacity:1}
}
.result .kicker{color:var(--pulse)}

/* Exit pop-up */
.xp{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.xp[hidden]{display:none}
.xp-scrim{position:absolute;inset:0;background:rgba(14,13,12,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .35s var(--ease)}
.xp-card{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;width:min(820px,100%);background:var(--ink);color:var(--bone);border-radius:28px;overflow:hidden;box-shadow:0 40px 100px -30px rgba(0,0,0,.6);opacity:0;transform:translateY(24px) scale(.97);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.xp.is-open .xp-scrim{opacity:1}
.xp.is-open .xp-card{opacity:1;transform:none}
.xp-art{position:relative;min-height:100%;background:#1A1917}
.xp-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:88% 50%}
.xp-copy{padding:48px 44px 36px}
.xp-copy h2{font-size:clamp(32px,4vw,46px);line-height:1;letter-spacing:-.04em;font-weight:800;margin:14px 0 16px}
.xp-copy h2 em{color:var(--film);display:block;font-weight:400}
.xp-body{color:rgba(239,234,226,.72);font-size:17px;margin:0 0 28px;max-width:32ch}
.xp-ctas{display:grid;gap:10px}
.btn-ghost{background:transparent;color:var(--bone);border:1px solid rgba(239,234,226,.28)}
.btn-ghost:hover{border-color:var(--bone)}
.btn-full{width:100%}
.xp-no{display:block;margin:16px auto 0;background:none;border:0;color:rgba(239,234,226,.55);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.xp-no:hover{color:var(--bone)}
.xp-x{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(239,234,226,.1);color:var(--bone);font-size:24px;line-height:1;cursor:pointer}
.xp-x:hover{background:rgba(239,234,226,.2)}
.xp :focus-visible{outline:2px solid var(--film);outline-offset:3px}
@media (max-width:760px){
  .xp{align-items:end;padding:0}
  .xp-card{grid-template-columns:1fr;border-radius:24px 24px 0 0;transform:translateY(100%)}
  .xp-art{height:150px;min-height:0}.xp-art img{object-position:50% 38%}
  .xp-copy{padding:26px 22px calc(22px + env(safe-area-inset-bottom))}
  .xp-copy h2{font-size:34px}
  .xp-body{font-size:16px;margin-bottom:22px}
}
@media (prefers-reduced-motion:reduce){.xp-card,.xp-scrim{transition:none}}

/* Partners + funders row (7 names) */
.proofbar{flex-wrap:wrap;row-gap:18px}
.proof-names{flex-basis:100%;justify-content:space-between;gap:12px 28px;padding-top:18px;border-top:1px solid var(--line)}
.proof-names .name{font-size:18px;white-space:nowrap}
@media (max-width:1100px){.proof-names{justify-content:flex-start}}
@media (max-width:760px){.proof-names{padding-top:14px;gap:10px 18px}.proof-names .mono{flex-basis:100%}.proof-names .name{font-size:16px}}
