
/* Thea Software, v6. Brand: the Thea logo (forest green, network nodes, grid paper).
   Two surfaces: deep-green glass (night) and the logo's grid paper (day).
   Accents are solid and quiet: forest for actions, soft mint for emphasis. No gradient fills. */
:root{
  
  --ink:#040a07;--ink-2:#07110c;--ink-3:#0c1a12;
  --glass:rgba(var(--surf),.5);--glass-hi:rgba(220,255,230,.06);
  --line:rgba(var(--tint),.085);--line-2:rgba(var(--tint),.16);
  --cream:#f1ede1;--fg:#e6eee8;--fg-2:#a3b5a8;--fg-3:#6a7f71;
  --forest:#1f5c37;--forest-2:#256b41;--green:#4cb871;--mint:#9fdcb4;
  --paper:#f5f6ef;--paper-2:#eceee4;--grid:rgba(30,80,50,.07);--pink:#10261a;--pmuted:#55695b;--pline:rgba(16,38,26,.12);
  --red:#f0786b;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.22,.7,.12,1);
  --hh:64px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--ink);color:var(--fg)}
html{scroll-padding-top:96px}
body{font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:var(--r-sm)}
.w{max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.mono{font-family:var(--mono)}
.tn{font-variant-numeric:tabular-nums}
svg.i{width:16px;height:16px;flex:none}
.gt{color:var(--cream)}
em.s{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--mint)}
.u{color:var(--mint)}

/* ---------- ambient ---------- */
.amb{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(1100px 680px at 82% -12%,rgba(var(--acc),.08),transparent 60%),radial-gradient(900px 600px at -10% 30%,rgba(var(--acc),.04),transparent 60%),var(--ink)}
.orb{position:absolute;border-radius:50%;filter:blur(110px);will-change:transform}
.orb.a{width:620px;height:620px;right:-140px;top:-180px;background:radial-gradient(circle,rgba(var(--acc),.2),transparent 65%)}
.orb.b{width:520px;height:520px;left:-220px;top:540px;background:radial-gradient(circle,rgba(120,190,120,.1),transparent 65%)}
.grain{position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- glass ---------- */
.glass{position:relative;background:var(--glass);border:1px solid var(--line);border-radius:var(--r-xl);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);box-shadow:inset 0 1px 0 var(--glass-hi),0 20px 60px rgba(var(--shade),calc(.3*var(--shade-k)));overflow:hidden;isolation:isolate}
.glass::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(var(--acc),.06),transparent 45%)}
.glass:hover::before{opacity:1}
a.glass{transition:border-color .35s,transform .45s var(--ease)}
a.glass:hover{border-color:var(--line-2);transform:translateY(-2px)}


/* ---------- header: logo | centred tabs | actions ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:50;padding:calc(10px + env(safe-area-inset-top,0px)) clamp(10px,2.5vw,24px) 0;pointer-events:none}
.hd-in{pointer-events:auto;position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:var(--hh);padding:0 10px 0 18px;border-radius:var(--r-xl);background:rgba(var(--surf),.5);border:1px solid var(--line);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);box-shadow:inset 0 1px 0 var(--glass-hi),0 12px 36px rgba(var(--shade),calc(.3*var(--shade-k)));transition:background .4s,height .4s var(--ease)}
.hd.scrolled .hd-in{background:rgba(var(--surf),.82);height:56px}
.hd-l{display:flex;align-items:center}
.tabs{position:relative;display:flex;gap:2px;padding:4px;border-radius:var(--r-lg);background:rgba(var(--shade),calc(.18*var(--shade-k)));border:1px solid var(--line)}
.tabs a{position:relative;z-index:1;padding:7px 14px;border-radius:var(--r-md);font-size:14px;font-weight:450;color:var(--fg-2);white-space:nowrap;transition:color .3s}
.tabs a:hover,.tabs a[aria-current="page"]{color:var(--fg)}
.ind{position:absolute;z-index:0;top:4px;left:0;height:calc(100% - 8px);border-radius:var(--r-md);background:rgba(var(--acc),.09);box-shadow:inset 0 0 0 1px rgba(var(--acc),.16);opacity:0;transition:transform .55s var(--ease),width .55s var(--ease),opacity .35s}
.hd-r{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.menu-btn{display:none;width:42px;height:42px;place-items:center;border-radius:var(--r-md);border:1px solid var(--line-2)}
.menu-btn i{display:block;width:16px;height:1.5px;background:var(--fg);border-radius:var(--r-xs);transition:transform .45s var(--ease),opacity .3s}
.menu-btn i+i{margin-top:5px}
.menu-btn span{display:grid;gap:0}
body.locked .menu-btn i:first-child{transform:translateY(3.25px) rotate(45deg)}
body.locked .menu-btn i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.prog{position:absolute;left:18px;right:18px;bottom:-1px;height:1.5px;border-radius:var(--r-xs);background:var(--mint);transform-origin:0 50%;transform:scaleX(var(--p,0));opacity:.55}

/* mobile sheet */
.sheet{position:fixed;inset:0;z-index:45;display:flex;flex-direction:column;padding:calc(96px + env(safe-area-inset-top,0px)) 24px calc(28px + env(safe-area-inset-bottom,0px));background:rgba(4,10,7,.9);backdrop-filter:blur(30px) saturate(1.4);-webkit-backdrop-filter:blur(30px) saturate(1.4);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility 0s linear .4s;overflow-y:auto}
body.locked .sheet{opacity:1;visibility:visible;transition:opacity .4s var(--ease)}
.sheet nav{display:grid}
.sheet nav a{display:flex;align-items:baseline;gap:16px;padding:14px 4px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:30px;line-height:1.15;color:var(--cream);opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i)*45ms + 60ms)}
.sheet nav a small{font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.1em}
.sheet nav a[aria-current="page"]{color:var(--mint)}
body.locked .sheet nav a{opacity:1;transform:none}
.sheet-f{display:flex;gap:10px;margin-top:auto;padding-top:28px}
.sheet-f .btn{flex:1}

/* ---------- buttons: solid and quiet ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:var(--r-md);font-size:15px;font-weight:520;white-space:nowrap;transition:transform .35s var(--ease),background .3s,border-color .3s,box-shadow .35s}
.btn.p{background:var(--forest);color:var(--cream);border:1px solid rgba(var(--acc),.22);box-shadow:inset 0 1px 0 rgba(var(--hi),.1),0 6px 18px rgba(var(--shade),calc(.25*var(--shade-k)))}
.btn.p:hover{background:var(--forest-2);transform:translateY(-1px)}
.btn.o{border:1px solid var(--line-2);background:rgba(var(--hi),.02)}
.btn.o:hover{background:rgba(var(--acc),.06);border-color:rgba(var(--acc),.28)}
.paper .btn.o{border-color:var(--pline);color:var(--pink)}
.btn.sm{height:38px;padding:0 15px;font-size:14px;border-radius:var(--r-md)}
.btn svg{transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.ic-btn{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--r-md);color:var(--fg-2);transition:background .2s,color .2s}
.ic-btn:hover{background:rgba(var(--hi),.06);color:var(--fg)}
.ic-btn svg{width:18px;height:18px}

/* ---------- pages + transitions ---------- */
main{padding-top:calc(var(--hh) + 22px);min-height:80vh;overflow-x:clip}
.page{display:none}
.page.on{display:block}
::view-transition-old(root){animation:vt-out .28s var(--ease) both}
::view-transition-new(root){animation:vt-in .55s var(--ease) both}
@keyframes vt-out{to{opacity:0;filter:blur(4px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(12px);filter:blur(6px)}}
.page.fade{animation:vt-in .5s var(--ease) both}
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0)*60ms)}
.js .rv.in{opacity:1;transform:none}

/* ---------- type ---------- */
.kick{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
.kick::before{content:"";width:24px;height:1px;background:currentColor;opacity:.6}
h1,h2,h3{margin:0;text-wrap:balance}
h1,h2{font-family:var(--sans);font-weight:620;letter-spacing:-.035em;color:var(--cream)}
h1{font-size:clamp(42px,5.6vw,80px);line-height:1.03}
h2{font-size:clamp(32px,4vw,54px);line-height:1.08}
h3{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.012em}
p{text-wrap:pretty}
.lede{font-size:clamp(17px,1.4vw,19.5px);line-height:1.6;color:var(--fg-2);max-width:54ch;margin:0}
.sec{padding-block:clamp(56px,7vw,96px)}
.sh{max-width:760px;margin:0 0 36px}
.sh.c{margin-inline:auto;text-align:center}
.sh h2{margin-top:16px}
.sh .lede{margin-top:16px}
.sh.c .lede{margin-inline:auto}
.src{margin:16px 0 0;font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--fg-3)}
.more{display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:var(--mint);font-size:14px;font-weight:500;transition:gap .35s var(--ease)}
.more:hover{gap:10px}

/* ---------- paper sections ---------- */
.paper{position:relative;color:var(--pink);background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:44px 44px;border-radius:var(--r-2xl);margin-inline:clamp(8px,1.5vw,20px);overflow:hidden}
.paper h2,.paper h1,.paper h3{color:var(--pink)}
.paper em.s{color:var(--forest)}
.paper .lede{color:var(--pmuted)}
.paper .kick{color:var(--forest)}
.paper .src{color:var(--pmuted)}
.pcard{background:rgba(var(--hi),.74);border:1px solid var(--pline);border-radius:var(--r-xl);padding:28px;box-shadow:0 1px 0 rgba(var(--hi),.9) inset,0 14px 34px rgba(16,38,26,.05)}
.pcard p{margin:8px 0 0;color:var(--pmuted)}

/* ---------- hero ---------- */
.hero{position:relative;padding-block:clamp(36px,6vw,80px) 0}
#net{position:absolute;inset:calc(-1 * var(--hh) - 22px) 0 0 0;width:100%;height:calc(100% + var(--hh) + 22px);z-index:-1;opacity:.55;-webkit-mask-image:radial-gradient(70% 60% at 72% 36%,#000 25%,transparent 78%);mask-image:radial-gradient(70% 60% at 72% 36%,#000 25%,transparent 78%)}
.hero-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.hero h1{margin:22px 0 22px;max-width:12ch}
.hero .lede{max-width:46ch}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.trust{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:28px;font-size:13px;color:var(--fg-3)}
.trust span{display:inline-flex;align-items:center;gap:7px}
.trust svg{color:var(--green)}

