/* Sleeve site v5. Tokens follow the Sleeve app design system (surfaces, gain/loss, Inter for UI) with the brand violet to cyan. */
@font-face{font-family:"Funnel Display";src:url(/assets/fonts/FunnelDisplay.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/Inter.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --bg:#06070b;--s1:#0b0e14;--s2:#10141b;--s3:#171c25;--app:#090c11;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);--aline:#222936;--aline2:#333d4e;
  --tx:#eef1f6;--mu:#a6afbe;--fa:#8893a5;--dim:#7a8398;
  --v:#7c5cff;--c:#22d3ee;--gain:#3ddc97;--loss:#ff7070;--warn:#ffb938;
  --grad:linear-gradient(135deg,#7c5cff,#22d3ee);
  --f-d:"Funnel Display","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-b:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --e1:cubic-bezier(.22,1,.36,1);--e2:cubic-bezier(.65,0,.35,1);--e3:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.34,1.4,.64,1);
  --wrap:77.5rem;--gut:clamp(20px,4vw,2.5rem);
  --nav:4.25rem;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:clamp(16px,.8334vw,44px);-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom;scroll-padding-top:calc(var(--nav) + 12px)}
html:not(.rm){scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);font:400 1.0625rem/1.55 var(--f-b);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-width:320px;overflow-x:clip;overscroll-behavior-x:none}
img,svg,canvas,picture{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"cv11" 1}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}
.skip{position:absolute;left:12px;top:-300px;z-index:200;background:#fff;color:#000;padding:10px 16px;border-radius:10px;font-weight:600}
.skip:focus{top:12px}
:focus-visible{outline:2px solid #9db2ff;outline-offset:3px;border-radius:8px}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.wrap-wide{max-width:85rem}
.ico{width:1.1em;height:1.1em;flex:none}
.center{text-align:center}

/* type */
h1,h2,h3{font-family:var(--f-d);font-weight:600;letter-spacing:-.035em;line-height:1.02}
h2{font-size:clamp(2.1rem,4.6vw,4rem);text-wrap:balance}
h3{font-size:clamp(1.2rem,1.6vw,1.45rem);letter-spacing:-.02em;line-height:1.15}
.lede{font-size:clamp(1.05rem,1.3vw,1.28rem);line-height:1.5;color:var(--mu);max-width:44ch;margin-top:1.1rem;text-wrap:pretty}
.head{max-width:760px;margin-bottom:clamp(36px,5.5vw,76px)}
.head.center{margin-inline:auto;text-align:center}
.head.center .lede{margin-inline:auto}
.note-s{font-size:.8rem;color:var(--fa);line-height:1.5}
.note-s.center{text-align:center;margin-top:1rem}

/* sections */
.sec{position:relative;padding:clamp(52px,6vw,96px) 0}
section[id]{scroll-margin-top:0}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav);transition:background .5s var(--e1),box-shadow .5s var(--e1),backdrop-filter .5s}
.nav.scrolled,.nav.open{background:rgba(6,7,11,.74);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 1px 0 var(--line)}
.nav-in{height:var(--nav);display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:10px;font:600 1.3rem/1 var(--f-d);letter-spacing:-.03em}
.brand-mark{width:30px;height:30px}
.nav-links{display:none;margin-left:auto;gap:6px}
.nav-links a{position:relative;padding:8px 14px;border-radius:999px;font-size:.92rem;color:var(--mu);transition:color .3s,background .3s}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav-cta{margin-left:auto}
.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:0 11px;margin-right:-11px}
.nav-toggle span{display:block;height:1.8px;background:#fff;border-radius:2px;transition:transform .5s var(--e1)}
.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.9px) rotate(45deg)}
.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.9px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:var(--nav) 0 auto 0;height:calc(100dvh - var(--nav));padding:20px var(--gut) calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:4px;background:#06070b}
.mobile-menu[hidden]{display:none}
.mobile-menu a:not(.btn){font:600 2rem/1.1 var(--f-d);letter-spacing:-.03em;padding:14px 0;border-bottom:1px solid var(--line)}
.mobile-menu .btn{margin-top:22px;align-self:stretch;justify-content:center}
.mobile-menu>*{opacity:0;transform:translateY(14px);transition:opacity .5s var(--e1) calc(var(--i,0)*55ms),transform .6s var(--e1) calc(var(--i,0)*55ms)}
.mobile-menu.show>*{opacity:1;transform:none}
@media(min-width:900px){.nav-links{display:flex}.nav-toggle{display:none}.nav-cta{margin-left:8px}}
@media(max-width:899px){.nav-cta{margin-left:auto;margin-right:2px}.nav-toggle{margin-left:0}}

/* buttons */
.btn{--mx:0px;--my:0px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;height:2.75rem;padding:0 1.25rem;border-radius:.875rem;background:#f4f6fb;color:#06070b;font:600 .95rem/1 var(--f-b);letter-spacing:-.01em;white-space:nowrap;isolation:isolate;transform:translate3d(var(--mx),var(--my),0);transition:transform .45s var(--e1),box-shadow .45s var(--e1),background .3s;box-shadow:0 0 0 1px rgba(255,255,255,.4) inset,0 8px 30px -8px rgba(124,92,255,.55)}
.btn::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--grad);opacity:0;transition:opacity .45s var(--e1);z-index:-1}
.btn>span,.btn>svg{transition:transform .45s var(--e1)}
@media(hover:hover){
.btn:hover::before{opacity:1}
.btn:hover{box-shadow:0 0 0 1px rgba(255,255,255,.5) inset,0 14px 44px -8px rgba(124,92,255,.8)}
.btn:hover svg{transform:translateX(3px)}
}
.btn:active{transform:translate3d(var(--mx),var(--my),0) scale(.97)}
.btn-sm{height:2.4rem;padding:0 1rem;font-size:.88rem;border-radius:.75rem}
.btn-lg{height:3.25rem;padding:0 1.5rem;font-size:1rem;border-radius:1rem}
.btn[disabled]{opacity:.6;pointer-events:none}

