@font-face{font-family:'Inter';font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/Inter.woff2) format('woff2')}
@font-face{font-family:'Lexend Zetta';font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/LexendZetta.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono.woff) format('woff')}

:root{
 --bg:#000;--g1:#08090A;--g2:#0D0E10;--fg:#F5F5F7;--sub:#C7C9CE;--mute:#8E8E93;--dim:#3A3A3C;--line:#1C1C1E;--hair:#26272B;
 --metal:#B9BEC7;--opt:#A9C1DA;
 --z:'Lexend Zetta',sans-serif;--s:'Inter',system-ui,-apple-system,sans-serif;--m:'JetBrains Mono',ui-monospace,Menlo,monospace;
 --ease:cubic-bezier(.2,.7,.2,1);--sw:cubic-bezier(.7,0,.2,1);
 --gut:clamp(20px,5vw,56px)
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--s);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--fg);color:var(--bg)}
:focus-visible{outline:1px solid var(--fg);outline-offset:4px}
svg{display:block}

/* ---------- nav ---------- */
nav{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:22px var(--gut);padding-top:max(22px,env(safe-area-inset-top));z-index:20;transition:background .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s,border-color .3s;border-bottom:1px solid transparent}
nav.sc{background:rgba(0,0,0,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
nav svg{height:18px;width:auto}
.nl{display:flex;gap:36px;align-items:center}
.nl a{font-family:var(--z);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--sub);transition:color .3s}
.nl a.c{color:var(--fg)}
.nl .x{display:inline}
@media (max-width:760px){.nl .x{display:none}}

/* ---------- shared type ---------- */
section{padding:clamp(96px,13vw,168px) var(--gut);max-width:1200px;margin:0 auto}
.k{font-family:var(--m);font-size:12px;letter-spacing:.2em;color:var(--mute);text-transform:uppercase;margin-bottom:24px}
h1{font-family:var(--z);font-weight:400;font-size:clamp(26px,4.2vw,56px);line-height:1.15;letter-spacing:.02em;text-wrap:balance}
h2{font-family:var(--z);font-weight:400;font-size:clamp(24px,3.6vw,44px);line-height:1.2;letter-spacing:.01em;max-width:900px;text-wrap:balance}
h3{font-family:var(--z);font-weight:400;font-size:15px;letter-spacing:.05em;line-height:1.45}
.p{color:var(--mute);max-width:640px;margin-top:28px;font-size:18px}
.p b,.p strong{color:var(--fg);font-weight:500}
.ctr{margin-left:auto!important;margin-right:auto!important}
.nw{white-space:nowrap}
.tag{display:inline-block;font-family:var(--m);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--dim);color:var(--sub);white-space:nowrap;line-height:1.4}
.tag.cur{border-color:var(--metal);color:var(--fg)}
.tag.dev{border-style:dashed;color:var(--sub)}
.tag.pl{border-style:dotted;color:var(--mute)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 20px 56px;overflow:hidden}
#lat{position:absolute;inset:0;width:100%;height:100%}
.hero .in{position:relative;width:100%;max-width:1160px}
.eyebrow{font-family:var(--m);font-size:12px;letter-spacing:.2em;color:var(--mute);text-transform:uppercase;margin-bottom:28px}
.hz{height:1px;background:var(--fg);width:min(420px,60vw);margin:36px auto 28px;transform-origin:left;transform:scaleX(0)}
.go .hz{animation:hz 1.6s var(--sw) .2s both}
html:not(.js) .hz{transform:none}
@keyframes hz{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.lead{color:var(--mute);max-width:560px;margin:0 auto;font-size:18px}

/* session visual */
.sess{position:relative;width:100%;max-width:980px;margin:56px auto 0}
.sess svg{width:100%;height:auto;overflow:visible}
.sess .sv-m{display:none}
.sess .ln{stroke:var(--hair);stroke-width:1}
.sess .ch{stroke:var(--fg);stroke-width:1;stroke-dasharray:2 7;opacity:0;transition:opacity .8s}
.sess .dev{fill:none;stroke:var(--sub);stroke-width:1}
.sess .scr{fill:var(--g2);stroke:none;transition:fill .8s}
.sess .tk{fill:var(--bg);stroke:var(--dim);stroke-width:1;transition:stroke .5s,fill .5s}
.sess .tl{font-family:var(--m);font-size:10px;letter-spacing:.14em;fill:var(--mute);text-transform:uppercase;transition:fill .5s}
.sess .dl{font-family:var(--m);font-size:10px;letter-spacing:.16em;fill:var(--mute)}
.sess .pk{fill:var(--fg)}
.sess .kl{stroke:var(--sub);stroke-width:1;fill:none;opacity:0;transition:opacity .6s}
.sess .kl-t{opacity:0;transition:opacity .6s}
.sess.kon .kl,.sess.kon .kl-t{opacity:1}
.sess [data-on="1"].tk{stroke:var(--fg);fill:var(--fg)}
.sess [data-on="1"].tl{fill:var(--fg)}
.sess.live .ch{opacity:.9;animation:flow 1.2s linear infinite}
.sess.live .scr{fill:#15171B}
@keyframes flow{to{stroke-dashoffset:-18}}
.st-line{margin-top:20px;font-family:var(--m);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sub);min-height:1.6em;display:flex;justify-content:center;gap:10px;align-items:center}
.st-line::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--dim)}
.sess.live+.st-line::before{background:var(--fg)}
@keyframes bl{50%{opacity:.25}}

