:root{
  --ink:#17171a; --ink2:#1f1f22; --ink3:#2a2a2e; --cream:#faf8f4; --beige:#e4e0d8; --red:#e0362c; --red2:#ff5a4e;
  --blue:#0a8dff; --violet:#5b2db3; --ok:#3ecf8e; --mute:#6b6a66; --mute-d:rgba(250,248,244,.62);
  --line:rgba(23,23,26,.12); --line-d:rgba(250,248,244,.12);
  --sans:"Satoshi",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --r:18px; --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,canvas,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
h1,h2,h3,h4,h5,p,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{width:min(1240px,100% - 48px);margin-inline:auto}

h1,.h1{font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:.98;letter-spacing:-.035em;font-weight:700}
h2{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.04;letter-spacing:-.03em;font-weight:700}
h3{font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.15;letter-spacing:-.02em;font-weight:700}
h4{font-size:1.2rem;line-height:1.2;letter-spacing:-.01em;font-weight:700}
h5{font-size:1rem;font-weight:700}
em{font-style:normal}
h1 em,.h1 em{color:var(--red2)}
.eyebrow{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--red);margin-bottom:18px}
.eyebrow.light{color:var(--red2)}
.sub{font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--mute);max-width:62ch}
.fine{font-size:.9rem;color:var(--mute);margin-top:18px;max-width:80ch}
.fine.light{color:var(--mute-d)}