/* glass cards with a hover light sweep that follows the pointer */
.glass{position:relative;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border:1px solid var(--line);box-shadow:0 30px 80px -40px rgba(0,0,0,.8);overflow:hidden;isolation:isolate}
[data-glow]{--px:50%;--py:0%;--gl:0}
.glass::before,.app::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background:radial-gradient(520px circle at var(--px) var(--py),rgba(124,92,255,.16),rgba(34,211,238,.06) 40%,transparent 70%);opacity:var(--gl);transition:opacity .5s var(--e1)}
.glass::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.09),transparent);transform:translateX(0) skewX(-18deg);opacity:0;z-index:0}
@media(hover:hover){.glass:hover::after{animation:sweep 1.1s var(--e1) 1}}
@keyframes sweep{0%{transform:translateX(0) skewX(-18deg);opacity:0}15%{opacity:1}100%{transform:translateX(420%) skewX(-18deg);opacity:0}}
.glass>*{position:relative;z-index:1}

/* reveal: starts before the element is on screen, short travel, staggered. Only hidden when JS can undo it. */
.js [data-rv]{opacity:0;transform:translate3d(0,22px,0);transition:opacity .7s var(--e1) calc(var(--i,0)*50ms),transform .85s var(--e1) calc(var(--i,0)*50ms)}
.js [data-rv].in{opacity:1;transform:none}
.js [data-rv].in.settled{transition:none}
.js .fastscroll [data-rv]{transition-duration:.25s;transition-delay:0s}
.rm [data-rv],.rm [data-rv].in{opacity:1;transform:none;transition:none}

/* hero */
.hero-run{position:relative;height:calc(100svh + 60vh);--hp:0}
.hero{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:var(--bg)}
.hero-gl{position:absolute;inset:0}
.hero-gl canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s var(--e1)}
.gl-on .hero-gl canvas{opacity:1}
.hero-fallback{position:absolute;inset:0;opacity:0;transition:opacity .6s;animation:showfb .6s 7s forwards}
@keyframes showfb{to{opacity:1}}
.gl-on .hero-fallback{animation:none;opacity:0}
.hero-fallback img{width:100%;height:100%;object-fit:cover}
.gl-off .hero-fallback{animation:none;opacity:1}
.hero-scrim{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(5,6,10,.94) 0%,rgba(5,6,10,.82) 26%,rgba(5,6,10,.42) 48%,rgba(5,6,10,0) 68%),
  linear-gradient(180deg,rgba(5,6,10,.5) 0,rgba(5,6,10,0) 18%,rgba(5,6,10,0) 72%,var(--bg) 100%)}