/* ---------- problem ---------- */
.stat{margin-top:64px;display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;padding:36px 0;border-top:1px solid var(--dim)}
.stat .big{font-family:var(--z);font-size:clamp(44px,8vw,96px);letter-spacing:-.01em;line-height:1}
.stat p{color:var(--mute);max-width:520px}.stat b{color:var(--fg);font-weight:500}
.stat .src{display:block;margin-top:12px;font-family:var(--m);font-size:11px;letter-spacing:.03em}
.stat .src a{border-bottom:1px solid var(--dim)}
.tl3{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--dim)}
.tl3>div{padding:24px 24px 0 0}
.tl3 .y{font-family:var(--z);font-size:13px;letter-spacing:.15em;margin-bottom:10px}
.tl3 p{color:var(--mute);font-size:15px}
.tl3>div:nth-child(2) .y::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--fg);margin-right:10px;vertical-align:1px;animation:bl 1.6s infinite}

/* ---------- protocol steps ---------- */
.proto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;margin-top:72px;align-items:start}
.stack{position:sticky;top:120px}
.stack svg{width:100%;height:auto}
.stack .pl{fill:var(--g1);stroke:var(--dim);stroke-width:1;transition:fill .6s,stroke .6s,transform .8s var(--ease)}
.stack .pt{font-family:var(--m);font-size:11px;letter-spacing:.16em;fill:var(--mute);transition:fill .6s}
.stack g[data-a="1"] .pl{fill:#15171B;stroke:var(--fg)}
.stack g[data-a="1"] .pt{fill:var(--fg)}
.stack .ax{stroke:var(--hair);stroke-width:1;stroke-dasharray:2 5}
.steps{list-style:none;border-top:1px solid var(--dim)}
.step{border-bottom:1px solid var(--dim);padding:28px 0;transition:opacity .5s}
.js .steps .step{opacity:.45}
.js .steps .step.a{opacity:1}
.step button{width:100%;display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:baseline;text-align:left}
.step .n{font-family:var(--m);font-size:12px;color:var(--mute)}
.step h3{font-size:16px}
.step .pm{font-family:var(--m);font-size:14px;color:var(--mute);transition:transform .4s var(--ease)}
.step.op .pm{transform:rotate(45deg)}
.step .sh{grid-column:2/4;color:var(--sub);font-size:15px;margin-top:8px}
.step .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease);padding-left:52px}
.step .more>div{overflow:hidden}
.step .more p{color:var(--mute);font-size:15px;padding-top:12px;max-width:520px}
.step.op .more{grid-template-rows:1fr}
.step .tag{margin-left:10px;vertical-align:2px}