/* card stack: Verify sits in flow; Contract and Gate peek from behind it */
.stack{position:relative;padding-top:132px;min-width:0}
.panel{border-radius:var(--r-xl);font-size:13px;transition:transform .6s var(--ease)}
.panel.bk{position:absolute;opacity:.86}
.panel{cursor:pointer;transition:transform .5s var(--ease),opacity .4s var(--ease),box-shadow .5s var(--ease)}
.panel:focus-visible{outline:2px solid var(--lime,#9fd8a8);outline-offset:3px}
.panel.front{z-index:6!important;opacity:1!important;transform:translate3d(0,-8px,0) scale(1.03)!important;box-shadow:0 30px 60px -20px rgba(var(--shade),calc(.7*var(--shade-k)))}
@media(hover:hover){.panel.bk:hover{z-index:5;opacity:1;transform:translate3d(0,-6px,0) scale(1.02);box-shadow:0 24px 50px -20px rgba(var(--shade),calc(.65*var(--shade-k)))}}
#surf .glass,#doc-teaser .glass{transition:transform .45s var(--ease),border-color .45s var(--ease),opacity .7s var(--ease)}
@media(hover:hover){#surf .glass.in:hover,#doc-teaser .glass.in:hover{transform:translateY(-4px)}}
#surf .glass.in:active,#doc-teaser .glass.in:active{transform:translateY(-2px) scale(.995)}
.p1{top:0;left:0;width:58%;z-index:1;transform:translate3d(calc(var(--px,0)*-8px),calc(var(--py,0)*-6px),0) scale(.96)}
.p2{top:36px;right:0;width:60%;z-index:2;transform:translate3d(calc(var(--px,0)*-4px),calc(var(--py,0)*-3px),0) scale(.98)}
.p3{position:relative;z-index:3;width:92%;margin-left:auto;margin-right:2%;transform:translate3d(calc(var(--px,0)*5px),calc(var(--py,0)*4px),0)}
.panel .ph{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--fg-2)}
.panel .ph b{color:var(--fg);font-weight:600}
.panel .ph .chip{margin-left:auto}
.panel .pb{padding:12px 16px}
.kvs{display:grid}
.kvs div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--fg-2)}
.kvs div:first-child{border-top:0}
.kvs b{color:var(--fg);font-weight:500}
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-family:var(--mono);font-size:12px;font-weight:500;white-space:nowrap}
.chip.pass{color:var(--mint);background:rgba(var(--acc),.12)}
.chip.fail{color:var(--red);background:rgba(240,120,107,.12)}
.chip.skip{color:var(--fg-2);background:rgba(var(--hi),.07)}
.chip.lime{color:var(--mint);background:rgba(var(--acc),.09)}
.gl{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.gl li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:var(--r-md);background:rgba(var(--shade),calc(.22*var(--shade-k)));border:1px solid var(--line)}
.gl .n{display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:var(--r-sm);background:rgba(var(--acc),.1);color:var(--mint);font-family:var(--mono);font-size:12px}
.gl b{display:block;font-family:var(--mono);font-weight:500;font-size:12px}
.gl code{display:block;font-family:var(--mono);font-size:12px;color:var(--fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.gl div{min-width:0}
.vr{list-style:none;margin:0;padding:0}
.vr li{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px}
.vr li:first-child{border-top:0}
.vr .chip{margin-left:auto}
.vr span.d{color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.refuse{display:flex;align-items:center;gap:12px;margin-top:10px;padding:11px 13px;border-radius:var(--r-lg);background:rgba(240,120,107,.07);border:1px solid rgba(240,120,107,.22)}
.refuse svg{width:22px;height:22px;color:var(--red);flex:none}
.refuse b{display:block;font-size:13px}
.refuse span{font-size:12px;color:var(--fg-2)}

.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(48px,7vw,88px);border-top:1px solid var(--line)}
.strip>div{display:flex;gap:14px;padding:24px 20px 8px 0;min-width:0}
.strip>div+div{padding-left:20px;border-left:1px solid var(--line)}
.si{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:var(--r-md);border:1px solid var(--line-2);color:var(--mint)}
.si svg{width:20px;height:20px}
.strip h3{font-size:16px}
.strip p{margin:4px 0 0;font-size:14px;line-height:1.5;color:var(--fg-2)}

/* ---------- marquee ---------- */
.mq{padding-block:44px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.mq-l{text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:18px}
.mq-t{display:flex;gap:52px;width:max-content;animation:mq 42s linear infinite}
.mq-t span{font-size:18px;font-weight:520;letter-spacing:-.01em;color:var(--fg-3);white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- problem ---------- */
.prob{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.prob .pcard{display:flex;flex-direction:column;gap:12px}
.prob .q{font-family:var(--serif);font-size:22px;line-height:1.28;color:var(--pink);margin:0}
.prob .a{margin-top:auto;padding-top:16px;border-top:1px dashed var(--pline);display:flex;gap:10px;color:var(--forest);font-weight:520;font-size:15px}
.prob .a svg{margin-top:4px}
.prob .no{font-family:var(--mono);font-size:12px;color:var(--pmuted)}

/* ---------- layers ---------- */
.layers{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:16px;align-items:start}
.ll{display:grid;gap:4px}
.lb{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:14px 18px;border-radius:var(--r-lg);text-align:left;border:1px solid transparent;color:var(--fg-2);transition:background .35s var(--ease),border-color .35s,color .3s}
.lb .ln{font-family:var(--mono);font-size:12px;color:var(--fg-3)}
.lb b{display:block;font-weight:600;font-size:15px;color:inherit}
.lb small{display:block;font-size:13px;color:var(--fg-3);margin-top:2px}
.lb svg{opacity:0;transform:translateX(-6px);transition:all .35s var(--ease);color:var(--mint)}
.lb:hover{background:rgba(var(--hi),.025);color:var(--fg)}
.lb[aria-selected="true"]{background:rgba(var(--acc),.06);border-color:rgba(var(--acc),.16);color:var(--fg)}
.lb[aria-selected="true"] .ln{color:var(--mint)}
.lb[aria-selected="true"] svg{opacity:1;transform:none}
.ld{position:sticky;top:104px;padding:32px;min-height:500px}
.ld .tagline{font-family:var(--serif);font-style:italic;font-size:clamp(23px,2.2vw,28px);line-height:1.25;color:var(--cream);margin:14px 0 12px}
.ld p{color:var(--fg-2);margin:0}
.metric{display:flex;align-items:baseline;gap:12px;margin:24px 0 4px;flex-wrap:wrap}
.metric .v{font-family:var(--serif);font-size:52px;line-height:1;font-weight:500;color:var(--cream)}
.metric span{color:var(--fg-2);font-size:14px}
.ticks{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.ticks li{display:flex;gap:10px;font-size:15px;color:var(--fg-2)}
.ticks svg{color:var(--green);margin-top:4px}
.paper .ticks li{color:var(--pmuted)}
.paper .ticks svg{color:var(--forest)}
.code{margin:22px 0 0;font-family:var(--mono);font-size:13px;line-height:1.75;color:var(--fg-2);background:rgba(var(--shade),calc(.34*var(--shade-k)));border:1px solid var(--line);border-radius:var(--r-md);padding:13px 16px;overflow-x:auto;white-space:pre}
.code .c{color:var(--mint)}.code .m{color:var(--fg-3)}
.li-inline{display:none}
.swap{animation:swap .5s var(--ease)}
@keyframes swap{from{opacity:0;transform:translateY(8px);filter:blur(3px)}}

/* ---------- surfaces ---------- */
.surf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.surf .glass{padding:26px;display:flex;flex-direction:column;min-width:0}
.surf .top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.surf .top .si{width:38px;height:38px}
.surf p{margin:8px 0 0;color:var(--fg-2);font-size:15px}
.surf .code{margin-top:auto;padding-top:11px;padding-bottom:11px}
.surf .glass>.code{margin-top:18px}
.surf .glass.plan-d{border-style:dashed;background:rgba(var(--surf),.28)}

/* ---------- where thea sits ---------- */
.sits{display:grid;gap:14px;max-width:960px;margin:0 auto}
.tier{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.tier span{padding:9px 15px;border-radius:var(--r-md);border:1px solid var(--line);background:rgba(var(--hi),.02);font-size:14px;color:var(--fg-2)}
.tier-l{text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.core{position:relative;padding:26px clamp(18px,3vw,32px);border-radius:var(--r-xl);border:1px solid rgba(var(--acc),.22);background:rgba(var(--surf),.14);text-align:center}
.core p{margin:0 0 16px;color:var(--fg-2)}
.core .tier span{border-color:rgba(var(--acc),.18);color:var(--fg);background:rgba(4,10,7,.4)}
.wire{height:28px;width:1.5px;margin:0 auto;background:var(--line-2);position:relative;overflow:hidden}
.wire::after{content:"";position:absolute;left:0;width:1.5px;height:10px;background:var(--mint);opacity:.8;animation:flow 1.8s linear infinite}
@keyframes flow{from{top:-10px}to{top:28px}}

/* ---------- loop ---------- */
.flow{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.flow::before{content:"";position:absolute;left:4%;right:4%;top:27px;height:1.5px;background:var(--line-2)}
.flow::after{content:"";position:absolute;left:4%;right:4%;top:27px;height:1.5px;background:var(--mint);opacity:.6;transform-origin:0 50%;transform:scaleX(0);transition:transform 2.2s var(--ease)}
.flow.in::after{transform:scaleX(1)}
.fs{position:relative;text-align:center;padding:0 4px;min-width:0}
.fs .dot{width:56px;height:56px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:var(--ink-3);border:1px solid var(--line-2);font-family:var(--mono);font-size:13px;color:var(--mint);position:relative;z-index:1;transition:border-color .6s;transition-delay:calc(var(--d,0)*330ms)}
.flow.in .fs .dot{border-color:rgba(var(--acc),.45)}
.fs b{display:block;font-size:15px}
.fs span{display:block;font-size:13px;color:var(--fg-2);margin-top:4px}
.fs code{display:inline-block;margin-top:8px;font-family:var(--mono);font-size:12px;color:var(--fg-3)}

/* ---------- two agents ---------- */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.duo .glass{padding:26px;min-width:0}
.duo .lbl{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.duo .lbl b{font-size:15px}
.tx{list-style:none;margin:0;padding:0;font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--fg-2)}
.tx li{padding:7px 0;border-top:1px solid var(--line);display:flex;gap:10px;min-width:0}
.tx li:first-child{border-top:0}
.tx li i{font-style:normal;color:var(--fg-3);flex:none}
.tx li span{min-width:0;overflow-wrap:anywhere}
.duo .out{margin-top:16px;padding:12px 14px;border-radius:var(--r-md);font-size:14px;border:1px solid var(--line)}
.duo .out.bad{color:var(--fg-2);background:rgba(var(--hi),.03)}
.duo .out.good{color:var(--fg);background:rgba(var(--surf),.18);border-color:rgba(var(--acc),.18)}

/* ---------- proof ---------- */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.bento>.glass{padding:28px;min-width:0;display:flex;flex-direction:column}
.bento p{margin:6px 0 0;color:var(--fg-2);font-size:15px}
.s2{grid-column:span 2}.s3{grid-column:span 3}.s4{grid-column:span 4}.s6{grid-column:span 6}
.big{font-family:var(--serif);font-size:clamp(50px,5.4vw,78px);line-height:1;font-weight:500;letter-spacing:-.02em;color:var(--cream)}
.big small{font-size:.42em;color:var(--mint);letter-spacing:0}
.bento small.s{margin-top:auto;padding-top:16px;font-family:var(--mono);font-size:12px;color:var(--fg-3)}
.vsbar{display:grid;gap:10px;margin-top:22px}
.vsbar div{display:grid;grid-template-columns:90px minmax(0,1fr) 48px;gap:12px;align-items:center;font-size:13px;color:var(--fg-2)}
.vsbar i{display:block;height:8px;border-radius:var(--r-sm);background:rgba(var(--hi),.07);position:relative;overflow:hidden}
.vsbar i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:var(--r-sm);background:var(--c,var(--green));transform-origin:0 50%;transform:scaleX(0);transition:transform 1.4s var(--ease)}
.in .vsbar i::after,.vsbar.in i::after{transform:scaleX(1)}
.vsbar b{font-family:var(--mono);font-weight:500;color:var(--fg);text-align:right}
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;margin-bottom:24px;border-radius:var(--r-lg);background:rgba(var(--shade),calc(.3*var(--shade-k)));border:1px solid var(--line)}
.seg button{height:34px;padding:0 14px;border-radius:var(--r-md);font-size:13px;color:var(--fg-2);transition:all .35s var(--ease)}
.seg button[aria-selected="true"]{background:rgba(var(--acc),.1);color:var(--fg)}
.bars{display:grid;gap:20px}
.br{display:grid;grid-template-columns:66px minmax(0,1fr);gap:14px;align-items:center;font-size:14px}
.bt{display:grid;gap:6px}
.b{position:relative;height:22px;border-radius:var(--r-sm);background:rgba(var(--hi),.045);overflow:hidden}
.b i{position:absolute;inset:0 auto 0 0;border-radius:var(--r-sm);transition:width 1.1s var(--ease)}
.b.y i{background:#2f8050}
.b.n i{background:rgba(var(--hi),.17)}
.b em{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;font-family:var(--mono);font-size:12px}
.legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;font-size:13px;color:var(--fg-2)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{width:12px;height:12px;border-radius:var(--r-xs)}
.kv{list-style:none;margin:16px 0 0;padding:0}
.kv li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:14px;color:var(--fg-2)}
.kv b{font-family:var(--mono);font-weight:500;color:var(--fg);white-space:nowrap}

/* ---------- compare ---------- */
.cmp{width:100%;border-collapse:separate;border-spacing:0;background:rgba(var(--hi),.76);border:1px solid var(--pline);border-radius:var(--r-xl);overflow:hidden;font-size:15px}
.cmp th,.cmp td{padding:14px 18px;text-align:left;border-top:1px solid var(--pline)}
.cmp thead th{border-top:0;font-size:13px;font-weight:600;color:var(--pmuted);background:var(--paper-2)}
.cmp thead th.t{color:var(--forest)}
.cmp td{color:var(--pink)}
.cmp td.m{text-align:center;width:16%}
.cmp th:not(:first-child){text-align:center}
.cmp .t{background:rgba(var(--surf),.06)}
.mk{display:inline-block;width:14px;height:14px;border-radius:50%;border:1.5px solid #9aa99f;vertical-align:middle}
.mk.f{background:var(--forest);border-color:var(--forest)}
.mk.h{background:linear-gradient(90deg,#9aa99f 50%,transparent 50%)}
.cmp-wrap{overflow-x:auto;border-radius:var(--r-xl)}
.cmp-key{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px;font-size:13px;color:var(--pmuted)}
.cmp-key span{display:inline-flex;align-items:center;gap:8px}

/* ---------- grids + cards ---------- */
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pad{padding:28px;min-width:0}
.pad p{margin:8px 0 0;color:var(--fg-2);font-size:15px}
.who .role{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}
.who h3{font-family:var(--serif);font-weight:500;font-size:25px;letter-spacing:-.01em;margin:12px 0 4px;color:var(--cream)}
.ico{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r-lg);border:1px solid var(--line-2);color:var(--mint);margin-bottom:20px}
.ico svg{width:21px;height:21px}
.dcard{display:flex;flex-direction:column}
.dcard .k{font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.08em}
.dcard h3{margin-top:10px}
.dcard .more{margin-top:auto;padding-top:16px}

/* ---------- inner pages ---------- */
.ph-h{position:relative;padding-block:clamp(48px,7vw,96px) clamp(36px,5vw,60px)}
.ph-h h1{font-size:clamp(40px,5.4vw,72px);margin:20px 0 20px;max-width:16ch}
.prow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;padding-block:clamp(40px,6vw,72px);border-top:1px solid var(--line)}
.prow:nth-child(even) .prow-t{order:2}
.prow .ln{font-family:var(--mono);font-size:12px;color:var(--mint);letter-spacing:.1em}
.prow h2{font-size:clamp(28px,3.2vw,42px);margin:12px 0 14px}
.prow .lede{max-width:52ch}
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:30px}
.chain span{padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--line-2);font-size:13px;color:var(--fg-2)}
.chain i{color:var(--fg-3);font-style:normal}
.steps{display:grid;gap:16px}
.step{display:grid;grid-template-columns:88px minmax(0,1fr) minmax(0,1.1fr);gap:18px 36px;align-items:center;padding:28px}
.step .no{font-family:var(--serif);font-size:52px;line-height:1;color:var(--mint)}
.step p{margin:6px 0 0;color:var(--fg-2)}
.step .code{margin:0}
.sw{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}
.sw-l{display:grid;gap:8px;align-content:start}
.sw-l button{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;border-radius:var(--r-lg);border:1px solid var(--line);text-align:left;color:var(--fg-2);background:rgba(var(--hi),.02);transition:all .35s var(--ease)}
.sw-l button:hover{color:var(--fg);background:rgba(var(--hi),.04)}
.sw-l button[aria-selected="true"]{color:var(--fg);background:rgba(var(--acc),.07);border-color:rgba(var(--acc),.2)}
.frames{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.frames .glass{padding:20px;min-width:0}
.frames b{font-family:var(--mono);font-size:13px;color:var(--mint);font-weight:500}
.frames p{margin:6px 0 0;font-size:14px;color:var(--fg-2)}
.lg{list-style:none;margin:0;padding:0}
.lg li{display:grid;grid-template-columns:72px minmax(0,1.3fr) minmax(0,1fr);gap:6px 28px;align-items:center;padding:18px 28px;border-top:1px solid var(--line)}
.lg li:first-child{border-top:0}
.lg .x{font-family:var(--serif);font-size:34px;line-height:1;color:var(--mint)}
.lg b{display:block;font-family:var(--mono);font-weight:500;font-size:13px;overflow-wrap:anywhere}
.lg .t{display:block;margin-top:3px;font-size:13px;color:var(--fg-3)}
.lg .fix{font-family:var(--mono);font-size:13px;color:var(--mint);overflow-wrap:anywhere}
.lg .fix::before{content:"do → ";color:var(--fg-3)}

/* ---------- pricing ---------- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.plan{display:flex;flex-direction:column;padding:30px}
.plan.hot{border-color:rgba(var(--acc),.28)}
.plan .badge{align-self:flex-start;margin-bottom:18px;padding:4px 11px;border-radius:var(--r-pill);font-size:12px;font-weight:500;color:var(--fg-2);background:rgba(var(--hi),.06)}
.plan.hot .badge{color:var(--cream);background:var(--forest)}
.amt{font-family:var(--serif);font-size:52px;line-height:1;font-weight:500;margin:12px 0 6px;color:var(--cream)}
.amt small{font-family:var(--sans);font-size:14px;color:var(--fg-2);font-weight:400;letter-spacing:0}
.amt.t{font-size:32px;margin:16px 0 8px}
.plan p{margin:0;color:var(--fg-2);font-size:15px}
.plan .ticks{flex:1;padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}
.plan .btn{margin-top:26px}
.draft{display:inline-block;margin-top:8px;font-family:var(--mono);font-size:12px;color:var(--fg-3)}
.ptab{width:100%;border-collapse:collapse;font-size:14px}
.ptab th,.ptab td{padding:13px 14px;border-top:1px solid var(--line);text-align:left;color:var(--fg-2)}
.ptab thead th{border-top:0;font-size:13px;font-weight:600;color:var(--fg-3);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}
.ptab td:first-child{color:var(--fg)}
.ptab td.m,.ptab th.m{text-align:center}
.ptab .y{color:var(--mint)}
.ptab-wrap{overflow-x:auto}
.faq{max-width:840px}
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa button{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:20px 6px 20px 0;text-align:left;font-size:17px;font-weight:520}
.qa button span{flex:1;min-width:0}
.qa button svg{width:18px;height:18px;flex:none;color:var(--fg-3);transition:transform .45s var(--ease)}
.qa button[aria-expanded="true"] svg{transform:rotate(45deg);color:var(--mint)}
.qa .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.qa .ans>div{overflow:hidden;color:var(--fg-2);max-width:66ch}
.qa button[aria-expanded="true"]+.ans{grid-template-rows:1fr}
.qa button[aria-expanded="true"]+.ans>div{padding-bottom:20px}

/* ---------- docs ---------- */
.docs{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:start;padding-block:clamp(28px,4vw,48px) clamp(72px,9vw,120px)}
.dside{position:sticky;top:calc(var(--hh) + 34px);max-height:calc(100vh - var(--hh) - 54px);overflow-y:auto;padding-right:6px;scrollbar-width:thin}
.dfind{width:100%;height:40px;padding:0 12px 0 36px;border-radius:var(--r-md);border:1px solid var(--line-2);background:rgba(var(--shade),calc(.25*var(--shade-k))) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236a7f71' stroke-width='1.6'%3E%3Ccircle cx='7' cy='7' r='4.5'/%3E%3Cpath d='M10.5 10.5L14 14' stroke-linecap='round'/%3E%3C/svg%3E") 12px 50%/16px no-repeat;font-size:14px;outline:none}
.dfind:focus{border-color:rgba(var(--acc),.35)}
.dgrp{margin-top:22px}
.dgrp h4{margin:0 0 6px;padding-left:12px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.dnav a{display:block;padding:7px 12px;border-radius:var(--r-md);font-size:14px;color:var(--fg-2);transition:background .25s,color .25s}
.dnav a:hover{color:var(--fg);background:rgba(var(--hi),.03)}
.dnav a[aria-current="page"]{color:var(--fg);background:rgba(var(--acc),.07);box-shadow:inset 2px 0 0 var(--mint)}
.dnone{padding:8px 12px;font-size:13px;color:var(--fg-3)}
.dsel{display:none;width:100%;height:46px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--ink-3);font-size:15px;margin-bottom:28px}
.dbody{max-width:780px;min-width:0}
.dbody .crumb{font-family:var(--mono);font-size:12px;color:var(--fg-3)}
.dbody h1{font-size:clamp(36px,4.2vw,54px);margin:14px 0 16px}
.dbody>.lede{margin-bottom:12px}
.dbody h2{font-family:var(--sans);font-size:21px;font-weight:600;letter-spacing:-.012em;color:var(--fg);margin:44px 0 10px;padding-top:24px;border-top:1px solid var(--line)}
.dbody h3{font-size:16px;margin:26px 0 6px}
.dbody p,.dbody li{color:var(--fg-2);font-size:16px}
.dbody p{margin:10px 0}
.dbody ul,.dbody ol{padding-left:22px;margin:10px 0}
.dbody li{margin:6px 0}
.dbody li::marker{color:var(--fg-3)}
.dbody strong{color:var(--fg);font-weight:600}
.dbody a:not(.btn):not(.dpg a){color:var(--mint);text-decoration:underline;text-decoration-color:rgba(var(--acc),.35);text-underline-offset:3px}
.dbody :not(pre)>code{font-family:var(--mono);font-size:.86em;padding:2px 6px;border-radius:var(--r-sm);background:rgba(var(--hi),.06);color:var(--fg);overflow-wrap:anywhere}
.cb{position:relative;margin:16px 0}
.cb pre{margin:0;font-family:var(--mono);font-size:13px;line-height:1.75;color:var(--fg-2);background:rgba(var(--shade),calc(.36*var(--shade-k)));border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;padding-right:72px;overflow-x:auto;white-space:pre}
.cb pre .c{color:var(--fg-3)}
.cb button{position:absolute;top:8px;right:8px;height:28px;padding:0 10px;border-radius:var(--r-sm);font-size:12px;color:var(--fg-2);border:1px solid var(--line-2);background:rgba(var(--surf),.8);display:inline-flex;align-items:center;gap:6px}
.cb button:hover{color:var(--fg)}
.cb button svg{width:13px;height:13px}
.cb:has(button) pre{padding:42px 16px 14px}
.cb:has(button)::before{content:"";position:absolute;left:1px;right:1px;top:1px;height:36px;border-bottom:1px solid var(--line);border-radius:calc(var(--r-md) - 1px) calc(var(--r-md) - 1px) 0 0;background:rgba(var(--hi),.02);pointer-events:none}
.dt-wrap{overflow-x:auto;margin:16px 0;border:1px solid var(--line);border-radius:var(--r-md)}
.dt{width:100%;border-collapse:collapse;font-size:14px}
.dt th,.dt td{padding:10px 14px;text-align:left;border-top:1px solid var(--line);vertical-align:top;color:var(--fg-2)}
.dt thead th{border-top:0;background:rgba(var(--hi),.025);font-size:12px;font-weight:600;color:var(--fg-3);font-family:var(--mono);letter-spacing:.04em}
.dt td:first-child{font-family:var(--mono);font-size:13px;color:var(--fg);white-space:nowrap}
.note{margin:18px 0;padding:14px 16px;border-radius:var(--r-md);border:1px solid rgba(var(--acc),.16);background:rgba(var(--surf),.12);font-size:15px;color:var(--fg-2)}
.note b{color:var(--fg)}
.dpg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:56px}
.dpg a{display:block;padding:16px 18px;border-radius:var(--r-lg);border:1px solid var(--line);transition:border-color .3s,background .3s;min-width:0}
.dpg a:hover{border-color:var(--line-2);background:rgba(var(--hi),.02)}
.dpg small{display:block;font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase}
.dpg b{display:block;margin-top:4px;font-weight:550}
.dpg .nx{text-align:right;grid-column:2}
.dmeta{margin-top:28px;font-family:var(--mono);font-size:12px;color:var(--fg-3)}

.cta{position:relative;margin-block:clamp(40px,7vw,90px);padding:clamp(52px,8vw,96px) clamp(20px,5vw,64px);text-align:center}
.cta h2{max-width:18ch;margin:0 auto 16px}
.cta .lede{margin:0 auto}
.cta .ctas{justify-content:center}

footer{margin-top:40px;border-top:1px solid var(--line);padding-block:56px 34px;background:linear-gradient(180deg,transparent,var(--ink-2))}
.ft{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:32px}
.ft p{margin:14px 0 0;font-size:14px;color:var(--fg-3);max-width:34ch}
.ft h4{margin:0 0 14px;font-size:13px;font-weight:600}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px;color:var(--fg-2)}
.ft a:hover{color:var(--mint)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:var(--fg-3)}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px) scale(.96);opacity:0;pointer-events:none;padding:10px 18px;border-radius:var(--r-pill);background:rgba(12,26,18,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--line-2);font-size:14px;transition:all .45s var(--ease);z-index:80}
.toast.on{opacity:1;transform:translate(-50%,0) scale(1)}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .tabs a{padding:7px 10px;font-size:13px}
  .hero-g{grid-template-columns:1fr}
  .hero h1{max-width:14ch}
  .stack{max-width:620px;width:100%;margin:8px auto 0}
  .strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strip>div:nth-child(3){padding-left:0;border-left:0}
  .strip>div:nth-child(n+3){border-top:1px solid var(--line);margin-top:8px}
  .layers{grid-template-columns:1fr}
  .ld{display:none}
  .lb[aria-selected="true"]+.li-inline{display:block}
  .li-inline{padding:6px 18px 22px 66px}
  .li-inline .tagline{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--cream);margin:0 0 8px}
  .li-inline p{margin:0;color:var(--fg-2)}
  .flow{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}
  .flow::before,.flow::after{display:none}
  .bento .s2,.bento .s3,.bento .s4{grid-column:span 3}
  .frames{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g4,.surf{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ft>div:first-child{grid-column:1/-1}
}
@media (max-width:900px){
  .hd-in{grid-template-columns:1fr auto;padding:0 8px 0 16px}
  .tabs{display:none}
  .menu-btn{display:grid}
  .docs{grid-template-columns:1fr;gap:0}
  .dside{display:none}
  .dsel{display:block}
}
@media (max-width:780px){
  .prob,.g3,.g2,.plans,.sw,.prow,.duo{grid-template-columns:1fr}
  .prow:nth-child(even) .prow-t{order:0}
  .bento{grid-template-columns:1fr}
  .bento .s2,.bento .s3,.bento .s4,.bento .s6{grid-column:auto}
  .step{grid-template-columns:52px minmax(0,1fr);padding:22px}
  .step .no{font-size:38px}
  .step .code{grid-column:1/-1}
  .lg li{grid-template-columns:50px minmax(0,1fr);padding:16px 20px}
  .lg .fix{grid-column:2}
  .ft{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:540px){
  :root{--hh:58px}
  .hd-r .ic-btn{display:none}
  .ctas .btn{flex:1}
  .strip{grid-template-columns:1fr}
  .strip>div{padding:18px 0 4px!important;border-left:0!important;border-top:1px solid var(--line);margin-top:0!important}
  .strip>div:first-child{border-top:0}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g4,.frames,.surf{grid-template-columns:1fr}
  .pad,.bento>.glass,.plan,.pcard,.duo .glass,.surf .glass{padding:22px}
  .li-inline{padding-left:18px}
  .lb{grid-template-columns:30px minmax(0,1fr) auto;padding:13px 14px}
  .stack{padding-top:76px}
  .p1{display:none}
  .p2{top:0;width:84%;right:auto;left:0}
  .p3{width:100%;margin:0}
  .gl code{display:none}
  .vr span.d{display:none}
  .br{grid-template-columns:54px minmax(0,1fr)}
  .vsbar div{grid-template-columns:72px minmax(0,1fr) 42px}
  .cmp{font-size:13px}
  .cmp th,.cmp td{padding:11px 10px}
  .ft{grid-template-columns:1fr 1fr}
  .dpg{grid-template-columns:1fr}
  .dpg .nx{grid-column:1}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none;filter:none}
  .flow::after{transform:scaleX(1)}
  .vsbar i::after{transform:scaleX(1)}
}
@media(max-width:540px){.hide-s{display:none}}
/* v6.1: former paper sections are calm dark surfaces; no grid, no white cards */
.paper{--paper:transparent;--paper-2:rgba(var(--hi),.03);--pink:var(--fg);--pmuted:var(--fg-2);--pline:var(--line-2);--forest:var(--mint);--grid:transparent;background:linear-gradient(180deg,rgba(var(--tint),.04),rgba(var(--tint),.012));border:1px solid var(--line)}
.paper .btn.p{--forest:#1f5c37}
.pcard{background:rgba(var(--hi),.028);box-shadow:none;transition:transform .45s var(--ease),border-color .45s var(--ease),opacity .7s var(--ease)}
@media(hover:hover){.pcard.in:hover{transform:translateY(-4px);border-color:rgba(var(--acc),.3)}}
.cmp{background:rgba(var(--hi),.02)}
.cmp .t{background:rgba(var(--acc),.06)}
.mk{border-color:var(--fg-3)}
.mk.h{background:linear-gradient(90deg,var(--fg-3) 50%,transparent 50%)}
.chips-row{display:flex;flex-wrap:wrap;gap:10px}
.chips-row span{font-family:var(--mono);font-size:13px;padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--line-2);color:var(--fg-2);background:rgba(var(--hi),.025)}
.done-l{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;counter-reset:d}
.done-l li{counter-increment:d;display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-lg);background:rgba(var(--hi),.02);font-family:var(--mono);font-size:13px}
.done-l li::before{content:counter(d,decimal-leading-zero);color:var(--fg-3);font-size:12px}
.done-l b{font-weight:500;color:var(--fg);overflow-wrap:anywhere}
.runlist{list-style:none;padding:0;margin:0}
.runlist li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.runlist li:first-child{border-top:0}
.runlist .g{font-family:var(--mono);color:var(--fg)}
.runlist .d{color:var(--fg-2);font-size:13px;overflow-wrap:anywhere}
@media(max-width:760px){.done-l{grid-template-columns:repeat(2,minmax(0,1fr))}.runlist li{grid-template-columns:minmax(0,1fr) auto}.runlist .d{grid-column:1/-1;grid-row:2}}
@media(max-width:420px){.done-l{grid-template-columns:1fr}}

/* ---------- v7: corporate system: grotesk type, cool neutrals, hairline detail ---------- */
:root{
  --serif:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ink:#05080a;--ink-2:#080c0f;--ink-3:#0d1317;
  --glass:rgba(var(--surf),.62);--glass-hi:rgba(var(--hi),.06);
  --line:rgba(var(--hi),.07);--line-2:rgba(var(--hi),.13);
  --cream:#f4f7f6;--fg:#e7ecea;--fg-2:#9aa6a1;--fg-3:#66726d;
  --mint:#6fd39a;--green:#3fb26f;--forest:#1b7a47;--forest-2:#1f8a50;
}
body{font-size:16px;line-height:1.62;font-feature-settings:"cv11","ss01","ss03";letter-spacing:-.003em}
h1,h2,.big,.metric .v,.step .no,.who h3,.prob .q,.ld .tagline,.sheet nav a{font-family:var(--serif);font-style:normal}
h1,h2{font-weight:600;letter-spacing:-.035em}
h1{font-size:clamp(40px,5.2vw,72px);line-height:1.02}
h2{font-size:clamp(30px,3.6vw,48px);line-height:1.06}
h3{font-family:var(--serif);font-weight:600;letter-spacing:-.012em}
em.s{font-family:inherit;font-style:normal;font-weight:inherit;color:transparent;background:linear-gradient(92deg,#8ee6b3 0%,#4fc483 55%,#2f9e63 100%);-webkit-background-clip:text;background-clip:text}
.ld .tagline{font-weight:500;letter-spacing:-.015em}
.big,.metric .v{font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.step .no{font-weight:600;letter-spacing:-.04em}
.prob .q{font-weight:500;letter-spacing:-.02em}
.sheet nav a{font-weight:600;letter-spacing:-.025em;font-size:28px}
.kick{font-size:12px;letter-spacing:.14em;font-weight:500;padding:6px 12px 6px 10px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:rgba(var(--hi),.02)}
.kick::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px rgba(var(--acc),.15)}
.glass{border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--glass-hi),0 1px 2px rgba(var(--shade),calc(.4*var(--shade-k))),0 24px 48px -24px rgba(var(--shade),calc(.6*var(--shade-k)))}
.glass::after{content:"";position:absolute;left:16px;right:16px;top:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(var(--hi),.18),transparent)}
.btn{border-radius:var(--r-md);font-weight:550;letter-spacing:-.005em}
.btn.p{background:linear-gradient(180deg,#22935a,#1b7a47);color:#fff;border:1px solid rgba(var(--hi),.12);box-shadow:inset 0 1px 0 rgba(var(--hi),.18),0 1px 2px rgba(var(--shade),calc(.4*var(--shade-k))),0 8px 24px -8px rgba(var(--acc),.55)}
.btn.p:hover{background:linear-gradient(180deg,#27a465,#1f8a50)}
.btn.o{background:rgba(var(--hi),.03)}
.btn.o:hover{background:rgba(var(--hi),.06);border-color:rgba(var(--hi),.2)}
.code{background:#070a0c;border-color:var(--line-2);border-radius:var(--r-md)}
.chip{border-radius:var(--r-sm);letter-spacing:.02em}
.paper{--forest:var(--mint)}
.paper .btn.p{--forest:#1b7a47}

/* ---------- v8: brand logo, lift, frame rails, spotlight, border beam ---------- */
/* lift: hover on fine pointers, tap elsewhere; returns on leave or after a read */
.panel,.pcard,#surf .glass,#doc-teaser .glass,.bento .glass{transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .35s,opacity .35s}
.panel.bk:hover{transform:none;box-shadow:none;z-index:auto;opacity:.86}
.panel.front,.pcard.front,#surf .glass.front,#doc-teaser .glass.front,.bento .glass.front{position:relative;z-index:6!important;opacity:1!important;transform:translate3d(0,-10px,0) scale(1.035)!important;border-color:rgba(var(--acc),.35)!important;box-shadow:0 0 0 1px rgba(var(--acc),.12),0 40px 80px -24px rgba(var(--shade),calc(.85*var(--shade-k))),0 0 60px -20px rgba(var(--acc),.35)!important}
.panel.bk.front{position:absolute}
/* cursor-tracked border glow (card hover effect) */
.glass::after{content:"";position:absolute;inset:0;left:0;right:0;height:auto;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(240px circle at var(--mx,50%) var(--my,0%),rgba(var(--acc),.55),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.glass:hover::after,.glass.front::after{opacity:1}
/* frame rails: hairline verticals at the content edge, plus marks at section joins */
main,.page{position:relative}
.page.on::before,.page.on::after{content:"";position:absolute;top:0;bottom:0;width:1px;pointer-events:none;z-index:0;background:linear-gradient(180deg,transparent,var(--line) 8%,var(--line) 92%,transparent)}
.page.on::before{left:max(12px,calc(50% - 600px))}
.page.on::after{right:max(12px,calc(50% - 600px))}
.sec{position:relative}
.sec+.sec::before{content:"";position:absolute;top:0;left:max(12px,calc(50% - 600px));right:max(12px,calc(50% - 600px));height:1px;background:linear-gradient(90deg,var(--line),rgba(var(--acc),.28) 50%,var(--line))}
.sec+.sec::after{content:"";position:absolute;top:-5px;left:calc(max(12px,calc(50% - 600px)) - 5px);width:11px;height:11px;background:linear-gradient(var(--fg-3),var(--fg-3)) center/11px 1px no-repeat,linear-gradient(var(--fg-3),var(--fg-3)) center/1px 11px no-repeat;opacity:.8}
/* hero spotlight beam */
.hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:-30%;left:-10%;width:80%;height:120%;background:radial-gradient(closest-side,rgba(var(--acc),.16),transparent);transform:rotate(-24deg);filter:blur(40px);animation:spot 2.4s var(--ease) both}
@keyframes spot{from{opacity:0;transform:translate(-8%,-6%) rotate(-24deg)}to{opacity:1;transform:rotate(-24deg)}}
/* border beam on the lead panel and featured pricing card */
@property --ba{syntax:"<angle>";inherits:false;initial-value:0deg}
.beam{position:relative}
.beam>.bb{position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;z-index:3;background:conic-gradient(from var(--ba),transparent 0 76%,rgba(var(--acc),.0) 78%,#8ee6b3 88%,#3fb26f 92%,transparent 96%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:beam 6s linear infinite}
@keyframes beam{to{--ba:360deg}}
/* strip icons boxed, as in the brand mockups */
.strip .si{flex:none;width:44px;height:44px;padding:11px;border:1px solid var(--line-2);border-radius:var(--r-md);background:rgba(var(--hi),.02);color:var(--mint)}
/* kicker: rule + spaced caps (brand mockup) instead of a pill */
.kick{padding:0;border:0;background:none;letter-spacing:.2em;font-size:12px}
.kick::before{width:28px;height:1px;border-radius:0;box-shadow:none;background:var(--mint);opacity:.7}
.sh.c .kick::after{content:"";width:28px;height:1px;background:var(--mint);opacity:.7}
@media (prefers-reduced-motion:reduce){.beam>.bb,.hero::before{animation:none}}
@media (max-width:760px){.page.on::before,.page.on::after,.sec+.sec::after{display:none}}
.rv.in:is(.panel,.pcard,.glass){transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s,opacity .6s var(--ease);transition-delay:0s}

/* ---------- v9: emerald glass: green base, aurora mesh, frosted tinted glass ---------- */
:root{
  --ink:#04221a;--ink-2:#062b21;--ink-3:#0a3528;
  --glass:rgba(var(--surf),.30);--glass-hi:rgba(var(--tint),.14);
  --line:rgba(var(--tint),.12);--line-2:rgba(var(--tint),.22);
  --fg:#e9f7ef;--fg-2:#a9cbb8;--fg-3:#79a08b;--cream:#f3fbf6;
  --mint:#7cf0aa;--green:#34d27f;--forest:#14935a;--forest-2:#18a865;
}
html,body{background:#03190f}
body{background:
  radial-gradient(1200px 700px at 78% -8%,rgba(var(--acc),.32),transparent 60%),
  radial-gradient(900px 600px at -6% 18%,rgba(20,180,150,.22),transparent 60%),
  radial-gradient(1000px 800px at 50% 120%,rgba(110,230,120,.16),transparent 60%),
  linear-gradient(180deg,#05281d 0%,#04221a 40%,#031c14 100%) fixed}
body::before{content:"";position:fixed;inset:-20%;z-index:-2;pointer-events:none;opacity:.9;
  background:
    radial-gradient(40% 30% at 20% 30%,rgba(var(--acc),.22),transparent 70%),
    radial-gradient(35% 28% at 80% 60%,rgba(30,200,170,.18),transparent 70%),
    radial-gradient(30% 25% at 55% 15%,rgba(160,240,120,.14),transparent 70%);
  will-change:transform;animation:aur 26s ease-in-out infinite alternate}
@keyframes aur{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(4%,-3%,0) rotate(6deg)}100%{transform:translate3d(-3%,3%,0) rotate(-4deg)}}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;
  background-image:linear-gradient(rgba(var(--tint),.05) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--tint),.05) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:radial-gradient(80% 60% at 50% 20%,#000,transparent 75%);mask-image:radial-gradient(80% 60% at 50% 20%,#000,transparent 75%)}
.glass{background:linear-gradient(160deg,rgba(var(--acc),.20),rgba(var(--surf),.28) 60%,rgba(var(--surf),.34));border-color:rgba(var(--tint),.16);backdrop-filter:blur(22px) saturate(1.7);-webkit-backdrop-filter:blur(22px) saturate(1.7);box-shadow:inset 0 1px 0 rgba(var(--tint),.18),inset 0 0 0 1px rgba(var(--hi),.02),0 30px 60px -30px rgba(0,20,10,.7)}
.paper,.pcard{background:linear-gradient(160deg,rgba(var(--acc),.16),rgba(var(--surf),.24))!important;border-color:rgba(var(--tint),.15)!important;backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5)}
.paper{border:1px solid rgba(var(--tint),.12)}
.hd-in{background:rgba(6,48,34,.55);border-color:rgba(var(--tint),.16);backdrop-filter:blur(26px) saturate(1.8);-webkit-backdrop-filter:blur(26px) saturate(1.8)}
.code{background:rgba(var(--surf),.62);border-color:rgba(var(--tint),.14)}
em.s{background:linear-gradient(92deg,#b8ffd2 0%,#5cf09c 45%,#22c4a0 100%);-webkit-background-clip:text;background-clip:text}
.btn.p{background:linear-gradient(180deg,#2ed383,#14935a);box-shadow:inset 0 1px 0 rgba(var(--hi),.3),0 10px 30px -8px rgba(46,211,131,.6)}
.btn.o{background:rgba(120,240,170,.06);border-color:rgba(var(--tint),.24)}
.chip.lime,.chip.ok{background:rgba(var(--acc),.14)}
#net{opacity:.8}
.hero::before{background:radial-gradient(closest-side,rgba(var(--acc),.30),transparent)}
.sec+.sec::before{background:linear-gradient(90deg,transparent,rgba(var(--acc),.45) 50%,transparent)}
/* transitions: sections rise in with a soft blur, pages crossfade */
.sec .rv{filter:blur(4px)}
.sec .rv.in{filter:none}
.hero .rv{filter:none}
::view-transition-old(root){animation:vtout .35s var(--ease) both}
::view-transition-new(root){animation:vtin .5s var(--ease) both}
@keyframes vtout{to{opacity:0;filter:blur(6px);transform:translateY(-8px)}}
@keyframes vtin{from{opacity:0;filter:blur(8px);transform:translateY(12px)}}
@media (prefers-reduced-motion:reduce){body::before{animation:none}.rv,.sec .rv{filter:none}}

/* ---------- v10: success run + self-learning system ---------- */
.accept{display:flex;align-items:center;gap:12px;margin-top:10px;padding:11px 13px;border-radius:var(--r-lg);background:linear-gradient(135deg,rgba(var(--acc),.16),rgba(var(--acc),.06));border:1px solid rgba(var(--acc),.32)}
.accept svg{width:22px;height:22px;color:var(--mint);flex:none}
.accept b{display:block;font-size:13px}
.accept span{font-size:12px;color:var(--fg-2)}
.tagk{align-self:flex-start;margin-bottom:12px;padding:4px 10px;border-radius:var(--r-pill);font:600 10.5px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mint);background:rgba(var(--acc),.08);border:1px solid rgba(var(--acc),.22)}
.tagk.fail{color:#ffb1a6;background:rgba(240,120,107,.08);border-color:rgba(240,120,107,.25)}
.ledg{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.ledg li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border-radius:var(--r-md);background:rgba(var(--hi),.035);border:1px solid var(--line)}
.ledg .x{font:600 14px var(--mono);color:#ffb1a6;text-align:center}
.ledg .x.ok{color:var(--mint)}.ledg .x .i{width:18px;height:18px}
.ledg b{display:block;font:500 12.5px var(--mono);overflow-wrap:anywhere}
.ledg .t{display:block;font-size:13px;color:var(--fg-3);overflow-wrap:anywhere}
.ledg li>div{min-width:0}
.sys .chips-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.wf{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;counter-reset:w}
.wf li{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:var(--r-lg);background:rgba(var(--acc),.05);border:1px solid rgba(var(--acc),.16)}
.wf li{border-top:2px solid rgba(var(--acc),.45)}
.wf .n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 11px var(--mono);color:var(--ink);background:var(--mint)}
.wf code{font:600 13px var(--mono);color:var(--cream)}
.wf span:last-child{font-size:13px;color:var(--fg-2)}
@media (max-width:900px){.wf{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.wf{grid-template-columns:1fr}}

/* ---------- v11: console hero, live numbers band, pricing toggle, calmer nav + transitions ---------- */
.hero-viz{position:relative;min-width:0;padding:28px 0 34px}
.console{position:relative;border-radius:var(--r-xl);overflow:hidden;font-size:13px;box-shadow:0 40px 90px -40px rgba(var(--shade),calc(.8*var(--shade-k))),0 0 0 1px rgba(var(--tint),.06);transform:translate3d(calc(var(--px,0)*6px),calc(var(--py,0)*4px),0);transition:transform .8s var(--ease)}
.cz-top{display:flex;align-items:center;gap:14px;padding:12px 14px 12px 16px;border-bottom:1px solid var(--line)}
.dots{display:flex;gap:6px}.dots i{width:9px;height:9px;border-radius:50%;background:rgba(var(--hi),.14)}
.cz-tabs{display:flex;gap:2px;padding:3px;border-radius:var(--r-md);background:rgba(var(--shade),calc(.25*var(--shade-k)));margin-right:auto}
.cz-tabs button{all:unset;cursor:pointer;padding:5px 12px;border-radius:var(--r-sm);font-size:13px;color:var(--fg-2);transition:background .3s var(--ease),color .3s}
.cz-tabs button[aria-selected="true"]{color:var(--fg);background:rgba(var(--acc),.12);box-shadow:inset 0 0 0 1px rgba(var(--acc),.2)}
.cz-tabs button:focus-visible{outline:2px solid var(--mint);outline-offset:1px}
.cz-body{display:grid;padding:14px 16px 4px}
.cz-pane{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .45s var(--ease),transform .55s var(--ease),visibility 0s .45s}
.cz-pane.on{opacity:1;visibility:visible;transform:none;transition:opacity .45s var(--ease) .08s,transform .55s var(--ease) .08s,visibility 0s}
.cz-cmd{font-family:var(--mono);font-size:13px;color:var(--fg);padding:0 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cz-cmd .c{color:var(--mint);margin-right:8px}
.cz-foot{display:flex;align-items:center;gap:14px;padding:10px 16px 14px}
.cz-prog{flex:1;height:2px;border-radius:var(--r-xs);background:rgba(var(--hi),.07);overflow:hidden}
.cz-prog i{display:block;height:100%;width:100%;background:var(--mint);transform-origin:left;transform:scaleX(0);animation:czbar 6s linear forwards}
.console.held .cz-prog i{animation:none;transform:scaleX(0)}
@keyframes czbar{to{transform:scaleX(1)}}
.float{position:absolute;left:-22px;bottom:0;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r-lg);font-size:13px;color:var(--fg-2);animation:bob 7s var(--ease) infinite alternate}
.float b{display:block;font-family:var(--serif);font-size:20px;color:var(--fg);line-height:1.1}
.float .i{width:22px;height:22px;color:var(--mint)}
@keyframes bob{to{transform:translateY(-8px)}}
.live{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--fg-3);white-space:nowrap}
.live i{width:7px;height:7px;border-radius:50%;background:var(--fg-3)}
.live[data-st="live"]{color:var(--mint)}
.live[data-st="live"] i{background:var(--mint);box-shadow:0 0 0 0 rgba(var(--acc),.6);animation:ping 2.4s infinite}
@keyframes ping{70%{box-shadow:0 0 0 7px rgba(var(--acc),0)}100%{box-shadow:0 0 0 0 rgba(var(--acc),0)}}
.band{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:8px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band>div{padding:26px 18px;border-left:1px solid var(--line)}
.band>div:first-child{border-left:0;padding-left:0}
.band b{display:block;font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);font-weight:500;line-height:1;color:var(--cream,var(--fg));letter-spacing:-.02em}
.band span{display:block;margin-top:8px;font-size:13px;color:var(--fg-2)}
.vis .tagk{margin-bottom:12px}
.bill{display:flex;width:max-content;margin:0 auto 28px;padding:4px;gap:2px;border-radius:var(--r-md);background:rgba(var(--shade),calc(.25*var(--shade-k)));border:1px solid var(--line)}
.bill button{all:unset;cursor:pointer;padding:8px 16px;border-radius:var(--r-md);font-size:14px;color:var(--fg-2);transition:background .3s var(--ease),color .3s}
.bill button[aria-pressed="true"]{color:var(--fg);background:rgba(var(--acc),.13)}
.bill button:focus-visible{outline:2px solid var(--mint)}
.bill small{margin-left:6px;font-size:12px;color:var(--mint)}
.plans.p4{grid-template-columns:repeat(4,minmax(0,1fr))}
.plans.p4 .plan{padding:26px}
.plans.p4 .amt{font-size:46px}
.amt .v{display:inline-block}
.amt .v.tick{animation:tick .45s var(--ease)}
@keyframes tick{from{opacity:0;transform:translateY(8px)}}
/* nav: clear at the top, glass once scrolled; one underline marks the page */
.hd .hd-in{transition:background .45s var(--ease),border-color .45s var(--ease),height .45s var(--ease),box-shadow .45s var(--ease),backdrop-filter .45s}
.hd:not(.scrolled) .hd-in{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.tabs{background:none;border:0;padding:0;gap:4px}
.tabs a{padding:8px 12px}
.ind{top:auto;bottom:2px;height:2px;border-radius:var(--r-xs);background:var(--mint);box-shadow:0 0 12px rgba(var(--acc),.5);left:0;transition:transform .5s var(--ease),width .5s var(--ease),opacity .3s}
.hd{view-transition-name:hd}
::view-transition-old(hd),::view-transition-new(hd){animation:none}
::view-transition-old(root){animation:vtout2 .2s var(--ease) both}
::view-transition-new(root){animation:vtin2 .42s var(--ease) both}
@keyframes vtout2{to{opacity:0}}
@keyframes vtin2{from{opacity:0;transform:translateY(10px)}}
@media(max-width:1080px){.plans.p4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.hero-viz{max-width:620px;width:100%;margin:8px auto 0}.float{left:auto;right:8px}}
@media(max-width:780px){.band{grid-template-columns:repeat(3,minmax(0,1fr))}.band>div:nth-child(4){border-left:0;padding-left:0}.band>div:nth-child(n+4){border-top:1px solid var(--line)}}
@media(max-width:540px){.plans.p4{grid-template-columns:1fr}.band{grid-template-columns:repeat(2,minmax(0,1fr))}.band>div{padding:18px 12px}.band>div:nth-child(odd){border-left:0;padding-left:0}.band>div:nth-child(4){border-left:1px solid var(--line);padding-left:12px}.band>div:nth-child(n+3){border-top:1px solid var(--line)}.cz-tabs button{padding:5px 9px}.dots{display:none}.float{display:none}.hero-viz{padding:12px 0 0}}
@media (prefers-reduced-motion:reduce){.float,.live i{animation:none}.cz-pane{transition:none}}

/* ---------- v12: story, depth, glass glint, no lone rows ---------- */
.trust{gap:8px 18px}
.chips-row,.cmp-key{justify-content:center}
.seg{flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}
.story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);margin-top:clamp(36px,5vw,64px)}
.st-steps{list-style:none;margin:0;padding:0 0 0 34px;position:relative}
.st-steps::before{content:"";position:absolute;left:10px;top:12px;bottom:12px;width:2px;border-radius:var(--r-xs);background:rgba(var(--hi),.08)}
.st-steps::after{content:"";position:absolute;left:10px;top:12px;width:2px;border-radius:var(--r-xs);height:calc((100% - 24px) * (var(--sp) + 1) / 4);background:linear-gradient(var(--mint),var(--green));box-shadow:0 0 14px rgba(var(--acc),.5);transition:height .7s var(--ease)}
.st{position:relative;min-height:62vh;display:flex;flex-direction:column;justify-content:center;opacity:.32;transition:opacity .6s var(--ease);cursor:pointer}
.st:first-child{min-height:44vh;justify-content:flex-start;padding-top:8vh}.st:last-child{min-height:50vh}
.st.on{opacity:1}
.st::before{content:"";position:absolute;left:-29px;top:calc(50% - 6px);width:12px;height:12px;border-radius:50%;background:var(--bg,#04140d);border:2px solid rgba(var(--hi),.25);transition:all .5s var(--ease)}
.st:first-child::before{top:calc(8vh + 8px)}
.st.on::before{border-color:var(--mint);background:var(--mint);box-shadow:0 0 0 6px rgba(var(--acc),.15)}
.st-n{font:500 12px var(--mono);color:var(--mint);letter-spacing:.1em}
.st h3{font-size:clamp(24px,2.6vw,34px);line-height:1.12;margin:10px 0 12px;letter-spacing:-.02em}
.st p{margin:0;color:var(--fg-2);font-size:16px;max-width:42ch}
.st-stage-wrap{position:relative}
.st-stage{display:block;position:sticky;top:calc(var(--hh) + 60px);border-radius:var(--r-xl);overflow:hidden;min-height:440px;font-size:13px;box-shadow:0 50px 100px -50px rgba(var(--shade),calc(.85*var(--shade-k)))}
.sg-top{display:flex;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line)}
.sg-rail{display:flex;gap:5px;margin-left:auto}.sg-rail i{width:22px;height:3px;border-radius:var(--r-xs);background:rgba(var(--hi),.1);transition:background .5s var(--ease)}.sg-rail i.on{background:var(--mint)}
.sg-k{font:500 12px var(--mono);color:var(--fg-2);min-width:52px;text-align:right}
.sg-body{padding:18px}
.sg-scene{animation:sgin .6s var(--ease) both}
.sg-scene li{animation:sgli .5s var(--ease) both;animation-delay:calc(var(--k,0) * 45ms + .1s)}
@keyframes sgin{from{opacity:0;transform:translateY(10px) scale(.985)}}
@keyframes sgli{from{opacity:0;transform:translateX(-8px)}}
.sg-cap{margin-top:14px;font:11.5px var(--mono);color:var(--fg-3)}
.sg-scene>.sg-cap:first-child{margin:0 0 12px}
.sg-on{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--r-lg);border:1px solid rgba(var(--acc),.35);background:linear-gradient(135deg,rgba(var(--acc),.10),rgba(var(--acc),.03));box-shadow:0 0 0 6px rgba(var(--acc),.04)}
.sg-on>div{min-width:0;display:flex;flex-direction:column;gap:4px}
.sg-on b{color:var(--fg);font-size:15px}
.sg-on code{font:12.5px var(--mono);color:var(--mint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-on code::after{content:"";display:inline-block;width:7px;height:13px;margin-left:4px;vertical-align:-2px;background:var(--mint);animation:caret 1s steps(1) infinite}
.sg-live{margin-left:auto;display:flex;align-items:center;gap:7px;font:500 11.5px var(--mono);color:var(--mint);letter-spacing:.06em;text-transform:uppercase}
.sg-live i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(var(--acc),.15)}
.sg-scene .av{width:30px;height:30px;flex:none;border-radius:var(--r-md);display:grid;place-items:center;font:600 12px var(--mono);background:rgba(var(--hi),.07);color:var(--fg)}
.sg-on .av{background:var(--mint);color:var(--ink,#04140d);width:36px;height:36px;border-radius:var(--r-md);font-size:14px}
.sg-swap{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sg-swap li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);border:1px dashed rgba(var(--hi),.12);background:rgba(var(--shade),calc(.18*var(--shade-k)));color:var(--fg-2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-swap .av{width:24px;height:24px;border-radius:var(--r-sm);font-size:12px}
.sg-on+.sg-cap{margin:16px 0 10px}
@keyframes caret{50%{opacity:0}}
.sg-run li.more{display:none}
.sg-run .chip.fail{box-shadow:0 0 0 1px rgba(240,120,107,.35)}
.sg-stop{display:flex;gap:12px;align-items:center;padding:14px;border-radius:var(--r-lg);background:linear-gradient(135deg,rgba(240,120,107,.14),rgba(240,120,107,.04));border:1px solid rgba(240,120,107,.35)}
.sg-stop svg{width:24px;height:24px;flex:none;color:var(--red)}
.sg-stop b{display:block;color:var(--fg)}.sg-stop span{font-size:13px;color:var(--fg-2)}
.sg-led{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding:16px;border-radius:var(--r-lg);background:rgba(var(--acc),.05);border:1px solid rgba(var(--acc),.2)}
.sg-led b{font:500 14px var(--mono);color:var(--fg);overflow-wrap:anywhere}
.sg-led span{font-size:13px;color:var(--fg-2)}.sg-led .mv{font-family:var(--mono);color:var(--mint)}
.sg-led .tagk{align-self:flex-start}
.sg-sweep{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent 35%,rgba(var(--tint),.10) 50%,transparent 65%);background-size:260% 100%}
.st-stage.sw .sg-sweep{animation:sweep .9s var(--ease)}
@keyframes sweep{0%{opacity:1;background-position:120% 0}100%{opacity:0;background-position:-40% 0}}
/* glass: a single glint crosses each card as it arrives */
.glass.rv{background-image:linear-gradient(105deg,transparent 42%,rgba(var(--tint),.075) 50%,transparent 58%),linear-gradient(160deg,rgba(var(--acc),.20),rgba(var(--surf),.28) 60%,rgba(var(--surf),.34));background-size:280% 100%,100% 100%;background-position:130% 0,0 0;background-repeat:no-repeat}
.glass.rv.in{animation:glint 1.6s var(--ease) .25s both}
@keyframes glint{to{background-position:-60% 0,0 0}}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .sec .sh{animation:pxh linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    .hero-viz{animation:pxhero linear both;animation-timeline:scroll(root);animation-range:0 90vh}
    .hero-copy{animation:pxcopy linear both;animation-timeline:scroll(root);animation-range:0 90vh}
  }
}
@keyframes pxh{from{translate:0 10px}to{translate:0 -10px}}
@keyframes pxhero{to{translate:0 -70px;scale:.97}}
@keyframes pxcopy{to{translate:0 -24px;opacity:.35}}
@media(max-width:900px){
  .story{grid-template-columns:1fr;gap:0}
  .st-stage-wrap{order:-1;position:sticky;top:calc(var(--hh) + 14px);z-index:2}
  .st-stage{position:relative;top:0;min-height:0;height:min(380px,48vh);overflow:hidden}
  .st-stage .sg-body{max-height:calc(100% - 46px);overflow:hidden}
  .st{min-height:46vh}.st:first-child{padding-top:3vh;min-height:42vh}
  .st-steps{margin-top:24px}
  .st-stage .vr span.d{display:none}
  .sg-run li.p{display:none}.sg-run li.more{display:flex}
}
@media(max-width:540px){.trust{flex-direction:column;gap:8px}.st h3{font-size:24px}.st-stage{height:min(360px,48vh)}.sg-stop span{display:none}.st-stage .sg-body{padding:14px}.sg-live{display:none}}
@media (prefers-reduced-motion:reduce){.sg-scene,.sg-scene li,.st-stage.sw .sg-sweep,.glass.rv.in{animation:none}}
/* ---------- get started ---------- */
.spath{margin:8px 0 0}
.spath button{height:40px;padding:0 18px;font-size:14px}
.ssteps{list-style:none;margin:0;padding:0;display:grid;gap:16px;counter-reset:s;position:relative}
.ssteps::before{content:"";position:absolute;left:39px;top:28px;bottom:28px;width:1px;background:linear-gradient(var(--mint),transparent);opacity:.35}
.sstep{display:grid;grid-template-columns:52px minmax(0,1fr);gap:20px;padding:24px 28px 24px 14px;animation:sin .6s var(--ease) both;animation-delay:calc(var(--i)*70ms)}
@keyframes sin{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){.sstep{animation:none}}
.sn{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:13px;color:var(--mint);background:rgba(var(--surf),.9);border:1px solid rgba(var(--acc),.3);position:relative;z-index:1}
.sb{min-width:0}
.sb h3{font-size:20px;margin:12px 0 6px}
.sb>p{color:var(--fg-2);margin:0 0 4px;max-width:68ch}
.sb code{font-family:var(--mono);font-size:.86em;padding:2px 6px;border-radius:var(--r-sm);background:rgba(var(--hi),.06);color:var(--fg)}
.sb .cb pre code,.sb .cb code{padding:0;background:none}
.sb .btn{margin-top:14px}
.mtabs{margin:16px 0 0}
.mtabs+.mcb .cb{margin-top:10px}
.cls{display:grid;grid-template-columns:repeat(4,max-content);gap:8px;margin:16px 0 4px}
#hd-cta[aria-current]{box-shadow:0 0 0 3px rgba(var(--acc),.25)}
.cls button{height:32px;padding:0 12px;border-radius:var(--r-pill);font-size:13px;font-family:var(--mono);color:var(--fg-2);border:1px solid var(--line-2);transition:all .3s var(--ease)}
.cls button:hover{color:var(--fg)}
.cls button[aria-checked="true"]{color:var(--fg);border-color:rgba(var(--acc),.55);background:rgba(var(--acc),.1)}
.snote{display:flex;gap:10px;margin:12px 0 0;font-size:14px;color:var(--fg-2)}
.snote svg{flex:none;margin-top:3px;color:var(--green)}
.walls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative}
.wall{display:flex;flex-direction:column;gap:10px;padding:24px;position:relative}
.wall .wn{font-family:var(--mono);font-size:12px;color:var(--fg-3)}
.wall .wk{position:absolute;top:22px;right:22px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}
.wall h3{font-size:19px;margin:0}
.wall p{color:var(--fg-2);font-size:14px;margin:0;flex:1}
.wall code{font-family:var(--mono);font-size:12px;color:var(--fg);padding:8px 10px;border-radius:var(--r-sm);background:rgba(var(--shade),calc(.32*var(--shade-k)));border:1px solid var(--line);overflow-wrap:anywhere}
.wall .wt{align-self:flex-start;font-size:12px;padding:3px 10px;border-radius:var(--r-pill);color:var(--green);border:1px solid rgba(var(--acc),.3)}
.chatb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center;padding:40px}
.chatb h2{margin:16px 0 0}
.chatb .lede{margin-top:16px}
.chatb .cb pre{white-space:pre-wrap}
@media (max-width:1000px){.walls{grid-template-columns:repeat(2,minmax(0,1fr))}.chatb{grid-template-columns:minmax(0,1fr);padding:28px}}
@media (max-width:540px){.walls{grid-template-columns:minmax(0,1fr)}.sstep{grid-template-columns:minmax(0,1fr);gap:0;padding:20px 16px}.sn{width:36px;height:36px;font-size:12px}.ssteps::before{display:none}.spath{display:grid;grid-template-columns:1fr 1fr;width:100%}.cls{grid-template-columns:repeat(2,minmax(0,1fr))}.cls button{padding:0 8px}.spath button{padding:0 8px;font-size:13px}.chatb{padding:20px 16px}}
/* ---------- plain words ---------- */
.bens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ben{padding:28px;min-width:0}
.ben .ico{margin-bottom:18px}
.ben h3{font-size:19px;margin:0 0 8px}
.ben p{margin:0;color:var(--fg-2);font-size:15px}
.gloss{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:28px 0 0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:rgba(var(--shade),calc(.18*var(--shade-k)))}
.gloss>div{padding:20px 22px;border-left:1px solid var(--line)}
.gloss>div:first-child{border-left:0}
.gloss dt{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:8px}
.gloss dd{margin:0;font-size:14px;color:var(--fg-2)}
.faqw{max-width:880px}
@media (max-width:1000px){.bens{grid-template-columns:repeat(2,minmax(0,1fr))}.gloss{grid-template-columns:repeat(2,minmax(0,1fr))}.gloss>div:nth-child(3){border-left:0}.gloss>div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:540px){.bens{grid-template-columns:minmax(0,1fr)}.ben{padding:22px}.gloss{grid-template-columns:minmax(0,1fr)}.gloss>div{border-left:0}.gloss>div+div{border-top:1px solid var(--line)}}

.prod-w{padding:clamp(18px,3vw,32px)}
.prod-p{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(18px,3vw,36px);align-items:start;animation:prodin .45s var(--ease)}
.prod-p[hidden]{display:none}
.prod-c h3{margin-top:14px}.prod-c p{margin-top:10px;color:var(--fg-2)}.prod-c .ticks{margin-top:16px}
.prod-t{margin:0;max-height:340px;overflow:auto;font-size:12px}
@keyframes prodin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:860px){.prod-p{grid-template-columns:minmax(0,1fr)}}
@media (max-width:540px){.prod-w .seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}
@media (prefers-reduced-motion:reduce){.prod-p{animation:none}}

/* ---- v17: enterprise nav, metrics, solutions ---- */
.dd-btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border-radius:var(--r-md);font-size:14px;font-weight:450;color:var(--fg-2);white-space:nowrap;transition:color .3s}
.dd-btn:hover,.dd-btn[aria-expanded="true"],.dd-btn[aria-current="page"]{color:var(--fg)}
.dd-btn .chev{width:12px;height:12px;transition:transform .35s var(--ease)}
.dd-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 10px);left:50%;width:min(760px,calc(100vw - 32px));transform:translateX(-50%);padding:10px;border-radius:var(--r-xl);background:var(--ink-2);border:1px solid var(--line-2);box-shadow:0 30px 80px -20px rgba(var(--shade),calc(.7*var(--shade-k)));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);animation:megain .3s var(--ease)}
.mega[hidden]{display:none}
@keyframes megain{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
.mega-g{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px}
.mega-k{display:block;padding:8px 12px 6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}
.mega-l>a{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-md);transition:background .25s}
.mega-l>a:hover,.mega-l>a:focus-visible,.mega-l>a[aria-current="page"]{background:rgba(var(--acc),.07)}
.mega-l b{display:block;font-size:14px;font-weight:550;color:var(--fg)}
.mega-l small{display:block;margin-top:2px;font-size:13px;line-height:1.45;color:var(--fg-2)}
.mi{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-md);background:rgba(var(--acc),.08);border:1px solid var(--line)}
.mi svg{width:17px;height:17px;color:var(--mint)}
.mega-r{display:flex;flex-direction:column;padding-left:10px;border-left:1px solid var(--line)}
.mega-s{padding:7px 12px;border-radius:var(--r-md);font-size:14px;color:var(--fg-2);transition:color .25s,background .25s}
.mega-s:hover,.mega-s:focus-visible{color:var(--fg);background:rgba(var(--acc),.06)}
.mega-card{margin-top:auto;padding:4px 12px 14px;border-radius:var(--r-md);background:rgba(var(--acc),.05);border:1px solid var(--line)}
.mega-card .mega-k{padding-left:0}
.mega-card b{display:block;font-family:var(--serif);font-size:24px;font-weight:500;color:var(--cream)}
.mega-card small{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:var(--fg-2)}
.news{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;padding:5px 12px 5px 5px;border-radius:var(--r-pill);font-size:13px;color:var(--fg-2);background:rgba(var(--acc),.05);border:1px solid var(--line);transition:border-color .3s,color .3s}
.news:hover{color:var(--fg);border-color:var(--line-2)}
.news b{padding:2px 8px;border-radius:var(--r-pill);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);background:var(--mint)}
.news .i{width:14px;height:14px;flex:none}.news b{flex:none}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(40px,6vw,72px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.metrics>div{padding:26px clamp(14px,2vw,26px)}
.metrics>div+div{border-left:1px solid var(--line)}
.metrics b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(34px,3.6vw,48px);line-height:1;letter-spacing:-.02em;color:var(--cream)}
.metrics b small{font-size:.5em;color:var(--fg-3);margin-left:2px}
.metrics>div>span{display:block;margin-top:10px;font-size:13px;line-height:1.45;color:var(--fg-2)}
.metrics-src{margin-top:12px;font-size:13px;color:var(--fg-3)}
.metrics-src a{color:var(--mint)}
.sol-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.sol-nav a{padding:8px 14px;border-radius:var(--r-pill);font-size:13px;color:var(--fg-2);border:1px solid var(--line);transition:all .3s var(--ease)}
.sol-nav a:hover{color:var(--fg);border-color:var(--line-2);background:rgba(var(--acc),.05)}
.sol{scroll-margin-top:90px}
.sol-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.sol.alt .sol-c{order:2}
.sol .role{display:block;margin-top:16px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}
.sol h2{margin:10px 0 14px;font-size:clamp(30px,3.4vw,44px)}
.sol .ticks{margin-top:18px}
.sol-o{display:flex;gap:8px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-weight:500;color:var(--fg)}
.sol-o .i{color:var(--mint);flex:none}
.sol-t{margin:0;font-size:12px}
.stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}
.stages li{padding:28px;position:relative}
.stages .no{font-family:var(--mono);font-size:12px;color:var(--mint)}
.stages .when{float:right;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.stages h3{margin:18px 0 8px;font-family:var(--serif);font-weight:500;font-size:26px;color:var(--cream)}
.stages p{color:var(--fg-2)}
@media (max-width:900px){.sol-g{grid-template-columns:minmax(0,1fr)}.sol.alt .sol-c{order:0}.stages{grid-template-columns:minmax(0,1fr)}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics>div:nth-child(3){border-left:0}.metrics>div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:420px){.metrics>div{padding:20px 12px}.news{font-size:12px}}

/* ---- v18: depth: night-sky base, lit glass, 3D hero stage, HD edges ---- */
:root{--deep:#010d09;--edge:rgba(190,255,220,.22);--spec:rgba(var(--tint),.32)}
.amb{background:
  radial-gradient(120% 70% at 50% -10%,rgba(18,92,64,.55),transparent 62%),
  radial-gradient(70% 50% at 100% 40%,rgba(10,70,80,.35),transparent 70%),
  radial-gradient(60% 50% at 0% 75%,rgba(20,90,60,.28),transparent 70%),
  linear-gradient(180deg,#03231a 0%,#021812 45%,var(--deep) 100%)}
body::before{opacity:.75;mix-blend-mode:screen}
body::after{opacity:.22}
.beam-top{position:absolute;left:50%;top:-12vh;width:min(1400px,140vw);height:90vh;transform:translateX(-50%);
  background:conic-gradient(from 180deg at 50% 0%,transparent 158deg,rgba(150,255,200,.10) 172deg,rgba(210,255,230,.16) 180deg,rgba(150,255,200,.10) 188deg,transparent 202deg);
  -webkit-mask-image:linear-gradient(180deg,#000 20%,transparent 92%);mask-image:linear-gradient(180deg,#000 20%,transparent 92%);filter:blur(6px);animation:beamb 9s ease-in-out infinite alternate}
@keyframes beamb{from{opacity:.65}to{opacity:1}}
.stars{position:absolute;inset:0;opacity:.55;
  background-image:radial-gradient(1px 1px at 12% 18%,rgba(var(--tint),.7),transparent 60%),radial-gradient(1px 1px at 72% 12%,rgba(var(--tint),.55),transparent 60%),radial-gradient(1.2px 1.2px at 38% 34%,rgba(var(--tint),.5),transparent 60%),radial-gradient(1px 1px at 88% 46%,rgba(var(--tint),.45),transparent 60%),radial-gradient(1px 1px at 22% 66%,rgba(var(--tint),.4),transparent 60%),radial-gradient(1.4px 1.4px at 58% 78%,rgba(var(--tint),.35),transparent 60%),radial-gradient(1px 1px at 94% 88%,rgba(var(--tint),.35),transparent 60%),radial-gradient(1px 1px at 6% 92%,rgba(var(--tint),.3),transparent 60%);
  background-size:520px 520px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%)}
.floor{position:absolute;left:-25%;right:-25%;bottom:-8vh;height:46vh;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;
  background-image:linear-gradient(rgba(var(--tint),.16) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--tint),.16) 1px,transparent 1px);background-size:72px 72px;
  -webkit-mask-image:linear-gradient(0deg,rgba(var(--shade),calc(.9*var(--shade-k))),transparent 85%);mask-image:linear-gradient(0deg,rgba(var(--shade),calc(.9*var(--shade-k))),transparent 85%);opacity:.45}
.vig{position:absolute;inset:0;background:radial-gradient(130% 100% at 50% 40%,transparent 55%,rgba(0,6,4,.6) 100%)}
.grain{opacity:.05;mix-blend-mode:overlay}

/* lit glass: specular rim, depth stack, inner shade */
.glass,.pcard,.plan,.panel,.metrics,.mega,.sol-t,.paper{
  box-shadow:inset 0 1px 0 var(--spec),inset 0 -1px 0 rgba(var(--shade),calc(.35*var(--shade-k))),inset 0 0 0 1px rgba(var(--hi),.025),
    0 1px 1px rgba(var(--shade),calc(.35*var(--shade-k))),0 8px 16px -8px rgba(var(--shade),calc(.45*var(--shade-k))),0 40px 80px -40px rgba(var(--shade),calc(.75*var(--shade-k)))}
.glass,.pcard,.plan,.metrics{backdrop-filter:blur(28px) saturate(1.8) brightness(1.06);-webkit-backdrop-filter:blur(28px) saturate(1.8) brightness(1.06)}
.metrics{position:relative;border:1px solid var(--edge)!important;border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(180deg,rgba(var(--acc),.16),rgba(6,40,28,.30))!important}
.metrics::before{content:"";position:absolute;left:10%;right:10%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--tint),.85),transparent);pointer-events:none}
.metrics b{background:linear-gradient(180deg,#ffffff 0%,#c6f5da 55%,#7fe0a8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.metrics b small{-webkit-text-fill-color:currentColor;color:rgba(170,240,200,.7)}

/* hero: 3D stage */
.hero-viz{perspective:1600px}
.hero-viz .console{
  box-shadow:inset 0 1px 0 var(--spec),inset 0 -1px 0 rgba(var(--shade),calc(.4*var(--shade-k))),0 2px 4px rgba(var(--shade),calc(.4*var(--shade-k))),0 50px 100px -30px rgba(var(--shade),calc(.85*var(--shade-k))),0 0 120px -20px rgba(60,230,150,.28)}

.plinth{position:absolute;left:50%;bottom:-6%;width:120%;height:46%;transform:translateX(-50%);pointer-events:none;z-index:-1}
.plinth .ring{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%) rotateX(72deg);border:1px solid rgba(var(--tint),.35);box-shadow:0 0 40px rgba(var(--acc),.35),inset 0 0 40px rgba(var(--acc),.2)}
.plinth .r1{width:78%;height:78%}
.plinth .r2{width:100%;height:100%;border-color:rgba(var(--tint),.14);box-shadow:none;animation:ringp 6s ease-in-out infinite}
@keyframes ringp{50%{opacity:.4;transform:translate(-50%,-50%) rotateX(72deg) scale(1.04)}}
.plinth .grid3d{position:absolute;inset:0;transform:perspective(400px) rotateX(70deg);background-image:linear-gradient(rgba(var(--tint),.18) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--tint),.18) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(closest-side,#000,transparent);mask-image:radial-gradient(closest-side,#000,transparent)}
.fchip{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:9px 14px 9px 11px;border-radius:var(--r-md);font-size:13px;color:var(--fg-2);white-space:nowrap;
  background:linear-gradient(160deg,rgba(80,200,140,.22),rgba(6,40,28,.5));border:1px solid var(--edge);backdrop-filter:blur(18px) saturate(1.8);-webkit-backdrop-filter:blur(18px) saturate(1.8);
  box-shadow:inset 0 1px 0 var(--spec),0 18px 40px -14px rgba(var(--shade),calc(.8*var(--shade-k)));animation:flo 7s ease-in-out infinite}
.fchip b{color:var(--cream);font-weight:600}
.fchip .led{width:7px;height:7px;border-radius:50%;background:#5cf09c;box-shadow:0 0 0 3px rgba(var(--acc),.18),0 0 12px #5cf09c}
.fchip.f1{left:-7%;top:2px}
.fchip.f2{right:-5%;top:46%;animation-delay:-2.3s}
.fchip.f3{right:4%;bottom:-16px;animation-delay:-4.6s}
@keyframes flo{0%,100%{transform:translate3d(0,0,40px)}50%{transform:translate3d(0,-9px,40px)}}

/* HD edges: hairline glow dividers, crisp section heads */
.sec+.sec{position:relative}
.sec+.sec::before{content:"";position:absolute;left:50%;top:0;width:min(1100px,90%);height:1px;transform:translateX(-50%);pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(var(--tint),.22) 30%,rgba(var(--tint),.5) 50%,rgba(var(--tint),.22) 70%,transparent)}
.sec+.sec[style*="padding-top:0"]::before{display:none}
h1,h2{text-shadow:0 1px 0 rgba(var(--shade),calc(.25*var(--shade-k))),0 20px 60px rgba(40,200,130,.12)}
.hd-in{box-shadow:inset 0 1px 0 var(--spec),inset 0 -1px 0 rgba(var(--shade),calc(.3*var(--shade-k))),0 20px 50px -20px rgba(var(--shade),calc(.7*var(--shade-k)))}
.btn.p{box-shadow:inset 0 1px 0 rgba(var(--hi),.4),inset 0 -1px 0 rgba(var(--shade),calc(.2*var(--shade-k))),0 0 0 1px rgba(var(--acc),.25),0 12px 34px -8px rgba(46,211,131,.65)}

@media (max-width:900px){
  .hero-viz .console{transform:none}
  .fchip.f1{left:0;top:-2%}.fchip.f2{right:0;top:auto;bottom:2%}.fchip.f3{display:none}
  .floor{height:34vh}
}
@media (max-width:420px){.fchip{font-size:12px;padding:7px 11px 7px 9px}.fchip.f2{display:none}}
.plans .amt.t{font-size:28px;line-height:1.1;margin:18px 0 10px;letter-spacing:-.02em}
@media (prefers-reduced-motion:reduce){.beam-top,.plinth .r2,.fchip{animation:none}}
/* v19: plain steps, setup chooser, agent plans */
.steps4 .si{font:600 15px/1 var(--mono,ui-monospace,monospace);display:grid;place-items:center;color:var(--lime,#c6f432)}
.choose{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.ch,.hplan{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--r-xl);color:inherit;text-decoration:none;transition:transform .25s,border-color .25s;min-width:0}
.ch:hover,.hplan:hover{transform:translateY(-4px)}
.ch-n{font:600 12px/1 ui-monospace,monospace;opacity:.6}.ch h3,.hplan h3{margin:0}.ch p{margin:0;opacity:.8;flex:1}
.ch-go,.hp-go{display:flex;align-items:center;justify-content:space-between;font-size:13px;opacity:.85}.ch-go .i,.hp-go .i{width:16px;height:16px}
.hplans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.hp-for{font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.65}.hp-ag{font-size:22px;line-height:1.2}.hp-pr{opacity:.8;font-size:14px;flex:1}
.hplan.hot{border-color:color-mix(in oklab,var(--lime,#c6f432) 55%,transparent)}
.plan .agents{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;margin:4px 0 2px}.plan .agents .i{width:16px;height:16px;flex:none}
.sol-plan{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px}.sol-plan a{font-size:14px}
.sol-c .ticks li>span{min-width:0}
@media(max-width:900px){.choose,.hplans{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.choose,.hplans{grid-template-columns:1fr}}
/* v20: install */
.dl-cta .i{width:17px;height:17px;flex:none}.btn.dl-cta{gap:8px}
.dl-alt{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:16px;font-size:13px;color:var(--fg-3)}.dl-alt a{color:var(--fg-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.dl-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:32px;border-radius:var(--r-xl);margin-bottom:28px}
.dl-ic{width:76px;height:76px;border-radius:var(--r-xl);display:grid;place-items:center;background:linear-gradient(160deg,rgba(var(--acc),.18),rgba(var(--shade),calc(.25*var(--shade-k))));border:1px solid var(--line)}.dl-ic .i{width:38px;height:38px}
.dl-tx h2{margin:6px 0 6px}.dl-tx p{margin:0;color:var(--fg-2)}
.dl-act{display:flex;flex-direction:column;align-items:center;gap:8px}.dl-act .btn{gap:10px;white-space:nowrap}.dl-act .i{width:18px;height:18px}.dl-act small{color:var(--fg-3);font-size:13px}
.dl-os button{display:inline-flex;align-items:center;gap:8px}.dl-os .i{width:15px;height:15px;flex:none}
.dl-lead{color:var(--fg-2);max-width:68ch;margin:0 0 18px}
.dl-ag{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dl-ag h3{margin:0}
.dl-bun{display:flex;flex-wrap:wrap;gap:10px}.dl-bun .btn{gap:8px}.dl-bun .i{width:15px;height:15px}
.dl-native{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 28px;border-radius:var(--r-xl);margin-top:40px}.dl-native h3{margin:0 0 4px}.dl-native p{margin:0;color:var(--fg-2)}
@media(max-width:560px){.dl-alt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dl-alt>span{grid-column:1/-1}}
@media(max-width:760px){.dl-hero{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center;padding:28px 20px}.dl-act,.dl-act .btn{width:100%}.dl-ag{grid-template-columns:minmax(0,1fr)}.dl-native{grid-template-columns:minmax(0,1fr);padding:22px 20px}}
/* v21: compact install bar, smaller install hero, phone rails, sticky plan column */
.ibar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px 10px 10px;border-radius:var(--r-pill);margin:0 auto 22px;width:fit-content;max-width:100%;font-size:13px}
.ibar .btn{gap:8px}.ib-l{color:var(--fg-3)}.ib-v{color:var(--fg-3);font-family:var(--mono);font-size:12px;padding-left:12px;border-left:1px solid var(--line)}
.ib-o{display:inline-flex;align-items:center;gap:6px;color:var(--fg-2);text-decoration:none}.ib-o:hover{color:var(--fg)}.ib-o .i{width:14px;height:14px;flex:none}
.dl-hero{gap:18px;padding:18px 22px;border-radius:var(--r-xl);margin-bottom:22px}
.dl-ic{width:52px;height:52px;border-radius:var(--r-lg)}.dl-ic .i{width:26px;height:26px}
.dl-tx h2{font-size:clamp(20px,2.2vw,26px);margin:4px 0}.dl-tx p{font-size:14px}
.ptab th:first-child,.ptab td:first-child{position:sticky;left:0;z-index:1;background:var(--ink)}
@media(max-width:760px){.ibar{border-radius:var(--r-xl);justify-content:center}.ib-v{display:none}.dl-hero{padding:18px}}
@media(max-width:560px){
  .plans.p4,.bento,.surf,.bens,.walls,.steps,.prob,.stages,.choose,.hplans,#doc-teaser,#controls{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px;scrollbar-width:none;overscroll-behavior-x:contain}
  :is(.plans.p4,.bento,.surf,.bens,.walls,.steps,.prob,.stages,.choose,.hplans,#doc-teaser,#controls)::-webkit-scrollbar{display:none}
  :is(.plans.p4,.bento,.surf,.bens,.walls,.steps,.prob,.stages,.choose,.hplans,#doc-teaser,#controls)>*{grid-column:auto;grid-row:auto;scroll-snap-align:start;min-width:0}
}
/* v22: command palette */
.pal-btn{width:auto;gap:8px;padding-inline:10px}.pal-btn kbd{font-family:var(--mono);font-size:12px;color:var(--fg-3);border:1px solid var(--line);border-radius:var(--r-sm);padding:1px 6px}
.pal{position:fixed;inset:0;z-index:200;background:rgba(2,8,5,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:12vh 16px 16px}
.pal[hidden]{display:none}
.pal-box{max-width:640px;margin:0 auto;border-radius:var(--r-xl);overflow:hidden;box-shadow:0 30px 80px rgba(var(--shade),calc(.5*var(--shade-k)))}
.pal-in{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.pal-in .i{width:18px;height:18px;color:var(--fg-3);flex:none}
.pal-in input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--fg);font:inherit;font-size:17px}
#pal-l{list-style:none;margin:0;padding:6px;max-height:min(56vh,440px);overflow-y:auto}
#pal-l li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-md);cursor:pointer}
#pal-l li[aria-selected=true]{background:rgba(var(--acc),.1)}#pal-l li.none{color:var(--fg-3);cursor:default}
#pal-l .pg{flex:none;width:58px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--mint);padding-top:3px}
#pal-l .pt{min-width:0;display:flex;flex-direction:column}#pal-l .pt b{font-weight:600;color:var(--fg)}
#pal-l .pt small{color:var(--fg-3);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pal-k{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--fg-3)}.pal-k kbd{font-family:var(--mono);border:1px solid var(--line);border-radius:var(--r-xs);padding:0 5px;margin-right:3px}
@media(max-width:560px){.pal{padding-top:10px}.pal-k{display:none}}

/* ===== v24: one system. Later rules win; this block is the source of truth for type, labels and chrome. ===== */
/* type: system stack; mono only for code and commands */
h1,h2,.big,.metrics b,.band b,.float b,.who h3,.st h3,.sheet nav a{font-family:var(--serif);font-weight:600;letter-spacing:-.03em}
h3{font-family:var(--serif);font-weight:600;letter-spacing:-.015em}
h1,h2{text-shadow:none}
/* labels read as labels, not as code */
.kick,.chip,.mq-l,.tier-l,.ptab thead th,.dt thead th,.dgrp h4,.dbody .crumb,.dpg small,.dmeta,.mega-k,.who .role,.sol .role,.dcard .k,.stages .when,.lb,.gloss dt,.done-l li,.chips-row span,.bento small.s,.frames b,.ib-v{font-family:var(--sans);font-weight:600;letter-spacing:.06em}
.kick{font-size:12px;letter-spacing:.08em;gap:10px}
.kick::before{opacity:.6}
/* header: even rhythm, search reads as a field */
.tabs a,.tabs .dd-btn{font-size:14px;font-weight:500}
.ic-btn.pal-btn{display:inline-flex;flex-direction:row;align-items:center;gap:8px;width:auto;height:36px;padding:0 8px 0 11px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(var(--hi),.03);color:var(--fg-3);font-size:13px}
.ic-btn.pal-btn:hover{border-color:var(--line-2);color:var(--fg)}
.ic-btn.pal-btn svg{width:15px;height:15px}
.pal-btn .pal-t{margin-right:14px}
.btn.sm .os-i{width:15px;height:15px;margin-top:-2px}
/* hero chips sit on the panel edge, never over its rows */
.fchip.f1{left:-4%;top:-18px}
.fchip.f2{display:none}
.fchip.f3{right:6%;bottom:-20px}
/* one radius, one hairline */
.glass,.panel,.pcard,.plan{border-radius:var(--r-lg)}
/* smooth: anchor jumps land below the sticky header */
html{scroll-behavior:smooth;scroll-padding-top:84px}
html:has(.page.on .pnav){scroll-padding-top:142px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:focus-visible{outline:2px solid var(--mint);outline-offset:2px;border-radius:var(--r-sm)}
/* ===== v25: liquid glass + restrained depth. Rest state is always flat. ===== */
.glass,.plan,.pcard{
  box-shadow:inset 0 1px 0 rgba(var(--tint),.22),inset 1px 0 0 rgba(var(--tint),.05),inset 0 -1px 0 rgba(var(--shade),calc(.35*var(--shade-k))),inset 0 -22px 34px -28px rgba(var(--tint),.22),0 1px 2px rgba(var(--shade),calc(.35*var(--shade-k))),0 24px 60px -28px rgba(var(--shade),calc(.75*var(--shade-k)))}
/* specular sheen: a soft white highlight plus a mint caustic, both under the pointer */
.glass::before{opacity:0;background:radial-gradient(220px circle at var(--mx,50%) var(--my,0%),rgba(var(--hi),.10),transparent 60%),radial-gradient(520px circle at var(--mx,50%) var(--my,0%),rgba(var(--tint),.07),transparent 55%)}
.glass:hover::before{opacity:1}
/* top rim catches light like a lens edge */
.plan::before,.pcard::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(var(--hi),.06),transparent 22%,transparent 78%,rgba(var(--tint),.05))}
.plan,.pcard{position:relative}
/* hover: a small lift and deeper shadow */
.tilt{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s cubic-bezier(.2,.8,.2,1),border-color .35s!important;will-change:transform}
.tilt:hover{  box-shadow:inset 0 1px 0 rgba(var(--tint),.28),inset 0 -1px 0 rgba(var(--shade),calc(.35*var(--shade-k))),inset 0 -22px 34px -26px rgba(var(--tint),.3),0 2px 4px rgba(var(--shade),calc(.35*var(--shade-k))),0 36px 70px -30px rgba(var(--shade),calc(.85*var(--shade-k))),0 0 60px -30px rgba(var(--acc),.35)}
/* chips float above the console plane, flat */
.fchip{transform-style:flat}
@media (hover:none),(prefers-reduced-motion:reduce){.tilt:hover{transform:none!important}}
/* ===== v26: nothing leans. Cards lift on a spring and catch light; depth lives only in the floor. ===== */
:root{--spring:linear(0,.009,.035 2.1%,.141 4.4%,.281 6.7%,.723 12.9%,.938 16.7%,1.017 20.6%,1.045 24.1%,1.042 28.2%,1.016 37.3%,.999 46.6%,.996 61.2%,1)}
.tilt{transition:transform .7s var(--spring),box-shadow .5s var(--ease),border-color .35s!important}
.tilt:hover{transform:translateY(-4px)!important}
.glass,.plan,.pcard{box-shadow:inset 0 1px 0 rgba(var(--tint),.22),inset 0 -1px 0 rgba(var(--shade),calc(.35*var(--shade-k))),inset 0 -22px 34px -28px rgba(var(--tint),.22),0 1px 2px rgba(var(--shade),calc(.35*var(--shade-k))),0 24px 60px -28px rgba(var(--shade),calc(.75*var(--shade-k)))}
/* the console rises into place as it scrolls in: translate and scale only */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .hero-viz .console{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
    .sec .sh{animation:rise-s linear both;animation-timeline:view();animation-range:entry 10% cover 25%}
  }
}
@keyframes rise{from{translate:0 28px;scale:.97;opacity:.5}to{translate:none;scale:none;opacity:1}}
@keyframes rise-s{from{translate:0 18px;opacity:.3}to{translate:none;opacity:1}}
/* route change: old page fades, new page glides up on the spring */
::view-transition-old(root){animation:vtout2 .22s var(--ease) both}
::view-transition-new(root){animation:vtin3 .6s var(--spring) both}
@keyframes vtin3{from{opacity:0;translate:0 14px}}
/* ===== v27: page-by-page cleanup ===== */
/* console views share one height; the closing note sits at the foot so no view ends in a void */
.cz-pane{display:flex;flex-direction:column}
.cz-pane>.accept{margin-top:auto}
.fchip.f3{display:none}
/* in-page sections: a sticky row under the header on long pages */
.pnav{position:sticky;top:74px;z-index:40;margin:0 auto;max-width:1200px;padding:10px clamp(16px,3vw,40px)}
.pnav-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:5px;border-radius:var(--r-lg);border:1px solid var(--line);
  background:rgba(4,26,18,.72);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:inset 0 1px 0 rgba(var(--tint),.08),0 12px 30px -18px rgba(var(--shade),calc(.8*var(--shade-k)))}
.pnav-in::-webkit-scrollbar{display:none}
.pnav button{all:unset;cursor:pointer;flex:none;padding:7px 13px;border-radius:var(--r-md);font-size:13px;color:var(--fg-2);white-space:nowrap;transition:background .3s var(--ease),color .3s}
.pnav button:hover{color:var(--fg)}
.pnav button[aria-current="true"]{color:var(--fg);background:rgba(var(--acc),.12);box-shadow:inset 0 0 0 1px rgba(var(--acc),.22)}
.pnav button:focus-visible{outline:2px solid var(--mint);outline-offset:1px}
@media (max-width:900px){.pnav{top:64px;padding-inline:12px}}
.step .code{white-space:pre-wrap;overflow-wrap:anywhere}
/* the turning mark: an alpha clip (HEVC for Safari, VP9 elsewhere), so the card shows through */
.coin{display:block;width:clamp(150px,22vw,220px);aspect-ratio:1;margin:-8px auto 6px;filter:drop-shadow(0 18px 30px rgba(var(--shade),calc(.45*var(--shade-k))))}

/* ---------- v28: calm system: one glass, Apple type, compact close ---------- */
/* system type; size-specific tracking and optical sizing */
:root{--sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--serif:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ease-out:cubic-bezier(.22,1,.36,1);--ease-sheet:cubic-bezier(.32,.72,0,1)}
body{font-optical-sizing:auto;letter-spacing:-.006em}
h1{letter-spacing:-.028em;line-height:1.04}
h2{letter-spacing:-.024em;line-height:1.08}
h3{letter-spacing:-.014em}
.kick{letter-spacing:.1em}
/* a price and its unit: the unit wraps whole, never mid-phrase */
.amt{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px}
.amt small{white-space:nowrap;line-height:1.3}
/* glass: tint, shine, rim and one soft shadow; no sweeping glint */
.glass,.glass.rv,.plan,.pcard{background:linear-gradient(160deg,rgba(var(--hi),.075),rgba(var(--hi),.02) 55%),rgba(var(--surf),.52);
  border-color:rgba(var(--tint),.11);
  backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);
  box-shadow:inset 0 1px 1px rgba(var(--hi),.16),inset 1px 0 1px rgba(var(--hi),.04),inset -1px -1px 1px rgba(var(--hi),.03),
    0 1px 2px rgba(var(--shade),calc(.3*var(--shade-k))),0 24px 56px -30px rgba(var(--shade),calc(.7*var(--shade-k)))}
.glass.rv,.glass.rv.in{animation:none;background-size:auto;background-position:0 0}
.glass:hover::after,.glass.front::after{opacity:.45}
/* the closing card: one quiet row, not a billboard */
.cta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;text-align:left;
  margin-block:clamp(32px,5vw,64px);padding:28px 32px}
.cta .coin{width:84px;margin:0;filter:drop-shadow(0 10px 18px rgba(var(--shade),calc(.4*var(--shade-k))))}
.cta h2{font-size:clamp(22px,2.2vw,28px);max-width:none;margin:0 0 4px}
.cta .lede{font-size:15px;line-height:1.5;margin:0;max-width:56ch;color:var(--fg-2)}
.cta .ctas{margin:0;flex-wrap:nowrap;justify-content:flex-end}
.cta-t{min-width:0}
@media (max-width:860px){
  .cta{grid-template-columns:auto 1fr;gap:16px 18px;padding:22px}
  .cta .coin{width:64px}
  .cta .ctas{grid-column:1/-1;justify-content:stretch}
}
/* bent glass: hero console only, Chromium only (html.lens set by script), plain frost elsewhere */
html.lens .hero-viz .console{backdrop-filter:url(#lens) blur(10px) saturate(1.6);-webkit-backdrop-filter:url(#lens) blur(10px) saturate(1.6)}

/* ---------- v29: corporate neutral: graphite, grey, white; green is signal, not wallpaper ---------- */
:root{
  --ink:#0a0b0c;--ink-2:#111214;--ink-3:#17181b;--deep:#0a0b0c;
  --glass:rgba(var(--hi),.035);--glass-hi:rgba(var(--hi),.07);
  --line:rgba(var(--hi),.08);--line-2:rgba(var(--hi),.14);--edge:rgba(var(--hi),.12);--spec:rgba(var(--hi),.12);
  --fg:#ededee;--fg-2:#a0a3a9;--fg-3:#6b6e74;--cream:#f7f7f8;
  --g1:#16a34a;--g1-h:#15803d;--g2:#4ade80;
  --mint:var(--g2);--green:var(--g1);--forest:var(--g1);--forest-2:var(--g1-h);
}
html,body{background:var(--ink)}
body{background:var(--ink)}
body::before,body::after,.beam-top,.hero::before{display:none}
.amb{background:radial-gradient(70% 45% at 50% -8%,rgba(var(--hi),.055),transparent 70%),var(--ink)}
#net{opacity:.18;filter:grayscale(1)}
.sec+.sec::before{background:linear-gradient(90deg,transparent,var(--line-2) 50%,transparent)}
/* headline accent: grey second phrase (Apple), green only in the hero */
em.s{background:none;-webkit-text-fill-color:currentColor;color:var(--fg-3)}
.hero h1 em.s{color:var(--g2)}
/* surfaces */
.glass,.glass.rv,.plan,.pcard{background:linear-gradient(180deg,rgba(var(--hi),.045),rgba(var(--hi),.015)),rgba(var(--surf),.72);border-color:var(--line);
  backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);
  box-shadow:inset 0 1px 0 rgba(var(--hi),.07),0 1px 2px rgba(var(--shade),calc(.4*var(--shade-k))),0 20px 48px -28px rgba(var(--shade),calc(.8*var(--shade-k)))}
.paper,.pcard{background:linear-gradient(180deg,rgba(var(--hi),.045),rgba(var(--hi),.015)),rgba(var(--surf),.72)!important;border-color:var(--line)!important}
.metrics{background:rgba(var(--surf),.72)!important;border-color:var(--line)!important}
.glass::before{background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(var(--hi),.05),transparent 60%)}
.glass::after{background:radial-gradient(240px circle at var(--mx,50%) var(--my,0%),rgba(var(--hi),.22),transparent 70%)}
.hd-in{background:rgba(10,11,12,.72);border-color:var(--line)}
.code{background:rgba(var(--shade),calc(.35*var(--shade-k)));border-color:var(--line)}
.mega{background:var(--ink-2)}
/* actions: one solid green, one neutral */
.btn.p{background:var(--g1);color:#fff;border:1px solid rgba(var(--hi),.1);box-shadow:inset 0 1px 0 rgba(var(--hi),.14),0 1px 2px rgba(var(--shade),calc(.4*var(--shade-k)))}
.btn.p:hover{background:var(--g1-h)}
.btn.o{background:rgba(var(--hi),.03);border-color:var(--line-2);color:var(--fg)}
.btn.o:hover{background:rgba(var(--hi),.07)}
/* signal: status chips and labels */
.chip.lime,.chip.ok{background:rgba(var(--acc),.1);color:var(--g2)}
.kick{color:var(--fg-2)}
.kick::before{background:var(--g2)!important}
/* hero console: a plain, precise instrument; no plinth, halo or running beam */
.plinth,.beam>.bb{display:none}
.hero-viz .console{background:rgba(var(--surf),.88)!important;border-color:var(--line-2)!important;box-shadow:inset 0 1px 0 rgba(var(--hi),.06),0 30px 80px -40px rgba(var(--shade),calc(.9*var(--shade-k)))!important}
.fchip{background:rgba(var(--surf),.85)!important;border-color:var(--line-2)!important;box-shadow:0 10px 30px -14px rgba(var(--shade),calc(.8*var(--shade-k)))!important}
.cta:not(:has(.coin)){grid-template-columns:1fr auto}
@media (max-width:860px){.cta:not(:has(.coin)){grid-template-columns:1fr}}
/* footer: the plain wordmark; the full lockup's tagline is unreadable at this size */
/* paper: a true light band, the one white surface that breaks the dark rhythm */
.paper{--pink:#121317;--pmuted:#55585e;--pline:rgba(var(--shade),calc(.12*var(--shade-k)));--forest:#15803d;
  background:#f4f4f5!important;border:0!important;color:#121317;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
.paper h1,.paper h2,.paper h3{color:#121317}
.paper em.s{color:#8a8d93}
.paper .kick{color:#55585e}
.paper .lede,.paper p{color:#55585e}
.paper .pcard{background:#fff!important;border:1px solid rgba(var(--shade),calc(.08*var(--shade-k)))!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  box-shadow:0 1px 2px rgba(var(--shade),calc(.05*var(--shade-k))),0 16px 32px -24px rgba(var(--shade),calc(.25*var(--shade-k)))!important}
.paper .pcard .q{color:#121317}
.paper .pcard .no,.paper .pcard .a,.paper .pcard .a .i{color:#15803d}
.paper .pcard::before,.paper .pcard::after{display:none}
.paper .code{background:#fafafa;border-color:rgba(var(--shade),calc(.1*var(--shade-k)));color:#121317}

html:root{--lime:var(--g2)}
/* v29b: neutral step numbers, chip inside gutter on phones, no lime */
.steps4 .si{color:var(--fg);background:rgba(var(--hi),.03);border-color:var(--line-2)}
.fchip .led{background:var(--g2);box-shadow:0 0 0 3px rgba(var(--acc),.14)}
@media (max-width:860px){.fchip.f1{left:12px}}

/* ---------- v30: slate, not black; green back as a deliberate accent ---------- */
:root{
  --ink:#0f1317;--ink-2:#151a1f;--ink-3:#1c2228;--deep:#0f1317;
  --line:rgba(var(--hi),.09);--line-2:rgba(var(--hi),.15);
  --fg:#eef0f2;--fg-2:#a7adb4;--fg-3:#737a82;
  --sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --serif:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
body{font-family:var(--sans);font-feature-settings:"ss01","cv11"}
h1,h2,h3,.h1,.h2{font-family:var(--serif);font-weight:600}
.amb{background:radial-gradient(60% 40% at 50% -6%,rgba(var(--acc),.13),transparent 70%),radial-gradient(40% 30% at 85% 10%,rgba(var(--acc),.05),transparent 70%),var(--ink)}
#net{opacity:.22;filter:none}
em.s{color:var(--g2)}
.kick{color:var(--g2)}
.glass,.glass.rv,.plan,.pcard{background:linear-gradient(180deg,rgba(var(--hi),.05),rgba(var(--hi),.015)),rgba(var(--surf),.72)}
.metrics{background:rgba(var(--surf),.72)!important}
.hd-in{background:rgba(var(--surf),.78)}
.hero-viz .console{background:rgba(var(--surf),.9)!important}
.fchip{background:rgba(var(--surf),.9)!important}
.steps4 .si{color:var(--g2);background:rgba(var(--acc),.07);border-color:rgba(var(--acc),.22)}
.sec+.sec::before{background:linear-gradient(90deg,transparent,rgba(var(--acc),.22) 50%,transparent)}
.paper em.s{color:#15803d}
.paper .kick{color:#15803d}
/* ===== v32: smooth green aurora, glass, depth. Chips sit in their own row, never over the panel. ===== */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;position:relative;z-index:3}
.chips .fchip,.chips .fchip.f1,.chips .fchip.f2,.chips .fchip.f3{position:static;display:flex;animation:none;transform:none;left:auto;right:auto;top:auto;bottom:auto;font-size:12.5px;padding:7px 12px 7px 10px;border-radius:var(--r-pill);
  background:linear-gradient(160deg,rgba(var(--acc),.10),rgba(var(--hi),.02)),rgba(var(--surf),.6)!important;border:1px solid rgba(var(--acc),.18)!important;backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5)}
.amb{background:var(--ink)}
.amb .orb{display:block;filter:blur(90px);opacity:1;mix-blend-mode:screen}
.amb .orb.a{width:min(900px,80vw);height:min(700px,70vw);right:-12%;top:-22%;background:radial-gradient(circle at 40% 40%,rgba(var(--acc),.30),rgba(16,185,129,.14) 40%,transparent 68%);animation:aur1 26s ease-in-out infinite alternate}
.amb .orb.b{width:min(760px,70vw);height:min(620px,60vw);left:-16%;top:30%;background:radial-gradient(circle at 60% 50%,rgba(20,184,166,.18),rgba(var(--acc),.08) 45%,transparent 70%);animation:aur2 32s ease-in-out infinite alternate}
.amb::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 120%,rgba(var(--surf),0),var(--ink) 75%);opacity:.0}
@keyframes aur1{to{border-radius:42% 58% 63% 37%/45% 40% 60% 55%;scale:1.15;rotate:18deg}}
@keyframes aur2{to{scale:1.2;rotate:-24deg;translate:6% -4%}}
#net{opacity:.45}
.hero-viz{perspective:1400px}
.hero-viz::before{content:"";position:absolute;inset:12% 4% 4%;z-index:-1;border-radius:var(--r-2xl);background:radial-gradient(60% 60% at 50% 50%,rgba(var(--acc),.38),rgba(20,184,166,.16) 50%,transparent 75%);filter:blur(48px);pointer-events:none}
.hero-viz .console{background:linear-gradient(165deg,rgba(var(--hi),.07),rgba(var(--hi),.015) 40%),rgba(var(--surf),.78)!important;backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);
  border:1px solid rgba(var(--acc),.16)!important;transform:rotateX(calc(var(--ry,0)*-5deg)) rotateY(calc(var(--rx,0)*7deg));transition:transform .9s var(--spring,ease);transform-style:preserve-3d;
  box-shadow:inset 0 1px 0 rgba(var(--hi),.10),0 40px 90px -40px rgba(var(--shade),calc(.9*var(--shade-k))),0 0 0 1px rgba(var(--shade),calc(.2*var(--shade-k)))!important}
.glass,.glass.rv,.plan,.pcard{background:linear-gradient(165deg,rgba(var(--acc),.06),rgba(var(--hi),.015) 45%),rgba(var(--surf),.62);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-color:rgba(var(--tint),.09)}
.glass:hover,.plan:hover,.pcard:hover{border-color:rgba(var(--acc),.26)}
.hero h1 em.s,em.s{background:linear-gradient(100deg,#4ade80,#22c55e 40%,#2dd4bf);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn.p{background:linear-gradient(180deg,#22c55e,#16a34a);box-shadow:inset 0 1px 0 rgba(var(--hi),.25),0 10px 30px -10px rgba(var(--acc),.55)}
.paper em.s{background:none;color:#15803d}
@media (max-width:900px){.hero-viz .console{transform:none}}
@media (prefers-reduced-motion:reduce){.amb .orb{animation:none}.hero-viz .console{transform:none}}
body{background:transparent}
.cz-body{grid-template-columns:minmax(0,1fr)}
.cz-pane{min-width:0}
.cz-pane pre,.cz-cmd{overflow-x:auto;scrollbar-width:none}
.gl,.gl li,.gl li>*{min-width:0}.gl li>*{overflow-wrap:anywhere}
/* ===== v34: mobile keeps its tabs at the top; every page ends on the next benefits ===== */
.mtabs{display:none}
@media (max-width:900px){
  .mtabs{pointer-events:auto;display:flex;gap:6px;max-width:1180px;margin:8px auto 0;padding:5px;overflow-x:auto;scrollbar-width:none;border-radius:var(--r-lg);
    background:rgba(var(--surf),.82);border:1px solid var(--line);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .mtabs::-webkit-scrollbar{display:none}
  .mtabs a{flex:none;padding:8px 13px;border-radius:var(--r-md);font-size:14px;font-weight:500;color:var(--fg-2);white-space:nowrap;min-height:36px;display:flex;align-items:center}
  .mtabs a[aria-current="page"]{color:var(--fg);background:rgba(var(--acc),.12);box-shadow:inset 0 0 0 1px rgba(var(--acc),.28)}
  .mtabs a.mt-cta{color:var(--g2)}
  main{padding-top:calc(var(--hh) + 74px)}
  html{scroll-padding-top:150px}
  .pnav{top:128px}
}
.nextup{margin-top:clamp(56px,8vw,96px);padding-bottom:clamp(24px,4vw,48px)}
.nextup .kick{margin:0 0 14px}
.nx-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nx{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 48px 20px 20px;border-radius:var(--r-lg);border:1px solid var(--line);color:var(--fg-2);transition:border-color .3s,translate .5s var(--spring,ease)}
.nx small{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--g2)}
.nx b{color:var(--fg);font-size:17px;font-weight:600;letter-spacing:-.01em}
.nx span{font-size:14px;line-height:1.5}
.nx .i{position:absolute;right:18px;top:22px;width:16px;height:16px;color:var(--fg-3);transition:translate .3s,color .3s}
.nx:hover{border-color:rgba(var(--acc),.32);translate:0 -3px}
.nx:hover .i{translate:3px 0;color:var(--g2)}
.nx-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
@media (max-width:900px){.nx-g{grid-template-columns:1fr}}

/* ===== v35: warm cream paper, not white; text stays dark for contrast ===== */
.paper{background:#f3eedf!important;--pink:#1d1f17;--pmuted:#4f5244}
.paper h1,.paper h2,.paper h3,.paper .pcard .q{color:#1d1f17}
.paper .lede,.paper p,.paper .kick{color:#4f5244}
.paper em.s{color:#6f6a55;-webkit-text-fill-color:#6f6a55;background:none}
.paper .pcard{background:#faf6ea!important;border-color:rgba(60,50,20,.10)!important}
.paper .code{background:#f8f3e5;border-color:rgba(60,50,20,.12);color:#1d1f17}
.paper .cmp,.paper .cmp thead th{background:#faf6ea}
/* ===== v36 ===== */
.viz.prod-t{max-height:none;overflow:visible;font-size:14px;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:var(--r-xl);background:var(--pcard,#faf6ea);border:1px solid var(--line);box-shadow:0 1px 0 rgba(var(--hi),.6) inset,0 18px 40px -24px rgba(40,50,20,.35);min-width:0}
.vz-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vz-f{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--fg)}
.vz-rows,.vz-bars{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vz-rows li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);background:rgba(var(--hi),.55);border:1px solid var(--line)}
.vz-n{font-weight:600;color:var(--fg)}
.vz-t{font-family:var(--mono);font-size:12px;color:var(--fg-2)}
.vz-bars li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:12px}
.vz-l{font-size:13px;color:var(--fg);min-width:0}
.vz-b{position:relative;height:22px;border-radius:var(--r-pill);background:rgba(var(--shade),calc(.05*var(--shade-k)));overflow:hidden}
.vz-b i{position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:var(--r-pill);background:linear-gradient(90deg,#3f8f5c,#7cc48f)}
.vz-b em{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-style:normal;font-family:var(--mono);font-size:11px;color:var(--fg)}
.vz-out{font-size:14px;line-height:1.5;padding:12px 14px;border-radius:var(--r-md);color:var(--fg-2)}
.vz-out b{color:var(--fg)}
.vz-out.good{background:rgba(var(--acc),.12)}
.vz-out.bad{background:rgba(240,120,107,.13)}
.vz-rec{padding:16px;border-radius:var(--r-lg);background:#1d1f17;color:#f3eedf}
.vz-rec .vz-f{color:#cfe8b8}
.vz-rec dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:12px 0 0;font-family:var(--mono);font-size:13px}
.vz-rec dt{color:#a6a894}.vz-rec dd{margin:0}
.vz-fan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vz-fan span{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;border-radius:var(--r-md);background:rgba(var(--hi),.6);border:1px solid var(--line);font-weight:600;color:var(--fg);font-size:13px}
.vz-fan .i{width:16px;height:16px}
.vz-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vz-stats div{padding:16px;border-radius:var(--r-lg);background:rgba(var(--hi),.6);border:1px solid var(--line);display:flex;flex-direction:column;gap:4px;min-width:0}
.vz-stats b{font-size:28px;font-weight:650;letter-spacing:-.02em;color:var(--fg)}
.vz-stats span{font-size:13px;color:var(--fg-2)}
@media (max-width:560px){.vz-bars li{grid-template-columns:1fr auto}.vz-bars .vz-b{grid-column:1/-1;grid-row:2}.vz-rows li{grid-template-columns:1fr auto}.vz-rows .vz-t{display:none}.vz-stats b{font-size:22px}}
.viz.prod-t{--fg:#1d1f17;--fg-2:#4f5244;--line:rgba(29,31,23,.12);background:#faf6ea;color:#1d1f17}
.viz .chip.pass{color:#1e7a43;background:rgba(30,122,67,.12)}.viz .chip.fail{color:#b3392b;background:rgba(179,57,43,.12)}.viz .chip.skip{color:#4f5244;background:rgba(29,31,23,.07)}
.cls{display:flex;flex-wrap:wrap}
@media (max-width:540px){.dl-os{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.dl-os button{justify-content:center}}
/* ===== v37: one dark glass system. No cream. Text >= 4.5:1 everywhere; the mark always turns. ===== */
:root{--fg:var(--fg);--fg-2:var(--fg-2);--fg-3:#8a9a8f;--line:rgba(var(--tint),.10);--line-2:rgba(var(--tint),.18);--card:rgba(var(--hi),.035);--card-hi:rgba(var(--hi),.07)}
.paper{background:linear-gradient(180deg,var(--ink),var(--ink-2))!important;--pink:var(--fg);--pmuted:var(--fg-2)}
.paper h1,.paper h2,.paper h3,.paper .pcard .q{color:var(--fg)}
.paper .lede,.paper p,.paper .kick{color:var(--fg-2)}
.paper em.s{color:var(--acc-fg);-webkit-text-fill-color:var(--acc-fg)}
.paper .pcard,.pcard{background:var(--card)!important;border:1px solid var(--line)!important;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
.paper .code{background:rgba(var(--shade),calc(.35*var(--shade-k)));border-color:var(--line);color:var(--fg)}
.paper .cmp,.paper .cmp thead th{background:var(--ink-2)}
.glass{background:linear-gradient(180deg,var(--card-hi),var(--card))!important;border-color:var(--line)!important;box-shadow:inset 0 1px 0 rgba(var(--hi),.06),0 20px 40px -28px rgba(var(--shade),calc(.7*var(--shade-k)))}
.glass p,.lede{color:var(--fg-2)}
.viz.prod-t{--fg:var(--fg);--fg-2:var(--fg-2);--line:rgba(var(--tint),.10);background:rgba(var(--shade),calc(.28*var(--shade-k)));color:var(--fg);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(var(--hi),.05)}
.viz .chip.pass{color:#8ff0b4;background:rgba(var(--acc),.16)}.viz .chip.fail{color:#ff9d92;background:rgba(240,120,107,.16)}.viz .chip.skip{color:var(--fg-2);background:rgba(var(--hi),.07)}
.vz-rows li,.vz-fan span,.vz-stats div{background:rgba(var(--hi),.04)}
.vz-b{background:rgba(var(--hi),.07)}
.vz-out.good{background:rgba(var(--acc),.12)}.vz-out.bad{background:rgba(240,120,107,.12)}
.vz-rec{background:rgba(var(--shade),calc(.4*var(--shade-k)));border:1px solid var(--line)}
.vz-pass{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vz-pass li{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--r-md);background:rgba(var(--hi),.04);border:1px solid var(--line);font-size:13px;color:var(--fg-2);min-width:0}
.vz-pass li span{flex:1;min-width:0}
.vz-pass li b{font-family:var(--mono);font-weight:500;color:var(--fg)}
.vz-pass .i{width:15px;height:15px;color:var(--acc-fg);flex:none}
@media (max-width:560px){.vz-pass{grid-template-columns:minmax(0,1fr)}}
.coin{display:block;aspect-ratio:1;background:url("thea-coin-sprite.webp") 0 0/6000% 100% no-repeat;animation:coin 4s steps(59) infinite;filter:drop-shadow(0 14px 24px rgba(var(--shade),calc(.5*var(--shade-k))))}
.cta .coin{width:112px}
@media (max-width:860px){.cta .coin{width:84px}}
@keyframes coin{to{background-position:100% 0}}
@media (prefers-reduced-motion:reduce){.coin{animation:none}}
/* ===== v38: harvested mechanisms. Aramco: an isometric floor whose tiles light green one by one (a check passing).
   Longbow: hairline grid with + marks at the crossings, sections snapped to it. Both: panels tilt flat as they scroll in. ===== */
.hero{isolation:isolate;overflow:clip}
.floor{position:absolute;z-index:-1;inset:auto -10% -18% 30%;height:min(80vw,760px);perspective:1400px;pointer-events:none;
  -webkit-mask:radial-gradient(closest-side,#000 40%,transparent);mask:radial-gradient(closest-side,#000 40%,transparent)}
.fl-p{position:absolute;left:50%;top:50%;width:640px;height:640px;margin:-320px 0 0 -320px;transform:rotateX(60deg) rotateZ(-45deg);transform-style:preserve-3d;
  background:linear-gradient(rgba(var(--tint),.10) 1px,transparent 1px) 0 0/80px 80px,linear-gradient(90deg,rgba(var(--tint),.10) 1px,transparent 1px) 0 0/80px 80px}
.fl-p i{position:absolute;left:calc(var(--x)*80px + 4px);top:calc(var(--y)*80px + 4px);width:72px;height:72px;border-radius:var(--r-xs);
  background:linear-gradient(135deg,#4ade80,#16a34a);box-shadow:0 0 40px rgba(var(--acc),.45);opacity:0;animation:tile 8s calc(var(--k)*1s) infinite var(--ease)}
@keyframes tile{0%,100%{opacity:0;transform:translateZ(0)}8%{opacity:.85;transform:translateZ(14px)}30%{opacity:.5;transform:translateZ(0)}55%{opacity:0}}
@media (max-width:860px){.floor{inset:auto -40% -10% -20%;opacity:.55}}
.hair{position:relative;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cpath d='M0 .5H240M.5 0V240' stroke='%23dcffe8' stroke-opacity='.06'/%3E%3Cpath d='M-5 .5H6M.5-5V6' stroke='%23dcffe8' stroke-opacity='.35'/%3E%3C/svg%3E");background-position:center top}
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){
  .cta.glass,.viz.prod-t{animation:tiltin linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  @keyframes tiltin{from{transform:perspective(1200px) rotateX(16deg) translateY(36px);opacity:.25}to{transform:none;opacity:1}}}}
@media (prefers-reduced-motion:reduce){.fl-p i{animation:none;opacity:.6}.fl-p i:nth-child(n+4){opacity:0}}

/* ===== v39: one system. Every color is a token on :root, light by default with a dark set;
   one spacing scale, one radius scale; one button, one card, one heading. Later than every layer above, so it wins. ===== */
:root{
  color-scheme:light dark;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:var(--sans);
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;
  --r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-2xl:28px;--r-pill:999px;
  --t-fast:.18s;--t-med:.32s;--t-slow:.6s;--ease:cubic-bezier(.22,1,.36,1);
  /* light set */
  --ink:#f5f7f6;--ink-2:#eceff0;--ink-3:#e2e7e4;--deep:var(--ink);
  --fg:#0d1511;--fg-2:#45514a;--fg-3:#5c6862;--cream:var(--fg);
  --line:rgba(13,27,19,.09);--line-2:rgba(13,27,19,.16);
  --hi:13,27,19;--tint:16,92,52;--acc:22,163,74;--surf:255,255,255;--shade:20,34,26;--shade-k:.3;
  --g1:#15803d;--g1-h:#166534;--g2:#15803d;--acc-fg:#15803d;--mint:var(--g2);--green:var(--g1);--forest:var(--g1);--forest-2:var(--g1-h);
  --card:rgba(255,255,255,.66);--card-hi:rgba(255,255,255,.9);--glass:var(--card);--glass-hi:rgba(255,255,255,.9);
  --bar:rgba(245,247,246,.86);--edge:var(--line-2);--spec:rgba(255,255,255,.9);
  --shadow-1:0 1px 2px rgba(var(--shade),.06),0 8px 24px -14px rgba(var(--shade),.22);
  --shadow-2:0 2px 6px rgba(var(--shade),.06),0 24px 48px -24px rgba(var(--shade),.3);
}
@media (prefers-color-scheme:dark){:root{
  --ink:#0f1317;--ink-2:#151a1f;--ink-3:#1c2228;
  --fg:#eef3ef;--fg-2:#b9c6bd;--fg-3:#8f9e94;
  --line:rgba(220,255,232,.10);--line-2:rgba(220,255,232,.18);
  --hi:255,255,255;--tint:220,255,232;--acc:74,222,128;--surf:22,28,33;--shade:0,0,0;--shade-k:1;
  --g1:#16a34a;--g1-h:#15803d;--g2:#4ade80;--acc-fg:#7fe0a6;
  --card:rgba(255,255,255,.035);--card-hi:rgba(255,255,255,.07);--glass-hi:rgba(255,255,255,.07);
  --bar:rgba(15,19,23,.84);--spec:rgba(255,255,255,.1);
  --shadow-1:0 1px 2px rgba(0,0,0,.4),0 10px 28px -16px rgba(0,0,0,.7);
  --shadow-2:0 1px 2px rgba(0,0,0,.4),0 28px 56px -28px rgba(0,0,0,.8);
}}
html,body{background:var(--ink);color:var(--fg)}
body{font-family:var(--sans);font-feature-settings:normal;letter-spacing:-.005em}
code,kbd,pre,.mono{font-family:var(--mono)}
.amb{background:radial-gradient(60% 40% at 50% -6%,rgba(var(--acc),.12),transparent 70%),var(--ink)}
.amb .orb{opacity:.7}
@media (prefers-color-scheme:light){.amb .orb{mix-blend-mode:multiply;opacity:.35}#net{opacity:.5}}

/* header: always a glass bar, one height, one gap */
.hd .hd-in,.hd:not(.scrolled) .hd-in{background:var(--bar);border:1px solid var(--line);box-shadow:var(--shadow-1);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);border-radius:var(--r-lg);gap:var(--s-3)}
.hd.scrolled .hd-in{height:var(--hh)}
.hd-r{gap:var(--s-1)}
.tabs a,.tabs .dd-btn{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);transition:color var(--t-fast),background var(--t-fast)}
.tabs a:hover,.tabs .dd-btn:hover{background:rgba(var(--hi),.05)}
.ic-btn{border-radius:var(--r-sm)}
.menu-btn{border-radius:var(--r-sm);border-color:var(--line-2)}
.sheet{background:color-mix(in srgb,var(--ink) 88%,transparent);padding-inline:var(--s-5)}
.sheet nav a{font-size:26px;padding:var(--s-3) var(--s-1);color:var(--fg)}
.sheet nav a[aria-current="page"]{color:var(--acc-fg)}
body.locked .mtabs{opacity:0;pointer-events:none}
.mega{border-radius:var(--r-lg)!important}

/* type: one heading scale */
h1,h2,h3{font-family:var(--sans);color:var(--fg);text-shadow:none}
h1{font-size:clamp(38px,5vw,68px);line-height:1.05;font-weight:650;letter-spacing:-.03em}
h2{font-size:clamp(28px,3.4vw,44px);line-height:1.1;font-weight:650;letter-spacing:-.025em}
h3{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.012em}
.lede{font-size:clamp(17px,1.3vw,19px);line-height:1.55;color:var(--fg-2);max-width:56ch}
.glass p,.plan p,.pcard p{color:var(--fg-2)}
em.s,.hero h1 em.s{color:var(--acc-fg);-webkit-text-fill-color:var(--acc-fg);background:none}
.kick{color:var(--acc-fg);font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:none;gap:var(--s-2)}
.kick::before,.sh.c .kick::after{display:none}

/* rhythm: sections, section heads, grids */
.sec{padding-block:clamp(var(--s-8),8vw,var(--s-9))}
.sh{margin:0 0 var(--s-6)}
.sh h2{margin-top:var(--s-3)}
.sh .lede{margin-top:var(--s-4)}
.pad{padding:var(--s-5)}
@media (min-width:760px){.pad{padding:var(--s-6)}}

/* buttons: two kinds, two sizes */
.btn{height:44px;padding:0 var(--s-5);gap:var(--s-2);border-radius:var(--r-pill);font-size:15px;font-weight:550;letter-spacing:-.005em;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-med) var(--ease),box-shadow var(--t-med)}
.btn.sm{height:36px;padding:0 var(--s-4);font-size:14px;border-radius:var(--r-pill)}
.btn.p,.paper .btn.p{background:var(--g1);color:#fff;border:1px solid transparent;box-shadow:0 1px 2px rgba(var(--shade),.2),0 8px 20px -10px rgba(var(--acc),.6)}
.btn.p:hover{background:var(--g1-h);transform:translateY(-1px)}
.btn.o,.paper .btn.o{background:rgba(var(--hi),.03);border:1px solid var(--line-2);color:var(--fg)}
.btn.o:hover{background:rgba(var(--hi),.07);border-color:rgba(var(--hi),.24)}
.btn:active{transform:translateY(0) scale(.98)}

/* cards: one glass surface */
.glass,.glass.rv,.plan,.pcard,.paper .pcard{background:linear-gradient(180deg,var(--card-hi),var(--card))!important;border:1px solid var(--line)!important;border-radius:var(--r-xl);box-shadow:inset 0 1px 0 var(--spec),var(--shadow-1);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4)}
.glass,.plan,.pcard{transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-med),opacity var(--t-slow) var(--ease)}
@media (hover:hover){a.glass:hover,.plan:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 var(--spec),var(--shadow-2);border-color:var(--line-2)!important}}
.plan.hot{border-color:rgba(var(--acc),.4)!important}
.plan.hot .badge{color:#fff;background:var(--g1)}
.code,.cb pre{background:rgba(var(--hi),.04);border-color:var(--line);border-radius:var(--r-md);color:var(--fg-2)}
.cb button{background:var(--ink-2);border-radius:var(--r-sm)}
.paper{background:transparent!important}
@media (min-width:901px){.pnav{top:calc(var(--hh) + var(--s-4))}}
@media (max-width:900px){.hd-in{grid-template-columns:minmax(0,1fr) auto}.mtabs{grid-column:1/-1;min-width:0;width:100%;margin-inline:0}}
.pnav-in{background:var(--bar);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border-radius:var(--r-pill)}
.pnav button{border-radius:var(--r-pill)}
.hero-viz .console{background:color-mix(in srgb,var(--ink-2) 86%,transparent)!important}
.sec .rv{filter:none}
.legend .with{background:var(--g1)}

/* the live badge text arrives at runtime and can be longer than the built one: it wraps, never widens the page */
.live{max-width:100%;min-width:0;white-space:normal}
.live span{white-space:normal;overflow-wrap:anywhere;min-width:0}
footer{overflow-x:clip}
/* motion: one place that turns it all off */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}
/* logo: vector mark + system-font wordmark, one rule set for every surface */
.logo{display:inline-flex;align-items:center;flex:none;line-height:0;text-decoration:none}
.logo img{height:40px;width:auto;display:block}
.logo.lg img{height:56px}
.core .logo{margin:0 auto 12px}
/* one mobile navigation: the menu sheet; the duplicate tab strip is retired */
#mtabs{display:none!important}

/* ---------- refresh: why, platform surfaces, enterprise ---------- */
.stages.why h3{margin-top:14px}
.pfg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.pfc{display:block;padding:24px 24px 26px}
.pfc h3{font-size:19px;letter-spacing:-.02em;margin:14px 0 6px;color:var(--fg)}
.pfc p{margin:0;color:var(--fg-2);font-size:15px}
.pfc .tag-s{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--fg-3)}
.pfc .tag-s.on{color:var(--mint);border-color:rgba(var(--acc),.3);background:rgba(var(--acc),.06)}
.pfc .tag-s.beta{color:var(--cream);border-color:var(--line-2)}
.ent{display:grid;grid-template-columns:1.25fr 1fr;gap:28px 48px;align-items:center;padding:clamp(28px,4vw,52px);margin:24px 0 96px}
.ent h2{font-size:clamp(28px,3.2vw,44px);line-height:1.1;margin:12px 0 14px}
.ent .ticks{margin:0}
.ent .ctas{grid-column:1/-1;margin:0}
@media (max-width:900px){.pfg{grid-template-columns:1fr 1fr}.ent{grid-template-columns:1fr}}
@media (max-width:600px){.pfg{grid-template-columns:1fr}}
/* ===== v7: one calm system. Geist + Geist Mono, tinted ramp, one green, liquid glass, no eyebrow tags ===== */
:root{
  --sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--serif:var(--sans);
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.25,1,.5,1);--t-fast:.18s;--t-med:.24s;--t-slow:.8s;--hh:60px;
  --ink:#fafbfa;--ink-2:#f2f4f3;--ink-3:#e8ece9;--deep:var(--ink);
  --fg:#0e1511;--fg-2:#46514b;--fg-3:#5f6a64;
  --line:rgba(14,32,22,.08);--line-2:rgba(14,32,22,.14);
  --hi:14,32,22;--surf:255,255,255;--acc:21,128,61;
  --g1:#15803d;--g1-h:#166534;--acc-fg:#15803d;
  --gl-top:rgba(255,255,255,.82);--gl-bot:rgba(255,255,255,.58);--gl-spec:rgba(255,255,255,.95);--gl-edge:rgba(14,32,22,.08);
  --gl-drop:0 1px 2px rgba(14,40,26,.05),0 24px 48px -28px rgba(14,40,26,.22);
  --bar:rgba(250,251,250,.72);--r-card:14px;
}
@media (prefers-color-scheme:dark){:root{
  --ink:#0b0f0d;--ink-2:#111614;--ink-3:#171d1a;
  --fg:#f2f5f3;--fg-2:#c4cdc8;--fg-3:#8d9892;
  --line:rgba(220,255,235,.08);--line-2:rgba(220,255,235,.14);
  --hi:255,255,255;--surf:22,28,25;--acc:74,222,128;
  --g1:#15803d;--g1-h:#179046;--acc-fg:#6ee7a0;
  --gl-top:rgba(255,255,255,.06);--gl-bot:rgba(255,255,255,.025);--gl-spec:rgba(255,255,255,.12);--gl-edge:rgba(255,255,255,.08);
  --gl-drop:0 1px 2px rgba(0,0,0,.4),0 30px 60px -30px rgba(0,0,0,.75);
  --bar:rgba(14,19,17,.62);
}}
html,body{background:var(--ink);color:var(--fg)}
body{font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:-.006em;-webkit-font-smoothing:antialiased}
code,kbd,pre,.mono{font-family:var(--mono);letter-spacing:0}
.amb{background:radial-gradient(70% 45% at 50% -10%,rgba(var(--acc),.10),transparent 70%),var(--ink)!important}
.amb .orb{opacity:.35!important}

/* no eyebrow tags, no accent fragments, no layer numbers */
.kick,.ln,.sol-c .role,.hero::before{display:none!important}
.dl-tx .kick{display:block!important;font-family:var(--mono);font-size:12px;color:var(--fg-3);font-weight:500}
em.s,.hero h1 em.s,h1 em.s,h2 em.s{color:inherit!important;-webkit-text-fill-color:currentColor!important;font-style:normal!important;background:none!important;font-family:inherit!important}

/* type */
h1,h2,h3{font-family:var(--sans);color:var(--fg);font-weight:500}
h1{font-size:clamp(40px,6vw,76px);line-height:1.02;letter-spacing:-.045em}
h2{font-size:clamp(30px,3.6vw,48px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
h3{font-size:17px;line-height:1.35;font-weight:550;letter-spacing:-.015em}
.lede{font-size:clamp(17px,1.35vw,19px);line-height:1.55;color:var(--fg-2);letter-spacing:-.008em;text-wrap:pretty}
p{color:var(--fg-2)}

/* header: floating glass pill */
.hd{padding-top:calc(12px + env(safe-area-inset-top,0px))!important}
.hd .hd-in,.hd:not(.scrolled) .hd-in,.hd.scrolled .hd-in{max-width:1080px;height:var(--hh)!important;border-radius:999px!important;padding:0 8px 0 20px;
  background:linear-gradient(180deg,var(--gl-top),var(--gl-bot)),var(--bar)!important;border:1px solid var(--gl-edge)!important;
  box-shadow:inset 0 1px 0 var(--gl-spec),var(--gl-drop)!important;backdrop-filter:blur(24px) saturate(160%)!important;-webkit-backdrop-filter:blur(24px) saturate(160%)!important}
.tabs a,.tabs .dd-btn{font-size:14px;font-weight:500;color:var(--fg-2);border-radius:999px;padding:7px 12px}
.tabs a:hover,.tabs .dd-btn:hover,.tabs a[aria-current="page"]{color:var(--fg)}
.logo{gap:9px;color:var(--fg)}
.logo .emb{width:26px;height:26px;flex:none;display:block}
.logo .wm{font-family:var(--sans);font-size:19px;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--fg)}
.logo.lg .emb{width:32px;height:32px}.logo.lg .wm{font-size:23px}
main{padding-top:calc(var(--hh) + 12px)}
.mega,.sheet{font-family:var(--sans)}

/* buttons */
.btn{height:44px;border-radius:999px!important;font-size:15px;font-weight:550;letter-spacing:-.01em;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-med) var(--ease)}
.btn.sm{height:36px;font-size:14px}
.btn.p,.paper .btn.p{background:var(--g1)!important;color:#fff!important;border:1px solid transparent!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(0,0,0,.12)!important}
.btn.p:hover{background:var(--g1-h)!important;transform:none}
.btn.o,.paper .btn.o{background:linear-gradient(180deg,var(--gl-top),var(--gl-bot))!important;border:1px solid var(--line-2)!important;color:var(--fg)!important;box-shadow:inset 0 1px 0 var(--gl-spec)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.btn.o:hover{border-color:rgba(var(--hi),.24)!important}

/* liquid glass: gradient body, specular top edge, hairline, soft drop */
.glass,.glass.rv,.plan,.pcard,.paper .pcard{background:linear-gradient(180deg,var(--gl-top),var(--gl-bot))!important;border:1px solid var(--gl-edge)!important;border-radius:var(--r-card)!important;
  box-shadow:inset 0 1px 0 var(--gl-spec),inset 0 -1px 0 rgba(var(--hi),.02),var(--gl-drop)!important;backdrop-filter:blur(24px) saturate(160%)!important;-webkit-backdrop-filter:blur(24px) saturate(160%)!important}
@media (hover:hover){a.glass:hover,.plan:hover{transform:translateY(-2px);border-color:var(--line-2)!important}}

/* rhythm */
.sec{padding-block:clamp(72px,9vw,128px)}
.sh{max-width:760px;margin:0 0 clamp(32px,4vw,48px)}
.sh h2{margin:0}.sh .lede{margin-top:16px}
.w{max-width:1200px}

/* hero: centred statement, console below, soft aurora */
.hero.v7{padding-block:clamp(56px,8vw,104px) 0;text-align:center;isolation:isolate}
.hero.v7 #net{display:none!important}
.aura{position:absolute;inset:-120px 0 0;z-index:-1;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.aura i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}
.aura i:nth-child(1){width:46vw;height:46vw;max-width:640px;max-height:640px;left:8%;top:-8%;background:radial-gradient(circle,rgba(34,197,94,.30),transparent 65%)}
.aura i:nth-child(2){width:40vw;height:40vw;max-width:560px;max-height:560px;right:6%;top:4%;background:radial-gradient(circle,rgba(20,184,166,.22),transparent 65%)}
.aura i:nth-child(3){width:50vw;height:30vw;max-width:720px;left:28%;top:38%;background:radial-gradient(circle,rgba(132,204,22,.12),transparent 65%)}
@media (prefers-color-scheme:light){.aura i{opacity:.4}}
.hero.v7 .hero-c{max-width:920px;margin:0 auto}
.hero.v7 h1{max-width:none;margin:0 auto 24px;font-size:clamp(40px,7vw,92px);line-height:1;letter-spacing:-.05em}
.hero.v7 h1 .hl{color:var(--fg-3)}
.hero.v7 .lede{max-width:56ch;margin:0 auto}
.hero.v7 .ctas{justify-content:center;margin-top:32px}
.hero.v7 .hero-g{display:block!important}
.hero.v7 .hero-viz{max-width:940px;margin:clamp(48px,6vw,72px) auto 0;padding:0;text-align:left;perspective:none}
.hero.v7 .console{transform:none!important;border-radius:16px!important}

/* works-with strip */
.mq{margin-top:clamp(56px,7vw,88px)}
.mq-l{font-size:13px;color:var(--fg-3);text-align:center;letter-spacing:0;text-transform:none}

/* split: heading left, content right */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.split-h h2{margin:0 0 16px}
.split-h .ctas{margin-top:28px}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}

/* rows: hairlines instead of cards */
.rows{list-style:none;margin:0;padding:0}
.rows li{display:block;padding:24px 0;border-top:1px solid var(--line-2)}
.rows li:last-child{border-bottom:1px solid var(--line-2)}
.rows h3{margin:0 0 6px}.rows p{margin:0;max-width:60ch}

/* list table */
.ltab{display:block;overflow:hidden;padding:0!important}
.ltab>[role=row]{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr) 20px;gap:24px;align-items:center;padding:18px 24px;color:var(--fg-2);text-decoration:none;border-top:1px solid var(--line);transition:background var(--t-fast) var(--ease)}
.ltab>[role=row]:first-child{border-top:0}
.ltab>div[role=row]{grid-template-columns:minmax(140px,220px) minmax(0,1fr)}
.ltab b{color:var(--fg);font-weight:550;font-size:15px}
.ltab span{font-size:15px}
.ltab code{font-size:13px;color:var(--fg)}
.ltab>a[role=row]::after{content:"→";color:var(--fg-3);transition:transform var(--t-fast) var(--ease)}
@media (hover:hover){.ltab>a[role=row]:hover{background:rgba(var(--hi),.03)}.ltab>a[role=row]:hover::after{transform:translateX(3px);color:var(--fg)}}
@media (max-width:640px){.ltab>[role=row],.ltab>div[role=row]{grid-template-columns:minmax(0,1fr) 20px;gap:4px 12px;padding:16px 18px}.ltab>div[role=row]{grid-template-columns:minmax(0,1fr)}.ltab span{grid-column:1}.ltab>a[role=row]::after{grid-row:1/3;grid-column:2}}

/* metrics: big numbers on hairlines */
#metrics-sec .metrics{background:none!important;border:0!important;border-top:1px solid var(--line-2)!important;border-bottom:1px solid var(--line-2)!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;margin:0}
.metrics b{font-family:var(--sans);font-weight:500;font-size:clamp(36px,4vw,56px);letter-spacing:-.045em;color:var(--fg)}
.metrics b small{font-size:.5em;color:var(--fg-3);margin-left:2px}
.metrics span{color:var(--fg-2);font-size:14px}
.metrics-src{margin-top:16px;font-size:13px;color:var(--fg-3);text-align:center}
.metrics-src a{color:var(--fg-2)}

/* enterprise band */
.ent{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);padding:clamp(28px,5vw,56px)!important;align-items:start}
.ent h2{margin:0 0 16px}.ent .ctas{margin-top:28px}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;margin:0}
.facts dt{font-weight:550;color:var(--fg);font-size:15px;margin-bottom:4px}
.facts dd{margin:0;color:var(--fg-2);font-size:14px;line-height:1.5}
@media (max-width:900px){.ent{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.facts{grid-template-columns:minmax(0,1fr)}}

/* roadmap timeline */
.tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}
.tl li{padding-top:20px;border-top:2px solid var(--line-2)}
.tl li.now{border-top-color:var(--g1)}
.tl .when{display:block;font-family:var(--mono);font-size:12px;color:var(--fg-3);margin-bottom:10px}
.tl li.now .when{color:var(--acc-fg)}
.tl h3{margin:0 0 6px}.tl p{margin:0;font-size:15px}

.faqw{max-width:880px}
.cta{text-align:center;padding:clamp(48px,7vw,96px) clamp(20px,4vw,48px)!important;margin-block:clamp(48px,7vw,96px) clamp(72px,9vw,128px)}
.cta h2{margin:0 auto 16px;max-width:18ch}.cta .lede{margin:0 auto}.cta .ctas{justify-content:center;margin-top:32px}
.cta .coin,.floor,.plinth,.fchip,.trust,.ibar{display:none!important}

/* page heads */
.ph-h.c{text-align:center;max-width:860px;margin-inline:auto}
.ph-h.c .lede{margin-inline:auto}.ph-h.c .ctas{justify-content:center;margin-top:28px}

/* dashboard illustration */
.dmock{margin:clamp(40px,6vw,64px) auto 0;max-width:1000px;overflow:hidden;padding:0!important}
.dm-bar{display:flex;align-items:center;gap:14px;height:44px;padding:0 16px;border-bottom:1px solid var(--line)}
.dm-t{font-size:13px;color:var(--fg-3)}
.dm-in{display:grid;grid-template-columns:180px minmax(0,1fr)}
.dm-nav{display:flex;flex-direction:column;gap:2px;padding:16px 10px;border-right:1px solid var(--line)}
.dm-nav span{font-size:13px;color:var(--fg-3);padding:7px 10px;border-radius:8px}
.dm-nav .on{color:var(--fg);background:rgba(var(--hi),.06)}
.dm-main{padding:20px 24px 24px}
.dm-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.dm-h b{font-weight:550;color:var(--fg)}.dm-h span{font-family:var(--mono);font-size:12px;color:var(--fg-3)}
.dm-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 76px;gap:16px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}
.dm-row code{font-size:13px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-row span{font-size:13px;color:var(--fg-3)}
.dm-row em{font-style:normal;font-family:var(--mono);font-size:11px;font-weight:600;text-align:center;padding:3px 0;border-radius:999px;border:1px solid}
.st-pass{color:var(--acc-fg);border-color:rgba(var(--acc),.35)!important}
.st-fail{color:#e5484d;border-color:rgba(229,72,77,.4)!important}
.st-nr{color:var(--fg-3);border-color:var(--line-2)!important}
.dmock figcaption{font-size:12px;color:var(--fg-3);padding:10px 24px;border-top:1px solid var(--line)}
@media (max-width:720px){.dm-in{grid-template-columns:minmax(0,1fr)}.dm-nav{display:none}.dm-row{grid-template-columns:minmax(0,1fr) 72px}.dm-row span{display:none}.dm-main{padding:12px 16px 16px}}

/* ===== v7.1: taste pass — sentence-case labels, ruled lists not card grids, tabular data, grain ===== */
.chip,.mq-l,.tier-l,.ptab thead th,.dt thead th,.dgrp h4,.dbody .crumb,.dpg small,.dmeta,.mega-k,.who .role,.sol .role,.dcard .k,.stages .when,.lb,.gloss dt,.done-l li,.chips-row span,.bento small.s,.frames b,.ib-v,.hp-for,.wall .wk,.tl .when,small{text-transform:none!important;letter-spacing:0!important}
.g3:not(.vis),.g4,.stages{display:grid!important;grid-template-columns:1fr!important;gap:0!important;counter-reset:none}
.g3:not(.vis)>*,.g4>*,.stages>li{display:grid!important;grid-template-columns:minmax(160px,300px) 1fr;column-gap:48px;row-gap:4px;align-items:baseline;background:none!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:24px 0!important;transform:none!important}
.g3:not(.vis)>*:last-child,.g4>*:last-child,.stages>li:last-child{border-bottom:1px solid var(--line)!important}
.g3:not(.vis)>*>*,.g4>*>*,.stages>li>*{grid-column:1;margin:0!important}
.g3:not(.vis)>*>p,.g4>*>p,.stages>li>p,.g4 .more{grid-column:2!important;grid-row:1/span 3}
.g4 .more{grid-row:auto;align-self:end}
.g3:not(.vis) .ico{display:none}
.stages .when{float:none!important;order:-1;font-family:var(--mono);font-size:13px;color:var(--fg-3)}
.g3:not(.vis)>* h3,.g4 h3,.stages h3{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.01em}
.g3:not(.vis)>* p,.g4 p,.stages p{color:var(--fg-2);max-width:62ch}
.g4 .k{font-family:var(--mono);font-size:13px;color:var(--fg-3);font-weight:500}
.g3.vis{gap:32px!important}
.g3.vis>*{background:none!important;border:0!important;border-top:2px solid var(--fg)!important;border-radius:0!important;box-shadow:none!important;padding:20px 0 0!important}
@media (max-width:760px){.g3:not(.vis)>*,.g4>*,.stages>li{grid-template-columns:1fr}.g3:not(.vis)>*>p,.g4>*>p,.stages>li>p,.g4 .more{grid-column:1!important;grid-row:auto}}
table,.ltab,.metrics,.dmock,td,.num{font-variant-numeric:tabular-nums}
p,li,dd{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
:root[data-theme="dark"] body::after{mix-blend-mode:screen;opacity:.025}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body::after{mix-blend-mode:screen;opacity:.025}}
.btn:active{transform:scale(.98)}
html :is(.g3:not(.vis),.g4,.stages)>.glass{background:none!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html :is(.g3:not(.vis),.g4,.stages)>.glass:last-child{border-bottom:1px solid var(--line)!important}
html :is(.g3:not(.vis),.g4,.stages)>.glass::before,html :is(.g3:not(.vis),.g4,.stages)>.glass::after{display:none!important}

/* install-as-app guide (iPhone/iPad) */
.a2hs{max-width:min(420px,calc(100vw - 32px));padding:28px;color:var(--fg);border-radius:20px!important}
.a2hs::backdrop{background:rgba(8,12,10,.45);backdrop-filter:blur(6px)}
.a2hs h2{font-size:22px;line-height:1.25;margin:0 0 16px;letter-spacing:-.01em}
.a2hs ol{margin:0 0 14px;padding-left:20px;display:grid;gap:10px;font-size:16px}
.a2hs .i{width:18px;height:18px;vertical-align:-3px;color:var(--acc-fg)}
.a2hs p{color:var(--fg-2);font-size:14px;margin:0 0 20px}
[hidden].pwa-btn{display:none!important}
/* ===== v7.2: tighter rhythm, Schibsted Grotesk + IBM Plex Mono, flow stepper, set up block, green glass ===== */
:root{
  --sans:"Schibsted Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--serif:var(--sans);
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gl-tint:rgba(21,128,61,.05);--gl-ring:rgba(21,128,61,.16);
}
@media (prefers-color-scheme:dark){:root{--gl-tint:rgba(74,222,128,.045);--gl-ring:rgba(74,222,128,.18)}}
body{font-feature-settings:"ss01","cv01";letter-spacing:-.003em}
h1,h2{letter-spacing:-.028em;font-weight:650}
h3{letter-spacing:-.012em}
/* rhythm */
.sec{padding-top:clamp(56px,6vw,88px);padding-bottom:clamp(56px,6vw,88px)}
.sec+.sec{padding-top:0}
.hero{padding-top:clamp(40px,5vw,72px)}
.hero-viz{margin-top:clamp(36px,4vw,56px)}
.ph-h{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(24px,3vw,40px)}
.ent{margin-bottom:clamp(48px,5vw,72px)}
.cta{margin-bottom:clamp(56px,6vw,80px)}
.sh{margin-bottom:clamp(24px,3vw,40px)}
/* green glass */
.glass,.glass.rv,.plan,.pcard{background:linear-gradient(180deg,var(--gl-tint),transparent 55%),linear-gradient(180deg,var(--gl-top),var(--gl-bot))!important}
.glass:is(a,button):hover{box-shadow:inset 0 0 0 1px var(--gl-ring),var(--gl-drop)}
.tabs .ind{background:rgba(var(--acc),.12)!important;box-shadow:inset 0 0 0 1px var(--gl-ring)}
.pnav button[aria-current="true"]{color:var(--acc-fg);box-shadow:inset 0 -2px 0 var(--acc-fg)}
/* pulsing period */
.pd{color:var(--acc-fg);display:inline-block;animation:pd 2.4s var(--ease) infinite}
@keyframes pd{0%,100%{opacity:1}50%{opacity:.25}}
.dots::after{content:"…";display:inline-block;width:1.1em;text-align:left;color:var(--acc-fg);animation:pd 1.6s steps(4) infinite}
/* flow stepper */
.lflow{display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none;padding:4px 2px 18px;margin-bottom:8px}
.lflow::-webkit-scrollbar{display:none}
.lfs{flex:none;display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:0;padding:4px 6px;color:var(--fg-3);font:500 13px/1 var(--sans);cursor:pointer;min-width:72px}
.lfs b{font-weight:550;white-space:nowrap}
.fdot{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--ink);transition:all var(--t-med) var(--ease)}
.lfs.done .fdot{background:var(--acc-fg);border-color:var(--acc-fg)}
.lfs[aria-selected="true"]{color:var(--fg)}
.lfs[aria-selected="true"] .fdot{background:var(--acc-fg);border-color:var(--acc-fg);box-shadow:0 0 0 5px rgba(var(--acc),.16)}
.lfs:hover{color:var(--fg)}
.lfs:focus-visible{outline:2px solid var(--acc-fg);outline-offset:2px;border-radius:8px}
.fc{flex:1 1 24px;min-width:20px;height:1.5px;background:var(--line-2);margin-bottom:23px;position:relative;overflow:hidden}
.fc.on{background:var(--acc-fg)}
.fc.run{background:var(--line-2)}
.fc.run::after{content:"";position:absolute;inset:0;background:var(--acc-fg);transform-origin:left;animation:fcrun 5.2s linear forwards}
@keyframes fcrun{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.lflow-d{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(20px,3vw,40px);padding:clamp(20px,3vw,36px);border-radius:var(--r-card);view-transition-name:flowd}
.fd-n{font:500 12px/1 var(--mono);color:var(--fg-3);letter-spacing:.04em}
.fd-t h3{font-size:clamp(22px,2.4vw,30px);line-height:1.15;margin:12px 0 10px;letter-spacing:-.02em}
.fd-t p{color:var(--fg-2);margin:0 0 16px;max-width:52ch}
.fd-m{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-width:0}
.fd-m .metric{margin:0}
.fd-m .code{overflow-x:auto;white-space:nowrap}
@media (max-width:760px){.lflow-d{grid-template-columns:1fr}.lfs{min-width:64px}}
/* set up */
.su-sec .sh{text-align:left}
.su-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.su-p{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:var(--r-card);color:var(--fg);text-decoration:none;transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}
.su-p:hover{transform:translateY(-2px)}
.su-p b{font-size:18px;font-weight:600}
.su-p p{color:var(--fg-2);font-size:14px;margin:0;flex:1}
.su-go{display:inline-flex;align-items:center;gap:6px;color:var(--acc-fg);font-size:14px;font-weight:550}
.su-go .i{width:14px;height:14px;transition:transform var(--t-med) var(--ease)}
.su-p:hover .su-go .i{transform:translateX(3px)}
.su-uni{margin-top:12px;padding:20px;border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--gl-ring),var(--gl-drop)}
.su-uh{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:12px}
.su-uh b{font-weight:600}
.su-uh span{color:var(--fg-2);font-size:14px}
.su-uni pre,.su-uni .cb{max-width:100%;overflow-x:auto}
.su-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.su-a{display:grid;grid-template-columns:auto 1fr;gap:12px 14px;padding:18px;border-radius:var(--r-card);align-items:start}
.su-a b{font-weight:600}
.su-a p{color:var(--fg-2);font-size:14px;margin:4px 0 0}
.su-a>.btn,.su-a>.su-b{grid-column:1/-1;justify-self:start}
.su-b{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:900px){.su-paths,.su-apps{grid-template-columns:1fr}}
/* footer link button */
button.lnk{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
button.lnk:hover{color:var(--fg)}
/* install dialog */
.a2-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.a2-head img{border-radius:13px;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.a2-head h2{margin:0 0 2px}
.a2-head p{margin:0}
.a2hs ol{list-style:none;padding:0}
.a2hs li{display:flex;gap:12px;align-items:flex-start}
.a2n{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:600 12px/1 var(--mono);background:rgba(var(--acc),.12);color:var(--acc-fg)}
.a2-f{display:flex;justify-content:flex-end;gap:8px}
.a2hs .m-ios,.a2hs .m-inapp,.a2hs .m-android,.a2hs .m-desktop,.a2hs .m-done{display:none}
.a2hs[data-mode="ios"] .m-ios{display:grid}
.a2hs[data-mode="inapp"] .m-inapp,.a2hs[data-mode="android"] .m-android,.a2hs[data-mode="desktop"] .m-desktop,.a2hs[data-mode="done"] .m-done{display:block}
.a2hs[data-mode="inapp"] .a2-f .m-inapp{display:inline-flex}
/* smooth: blur only where it reads (bars, menus, dialogs); cards on touch or narrow screens paint flat, no per-card GPU blur while scrolling */
@media (hover:none),(max-width:900px){.page .glass,.page .plan,.page .pcard{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.glass::before,.glass::after{display:none!important}}

/* dialogs open and close with motion, no jump */
dialog.a2hs{opacity:0;transform:translateY(8px) scale(.98);transition:opacity .22s var(--ease),transform .22s var(--ease),overlay .22s allow-discrete,display .22s allow-discrete}
dialog.a2hs[open]{opacity:1;transform:none}
@starting-style{dialog.a2hs[open]{opacity:0;transform:translateY(8px) scale(.98)}}
dialog.a2hs::backdrop{transition:opacity .22s,overlay .22s allow-discrete,display .22s allow-discrete;opacity:0}
dialog.a2hs[open]::backdrop{opacity:1}
@starting-style{dialog.a2hs[open]::backdrop{opacity:0}}
html{-webkit-tap-highlight-color:transparent}
button,a,.lfs{touch-action:manipulation}
@media (prefers-reduced-motion:reduce){.pd,.dots::after,.fc.run::after{animation:none}.fc.run{background:var(--acc-fg)}.su-p:hover{transform:none}dialog.a2hs,dialog.a2hs::backdrop{transition:none}}