.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:700;font-size:1rem;transition:transform .25s var(--ease),background .25s,box-shadow .25s,border-color .25s;white-space:nowrap}
.btn i{font-style:normal;transition:transform .25s var(--ease)}
.btn:hover i{transform:translateX(4px)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 30px -10px rgba(224,54,44,.7)}
.btn-red:hover{background:#c92c23;transform:translateY(-2px)}
.btn-ghost{border:1px solid rgba(250,248,244,.3);color:var(--cream)}
.btn-ghost:hover{border-color:var(--cream);background:rgba(250,248,244,.08)}
.btn-lg{padding:18px 30px;font-size:1.1rem}
.btn-block{width:100%;justify-content:center}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:28px;padding:14px clamp(16px,3vw,36px);transition:background .35s,box-shadow .35s,padding .35s}
.nav.solid{background:rgba(250,248,244,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line);padding-block:10px}
.brand{display:flex;align-items:center;position:relative;flex:none}
.logo{height:36px;width:auto;transition:opacity .3s}
.logo-d{position:absolute;left:0;top:0;opacity:0}
.nav.solid .logo-l{opacity:0}.nav.solid .logo-d{opacity:1}
.nav-links{display:flex;gap:26px;margin-left:auto;font-size:.95rem;font-weight:500;color:rgba(250,248,244,.85)}
.nav.solid .nav-links{color:var(--ink)}
.nav-links a{position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-links a:hover::after,.nav-links a.on::after{transform:scaleX(1)}
.nav-cta{padding:11px 18px;font-size:.92rem}
@media(max-width:1080px){.nav-links{display:none}.nav-cta{margin-left:auto}}
@media(max-width:520px){.logo{height:28px}.nav-cta{padding:9px 14px;font-size:.82rem}}

/* HERO */
.hero{height:340vh;position:relative;background:#0c0c0e}
.hero-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;color:var(--cream);background:#0c0c0e url(/doh/assets/video/poster-desktop.jpg) center/cover}
@media(max-width:820px) and (orientation:portrait){.hero-sticky{background-image:url(/doh/assets/video/poster-mobile.jpg)}}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,12,.88) 0%,rgba(10,10,12,.55) 42%,rgba(10,10,12,.05) 75%),linear-gradient(0deg,rgba(10,10,12,.7),transparent 35%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(250,248,244,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(250,248,244,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 30% 50%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 30% 50%,#000 10%,transparent 70%)}
.hero-copy{position:absolute;left:clamp(20px,6vw,96px);bottom:clamp(90px,16vh,170px);width:min(760px,calc(100% - 40px))}
.hero-stage{position:absolute;left:0;bottom:0;width:100%;opacity:0;transform:translateY(28px);transition:opacity .6s var(--ease),transform .6s var(--ease);pointer-events:none}
.hero-stage.is-on{opacity:1;transform:none;pointer-events:auto}
.hero-stage.is-past{transform:translateY(-28px)}
.lede{font-size:clamp(1.05rem,1.5vw,1.3rem);color:rgba(250,248,244,.8);max-width:54ch;margin-top:22px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hud{position:absolute;right:clamp(16px,5vw,80px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;width:min(300px,42vw)}
.hud-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:rgba(18,18,20,.62);border:1px solid rgba(250,248,244,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transform:translateX(30px) scale(.97);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.hud-card.on{opacity:1;transform:none}
.hud-card b{display:block;font-size:.98rem}
.hud-card small{font-family:var(--mono);font-size:.7rem;color:rgba(250,248,244,.66);display:block;margin-top:3px;line-height:1.4}
.hud-dot{width:10px;height:10px;border-radius:50%;flex:none;margin-top:7px;background:var(--cream)}
.hud-dot.ok{background:var(--ok);box-shadow:0 0 0 4px rgba(62,207,142,.2)}
.hud-dot.red{background:var(--red2);box-shadow:0 0 0 4px rgba(255,90,78,.22)}
.hud-dot.pulse{background:var(--blue);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(10,141,255,.6)}100%{box-shadow:0 0 0 14px rgba(10,141,255,0)}}
.hero-progress{position:absolute;left:clamp(20px,6vw,96px);right:clamp(20px,6vw,96px);bottom:44px;height:2px;background:rgba(250,248,244,.16)}
.hero-progress span{display:block;height:100%;width:0;background:var(--red2)}
.scroll-cue{position:absolute;right:clamp(20px,6vw,96px);bottom:60px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,248,244,.6);display:flex;align-items:center;gap:10px;transition:opacity .4s}
.scroll-cue span{width:1px;height:34px;background:linear-gradient(var(--cream),transparent);animation:cue 1.8s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:820px){
  .hero-shade{background:linear-gradient(0deg,rgba(10,10,12,.94) 0%,rgba(10,10,12,.6) 48%,rgba(10,10,12,.25) 100%)}
  .hud{top:84px;right:16px;transform:none;width:min(260px,70vw)}
  .hud-card{padding:10px 12px}
  .hero-copy{bottom:84px}
  .scroll-cue{display:none}
}

/* MARQUEE */
.marquee{background:var(--ink);color:var(--cream);overflow:hidden;border-top:1px solid var(--line-d);padding:18px 0}
.marquee-track{display:flex;align-items:center;gap:28px;width:max-content;animation:marq 38s linear infinite;font-weight:700;font-size:1.05rem;letter-spacing:-.01em}
.marquee-track i{width:7px;height:7px;background:var(--red);border-radius:50%;flex:none}
@keyframes marq{to{transform:translateX(-50%)}}

/* SECTIONS */
.sec{padding:clamp(80px,11vw,150px) 0;position:relative}
.sec-beige{background:var(--beige)}
.sec-dark{background:var(--ink);color:var(--cream)}
.sec-ink{background:#0e0e10;color:var(--cream)}
.sec-dark .sub,.sec-ink .sub{color:var(--mute-d)}
.sec-head{max-width:900px;margin-bottom:clamp(40px,5vw,70px)}
.sec-head h2{margin-bottom:22px}
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

/* FOUR */
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.four-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px 0;display:flex;flex-direction:column;min-height:360px;overflow:hidden;position:relative;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}
.four-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -30px rgba(23,23,26,.35);border-color:var(--ink)}
.four-card .num{font-family:var(--mono);font-size:.8rem;color:var(--red);font-weight:700;margin-bottom:18px}
.four-card h3{margin-bottom:10px}
.four-card p{color:var(--mute);font-size:.98rem}
.mini{margin:auto -24px 0;height:120px;position:relative;border-top:1px solid var(--line);background:var(--cream);overflow:hidden}
.mini-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;padding:14px}
.mini-grid b{border-radius:3px;background:var(--beige);transition:background .5s}
.mini-grid b.on{background:var(--red)}
.mini-radar b{position:absolute;left:50%;bottom:-70px;border:1px solid rgba(23,23,26,.18);border-radius:50%;transform:translateX(-50%)}
.mini-radar b:nth-child(1){width:90px;height:90px;bottom:-45px}.mini-radar b:nth-child(2){width:170px;height:170px;bottom:-85px}.mini-radar b:nth-child(3){width:250px;height:250px;bottom:-125px}
.mini-radar u{position:absolute;left:50%;bottom:0;width:130px;height:130px;transform-origin:0 100%;background:conic-gradient(from 0deg at 0 100%,rgba(224,54,44,.45),transparent 40deg);animation:sweep 3s linear infinite}
@keyframes sweep{from{transform:rotate(-90deg)}to{transform:rotate(90deg)}}
.mini-qr{display:grid;grid-template-columns:repeat(11,1fr);gap:2px;padding:12px;width:120px;height:120px;margin-inline:auto;border:0;margin-bottom:0}
.four-card .mini-qr{margin:auto auto 0;background:transparent}
.mini-qr b{background:var(--ink);border-radius:1px;transition:opacity .3s}
.mini-qr b.off{opacity:.07}
.mini-bars{display:flex;align-items:flex-end;gap:8px;padding:16px 24px 0}
.mini-bars b{flex:1;background:var(--ink);border-radius:4px 4px 0 0;height:var(--h,40%);transition:height .8s var(--ease),background .4s}
.mini-bars b.top{background:var(--red)}
@media(max-width:1000px){.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.four{grid-template-columns:1fr}.four-card{min-height:300px}}

/* GAP */
.gap{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:20px}
.gap-qs{display:flex;flex-direction:column;gap:8px}
.gap-q{text-align:left;padding:18px 20px;border-radius:14px;border:1px solid rgba(23,23,26,.14);font-weight:700;font-size:1.05rem;display:flex;gap:14px;align-items:center;position:relative;overflow:hidden;transition:background .3s,color .3s,border-color .3s}
.gap-q small{font-family:var(--mono);font-size:.72rem;opacity:.5}
.gap-q.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.gap-q.on::after{content:"";position:absolute;left:0;bottom:0;height:3px;background:var(--red);animation:fillbar 6s linear forwards}
.gap.paused .gap-q.on::after{animation-play-state:paused}
@keyframes fillbar{from{width:0}to{width:100%}}
.gap-answer{display:grid;grid-template-columns:1fr auto 1.25fr;align-items:stretch;gap:14px}
.gap-col{border-radius:var(--r);padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:270px}
.gap-col p{font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.15;letter-spacing:-.02em;font-weight:700;transition:opacity .3s,transform .3s}
.gap-col p.sw{opacity:0;transform:translateY(10px)}
.gap-old{background:rgba(23,23,26,.06);color:rgba(23,23,26,.55)}
.gap-old p{text-decoration:line-through;text-decoration-color:rgba(224,54,44,.6);text-decoration-thickness:2px}
.gap-new{background:var(--red);color:#fff;box-shadow:0 30px 60px -30px rgba(224,54,44,.8)}
.tag{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:.8}
.gap-arrow{align-self:center;font-size:1.8rem;font-weight:700}
@media(max-width:900px){.gap{grid-template-columns:1fr}.gap-answer{grid-template-columns:1fr}.gap-arrow{transform:rotate(90deg);justify-self:center}.gap-col{min-height:170px}}

/* FLOW */
.flow{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(12px,3vw,36px);overflow-x:auto}
.flow-svg{min-width:860px;width:100%;height:auto;font-family:var(--sans)}
.flow-lines use{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-dasharray:4 7;opacity:.35}
.flow-dots circle{fill:var(--red)}.flow-dots .d2{fill:var(--blue)}
.node rect{fill:var(--cream);stroke:var(--ink);stroke-width:1.5}
.node.core>rect{fill:var(--ink)}.node.core .t1{fill:var(--cream)}
.node .scr{fill:var(--ink);stroke:none}.node .ln{fill:var(--red);stroke:none}.node .ln.dim{fill:rgba(250,248,244,.3)}
.node .qr{fill:var(--cream);stroke:none}
.node .sens{fill:var(--blue);stroke:none}.node .ring{fill:none;stroke:var(--blue);stroke-width:1.5;opacity:.5;transform-origin:92px 268px;animation:ring 2s infinite}
@keyframes ring{from{transform:scale(.6);opacity:.8}to{transform:scale(1.6);opacity:0}}
.t1{font-weight:700;font-size:20px;fill:var(--ink)}.t2{font-size:14px;fill:var(--mute)}.t3{font-size:13px;fill:var(--mute);font-family:var(--mono)}
.lbl{font-family:var(--mono);font-size:12px;fill:var(--red);font-weight:700}.lbl.dim{fill:var(--mute)}
.stack rect{fill:rgba(250,248,244,.08);stroke:rgba(250,248,244,.2);stroke-width:1}
.stack text{fill:var(--cream);font-size:13px;font-weight:500}
.stack rect{animation:stk 5s infinite}
.stack rect:nth-of-type(2){animation-delay:1s}.stack rect:nth-of-type(3){animation-delay:2s}.stack rect:nth-of-type(4){animation-delay:3s}.stack rect:nth-of-type(5){animation-delay:4s}
@keyframes stk{0%,18%,100%{fill:rgba(250,248,244,.08)}6%{fill:rgba(224,54,44,.75)}}

/* CAP */
.cap-head{display:flex;gap:clamp(16px,3vw,40px);align-items:flex-end;margin-bottom:clamp(36px,5vw,64px)}
.cap-num{font-size:clamp(5rem,13vw,11rem);line-height:.8;font-weight:900;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px var(--red)}
.cap-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:start}
.cap-grid.rev{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.cap-copy .sub{margin-bottom:28px}
@media(max-width:980px){.cap-grid,.cap-grid.rev{grid-template-columns:1fr}.cap-grid.rev .demo{order:2}.cap-head{flex-direction:column;align-items:flex-start}}

.acc{border-top:1px solid var(--line-d)}
.acc-h{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-weight:700;font-size:1.12rem;border-bottom:1px solid var(--line-d)}
.acc-h span{width:14px;height:14px;position:relative;flex:none}
.acc-h span::before,.acc-h span::after{content:"";position:absolute;inset:6px 0;background:var(--red2);transition:transform .3s}
.acc-h span::after{transform:rotate(90deg)}
.acc-h[aria-expanded=true] span::after{transform:rotate(0)}
.acc-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.acc-b>*{overflow:hidden;min-height:0}
.acc-h[aria-expanded=true]+.acc-b{grid-template-rows:1fr}
.acc-b ul,.acc-b p,.acc-b .chips{color:var(--mute-d);font-size:1rem}
.acc-b li{padding:7px 0 7px 22px;position:relative}
.acc-b li:first-child{padding-top:16px}.acc-b li:last-child{padding-bottom:18px}
.acc-b li::before{content:"";position:absolute;left:0;top:.95em;width:8px;height:2px;background:var(--red2)}
.acc-b li:first-child::before{top:calc(.95em + 9px)}
.acc-b p{padding:16px 0 18px}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0 18px}
.chips span{border:1px solid currentColor;border-radius:999px;padding:6px 13px;font-size:.88rem;font-weight:500;opacity:.9}
.chips.big{padding:0}.chips.big span{font-size:1.05rem;padding:12px 20px;font-weight:700;border-color:var(--ink);transition:background .3s,color .3s}
.chips.big span:hover{background:var(--ink);color:var(--cream)}

/* DEMO shells */
.demo{background:#0e0e10;border:1px solid var(--line-d);border-radius:22px;padding:18px;color:var(--cream);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.demo-ink{border-color:var(--ink)}
.demo-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:4px 4px 16px}
.demo-bar.flat{padding:0 0 6px}
.demo-bar em{color:rgba(250,248,244,.45);text-transform:none;letter-spacing:0;font-weight:400}
.live{width:8px;height:8px;border-radius:50%;background:var(--red2);animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.25}}
.seg{display:inline-flex;background:rgba(250,248,244,.08);border-radius:999px;padding:3px;margin-left:auto;font-family:var(--sans);text-transform:none;letter-spacing:0}
.seg button{padding:7px 13px;border-radius:999px;font-size:.82rem;font-weight:700;color:rgba(250,248,244,.7);transition:background .25s,color .25s}
.seg button.on{background:var(--cream);color:var(--ink)}
.seg.sm{margin-left:0}
.wrapseg{flex-wrap:wrap;border-radius:18px;background:rgba(23,23,26,.07)}
.wrapseg button{color:var(--mute)}.wrapseg button.on{background:var(--ink);color:var(--cream)}

/* TV */
.tv{background:#000;border-radius:14px;padding:8px;box-shadow:0 0 0 1px rgba(250,248,244,.16),0 30px 60px -20px rgba(224,54,44,.35)}
.tv-face{border-radius:8px;aspect-ratio:16/10;position:relative;overflow:hidden;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,#e0362c,#ff8a5c);color:#fff;transition:background .6s}
.tv-face small{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;opacity:.85}
.tv-face strong{font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.05;letter-spacing:-.02em;margin-top:6px}
.tv-slot{position:absolute;top:12px;right:14px;font-family:var(--mono);font-size:.66rem;opacity:.8}
.tv-face.flash{animation:flash .5s}
@keyframes flash{0%{filter:brightness(2.2)}100%{filter:none}}

/* LADDER */
.ladder-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:start}
.ladder{display:flex;flex-direction:column;gap:6px;counter-reset:l}
.ladder li{counter-increment:l}
.rung{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;border-radius:12px;background:rgba(250,248,244,.05);border:1px solid rgba(250,248,244,.1);font-size:.92rem;font-weight:500;transition:background .3s,border-color .3s,opacity .3s,transform .3s var(--ease)}
.rung::before{content:counter(l);font-family:var(--mono);font-size:.72rem;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(250,248,244,.1);flex:none}
.rung i{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55}
.rung.off{opacity:.35;text-decoration:line-through}
.rung.win{background:var(--red);border-color:var(--red);transform:translateX(6px)}
.rung.win::before{background:#fff;color:var(--red)}.rung.win i{opacity:1}
.rung.lock{cursor:default}
.ladder-note{font-size:.84rem;color:var(--mute-d);margin-top:12px}
@media(max-width:620px){.ladder-wrap{grid-template-columns:1fr}}

/* LOG */
.log{margin-top:16px;border:1px solid rgba(250,248,244,.1);border-radius:12px;overflow:hidden;font-family:var(--mono);font-size:.72rem}
.log-h{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;background:rgba(250,248,244,.05);color:rgba(250,248,244,.6);text-transform:uppercase;letter-spacing:.06em;font-size:.64rem}
.log-ok{color:var(--ok)}
.log-lines{height:132px;overflow:hidden;padding:8px 12px;display:flex;flex-direction:column;justify-content:flex-end}
.log-lines p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2.5px 0;color:rgba(250,248,244,.7);animation:logIn .4s var(--ease)}
.log-lines p b{color:var(--cream);font-weight:500}.log-lines p u{text-decoration:none;color:var(--ok)}.log-lines p s{text-decoration:none;color:#ffb04a}.log-lines p em{color:var(--red2)}
.log-empty{color:rgba(250,248,244,.4)!important}
@keyframes logIn{from{opacity:0;transform:translateY(8px)}}

/* RADAR */
.radar-stage{position:relative;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at 50% 0,#1c2030,#0b0b0d 70%)}
#radar{width:100%;height:auto}
.radar-now{position:absolute;left:50%;top:10px;transform:translateX(-50%);font-family:var(--mono);font-size:.68rem;background:rgba(224,54,44,.92);padding:5px 12px;border-radius:999px;white-space:nowrap}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.stats div{background:rgba(250,248,244,.05);border-radius:12px;padding:12px 14px}
.stats small{display:block;font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(250,248,244,.55)}
.stats b{font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stats i{font-style:normal;font-size:.55em;opacity:.6;margin-left:2px}
.demo-foot{display:flex;gap:18px;align-items:center;margin-top:12px;flex-wrap:wrap}
.demo-foot label{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:10px;flex:none}
.demo-foot p{font-size:.84rem;color:var(--mute-d);flex:1;min-width:220px}
input[type=range]{-webkit-appearance:none;appearance:none;height:4px;border-radius:4px;background:rgba(127,127,127,.35);width:150px;accent-color:var(--red)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--red);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.3);cursor:grab}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--red);border:3px solid #fff}
@media(max-width:520px){.stats{grid-template-columns:repeat(2,1fr)}}

.duo{display:grid;gap:12px}
.duo-card{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:#fff}
.duo-card p{color:var(--mute);font-size:.98rem;margin:8px 0 10px}
.duo-card li{font-size:.94rem;padding:5px 0 5px 20px;position:relative}
.duo-card li::before{content:"";position:absolute;left:0;top:.9em;width:8px;height:2px;background:var(--red)}
.callout{margin-top:12px;background:var(--ink);color:var(--cream);border-radius:var(--r);padding:22px}
.callout p{color:var(--mute-d);font-size:.96rem;margin-top:6px}
.callout.line{background:transparent;color:var(--ink);border:1px dashed var(--ink)}
.callout.line p{color:var(--mute)}
.sensors{margin-top:clamp(48px,6vw,80px)}
.sensors-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.sensors-grid div{padding:22px 22px 22px 0;border-bottom:1px solid var(--line)}
.sensors-grid div+div{padding-left:22px;border-left:1px solid var(--line)}
.sensors-grid p{color:var(--mute);font-size:.94rem;margin-top:6px}
@media(max-width:900px){.sensors-grid{grid-template-columns:1fr 1fr}.sensors-grid div:nth-child(3){padding-left:0;border-left:0}}
@media(max-width:520px){.sensors-grid{grid-template-columns:1fr}.sensors-grid div+div{padding-left:0;border-left:0}}

/* TICKS */
.ticks li{padding:12px 0 12px 34px;position:relative;border-bottom:1px solid var(--line-d);font-size:1.02rem}
.ticks li::before{content:"";position:absolute;left:2px;top:1.05em;width:14px;height:8px;border-left:2px solid var(--red2);border-bottom:2px solid var(--red2);transform:rotate(-45deg)}

/* QR */
.qr-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:stretch}
.tv-qr .tv-face{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:12px;aspect-ratio:16/10.5}
.qr-ad{display:flex;flex-direction:column;min-width:0}
.qr-url{font-family:var(--mono);font-size:.72rem;margin-top:10px;background:rgba(0,0,0,.25);padding:4px 8px;border-radius:6px;align-self:flex-start}
.qr-box{background:#fff;padding:8px;border-radius:10px;width:42%;max-width:190px;flex:none;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.qr-box svg{width:100%;height:auto}
.qr-box.swap{animation:qrswap .5s var(--ease)}
@keyframes qrswap{0%{transform:scale(.86) rotate(-3deg);opacity:.2}100%{transform:none;opacity:1}}
.qr-timer{position:absolute;left:0;right:0;top:0;height:4px;background:rgba(0,0,0,.25)}
.qr-timer span{display:block;height:100%;background:#fff;width:100%}
.qr-side{display:flex;flex-direction:column;gap:8px}
.token{background:rgba(250,248,244,.05);border-radius:12px;padding:6px 14px;flex:1}
.token div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(250,248,244,.08);font-size:.82rem}
.token div:last-child{border:0}
.token dt{color:rgba(250,248,244,.55)}.token dd{font-family:var(--mono);font-size:.76rem;text-align:right}
.qr-side .btn{padding:12px 14px;font-size:.88rem;white-space:normal;text-align:center}
@media(max-width:620px){.qr-wrap{grid-template-columns:1fr}}

.endpoints{margin-top:clamp(48px,6vw,80px)}
.ep-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ep{border:1px solid var(--line-d);border-radius:16px;padding:20px;transition:background .3s,transform .3s var(--ease),border-color .3s;position:relative;overflow:hidden}
.ep:hover{background:var(--red);border-color:var(--red);transform:translateY(-4px)}
.ep h5{margin-bottom:8px;font-size:1.05rem}
.ep p{font-size:.88rem;color:var(--mute-d)}
.ep em{display:block;margin-top:12px;font-family:var(--mono);font-size:.68rem;color:var(--red2);text-transform:uppercase;letter-spacing:.06em}
.ep:hover p,.ep:hover em{color:#fff}
@media(max-width:980px){.ep-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.ep-grid{grid-template-columns:1fr}}

/* TRIGGERS */
.trig{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:16px;background:var(--ink);color:var(--cream);border-radius:24px;padding:18px}
.trig-controls{background:rgba(250,248,244,.05);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px}
.ctl{display:flex;flex-direction:column;gap:8px}
.ctl.row{flex-direction:row;justify-content:space-between;align-items:center}
.ctl label{font-size:.82rem;color:rgba(250,248,244,.7);display:flex;justify-content:space-between}
.ctl label b{font-family:var(--mono);color:var(--cream)}
.ctl input[type=range]{width:100%}
.switch{width:46px;height:26px;border-radius:999px;background:rgba(250,248,244,.18);position:relative;transition:background .25s;flex:none}
.switch span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .25s var(--ease)}
.switch.on{background:var(--red)}.switch.on span{transform:translateX(20px)}
.trig-screen{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;align-items:start}
.tv-big .tv-face{aspect-ratio:16/10;padding:clamp(18px,3vw,36px)}
.tv-big strong{font-size:clamp(1.5rem,3.4vw,3rem)}
.tv-big p{font-size:clamp(.95rem,1.4vw,1.2rem);margin-top:8px;opacity:.92;position:relative}
.tv-big small,.tv-big strong{position:relative}
.trig-len{position:absolute;top:14px;right:16px;font-family:var(--mono);font-size:.68rem;background:rgba(0,0,0,.3);padding:4px 9px;border-radius:999px}
.fx{position:absolute;inset:0;pointer-events:none}
.fx.rain{background-image:repeating-linear-gradient(100deg,transparent 0 14px,rgba(255,255,255,.22) 14px 15px);background-size:200% 200%;animation:rain .5s linear infinite}
@keyframes rain{to{background-position:-60px 120px}}
.fx.heat{background:radial-gradient(circle at 80% 15%,rgba(255,240,180,.75),transparent 35%)}
.fx.haze{backdrop-filter:blur(0);background:linear-gradient(0deg,rgba(190,170,140,.55),rgba(190,170,140,.15))}
.fx.match{background:radial-gradient(circle at 50% 120%,rgba(255,255,255,.35),transparent 55%);animation:blink 1.4s infinite}
.rules{display:flex;flex-direction:column;gap:6px}
.rule{padding:10px 12px;border-radius:10px;border:1px solid rgba(250,248,244,.1);font-size:.8rem;display:flex;gap:10px;align-items:center;color:rgba(250,248,244,.55);transition:all .3s}
.rule::before{content:"";width:8px;height:8px;border-radius:50%;background:rgba(250,248,244,.2);flex:none}
.rule.met{color:var(--cream)}.rule.met::before{background:#ffb04a}
.rule.fired{background:rgba(224,54,44,.18);border-color:var(--red);color:#fff}.rule.fired::before{background:var(--red2);box-shadow:0 0 0 4px rgba(255,90,78,.25)}
@media(max-width:1000px){.trig{grid-template-columns:1fr}}
@media(max-width:700px){.trig-screen{grid-template-columns:1fr}}

.opt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.opt-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.opt-card h4{margin-bottom:14px}
.opt-card p,.opt-card li{color:var(--mute);font-size:.96rem}
.opt-card li{padding:7px 0;border-bottom:1px solid var(--line)}.opt-card li:last-child{border:0}
.opt-card li b{color:var(--ink)}
.dc{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.dc span{font-family:var(--mono);font-size:.8rem;background:var(--ink);color:var(--cream);padding:6px 10px;border-radius:8px;animation:dc 4s infinite}
.dc span:nth-child(2){animation-delay:1s}.dc span:nth-child(3){animation-delay:2s}.dc span:nth-child(4){animation-delay:3s}
@keyframes dc{0%,20%,100%{background:var(--ink)}8%{background:var(--red)}}
@media(max-width:900px){.opt-grid{grid-template-columns:1fr}}

.exp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,50px);margin-top:16px;background:var(--beige);border-radius:24px;padding:clamp(24px,4vw,48px);align-items:center}
.exp-copy h3{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:14px}
.exp-copy>p{color:var(--mute)}
.exp-slider{display:flex;flex-direction:column;gap:10px;margin-top:24px;font-weight:700}
.exp-slider b{color:var(--red);font-family:var(--mono)}
.exp-slider input{width:min(340px,100%)}
.exp-viz{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;background:var(--cream);border-radius:20px;padding:28px}
.exp-bars{display:flex;gap:18px;align-items:flex-end;height:240px}
.exp-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:6px}
.exp-bar span{width:100%;background:var(--red);border-radius:10px 10px 0 0;transition:height .5s var(--ease);min-height:4px}
.exp-bar.hold span{background:repeating-linear-gradient(45deg,var(--ink) 0 6px,#3a3a3e 6px 12px)}
.exp-bar b{font-family:var(--mono);font-size:.82rem;order:-1}
.exp-bar small{font-size:.8rem;color:var(--mute);font-weight:700}
.exp-out small{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);font-weight:700}
.exp-out strong{font-size:clamp(2.6rem,5vw,4.2rem);letter-spacing:-.04em;line-height:1;color:var(--red);display:block}
.exp-out em{font-family:var(--mono);font-size:.82rem;color:var(--mute)}
@media(max-width:900px){.exp{grid-template-columns:1fr}}
@media(max-width:480px){.exp-viz{grid-template-columns:1fr}}
.pricing{margin-top:clamp(40px,5vw,64px)}

/* RECORD */
.rec{display:grid;grid-template-columns:260px 1fr;gap:16px}
.rec-tabs{display:flex;flex-direction:column;gap:4px}
.rec-tab{text-align:left;padding:11px 14px;border-radius:10px;font-weight:500;font-size:.96rem;color:var(--mute-d);display:flex;justify-content:space-between;align-items:center;transition:background .25s,color .25s}
.rec-tab i{font-style:normal;font-family:var(--mono);font-size:.62rem;opacity:.6}
.rec-tab:hover{color:var(--cream)}
.rec-tab.on{background:var(--cream);color:var(--ink)}
.rec-card{border:1px solid var(--line-d);border-radius:22px;padding:clamp(22px,3vw,36px);background:linear-gradient(160deg,rgba(250,248,244,.07),rgba(250,248,244,.02));min-height:340px}
.rec-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.rec-id{font-family:var(--mono);font-size:.78rem;color:var(--mute-d)}
.rec-q{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:5px 11px;border-radius:999px;background:rgba(62,207,142,.16);color:var(--ok)}
.rec-q.m{background:rgba(10,141,255,.18);color:#6fbcff}.rec-q.e{background:rgba(255,176,74,.16);color:#ffb04a}
.rec-card h3{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.rec-src{color:var(--mute-d);font-size:.94rem;margin:6px 0 24px}
.rec-src b{color:var(--cream)}
.rec-fields{display:flex;flex-wrap:wrap;gap:8px}
.rec-fields span{font-family:var(--mono);font-size:.8rem;border:1px solid rgba(250,248,244,.18);border-radius:8px;padding:8px 12px;animation:fld .5s var(--ease) backwards;animation-delay:calc(var(--i)*35ms)}
@keyframes fld{from{opacity:0;transform:translateY(10px) scale(.96)}}
@media(max-width:820px){.rec{grid-template-columns:1fr}.rec-tabs{flex-direction:row;overflow-x:auto;padding-bottom:6px}.rec-tab{white-space:nowrap}.rec-tab i{display:none}}
.access{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(40px,5vw,70px);border-top:1px solid var(--line-d)}
.access div{padding:24px 22px 0 0}
.access div+div{padding-left:22px;border-left:1px solid var(--line-d)}
.access p{color:var(--mute-d);font-size:.94rem;margin-top:6px}
@media(max-width:820px){.access{grid-template-columns:1fr 1fr}.access div:nth-child(3){padding-left:0;border-left:0}}
@media(max-width:480px){.access{grid-template-columns:1fr}.access div+div{padding-left:0;border-left:0}}

/* LEFT OUT */
.out-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.out{background:var(--cream);border-radius:var(--r);padding:26px;position:relative;overflow:hidden;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;transition:background .35s,color .35s}
.out h4{position:relative;display:inline;background:linear-gradient(var(--red),var(--red)) no-repeat 0 55%/0 2px;transition:background-size .6s var(--ease)}
.out.in h4{background-size:100% 2px}
.out p{font-size:.94rem;color:var(--mute);margin-top:18px;transition:color .35s}
.out::after{content:"×";position:absolute;right:18px;top:8px;font-size:2rem;font-weight:700;color:var(--red)}
.out:hover{background:var(--ink);color:var(--cream)}.out:hover p{color:var(--mute-d)}
@media(max-width:900px){.out-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.out-grid{grid-template-columns:1fr}}

/* HARDWARE */
.routes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.route{border:1px solid var(--ink);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:10px;transition:background .3s,color .3s,transform .3s var(--ease)}
.route span{width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:700;font-family:var(--mono);font-size:.86rem}
.route p{font-size:.95rem;color:var(--mute)}
.route em{font-size:.82rem;font-weight:700;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.route:hover{background:var(--ink);color:var(--cream);transform:translateY(-6px)}.route:hover p{color:var(--mute-d)}.route:hover em{border-color:var(--line-d)}
@media(max-width:980px){.routes{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.routes{grid-template-columns:1fr}}
.gal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:clamp(48px,6vw,80px) 0 20px}
.gal-head h3{font-size:clamp(1.6rem,3vw,2.2rem)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gcard{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;color:#fff;background:var(--ink);transition:opacity .4s,transform .5s var(--ease),filter .4s}
.gcard img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.gcard:hover img{transform:scale(1.07)}
.gcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,12,.92),rgba(10,10,12,.1) 60%)}
.gcard-in{position:absolute;inset:auto 0 0 0;padding:20px;z-index:1}
.gcard h4{font-size:1.2rem}
.gcard p{font-size:.86rem;opacity:.75;margin-top:2px}
.gmeta{display:flex;flex-wrap:wrap;gap:6px;margin-top:0;max-height:0;opacity:0;transition:max-height .45s var(--ease),opacity .35s,margin .35s}
.gcard:hover .gmeta,.gcard:focus-within .gmeta{max-height:90px;opacity:1;margin-top:12px}
.gmeta span{font-family:var(--mono);font-size:.66rem;padding:4px 8px;border-radius:6px;background:rgba(250,248,244,.16);backdrop-filter:blur(6px)}
.gmeta span.r{background:var(--red)}
.gcard.dim{opacity:.22;filter:grayscale(1);transform:scale(.97)}
@media(hover:none){.gmeta{max-height:90px;opacity:1;margin-top:12px}}
@media(max-width:900px){.gal{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.gal{grid-template-columns:1fr}}

.kit{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:clamp(48px,6vw,80px);background:var(--ink);color:var(--cream);border-radius:24px;padding:16px}
.kit-img{position:relative;border-radius:14px;overflow:hidden;align-self:start}
.kit-img img{width:100%}
.pin{position:absolute;left:var(--x);top:var(--y);width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--red);border:3px solid #fff;animation:pin 2s infinite;transition:transform .25s}
.pin.on,.pin:hover{transform:scale(1.35);animation:none;box-shadow:0 0 0 8px rgba(224,54,44,.35)}
@keyframes pin{0%{box-shadow:0 0 0 0 rgba(224,54,44,.8)}100%{box-shadow:0 0 0 16px rgba(224,54,44,0)}}
.kit-list{display:flex;flex-direction:column;gap:4px;padding:6px}
.kit-item{text-align:left;padding:11px 14px;border-radius:12px;transition:background .25s;width:100%}
.kit-item b{display:block;font-size:.98rem}
.kit-item small{display:block;color:var(--mute-d);font-size:.84rem;max-height:0;overflow:hidden;transition:max-height .35s var(--ease),margin .35s}
.kit-item.on{background:rgba(250,248,244,.08)}
.kit-item.on b{color:var(--red2)}
.kit-item.on small{max-height:80px;margin-top:4px}
@media(max-width:900px){.kit{grid-template-columns:1fr}}

/* CONFIG */
.cfg{background:var(--cream);border-radius:24px;overflow:hidden;border:1px solid rgba(23,23,26,.14)}
.cfg-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(23,23,26,.14)}
.cfg-tab{padding:20px 12px;font-weight:700;font-size:1.1rem;position:relative;transition:background .3s,color .3s}
.cfg-tab+.cfg-tab{border-left:1px solid rgba(23,23,26,.14)}
.cfg-tab.on{background:var(--ink);color:var(--cream)}
.cfg-tab.on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red)}
.cfg-body{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(20px,4vw,48px);padding:clamp(22px,4vw,44px)}
.cfg-for{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--red)}
.cfg-left h3{font-size:clamp(2rem,4vw,3.2rem);margin:6px 0 16px}
.cfg-hw{display:flex;flex-wrap:wrap;gap:6px}
.cfg-hw span{font-size:.84rem;font-weight:700;border:1px solid var(--ink);border-radius:999px;padding:6px 12px;animation:fld .4s var(--ease) backwards;animation-delay:calc(var(--i)*60ms)}
.cfg-rig{margin-top:28px;display:flex;align-items:flex-end;gap:14px}
.rig-screen{width:150px;aspect-ratio:16/10;background:var(--ink);border-radius:8px;padding:6px;flex:none}
.rig-screen i{display:block;width:100%;height:100%;border-radius:4px;background:linear-gradient(135deg,var(--red),#ff8a5c)}
.rig-parts{display:flex;gap:8px;flex-wrap:wrap}
.rig-parts span{width:44px;height:44px;border-radius:10px;background:var(--ink);color:var(--cream);display:grid;place-items:center;font-family:var(--mono);font-size:.6rem;font-weight:700;text-align:center;line-height:1.1;animation:fld .4s var(--ease) backwards;animation-delay:calc(var(--i)*90ms)}
.rig-parts span.b{background:var(--blue)}.rig-parts span.r{background:var(--red)}
.cfg-rows div{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.96rem;animation:fld .45s var(--ease) backwards;animation-delay:calc(var(--i)*45ms)}
.cfg-rows dt{color:var(--mute)}
.cfg-rows dd{font-weight:700;display:flex;gap:8px;align-items:baseline}
.cfg-rows dd::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none;transform:translateY(-1px)}
.cfg-rows dd.est::before{background:#f0a030}.cfg-rows dd.no::before{background:rgba(23,23,26,.2)}.cfg-rows dd.no{color:var(--mute);font-weight:500}
@media(max-width:860px){.cfg-body{grid-template-columns:1fr}.cfg-tab{font-size:.9rem;padding:16px 6px}}
.mix{margin-top:16px;border:1px dashed var(--ink);border-radius:var(--r);padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;align-items:center}
.mix b{grid-column:1/-1;font-size:1.1rem}
.mix p{color:var(--mute);font-size:.98rem}
.mix-dots{display:grid;grid-template-columns:repeat(20,1fr);gap:5px}
.mix-dots i{aspect-ratio:1;border-radius:50%;background:var(--ink);opacity:.85}
.mix-dots i.a{background:var(--red);opacity:1;animation:pin 2s infinite}
@media(max-width:760px){.mix{grid-template-columns:1fr}}

/* PRIVACY */
.pipe{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin-bottom:clamp(40px,5vw,70px)}
.pipe-step{border:1px solid var(--line-d);border-radius:var(--r);padding:22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:210px;justify-content:center}
.pipe-step.hot{background:var(--red);border-color:var(--red)}
.pipe-step small{color:var(--mute-d);font-size:.84rem}.pipe-step.hot small{color:rgba(255,255,255,.85)}
.pipe-arrow{width:34px;height:2px;background:var(--line-d);position:relative;overflow:hidden}
.pipe-arrow::after{content:"";position:absolute;inset:0;width:40%;background:var(--red2);animation:arr 1.6s linear infinite}
@keyframes arr{from{transform:translateX(-100%)}to{transform:translateX(260%)}}
.pipe-ic{width:76px;height:76px;border-radius:16px;background:rgba(250,248,244,.07);display:grid;place-items:center;margin-bottom:8px;position:relative}
.pipe-ic.frame i{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--blue);animation:pt 3s infinite}
.pipe-ic.frame i:nth-child(1){left:18px;top:22px}.pipe-ic.frame i:nth-child(2){left:44px;top:34px;animation-delay:.6s}.pipe-ic.frame i:nth-child(3){left:28px;top:50px;animation-delay:1.2s}
@keyframes pt{50%{transform:translate(8px,-6px)}}
.pipe-ic.chip span{width:36px;height:36px;border:2px solid var(--cream);border-radius:6px;box-shadow:0 0 0 6px rgba(250,248,244,.08);animation:blink 1s infinite}
.pipe-ic.bin span{width:34px;height:34px;border-radius:6px;background:var(--cream);animation:gone 2.4s infinite}
@keyframes gone{0%,30%{transform:scale(1);opacity:1}70%,100%{transform:scale(0) rotate(40deg);opacity:0}}
.pipe-ic.nums{background:rgba(255,255,255,.2)}
.pipe-ic.nums span{font-family:var(--mono);font-weight:700;font-size:1.6rem}
@media(max-width:900px){.pipe{grid-template-columns:1fr}.pipe-arrow{width:2px;height:26px;justify-self:center}.pipe-arrow::after{width:100%;height:40%;animation-name:arrv}.pipe-step{min-height:0}}
@keyframes arrv{from{transform:translateY(-100%)}to{transform:translateY(260%)}}
.priv-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:start}
.not{border:1px solid var(--line-d);border-radius:22px;padding:28px;background:rgba(250,248,244,.04)}
.not h4{font-size:1.4rem;margin-bottom:12px}
.not li{padding:11px 0 11px 30px;position:relative;border-bottom:1px solid var(--line-d)}
.not li::before{content:"×";position:absolute;left:2px;top:6px;color:var(--red2);font-weight:700;font-size:1.3rem}
.not p{color:var(--mute-d);font-size:.92rem;margin-top:18px}
@media(max-width:860px){.priv-grid{grid-template-columns:1fr}}

/* DEPLOY */
.deploy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dep{background:var(--ink);color:var(--cream);border-radius:22px;padding:32px;min-height:320px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .4s var(--ease)}
.dep::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--red);right:-140px;top:-140px;transition:transform .7s var(--ease)}
.dep:hover{transform:translateY(-8px)}.dep:hover::before{transform:scale(4.6)}
.dep>*{position:relative}
.dep-n{font-family:var(--mono);font-size:.8rem;font-weight:700;margin-bottom:auto}
.dep h4{font-size:1.5rem;margin:40px 0 10px}
.dep p{color:var(--mute-d);font-size:.98rem;transition:color .4s}
.dep:hover p{color:#fff}
@media(max-width:900px){.deploy-grid{grid-template-columns:1fr}.dep{min-height:0}}
.provide{margin-top:clamp(40px,5vw,70px)}
.provide h4{font-size:1.4rem;margin-bottom:18px}
.provide-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.provide-grid div{padding:22px 22px 0 0}
.provide-grid div+div{padding-left:22px;border-left:1px solid var(--line)}
.provide-grid p{color:var(--mute);font-size:.95rem;margin-top:6px}
@media(max-width:820px){.provide-grid{grid-template-columns:1fr 1fr}.provide-grid div:nth-child(3){padding-left:0;border-left:0}}
@media(max-width:480px){.provide-grid{grid-template-columns:1fr}.provide-grid div+div{padding-left:0;border-left:0}}

/* CTA */
.cta{position:relative;color:var(--cream);padding:clamp(110px,16vw,220px) 0;overflow:hidden;background:#0c0c0e}
.cta-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,12,.9),rgba(10,10,12,.45) 70%,rgba(10,10,12,.3))}
.cta-in{position:relative}
.cta h2{font-size:clamp(2.4rem,6vw,5rem);margin-bottom:22px}
.cta p{font-size:clamp(1.05rem,1.5vw,1.3rem);color:rgba(250,248,244,.8);max-width:52ch;margin-bottom:34px}

.foot{background:#0c0c0e;color:var(--mute-d);padding:40px 0;font-size:.92rem;border-top:1px solid var(--line-d)}
.foot-in{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.foot .logo-l{opacity:1!important}.foot .logo-d{display:none}
.foot nav{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
.foot a:hover{color:var(--cream)}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none}
}

#scanLines{height:150px}#scanLines p{white-space:normal;line-height:1.45;padding:4px 0}