/* ---------- product demo ---------- */
.demo2{margin-top:72px;display:grid;grid-template-columns:1fr minmax(120px,1.1fr) 1fr;align-items:center;gap:0}
.ph{position:relative;aspect-ratio:9/18.5;max-width:270px;width:100%;justify-self:center;border:1px solid var(--dim);border-radius:38px;background:var(--g1);padding:14px;display:flex;flex-direction:column}
.ph::before{content:"";position:absolute;top:10px;left:50%;width:34%;height:18px;border-radius:12px;background:#000;transform:translateX(-50%);border:1px solid var(--line)}
.ph .hd{display:flex;align-items:center;justify-content:space-between;padding:30px 8px 12px;border-bottom:1px solid var(--line)}
.ph .who{font-family:var(--z);font-size:11px;letter-spacing:.08em;white-space:nowrap}
.ph .vf{display:block;font-family:var(--m);font-size:9px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;margin-top:3px}
.ph .ic{display:flex;gap:10px;color:var(--sub)}
.ph .ic svg{width:16px;height:16px}
.ph{overflow:hidden;align-self:center}
.ph .bd{min-height:0;overflow:hidden;flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:12px 6px}
.bub{max-width:82%;font-size:12.5px;line-height:1.4;padding:9px 12px;border-radius:14px;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s var(--ease)}
.bub.me{align-self:flex-end;background:var(--fg);color:#000;border-bottom-right-radius:4px}
.bub.th{align-self:flex-start;background:#1A1B1E;color:var(--fg);border-bottom-left-radius:4px}
.bub.old{opacity:1;transform:none}
.bub.on{opacity:1;transform:none}
.ph .ft{display:flex;align-items:center;gap:6px;justify-content:center;font-family:var(--m);font-size:9px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;padding:10px 0 4px;border-top:1px solid var(--line)}
.ph .ft i{width:5px;height:5px;border-radius:50%;background:var(--fg)}
.pipe{position:relative;height:120px}
.pipe svg{width:100%;height:100%;overflow:visible}
.pipe .pl2{stroke:var(--hair);stroke-width:1}
.pipe .pf{stroke:var(--fg);stroke-width:1;stroke-dasharray:2 7;animation:flow 1.2s linear infinite}
.cx{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--m);font-size:10px;letter-spacing:.06em;color:var(--fg);background:var(--bg);border:1px solid var(--dim);padding:4px 8px;white-space:nowrap;opacity:0;transition:opacity .3s}
.cx.on{opacity:1}
.cap{margin-top:40px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;font-family:var(--m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub)}
.cap span{display:inline-flex;align-items:center;gap:8px}
.cap span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--sub)}

/* ---------- live cipher demo ---------- */
.demo{margin-top:64px;border:1px solid var(--dim);display:grid;grid-template-columns:1fr 1fr}
.demo>div{padding:28px}
.demo>div+div{border-left:1px solid var(--dim)}
.demo label{display:block;font-family:var(--m);font-size:11px;letter-spacing:.2em;color:var(--mute);text-transform:uppercase;margin-bottom:14px}
.demo textarea{width:100%;height:132px;background:transparent;border:0;color:var(--fg);font-family:var(--s);font-size:20px;resize:none;outline:none}
#ct{font-family:var(--m);font-size:13px;line-height:1.7;color:var(--fg);word-break:break-all;height:132px;overflow:hidden}
.demo .note{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--dim);padding:14px 28px;font-family:var(--m);font-size:11px;color:var(--mute);letter-spacing:.05em}