.hero-in{position:absolute;inset:0;display:flex;align-items:center;pointer-events:none}
.hero-copy{pointer-events:auto;width:100%;min-width:0;max-width:44rem;padding-top:var(--nav);will-change:transform,opacity}
.hero-h{margin-bottom:.1em;font-size:clamp(2.95rem,6.2vw,6.2rem);line-height:.96;letter-spacing:-.045em;font-weight:600;color:#fff}
.hero-h .ln{display:block}
.hero-h .dim{color:#c3cad8}
.hero-h .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .14em;margin:0 -.04em -.14em}
.hero-h .w>span{display:inline-block}
.js .hero-h .w>span{transform:translate3d(0,108%,0)}
.js .loaded .hero-h .w>span{transform:none;transition:transform 1.15s var(--e3) calc(var(--wi,0)*75ms + 120ms)}
.hero-sub{margin-top:clamp(34px,4vw,54px);font-size:clamp(1.05rem,1.35vw,1.3rem);line-height:1.5;color:#dde2ec;max-width:34em;text-wrap:pretty}

.js [data-hero-rise]{opacity:0;transform:translate3d(0,18px,0)}
.js .loaded [data-hero-rise]{opacity:1;transform:none;transition:opacity 1s var(--e1) calc(var(--i)*110ms + 200ms),transform 1.1s var(--e1) calc(var(--i)*110ms + 200ms)}
.hero-copy>div[data-hero-rise]{margin-top:clamp(24px,3vw,38px)}
@media(max-width:760px){
  .hero-in{align-items:flex-start}
  .hero-copy{padding-top:calc(var(--nav) + clamp(18px,5vh,56px))}
  .hero-scrim{background:linear-gradient(180deg,rgba(5,6,10,.9) 0%,rgba(5,6,10,.78) 36%,rgba(5,6,10,.25) 58%,rgba(5,6,10,0) 70%,rgba(5,6,10,0) 84%,var(--bg) 100%)}
  .hero-run{height:calc(100svh + 46vh)}
}

/* forms */
.wl{max-width:32.5rem}
.wl-row{display:flex;gap:6px;padding:6px;border-radius:20px;background:rgba(10,12,18,.72);border:1px solid var(--line2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .4s,box-shadow .5s var(--e1)}
.wl-row:focus-within{border-color:rgba(124,92,255,.8);box-shadow:0 0 0 4px rgba(124,92,255,.18),0 20px 60px -20px rgba(124,92,255,.5)}
.wl input[type=email]{flex:1;min-width:0;height:3.25rem;padding:0 16px;border:0;background:transparent;color:#fff;font:500 1rem var(--f-b);outline:0;border-radius:14px}
.wl input::placeholder{color:#8e98ab}
.wl .btn{flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{min-height:1.5em;margin-top:10px;padding-left:6px;font-size:.9rem;color:var(--mu)}
.form-msg.err{color:#ff9a9a}
.form-msg:empty{min-height:0;margin:0}
.done-card{display:flex;gap:14px;align-items:center;max-width:520px;padding:18px 20px;border-radius:20px;background:rgba(10,12,18,.72);border:1px solid rgba(61,220,151,.35);animation:pop .8s var(--e1)}
.done-card[hidden]{display:none}
.done-card p{color:var(--mu);font-size:.95rem}
.done-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(61,220,151,.14);color:var(--gain)}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:560px){.wl-row{flex-direction:column}.wl .btn{width:100%}.wl input[type=email]{height:50px}}

/* statement */
.statement{padding:clamp(30px,5vw,70px) 0 clamp(20px,3vw,40px)}
.lit{font:500 clamp(1.8rem,4.3vw,3.7rem)/1.12 var(--f-d);letter-spacing:-.035em;max-width:22em;text-wrap:balance}
.lit .lw{color:#7a8398;transition:color .2s linear}
.rm .lit .lw,.no-lit .lit .lw{color:#eef1f6}

/* footer */
.footer{border-top:1px solid var(--line);padding:56px 0 calc(48px + env(safe-area-inset-bottom));background:#05060a}
.foot-top{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;margin-bottom:34px}
.footer nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.footer nav a{color:var(--mu);font-size:.95rem;transition:color .3s}
.footer nav a:hover{color:#fff}
.disclaimer{max-width:82ch;font-size:.82rem;line-height:1.6;color:#8d97aa;margin-bottom:12px}
.disclaimer strong{font-weight:600;color:#a9b2c2}
.copy{margin-top:22px;font-size:.82rem;color:#7a8398}

/* mobile dock (one action) */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(6,7,11,0),rgba(6,7,11,.92) 38%);transform:translateY(110%);transition:transform .6s var(--e1);pointer-events:none;display:none}
.dock .btn{width:100%}
.dock.on{transform:none;pointer-events:auto}
@media(max-width:760px){.dock{display:block}}

/* fallback art (no WebGL, or no JS): keep the words readable over the picture */
.gl-off .hero-scrim,html:not(.js) .hero-scrim{background:linear-gradient(90deg,rgba(5,6,10,.97) 0%,rgba(5,6,10,.9) 40%,rgba(5,6,10,.55) 64%,rgba(5,6,10,.15) 100%),linear-gradient(180deg,rgba(5,6,10,.5) 0,rgba(5,6,10,0) 18%,rgba(5,6,10,0) 72%,var(--bg) 100%)}
.gl-off .hero-fallback img,html:not(.js) .hero-fallback img{object-position:82% 50%}
@media(max-width:760px){.gl-off .hero-scrim,html:not(.js) .hero-scrim{background:linear-gradient(180deg,rgba(5,6,10,.95) 0%,rgba(5,6,10,.88) 45%,rgba(5,6,10,.35) 70%,rgba(5,6,10,.1) 85%,var(--bg) 100%)}}
/* App windows: the actual Sleeve app look (surfaces, borders, gain/loss, Inter), fluid in their container */
.app{position:relative;container-type:inline-size;background:var(--app);border:1px solid var(--aline);border-radius:20px;overflow:hidden;color:#eef1f6;font-family:var(--f-b);box-shadow:0 50px 140px -30px rgba(0,0,0,.9),0 0 0 1px rgba(124,92,255,.07),0 0 120px -30px rgba(124,92,255,.35);isolation:isolate}
.app>*{position:relative;z-index:1;font-size:clamp(10.5px,1.32cqw,.92rem);line-height:1.4}
.app small{font-size:.82em;color:#8893a5;font-weight:400}
.app h4{font:600 1em/1.2 var(--f-b);letter-spacing:0;margin:0}
.app p{margin:0}
.app .sub{color:#8893a5;font-size:.86em}
.app-bar{display:flex;align-items:center;gap:1.4em;padding:.85em 1.2em;border-bottom:1px solid var(--aline);background:#0b0e14}
.app-brand{display:inline-flex;align-items:center;gap:.55em;font:600 1.1em var(--f-d);letter-spacing:-.02em}
.app-brand .brand-mark{width:1.7em;height:1.7em}
.app-tabs{display:none;gap:.15em}
.app-tabs i{font-style:normal;padding:.35em .8em;border-radius:.6em;color:#8893a5;font-size:.88em}
.app-tabs i.on{background:#1a2547;color:#c4d0ff}
.app-end{margin-left:auto;display:flex;align-items:center;gap:.9em}
.crumb{color:#8893a5;font-size:.9em}.crumb b{color:#eef1f6;font-weight:500}
@container (min-width:620px){.app-tabs{display:flex}}
.live{display:inline-flex;align-items:center;font-size:.82em;color:#a6afbe;white-space:nowrap}
.live b{width:.5em;height:.5em;border-radius:50%;background:var(--gain);margin-right:.5em;flex:none}
@container (max-width:520px){.app-end .live{display:none}}
.tag{display:inline-block;font-size:.76em;font-weight:500;padding:.12em .55em;border-radius:.45em;color:#ffb938;background:rgba(255,185,56,.09);border:1px solid rgba(255,185,56,.3);white-space:nowrap;line-height:1.5}
.up{color:var(--gain)}.dn{color:var(--loss)}
.card{background:#10141b;border:1px solid var(--aline);border-radius:1em;padding:1.05em 1.15em}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:1em;margin-bottom:.7em}
.seg{display:inline-flex;gap:.2em;padding:.2em;border-radius:.7em;background:#171c25;border:1px solid var(--aline)}
.seg button{padding:.25em .8em;border-radius:.5em;font-size:.82em;color:#8893a5;transition:background .3s var(--e1),color .3s}
.seg button.on{background:#262e3e;color:#fff}
.legend{display:flex;flex-wrap:wrap;gap:1.2em;margin-top:.7em;font-size:.82em;color:#8893a5}
.legend i{display:inline-block;width:.7em;height:.7em;border-radius:50%;margin-right:.55em;vertical-align:-.05em;background:var(--grad)}
.legend i.k2{background:none;border:.14em dashed #8893a5}
.chart{position:relative;height:15.5em;margin-top:.6em}
.chart canvas{position:absolute;inset:0;width:100%;height:100%}
.chart-s{height:8.5em;margin:0}
.chart-xl{height:100%;min-height:22em;margin:0}
.tip{position:absolute;left:0;top:0;pointer-events:none;padding:.5em .7em;border-radius:.6em;background:rgba(23,28,37,.96);border:1px solid var(--aline2);font-size:.82em;white-space:nowrap;opacity:0;transition:opacity .25s;transform:translate3d(-50%,-120%,0)}
.tip b{font-weight:600}.tip span{display:block;color:#8893a5}

/* overview mock */
.ov{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:1em;padding:1.2em}
@container (max-width:700px){.ov{grid-template-columns:1fr}.ov-side{display:none}}
.ov-main,.ov-side{display:grid;gap:1em;align-content:start}
.ov-top{display:flex;justify-content:space-between;gap:1em;align-items:flex-start}
.ov-top small{display:flex;align-items:center;gap:.6em}
.big{display:block;font:600 2.6em/1.1 var(--f-d);letter-spacing:-.03em;margin:.15em 0 .1em}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:.7em}
.tiles-3{grid-template-columns:repeat(3,1fr)}
.tile{background:#10141b;border:1px solid var(--aline);border-radius:.9em;padding:.8em .95em;display:grid;gap:.15em}
.tile b{font:600 1.55em/1.15 var(--f-d);letter-spacing:-.02em}
.tile span{font-size:.8em;color:#8893a5}
.lane{display:grid;grid-template-columns:minmax(8em,13em) 1fr auto;gap:1em;align-items:center;padding:.7em 0;border-top:1px solid var(--aline)}
.lane:first-of-type{margin-top:.5em}
.ln-n{display:grid}.ln-n b{font-weight:600}.ln-n small{display:block}
.ln-v{font-size:.82em;color:#8893a5;white-space:nowrap}.ln-v.up{color:var(--gain)}
.track{position:relative;height:.5em;border-radius:1em;background:#1b212c;overflow:hidden}
.track i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--w,0)*100%);border-radius:inherit;background:var(--grad)}
.track i.lag{background:linear-gradient(90deg,#4a5368,#8893a5)}
.track u{position:absolute;left:62%;top:-.15em;bottom:-.15em;width:.14em;background:#eef1f6;opacity:.85;border-radius:1px}
@container (max-width:520px){.lane{grid-template-columns:1fr auto;grid-template-areas:"n v" "t t"}.lane .ln-n{grid-area:n}.lane .ln-v{grid-area:v}.lane .track{grid-area:t}}
.watch .wrow{display:grid;grid-template-columns:1fr 5em auto;gap:.9em;align-items:center;padding:.55em .4em;margin:0 -.4em;border-radius:.7em;transition:background .3s var(--e1)}
.watch .wrow:hover{background:#171c25}
.watch .wrow b{font-weight:600}.watch .wrow>span{display:grid}
.watch canvas{width:100%;height:2em}
.watch .px{text-align:right}
.live+.x{display:none}

/* builder mock */
.bld{display:grid;padding:1.2em}
.layer{grid-area:1/1;display:grid;gap:.9em;align-content:start;will-change:opacity,transform}
.prompt{display:flex;gap:.8em;align-items:flex-start;padding:.9em 1em;border-radius:.9em;border:1px solid #2a3350;background:linear-gradient(180deg,#141a2e,#10141b);min-height:3.6em}
.prompt .ico{width:1.4em;height:1.4em;color:#9db2ff;margin-top:.1em}
.prompt .pt{font-size:1.05em;color:#eef1f6;line-height:1.45}
.caret{display:inline-block;width:.12em;height:1.1em;background:#9db2ff;margin-left:.1em;vertical-align:-.2em;animation:blink 1.05s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.ladder{display:grid;gap:.6em}
.blk{display:flex;gap:.9em;padding:.8em 1em;border-radius:.9em;border:1px solid var(--aline);background:#10141b;transition:border-color .5s var(--e1),box-shadow .5s var(--e1)}
.blk.hot{border-color:#5a4bd6;box-shadow:0 0 0 1px rgba(124,92,255,.35),0 10px 40px -14px rgba(124,92,255,.5)}
.bn{flex:none;display:grid;place-items:center;width:1.7em;height:1.7em;border-radius:50%;background:#1a2547;color:#c4d0ff;font-size:.82em;font-weight:600}
.bb{display:grid;gap:.45em;min-width:0}
.bb small{letter-spacing:.02em}
.toks{display:flex;flex-wrap:wrap;gap:.4em;align-items:center}
.tk{padding:.18em .6em;border-radius:.5em;background:#1b2130;border:1px solid var(--aline2);font-size:.92em;white-space:nowrap}
.tk-add{color:#8893a5;border-style:dashed;background:none}
.tk-n{background:#1a2547;border-color:#3b4a8a;color:#c4d0ff;font-weight:600;min-width:2.4em;text-align:center}
.t{color:#a6afbe;font-size:.92em}
.plain p{font-size:1.02em;line-height:1.55;color:#dde3ee}
.plain p .hl{color:#c4d0ff;font-weight:600}
.valid{display:flex;gap:.6em;align-items:flex-start;margin-top:.8em;padding-top:.8em;border-top:1px solid var(--aline);font-size:.86em;color:var(--gain)}
.valid .ico{margin-top:.1em}
.warn{padding:.7em .95em;border-radius:.8em;background:rgba(255,185,56,.08);border:1px solid rgba(255,185,56,.28);color:#ffd48a;font-size:.88em}
.dialog{display:grid;gap:.7em;border-color:#2a3350;background:linear-gradient(180deg,#141a2e,#10141b)}
.dialog .field{display:grid;gap:.2em;padding:.8em 1em;border-radius:.8em;border:1px solid var(--aline2);background:#0b0e14}
.dialog .field b{font:600 1.9em/1.1 var(--f-d);letter-spacing:-.02em}
.notice{font-size:.86em;color:#a6afbe;padding:.6em .8em;border-radius:.7em;background:#171c25}
.btn-fake{display:grid;place-items:center;height:2.9em;border-radius:.8em;background:var(--grad);color:#06070b;font-weight:600;transition:transform .3s var(--spring)}
.btn-fake.press{transform:scale(.965)}
.lane-new .track i{background:var(--grad)}
.racebox{margin-top:0}

/* race mock */
.race-body{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:1em;padding:1.2em}
@container (max-width:640px){.race-body{grid-template-columns:1fr}.chart-xl{min-height:15em}}
.lb{display:grid;gap:.55em;align-content:start;position:relative}
.lb-r{display:grid;grid-template-columns:auto 1fr auto;gap:.8em;align-items:center;padding:.8em .95em;border-radius:.9em;background:#10141b;border:1px solid var(--aline);will-change:transform}
.lb-r .nm{display:grid;min-width:0}.lb-r .nm b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-r .v{font-weight:600;font-size:1.02em}
.sw{width:.8em;height:.8em;border-radius:50%;background:var(--c);box-shadow:0 0 1em var(--c)}
.sw-g{background:none;border:.17em dashed #aab3c5;box-shadow:none}
.lb-r.ghost{background:transparent;border-style:dashed}
.foot{padding:0 1.2em 1.1em}

/* desks feed mock */
.notice-bar{padding:.7em 1.2em;background:#141a2e;border-bottom:1px solid #2a3350;color:#c4d0ff;font-size:.88em}
.feed{display:grid;gap:.9em;padding:1.2em}
.post{padding:1.05em 1.2em;border-radius:1em;background:#10141b;border:1px solid var(--aline);display:grid;gap:.65em;transition:border-color .4s var(--e1),transform .5s var(--e1),box-shadow .5s var(--e1)}
.post:hover{border-color:#3b4a8a;transform:translateY(-3px);box-shadow:0 20px 50px -24px rgba(124,92,255,.5)}
.post-h{display:flex;align-items:center;gap:.8em}
.post-h>span:nth-child(2){display:grid;line-height:1.25}.post-h .tag{margin-left:auto}
.av{display:grid;place-items:center;width:2.1em;height:2.1em;border-radius:.6em;background:#35c6d8;color:#06070b;font-weight:700}
.av2{background:#f2a93b}.av3{background:#9db2ff}
.post h4{font:600 1.15em/1.3 var(--f-d);letter-spacing:-.015em}
.rule{display:flex;flex-wrap:wrap;gap:.6em;align-items:center;padding:.5em .7em;border-radius:.6em;background:#0b0e14;border:1px solid var(--aline);font-size:.86em;color:#8893a5}
.rule code{font:inherit;color:#c4d0ff}
.st{margin-left:auto;padding:.05em .55em;border-radius:.4em;background:#222936;color:#a6afbe;font-size:.9em}
.st.ok{background:rgba(61,220,151,.12);color:var(--gain)}.st.no{background:rgba(255,112,112,.12);color:var(--loss)}
.post p{color:#a6afbe;font-size:.96em}
.post .ai{color:#7a8398}

.app-bld>*{font-size:clamp(11.5px,2.05cqw,.95rem)}
.app-race>*{font-size:clamp(11px,1.5cqw,.9rem)}
.la-grid{display:grid;gap:.9em;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}
.la-side{display:grid;gap:.9em}
.prev .chart{height:8em}
@container (max-width:600px){.la-grid{grid-template-columns:1fr}.prev{display:none}}

.blk{position:relative;overflow:hidden}
.blk::after,.plain.sk::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.05) 50%,transparent 80%),#10141b;background-size:200% 100%;opacity:var(--sk,1);pointer-events:none;animation:shim 1.8s linear infinite}
@keyframes shim{from{background-position:200% 0}to{background-position:-200% 0}}
.app{contain:paint}
.layer,.blk,.plain,.dialog,.racebox,.lb-r{backface-visibility:hidden}

.lay-c{position:relative}
.dialog{position:absolute;left:0;right:0;top:0;z-index:3;box-shadow:0 40px 80px -30px #000}
.lay-c .racebox{margin-top:0}
.paperchart .chart{height:9em}
.lay-c{align-content:start}
.nw{white-space:nowrap}
/* app section */
.stage3d{perspective:1800px;perspective-origin:50% 0;margin-bottom:clamp(14px,2vw,24px)}
.stage3d .app{transform-origin:50% 0;transform:rotateX(16deg) scale(.9) translate3d(0,40px,0);will-change:transform}
.rm .stage3d .app{transform:none}
.sec-app{padding-top:clamp(40px,6vw,90px);padding-bottom:clamp(60px,8vw,120px)}
.bento{display:grid;gap:clamp(12px,1.6vw,20px);grid-template-columns:repeat(3,1fr);margin-top:clamp(40px,6vw,84px)}
@media(max-width:900px){.bento{grid-template-columns:1fr}}
.b{padding:0 0 clamp(20px,2.4vw,30px);display:flex;flex-direction:column;min-height:100%}
.b h3,.b p{padding:0 clamp(20px,2.4vw,30px)}
.b h3{margin-top:22px}.b p{margin-top:10px;color:var(--mu);font-size:.98rem;max-width:36ch}
.b-vis{height:190px;margin:12px;border-radius:14px;background:var(--app);border:1px solid var(--aline);position:relative;overflow:hidden;display:grid;place-items:center;container-type:inline-size}
.b-vis>*{font-size:clamp(11px,4.1cqw,.92rem)}
.b-plain{padding:1.2em}
.rule{font-size:1em}
.b-plain .rule{display:block;padding:0;border:0;background:none;color:#dde3ee;font-size:1.12em;line-height:1.95}
.b-plain .tk{display:inline-block;margin:0 .1em}
.b-ghost .chart{position:absolute;inset:.8em;height:auto;margin:0}
.alloc{display:grid;gap:.35em;text-align:left;padding:1.1em 1.3em;border-radius:1em;background:linear-gradient(180deg,#141a2e,#10141b);border:1px solid #2a3350;width:min(86%,18em)}
.alloc b{font:600 2em/1.1 var(--f-d);letter-spacing:-.02em}
.alloc span{color:#a6afbe;font-size:.9em}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,28px);margin-top:clamp(40px,6vw,84px);border-top:1px solid var(--line);padding-top:clamp(28px,4vw,48px)}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr;gap:28px 16px}}
.stat b{display:block;font:600 clamp(2.6rem,5.2vw,4.4rem)/1 var(--f-d);letter-spacing:-.04em}
.stat>span:last-child{display:block;margin-top:10px;color:var(--mu);font-size:.95rem;max-width:22ch}

/* pinned stories: sticky stage inside a tall track, state is a pure function of scroll progress */
.pin{padding:0}
.pin-track{position:relative;height:var(--runway,420vh)}
#builder{--runway:520vh}
#race{--runway:340vh}
.pin-stick{position:sticky;top:0;height:100svh;min-height:600px;display:flex;align-items:center;overflow:hidden;padding-top:calc(var(--nav) - 10px)}
.pin-stick>.wrap{width:100%}
.pin-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.32fr);gap:clamp(28px,5vw,84px);align-items:center}
.pin-copy .lede{max-width:38ch}
.pin-copy h2{font-size:clamp(1.9rem,3vw,2.9rem)}
.steps{margin-top:clamp(22px,3vw,38px);display:grid;gap:4px}
.stp{display:flex;gap:16px;padding:14px 0;opacity:.42;transition:opacity .6s var(--e1)}
.stp.on{opacity:1}
.stp .n{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line2);font:600 .85rem var(--f-b);color:var(--mu);transition:background .5s var(--e1),color .5s,border-color .5s}
.stp.on .n{background:var(--grad);color:#06070b;border-color:transparent}
.stp b{display:block;font:600 1.12rem/1.3 var(--f-d);letter-spacing:-.015em}
.stp p{margin-top:6px;color:var(--mu);font-size:.95rem;max-width:38ch;line-height:1.5;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s var(--e1),opacity .5s}
.stp.on p{opacity:1;grid-template-rows:1fr}
.stp-rail{display:none}
.pin-vis .app{width:100%}
@media(max-width:900px){
  .pin-grid{grid-template-columns:1fr;gap:14px;align-content:center}
  .pin-copy h2{font-size:clamp(1.7rem,7vw,2.4rem)}
  .pin-copy .lede{display:none}
  .steps{display:grid;margin-top:12px}
  .stp{grid-area:1/1;opacity:0;transform:translate3d(0,8px,0);transition:opacity .45s var(--e1),transform .6s var(--e1);pointer-events:none;padding:0}
  .stp.on{opacity:1;transform:none}
  .stp p{grid-template-rows:1fr;opacity:1}
  .stp p{font-size:.9rem}
  .stp-rail{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.1);margin-top:12px;overflow:hidden}
  .stp-rail i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--grad)}
}
@media(max-height:760px) and (min-width:901px){.pin-copy .lede{display:none}.pin-copy h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}}
.pin-race .head{margin-bottom:clamp(14px,2vw,26px);max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.pin-race .head h2{font-size:clamp(1.9rem,3.6vw,3.1rem)}
.pin-race .head .lede{margin:0;max-width:40ch;font-size:clamp(.95rem,1.1vw,1.08rem)}
@media(max-width:900px){.pin-race .lede{display:none}}
.pin-vis{position:relative}
.pin-race .app{margin-top:0}

/* desks */
.desks{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,20px);margin-bottom:clamp(20px,2.6vw,36px)}
@media(max-width:1000px){.desks{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.desks{grid-template-columns:1fr}}
.desk{padding:0 0 26px}
.desk h3{margin:22px 26px 0}.desk p{margin:10px 26px 0;color:var(--mu);font-size:.96rem}
.dv{position:relative;height:150px;margin:12px;border-radius:14px;background:var(--app);border:1px solid var(--aline);overflow:hidden}
.dv-scan svg{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);overflow:visible}
.dv-scan path{fill:none;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linecap:round}
.dv-scan .a{stroke:#7c5cff}.dv-scan .b{stroke:#22d3ee}.dv-scan .c{stroke:#c4b5fd;opacity:.7}
.scanline{position:absolute;top:0;bottom:0;left:0;width:56px;background:linear-gradient(90deg,transparent,rgba(124,92,255,.22),transparent);animation:scan 4.6s var(--e2) infinite alternate}
@keyframes scan{from{transform:translateX(-60px)}to{transform:translateX(calc(100cqw + 60px))}}
.dv{container-type:inline-size}
.dv-risk{display:grid;place-items:end center;padding-bottom:18px}
.dv-risk svg{width:78%;max-width:220px;overflow:visible}
.dv-risk .trk,.dv-risk .val{fill:none;stroke-width:7;stroke-linecap:round}
.dv-risk .trk{stroke:rgba(255,255,255,.12)}
.dv-risk .val{stroke:url(#gm);stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--g,0)*.62)}
.dv-risk .needle{transform-origin:60px 62px;transform:rotate(calc(-90deg + var(--g,0)*.62*180deg));transition:none}
.dv-risk line{stroke:#fff;stroke-width:2.2;stroke-linecap:round}.dv-risk circle{fill:#fff}
.dv-docs{display:grid;align-content:center;gap:10px;padding:0 20px}
.dv-docs i{display:block;height:8px;border-radius:6px;background:#1b212c;position:relative;overflow:hidden}
.dv-docs i:nth-child(2){width:84%}.dv-docs i:nth-child(3){width:62%}.dv-docs i:nth-child(4){width:92%}.dv-docs i:nth-child(5){width:48%}
.dv-docs i.hl::after{content:"";position:absolute;inset:0;background:var(--grad);transform-origin:0 0;transform:scaleX(0);animation:hl 5.2s var(--e2) infinite}
.dv-docs i.h2::after{animation-delay:-2.6s}
@keyframes hl{0%{transform:scaleX(0);transform-origin:0 0}30%{transform:scaleX(1);transform-origin:0 0}55%{transform:scaleX(1);transform-origin:100% 0}85%,100%{transform:scaleX(0);transform-origin:100% 0}}
.dv-wave svg{position:absolute;left:0;top:18%;width:200%;height:64%;animation:wave 9s linear infinite}
.dv-wave path{fill:none;stroke:url(#gm);stroke-width:2;vector-effect:non-scaling-stroke}
@keyframes wave{to{transform:translateX(-50%)}}
.app-desks{margin-top:clamp(12px,2vw,24px)}
.app-desks .feed{grid-template-columns:1fr}
@container (min-width:900px){.app-desks .feed{grid-template-columns:repeat(3,1fr);align-items:start}}

/* markets */
.map-frame{border-radius:26px;overflow:hidden;border:1px solid var(--line);background:#07080e;box-shadow:0 40px 120px -40px rgba(0,0,0,.9)}
.map-inner{position:relative;aspect-ratio:1920/1080;overflow:hidden}
.map-inner picture,.map-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.map-inner{aspect-ratio:4/5}}
#mapSvg,#mapTags{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#mapSvg path{fill:none;stroke-linecap:round}
.arc-base{stroke:rgba(150,140,255,.22);stroke-width:1.4}
.arc-run{stroke-width:2.6;filter:drop-shadow(0 0 6px rgba(34,211,238,.8))}
.node-tag{position:absolute;transform:translate(-50%,calc(-100% - 16px));padding:7px 12px;border-radius:11px;font-size:.82rem;font-weight:500;white-space:nowrap;background:rgba(10,12,18,.82);border:1px solid var(--line2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.node-tag small{display:block;color:var(--fa);font-size:.74rem;font-weight:400}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px);margin-top:clamp(14px,1.8vw,22px)}
@media(max-width:860px){.trio{grid-template-columns:1fr}}
.m{padding:26px 26px 28px}.m p{margin-top:10px;color:var(--mu);font-size:.97rem}

/* money */
.sec-money{overflow:hidden}
.money-art{position:absolute;inset:-8% 0;opacity:.55;pointer-events:none}
.money-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,7,11,.96) 0%,rgba(6,7,11,.8) 34%,rgba(6,7,11,.35) 70%,rgba(6,7,11,.2) 100%),linear-gradient(180deg,var(--bg) 0%,rgba(6,7,11,0) 18%,rgba(6,7,11,0) 80%,var(--bg) 100%)}
.money-art img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);will-change:transform}
.money-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,80px);align-items:center}
@media(max-width:900px){.money-grid{grid-template-columns:1fr}}
.money-copy .head{margin-bottom:34px}
.flow{display:grid;max-width:460px}
.fn{display:flex;gap:16px;align-items:center;padding:16px 18px;border-radius:18px;--gl:0}
.fn .ic{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.07);color:#cfd6ff;flex:none}
.fn .ico{width:22px;height:22px}
.fn b{display:block;font:600 1.05rem/1.2 var(--f-d);letter-spacing:-.015em}.fn span{color:var(--mu);font-size:.9rem}
.fn.key{border-color:rgba(124,92,255,.5);box-shadow:0 0 0 1px rgba(124,92,255,.2),0 20px 70px -30px rgba(124,92,255,.7)}
.rail{position:relative;display:flex;align-items:center;gap:16px;height:64px;padding-left:38px}
.rail svg{position:absolute;left:38px;top:0;width:4px;height:100%;overflow:visible}
.rail span{margin-left:22px;font-size:.88rem;color:var(--mu)}
.rail .r0{fill:none;stroke:rgba(255,255,255,.14);stroke-width:2;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
.rail .r1{fill:none;stroke:url(#gm);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:.28 2;stroke-dashoffset:var(--fo,0)}
.money-side{display:grid;gap:16px}
.perms{padding:26px 28px}
.perms h3{margin-bottom:12px}
.perms li{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line)}
.perms li:first-child{border-top:0}
.perms li>span:first-child{flex:1;font-size:1rem}
.perms em{display:inline-flex;align-items:center;gap:6px;font-style:normal;font-size:.82rem;color:#c9d0dd;padding:4px 10px;border-radius:8px;background:rgba(255,255,255,.06);opacity:0;transform:translateX(8px);transition:opacity .5s var(--e1),transform .6s var(--e1)}
.perms .tgl{position:relative;flex:none;width:46px;height:28px;border-radius:99px;background:#232a38;transition:background .5s var(--e1)}
.perms .tgl::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#8893a5;transition:transform .6s var(--spring),background .4s}
.perms li.on .tgl{background:var(--grad)}
.perms li.on .tgl::after{transform:translateX(18px);background:#fff}
.perms li.shown em{opacity:1;transform:none}
.perms li[data-perm="0"].shown .tgl{animation:nudge .7s var(--e1)}
@keyframes nudge{0%{transform:translateX(0)}30%{transform:translateX(-3px)}60%{transform:translateX(2px)}100%{transform:none}}
.plain-list li{flex-direction:column;align-items:flex-start;gap:3px}
.plain-list b{display:block;font:600 1.05rem var(--f-d);letter-spacing:-.015em}.plain-list small{display:block;color:var(--mu);font-size:.92rem}

/* faq */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,80px);align-items:start}
@media(max-width:900px){.faq-grid{grid-template-columns:1fr}}
.faq-grid .head{margin-bottom:0}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;cursor:pointer;padding:22px 0;font:600 clamp(1.08rem,1.5vw,1.3rem)/1.3 var(--f-d);letter-spacing:-.015em;transition:color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:22px;height:22px;background:linear-gradient(#cfd6ff,#cfd6ff) center/12px 1.8px no-repeat,linear-gradient(#cfd6ff,#cfd6ff) center/1.8px 12px no-repeat;border-radius:50%;border:1px solid var(--line2);transition:transform .5s var(--e1)}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq summary:hover{color:#fff}
.ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--e1)}
.ans>div{overflow:hidden}
.faq details.o .ans{grid-template-rows:1fr}
.ans p{padding:0 0 22px;color:var(--mu);max-width:56ch}

/* cta */
.sec-cta{overflow:hidden;padding-bottom:clamp(90px,12vw,170px)}
.cta-art{position:absolute;inset:0;opacity:.95;pointer-events:none}
.cta-art::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 52%,rgba(6,7,11,.78) 0%,rgba(6,7,11,.6) 42%,rgba(6,7,11,.3) 100%),linear-gradient(180deg,var(--bg),rgba(6,7,11,0) 22%,rgba(6,7,11,0) 70%,#05060a)}
.cta-art img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);will-change:transform}
.cta-panel{padding:clamp(30px,5vw,72px);max-width:920px;margin-inline:auto;text-align:center;background:linear-gradient(180deg,rgba(18,22,32,.82),rgba(10,12,18,.82));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.cta-panel h2{font-size:clamp(2.2rem,5.4vw,4.6rem)}
.cta-panel .lede{margin-inline:auto}
.cta-panel .wl,.cta-panel .done-card{margin:clamp(24px,3vw,38px) auto 0}
.cta-panel .form-msg{text-align:left}

/* continuous motion that runs on its own */
.rail .r1{animation:flowd 2.6s linear infinite}
@keyframes flowd{from{stroke-dashoffset:.28}to{stroke-dashoffset:-2}}
.js .app-desks:not(.in) .post{opacity:0}
.app-desks.in .post{animation:rise .9s var(--e1) calc(var(--i)*130ms + 200ms) backwards}
@keyframes rise{from{opacity:0;transform:translate3d(0,18px,0)}}
@media(max-width:700px){.map-inner img{object-position:50% 47%}}
@media(prefers-reduced-motion:reduce){.scanline,.dv-docs i.hl::after,.dv-wave svg,.rail .r1{animation:none}.dv-docs i.hl::after{transform:scaleX(1)}}

/* ambient light so the dark stays rich, not flat */
.sec-app{background:radial-gradient(1000px 360px at 50% 18%,rgba(124,92,255,.11),transparent 100%)}
.pin-vis::before{content:"";position:absolute;inset:-12% -10%;z-index:-1;background:radial-gradient(60% 55% at 55% 50%,rgba(124,92,255,.16),rgba(34,211,238,.05) 55%,transparent 75%);pointer-events:none}
.pin-race .wrap{position:relative}
.pin-race .wrap::before{content:"";position:absolute;inset:8% -6% -8% -6%;z-index:-1;background:radial-gradient(55% 60% at 50% 60%,rgba(34,211,238,.10),rgba(124,92,255,.08) 50%,transparent 75%);pointer-events:none}
.sec-desks{background:radial-gradient(800px 380px at 85% 22%,rgba(34,211,238,.07),transparent 100%)}
.sec-faq{background:radial-gradient(800px 330px at 12% 50%,rgba(124,92,255,.08),transparent 100%)}

/* legal page */
.legal{max-width:760px;padding-top:calc(var(--nav) + clamp(40px,7vw,90px));padding-bottom:clamp(50px,8vw,100px)}
.legal h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:.4em}
.legal h2{font-size:clamp(1.25rem,2vw,1.6rem);margin:2em 0 .5em;letter-spacing:-.02em}
.legal p,.legal li{color:#c3cad8;line-height:1.7;margin:.7em 0}
.legal ul{list-style:disc;padding-left:1.3em}
.legal a{color:#9db2ff;text-decoration:underline;text-underline-offset:3px}
.legal .upd{color:var(--fa);font-size:.92rem}
.legal strong{color:#eef1f6;font-weight:600}