/* ---------- ladder ---------- */
.lad{margin-top:72px;display:grid;grid-template-columns:repeat(4,1fr);align-items:end;gap:12px}
.lst{border:1px solid var(--dim);border-bottom:0;padding:24px 20px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;background:var(--bg)}
.lst:nth-child(1){height:180px}.lst:nth-child(2){height:250px}.lst:nth-child(3){height:320px}.lst:nth-child(4){height:390px}
.lst::after{content:"";position:absolute;left:-1px;right:-1px;bottom:0;height:1px;background:var(--fg)}
.lst .lv{font-family:var(--m);font-size:11px;letter-spacing:.2em;color:var(--mute);margin-bottom:auto;display:flex;justify-content:space-between;align-items:center}
.lst h3{font-size:13px;margin:0 0 10px}
.lst p{color:var(--mute);font-size:14px;line-height:1.5}
.lst.top{border-color:var(--fg);background:var(--fg);color:var(--bg)}
.lst.top .lv,.lst.top p{color:#3A3A3C}
.us{font-family:var(--z);letter-spacing:.15em;color:var(--bg);border:1px solid var(--bg);padding:3px 8px}
.lad.on .lst{animation:rise 1s var(--ease) both}.lad.on .lst:nth-child(2){animation-delay:.12s}.lad.on .lst:nth-child(3){animation-delay:.24s}.lad.on .lst:nth-child(4){animation-delay:.36s}
@keyframes rise{from{transform:scaleY(.2);transform-origin:bottom;opacity:0}to{transform:none;opacity:1}}

/* ---------- capability cards ---------- */
.caps{margin-top:72px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cap2{position:relative;border:1px solid var(--dim);background:var(--g1);padding:32px 28px 30px;min-height:300px;display:flex;flex-direction:column;transition:border-color .4s,transform .6s var(--ease),background .4s}
.cap2 .gl{width:56px;height:56px;color:var(--sub);margin-bottom:auto}
.cap2 .gl *{vector-effect:non-scaling-stroke}
.cap2 h3{margin:40px 0 12px;font-size:16px}
.cap2 p{color:var(--mute);font-size:15px}
.cap2 .tgs{position:absolute;top:26px;right:22px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}

/* ---------- architecture ---------- */
.arch{margin-top:80px;--p:0}
.arch ol{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.arch li{position:relative;text-align:center;padding:0 8px;transform:translateY(calc((1 - var(--p)) * var(--o,0) * 1px));transition:transform .2s linear}
.arch li:nth-child(1){--o:36}.arch li:nth-child(2){--o:12}.arch li:nth-child(3){--o:-24}.arch li:nth-child(4){--o:12}.arch li:nth-child(5){--o:36}
.nd{width:84px;height:84px;margin:0 auto;border:1px solid var(--dim);display:grid;place-items:center;background:var(--bg);position:relative;z-index:1;transition:border-color .5s}
.nd svg{width:38px;height:38px;color:var(--sub)}
.arch li.ch2 .nd{border-radius:50%;border-color:var(--fg)}
.arch h3{margin-top:22px;font-size:12px;letter-spacing:.12em}
.arch p{margin-top:8px;color:var(--mute);font-size:13px;line-height:1.5}
.wire{position:absolute;left:10%;right:10%;top:42px;height:1px;background:var(--hair);z-index:0}
.wire::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,var(--fg) 0 2px,transparent 2px 9px);opacity:0;transition:opacity .8s}
.arch.on .wire::after{opacity:.8;animation:wire 1.4s linear infinite}
@keyframes wire{from{background-position:0 0}to{background-position:18px 0}}
.bound{margin-top:48px;display:flex;justify-content:center;gap:28px;flex-wrap:wrap;font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.bound span{display:inline-flex;align-items:center;gap:10px}
.bound .e2e::before{content:"";width:28px;height:1px;background:var(--fg)}
.bound .ct::before{content:"";width:28px;height:1px;background:repeating-linear-gradient(90deg,var(--sub) 0 2px,transparent 2px 6px)}

/* ---------- deployment ---------- */
.dep{margin-top:72px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dm{border:1px solid var(--dim);padding:28px;display:flex;flex-direction:column;background:var(--bg);transition:border-color .4s}
.dm .top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.dm .nb{font-family:var(--m);font-size:12px;color:var(--mute)}
.dm svg{width:100%;height:auto;margin:28px 0}
.dm svg .b{fill:none;stroke:var(--dim);stroke-width:1}
.dm svg .bd{fill:none;stroke:var(--sub);stroke-width:1;stroke-dasharray:4 4}
.dm svg .n2{fill:var(--bg);stroke:var(--sub);stroke-width:1}
.dm svg .l2{stroke:var(--sub);stroke-width:1;stroke-dasharray:2 5}
.dm svg text{font-family:var(--m);font-size:9px;letter-spacing:.14em;fill:var(--mute)}
.dm h3{font-size:15px;margin-bottom:10px}
.dm p{color:var(--mute);font-size:14px}

/* HARM teaser */
.harm{margin-top:12px;border:1px solid var(--dim);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;background:var(--g1);overflow:hidden}
.harm .vis{padding:36px;border-right:1px solid var(--line)}
.harm .vis svg{width:100%;height:auto}
.harm .tx{padding:36px}
.harm .tx h3{font-size:18px;margin:16px 0 10px}
.harm .tx p{color:var(--mute);font-size:15px;max-width:420px}
.harm svg .bdy{fill:#101114;stroke:var(--metal);stroke-width:1}
.harm svg .ins{fill:none;stroke:var(--dim);stroke-width:1}
.harm svg .dim{stroke:var(--mute);stroke-width:.75;fill:none}
.harm svg text{font-family:var(--m);font-size:9px;letter-spacing:.16em;fill:var(--mute)}
.harm svg .eng{font-family:var(--z);font-size:11px;letter-spacing:.3em;fill:var(--metal)}
.harm svg .led{fill:var(--opt)}
.js .harm .led{animation:bl 3s infinite}

/* ---------- trust center ---------- */
.trust{margin-top:72px;border:1px solid var(--dim);background:var(--g1)}
.trust .bar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--dim);font-family:var(--m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.trust .bar b{color:var(--fg);font-weight:400}
.trust .bar i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--fg);margin-right:10px;vertical-align:1px;animation:bl 2.4s infinite}
.tg{display:grid;grid-template-columns:repeat(5,1fr)}
.ti{padding:28px 24px 30px;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:230px;transition:background .4s}
.ti:last-child{border-right:0}
.ti .tk2{font-family:var(--m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.ti h3{font-size:14px;margin:18px 0 10px}
.ti p{color:var(--mute);font-size:14px;line-height:1.5}
.ti .go2{margin-top:auto;padding-top:20px;font-family:var(--z);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg)}
.ti .big0{font-family:var(--z);font-size:40px;line-height:1;margin-top:16px}

/* ---------- contact ---------- */
.contact{text-align:center;padding-bottom:120px}
.contact h2{margin:0 auto}
.btn{display:inline-block;margin-top:48px;font-family:var(--z);font-size:12px;letter-spacing:.25em;text-transform:uppercase;border:1px solid var(--fg);padding:20px 34px;transition:background .3s,color .3s}
.addr{margin-top:22px;font-family:var(--m);font-size:12px;letter-spacing:.12em;color:var(--mute)}

footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:28px var(--gut);padding-bottom:max(28px,env(safe-area-inset-bottom));border-top:1px solid var(--line);font-family:var(--m);font-size:11px;letter-spacing:.1em;color:var(--mute)}
footer .fl{display:flex;gap:24px;flex-wrap:wrap}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity 1s,transform 1s var(--ease)}
.js .rv.on{opacity:1;transform:none}
.js .caps .rv:nth-child(2),.js .dep .rv:nth-child(2){transition-delay:80ms}
.js .caps .rv:nth-child(3),.js .dep .rv:nth-child(3){transition-delay:160ms}
.js .caps .rv:nth-child(4){transition-delay:240ms}.js .caps .rv:nth-child(5){transition-delay:320ms}.js .caps .rv:nth-child(6){transition-delay:400ms}

/* ---------- hover (real pointers only) ---------- */
@media (hover:hover){
 .nl a:hover{color:var(--fg)}
 .cap2:hover{border-color:var(--sub);background:#0B0C0E;transform:translateY(-4px)}
 .dm:hover{border-color:var(--sub)}
 .ti:hover{background:#0B0C0E}
 .btn:hover{background:var(--fg);color:var(--bg)}
 footer a:hover{color:var(--fg)}
 .stat .src a:hover{color:var(--fg)}
 .step button:hover h3{color:var(--sub)}
 .doc a:hover{border-color:var(--fg)}
}

/* ---------- legal / doc pages ---------- */
.doc{max-width:760px;margin:0 auto;padding:140px var(--gut) 120px}
.doc h1{font-size:clamp(26px,4vw,40px);margin-bottom:16px}
.doc .meta{font-family:var(--m);font-size:12px;color:var(--mute);letter-spacing:.05em;margin-bottom:56px}
.doc h2{font-size:15px;letter-spacing:.08em;margin:56px 0 16px}
.doc p,.doc li,.doc td{color:var(--sub);font-size:16px}
.doc p+p{margin-top:14px}
.doc ul{padding-left:20px;margin-top:10px}.doc li{margin-top:8px}
.doc a{border-bottom:1px solid var(--dim)}
.doc strong{color:var(--fg);font-weight:500}
.after-tbl{margin-top:20px}
.tbl{width:100%;border-collapse:collapse;margin-top:16px}
.tbl th{font-family:var(--m);font-size:11px;letter-spacing:.15em;color:var(--mute);text-transform:uppercase;text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--dim)}
.tbl td{padding:14px 12px 14px 0;border-bottom:1px solid var(--line);vertical-align:top;font-size:14px}
.tbl td:first-child{color:var(--fg)}
.tbl td[data-label]::before{content:attr(data-label);display:none;font-family:var(--m);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--mute);margin-bottom:2px}
.qa{border-top:1px solid var(--line);padding:20px 0}.qa h3{font-family:var(--s);font-weight:500;font-size:17px;margin-bottom:8px;color:var(--fg);letter-spacing:0}

/* ---------- tablet ---------- */
@media (max-width:1000px){
 .caps{grid-template-columns:repeat(2,1fr)}
 .tg{grid-template-columns:repeat(2,1fr)}
 .ti{border-bottom:1px solid var(--line)}
 .ti:nth-child(2n){border-right:0}
 .ti:last-child{grid-column:1/-1}
 .proto{gap:40px}
}

/* ---------- phone ---------- */
@media (max-width:760px){
 body{font-size:16px}
 .hero{padding-top:108px}
 h1 br{display:none}
 .sess{margin-top:36px;max-width:420px}
 .sess .sv-d{display:none}
 .sess .sv-m{display:block}
 .st-line{font-size:11px}
 .stat{grid-template-columns:1fr;gap:16px}
 .tl3{grid-template-columns:1fr}.tl3>div{padding:20px 0;border-bottom:1px solid var(--line)}
 .proto{grid-template-columns:1fr;margin-top:48px}
 .stack{position:relative;top:0;max-width:340px;margin:0 auto}
 .step .more{padding-left:52px}
 .demo2{grid-template-columns:1fr 64px 1fr;margin-top:48px}
 .ph{border-radius:26px;padding:10px}
 .ph::before{height:12px;top:8px}
 .ph .hd{padding:20px 4px 8px}
 .ph .who{font-size:8px;letter-spacing:.04em}
 .ph .vf{font-size:8px}
 .ph .ic{gap:6px}.ph .ic svg{width:12px;height:12px}
 .bub{font-size:10.5px;padding:7px 9px}
 .ph .ft{font-size:8px;letter-spacing:.08em}
 .cx{font-size:9px;padding:3px 5px}
 .demo{grid-template-columns:1fr}.demo>div+div{border-left:0;border-top:1px solid var(--dim)}
 .lad{grid-template-columns:1fr;gap:8px}.lst{height:auto!important;border-bottom:1px solid var(--dim)}.lst::after{display:none}.lst .lv{margin-bottom:14px}
 .caps{grid-template-columns:1fr}
 .cap2{min-height:0}
 .cap2 h3{margin-top:28px}
 .arch ol{grid-template-columns:1fr;gap:0}
 .arch li{transform:none;display:grid;grid-template-columns:72px 1fr;gap:18px;text-align:left;padding:0 0 28px}
 .arch li .nd{width:64px;height:64px;margin:0}
 .arch li .nd svg{width:30px;height:30px}
 .arch h3{margin-top:6px}
 .wire{left:32px;right:auto;top:32px;bottom:60px;width:1px;height:auto}
 .wire::after{background:repeating-linear-gradient(180deg,var(--fg) 0 2px,transparent 2px 9px)}
 @keyframes wire{from{background-position:0 0}to{background-position:0 18px}}
 .dep{grid-template-columns:1fr}
 .harm{grid-template-columns:1fr}.harm .vis{border-right:0;border-bottom:1px solid var(--line);padding:24px}.harm .tx{padding:28px 24px}
 .tg{grid-template-columns:1fr}.ti{border-right:0;min-height:0}.ti:last-child{grid-column:auto}
 .trust .bar{flex-direction:column;align-items:flex-start;gap:6px}
 .btn{padding:18px 26px;font-size:11px}
 footer{flex-direction:column;gap:8px}
 .tbl thead{display:none}.tbl tr{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.tbl td{display:block;border:0;padding:4px 0}
 .tbl td[data-label]::before{display:block}.tbl td:first-child{font-weight:500}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .hz{transform:none}
 .js .rv{opacity:1;transform:none}
 .js .steps .step{opacity:1}
 .sess .ch{opacity:.9}
 .bub{opacity:1;transform:none}
 .arch li{transform:none}
}
