:root{
  --ink:#07060d;--ink2:#0c0a15;--panel:#110d1d;--panel2:#161126;--line:#2a2140;
  --violet:#8A3FFC;--violet2:#a66bff;--lilac:#cdb4ff;--text:#ece8f5;--mute:#a39cb8;--dim:#6f6788;
  --ok:#3ee07f;--warn:#ffb547;--bad:#ff5a6a;
  --display:'Anton',Impact,'Arial Narrow',sans-serif;--hand:'Caveat Brush',cursive;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;--sans:'DM Sans',system-ui,sans-serif;
  --r:12px;--wrap:1180px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--ink);color:var(--text);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;cursor:pointer}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--violet);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--lilac);outline-offset:3px}

h1,h2,h3{margin:0;font-weight:400}
h2{font:400 clamp(40px,5.4vw,68px)/.95 var(--display);text-transform:uppercase;letter-spacing:.005em}
h2 em,h1 em{font-style:normal;color:var(--violet2)}
.kicker{margin:0 0 12px;font:500 12px/1.2 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--violet2)}
.lead{color:var(--mute);font-size:18px;max-width:560px}
.hand{font-family:var(--hand);color:var(--lilac);font-size:26px;line-height:1.05;transform:rotate(-4deg)}
.hand svg{width:100%;height:12px;margin-top:4px;overflow:visible}
.hand svg path{fill:none;stroke:var(--violet);stroke-width:4;stroke-linecap:round;stroke-dasharray:240;stroke-dashoffset:240;transition:stroke-dashoffset 1.2s .3s ease}
.hand.drawn svg path{stroke-dashoffset:0}

.btn{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;background:var(--violet);color:#fff;border:1px solid var(--violet);padding:15px 26px;border-radius:8px;font-weight:700;font-size:15px;text-decoration:none;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -8px rgba(138,63,252,.8);background:#9650ff}
.btn .ar{transition:transform .2s}
.btn:hover .ar{transform:translateX(4px)}
.btn.ghost{background:transparent;border-color:var(--violet2);color:var(--text)}
.btn.ghost:hover{background:rgba(138,63,252,.14)}
.btn.sm{padding:11px 18px;font-size:14px}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.btn:hover::after{transform:translateX(120%)}
.link{background:none;border:0;padding:0;color:var(--lilac);text-decoration:underline;text-underline-offset:4px;font-size:15px}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;background:linear-gradient(rgba(7,6,13,.9),rgba(7,6,13,0));transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(7,6,13,.86);backdrop-filter:blur(12px);border-color:var(--line)}
.nav .wrap{display:flex;align-items:center;gap:28px;height:78px;max-width:1280px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo img{width:44px;height:auto;filter:drop-shadow(0 0 10px rgba(138,63,252,.6))}
.logo b{display:block;font:700 23px/1 var(--sans);letter-spacing:-.01em}
.logo b i{font-style:normal;color:var(--violet2)}
.logo small{display:block;margin-top:5px;font:500 9.5px/1 var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}
.nav nav{display:flex;gap:30px;margin-left:auto}
.nav nav a{text-decoration:none;font-size:14.5px;color:var(--mute);transition:color .2s}
.nav nav a:hover{color:var(--text)}
@media (max-width:860px){.nav nav{display:none}.nav .btn{margin-left:auto}}
@media (max-width:420px){.logo small{display:none}.logo b{font-size:20px}.nav .btn{padding:10px 14px}}

/* hero */
.hero{position:relative;min-height:100vh;padding:120px 0 60px;overflow:hidden;background:var(--ink)}
.rain{position:absolute;inset:0;width:100%;height:100%;opacity:.9;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.4),#000 50%);mask-image:linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.35) 30%,#000 60%)}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(transparent,var(--ink));pointer-events:none}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:center;max-width:1280px}
h1{font:400 clamp(52px,6.6vw,96px)/.9 var(--display);text-transform:uppercase;margin-bottom:22px;text-shadow:0 0 40px rgba(7,6,13,.9)}
h1 .l1,h1 .l2{display:block}
h1 em{color:var(--violet);text-shadow:0 0 30px rgba(138,63,252,.55)}
.sub{font-size:19px;max-width:470px;color:#e4dff0;margin:0 0 28px;text-shadow:0 0 12px #07060d,0 0 24px #07060d}
.cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ticks{list-style:none;display:flex;flex-wrap:wrap;gap:26px;padding:0;margin:28px 0 0;font-size:15px}
.ticks li{display:flex;align-items:center;gap:10px}
.ticks li::before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--violet);font-size:12px;font-weight:700}
.same{margin:34px 0 0;width:max-content}
.stage{position:relative}
.scene{width:100%;max-height:62vh;height:auto;overflow:visible}
.scene .cable{fill:none;stroke:#8A3FFC;stroke-width:6;stroke-linecap:round;opacity:.8}
.scene .cable.c2{stroke:#3ee07f;opacity:.55}
.scene .string{stroke:#cdb4ff;stroke-width:5;stroke-linecap:round}
.scene .arm{fill:none;stroke:#1a1428;stroke-width:46;stroke-linecap:round}
.scene .mugtxt{font:700 13px var(--hand);fill:#cdb4ff;text-anchor:middle;letter-spacing:.04em}
.scene .steam{fill:none;stroke:#cdb4ff;stroke-width:3;stroke-linecap:round;opacity:0;animation:steam 3.2s ease-in-out infinite}
.scene .steam.s2{animation-delay:1.6s}
@keyframes steam{0%{opacity:0;transform:translateY(8px)}40%{opacity:.55}100%{opacity:0;transform:translateY(-14px)}}
.scene .led{animation:led 1.6s steps(2,jump-none) infinite}
@keyframes led{0%,100%{opacity:1}50%{opacity:.18}}
.scene .bob{animation:bob 5s ease-in-out infinite;transform-origin:398px 700px}
@keyframes bob{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg) translateY(6px)}}
.scene .lid{transform-box:fill-box;transform-origin:center;transition:transform .09s}
.scene .wink-arc{opacity:0}
.scene.blink .lid{transform:scaleY(.08)}
.scene.wink .lid-l{transform:scaleY(.06)}
.scene.wink .wink-arc{opacity:1}
.scene.laugh .bob{animation:laugh .45s ease}
@keyframes laugh{25%{transform:rotate(-5deg) translateY(-8px)}75%{transform:rotate(4deg)}}
.scene{cursor:pointer;outline:none}
.pops{position:absolute;inset:0;pointer-events:none}
.pop{position:absolute;font:700 15px var(--mono);color:var(--ok);background:rgba(7,6,13,.85);border:1px solid rgba(62,224,127,.4);padding:4px 10px;border-radius:6px;white-space:nowrap;animation:pop 1.2s ease-out forwards}
@keyframes pop{0%{opacity:0;transform:translate(-50%,0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),var(--y)) rotate(var(--r))}}

.status{position:relative;margin:-34px 0 0 auto;width:min(100%,520px);background:rgba(10,8,18,.88);backdrop-filter:blur(6px);border:1px solid rgba(166,107,255,.5);border-radius:10px;padding:16px 18px 14px;box-shadow:0 0 0 1px rgba(138,63,252,.15),0 0 40px -6px rgba(138,63,252,.55);font:500 12.5px/1 var(--mono)}
.st-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--dim);box-shadow:0 0 0 0 currentColor}
.dot.ok{background:var(--ok);color:rgba(62,224,127,.5);animation:ping 2s infinite}
.dot.warn{background:var(--warn);color:rgba(255,181,71,.5);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 currentColor}80%,100%{box-shadow:0 0 0 9px transparent}}
.status ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:22px}
.status li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(255,255,255,.06);letter-spacing:.08em;text-transform:uppercase;font-size:12px;opacity:.5;transition:opacity .4s}
.status li.in{opacity:1}
.status li .ic{color:var(--dim);width:14px}
.status li b{margin-left:auto;font-weight:500;text-transform:none;letter-spacing:0;color:var(--mute)}
.status li.ok .ic,.status li.ok b{color:var(--ok)}
.status li.warn .ic,.status li.warn b{color:var(--warn)}
.status li.bad .ic,.status li.bad b{color:var(--bad)}
.status li.info .ic,.status li.info b{color:var(--lilac)}
.st-foot{margin:10px 0 0;font:400 11px/1.45 var(--sans);color:var(--mute)}
.st-foot a{color:var(--lilac)}
.keep{position:absolute;right:24px;top:-6px;width:max-content;font-size:24px;transform:rotate(-7deg);text-shadow:0 0 10px #07060d}
@media (max-width:1100px){.keep{display:none}}
@media (max-width:900px){
  .hero{min-height:0;padding-top:110px}
  .hero .wrap{grid-template-columns:1fr}
  .stage{max-width:560px;margin:10px auto 0;width:100%}
  .status{width:100%;margin-top:-10px}
  .scene{max-height:none}
  .rain{-webkit-mask-image:none;mask-image:none;opacity:.45}
}

/* kit strip */
.kit{border-block:1px solid var(--line);background:var(--ink2);padding:26px 0 30px;overflow:hidden}
.kit-label{text-align:center;margin:0 0 18px;font:500 11px var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}
.kit-track{display:flex;gap:64px;width:max-content;animation:marquee 44s linear infinite}
.kit:hover .kit-track{animation-play-state:paused}
.kit-track span{font:700 21px var(--sans);color:#c9c2da;white-space:nowrap;letter-spacing:-.01em;opacity:.8}
.kit-track span:nth-child(3n+2){font-family:var(--mono);font-weight:400;font-size:19px}
.kit-track span:nth-child(3n){font-family:var(--display);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:20px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* help */
.help{padding:100px 0 90px;background:radial-gradient(900px 400px at 85% 0,rgba(138,63,252,.12),transparent 70%)}
.help .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}
.help .lead{margin:16px 0 0}
.arrows{display:flex;gap:10px}
.arw{width:44px;height:44px;border-radius:8px;background:var(--panel);border:1px solid var(--line);font-size:18px;transition:background .2s,border-color .2s}
.arw:hover{border-color:var(--violet);background:var(--panel2)}
.cards{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 5*16px)/6);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 10px}
.cards::-webkit-scrollbar{display:none}
@media (max-width:1100px){.cards{grid-auto-columns:calc((100% - 2*16px)/3)}}
@media (max-width:700px){.cards{grid-auto-columns:78%}}
.card{scroll-snap-align:start;perspective:1000px;min-height:340px;position:relative}
.face{position:absolute;inset:0;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:24px 20px 20px;display:flex;flex-direction:column;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .7s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}
.face.back{transform:rotateY(180deg);background:linear-gradient(180deg,#1d1433,#120d20);border-color:rgba(166,107,255,.55)}
.card.flip .front{transform:rotateY(-180deg)}
.card.flip .back{transform:rotateY(0)}
.card:hover .front{border-color:rgba(166,107,255,.6);box-shadow:0 14px 40px -14px rgba(138,63,252,.6)}
.face svg{width:46px;height:46px;fill:none;stroke:var(--violet2);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:22px;filter:drop-shadow(0 0 8px rgba(138,63,252,.45))}
.card:hover .front svg{animation:glitch .5s steps(3) 1}
@keyframes glitch{0%{transform:translate(2px,-1px)}33%{transform:translate(-2px,1px)}66%{transform:translate(1px,2px)}100%{transform:none}}
.face h3{font:700 16.5px/1.25 var(--sans);margin-bottom:10px}
.face p{margin:0;color:var(--mute);font-size:14px;line-height:1.5}
.face ul{margin:2px 0 0;padding:0;list-style:none;font-size:13px;line-height:1.4;color:#d6d0e4}
.face li{padding:5px 0 5px 16px;position:relative;border-top:1px solid rgba(255,255,255,.06)}
.face li::before{content:"›";position:absolute;left:2px;color:var(--ok);font-family:var(--mono)}
.more{margin-top:auto;padding:14px 0 0;background:none;border:0;text-align:left;color:var(--violet2);font-weight:700;font-size:13.5px}
.more:hover .ar{display:inline-block;transform:translateX(3px)}

/* check */
.check{position:relative;padding:90px 0;background:linear-gradient(180deg,#0e0a1b,#0a0814);border-block:1px solid var(--line);overflow:hidden}
.check .wrap{display:grid;grid-template-columns:1.1fr 1fr .5fr;gap:40px;align-items:center;max-width:1280px}
.laptop{transform:perspective(1400px) rotateY(10deg) rotateX(3deg);transform-origin:left center}
.screen{background:#05040a;border:12px solid #1b1726;border-bottom-width:16px;border-radius:14px 14px 4px 4px;box-shadow:0 30px 80px -30px rgba(138,63,252,.6),inset 0 0 60px rgba(62,224,127,.05);min-height:380px;display:flex;flex-direction:column;overflow:hidden}
.base{height:16px;margin:0 -30px;background:linear-gradient(#2a2438,#15111f);border-radius:0 0 18px 18px}
.bar{display:flex;align-items:center;gap:7px;padding:9px 12px;background:#120f1c;font:400 11.5px var(--mono);color:var(--dim)}
.bar i{width:10px;height:10px;border-radius:50%;background:#3a3150}
.bar i:first-child{background:#ff5a6a}.bar i:nth-child(2){background:#ffb547}.bar i:nth-child(3){background:#3ee07f}
.bar span{margin-left:10px}
.term{display:flex;align-items:center;gap:10px;padding:16px 18px 6px;font:500 14.5px var(--mono);color:var(--lilac)}
.term label{white-space:nowrap}
.term .p{color:var(--ok)}
.term input{flex:1;min-width:0;background:transparent;border:0;border-bottom:1px dashed #3a3150;color:#fff;font:inherit;padding:4px 2px;outline:none;caret-color:var(--ok)}
.term input:focus{border-bottom-color:var(--ok)}
.term input::placeholder{color:#4d4466}
.go{background:var(--violet);border:0;border-radius:6px;width:34px;height:30px;color:#fff}
.out{flex:1;margin:0;padding:10px 18px 18px;font:400 13.5px/1.75 var(--mono);color:#d9d3e8;white-space:pre-wrap;word-break:break-word;min-height:270px}
.out .ok{color:var(--ok)}.out .warn{color:var(--warn)}.out .bad{color:var(--bad)}.out .info{color:var(--lilac)}.out .dim{color:var(--dim)}.out .hl{color:#fff;font-weight:700}
.cur{display:inline-block;color:var(--ok);animation:cur 1s steps(1) infinite}
@keyframes cur{50%{opacity:0}}
.check .copy .lead{margin:18px 0 26px}
.check .copy .lead b{color:var(--text)}
.what{margin-top:22px;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);font-size:14.5px;color:var(--mute)}
.what p{margin:0 0 8px}.what ul{margin:0 0 10px;padding-left:18px}.what li{margin:3px 0}.what b{color:var(--text)}.what .small{font-size:13.5px;margin:0}
.note{background:linear-gradient(160deg,#b58cff,#8A3FFC);color:#1a0b33;padding:22px 20px 26px;border-radius:4px;transform:rotate(6deg);box-shadow:0 20px 40px -12px rgba(0,0,0,.7);font-size:27px;line-height:1.1;position:relative}
.note::before{content:"";position:absolute;top:-12px;left:50%;width:70px;height:24px;margin-left:-35px;background:rgba(255,255,255,.25);transform:rotate(-4deg)}
.note p{margin:0 0 6px;display:flex;gap:12px;align-items:baseline}
.note .tk{font-style:normal;opacity:0;transform:scale(2.2) rotate(-20deg);transition:.35s cubic-bezier(.3,1.6,.5,1)}
.note.drawn .tk{opacity:1;transform:none}
.note.drawn p:nth-child(2) .tk{transition-delay:.3s}.note.drawn p:nth-child(3) .tk{transition-delay:.6s}.note.drawn p:nth-child(4) .tk{transition-delay:.9s}
.note .sleep{margin-top:14px;font-size:24px;border-bottom:3px solid #1a0b33;display:inline-block}
@media (max-width:1100px){.check .wrap{grid-template-columns:1.1fr 1fr}.note{display:none}}
@media (max-width:860px){.check .wrap{grid-template-columns:1fr}.laptop{transform:none;order:2}.screen{min-height:340px}.base{margin:0 -14px}}

/* joined up */
.joined{padding:100px 0;overflow:hidden}
.joined .wrap{display:grid;grid-template-columns:.8fr 2fr;gap:40px;align-items:center;max-width:1280px;position:relative}
.joined .lead{font-size:16px;margin-top:16px}
.hint{font-size:13.5px;color:var(--dim);margin:12px 0 0}
.chain{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;position:relative}
.chain::before{content:"";position:absolute;left:34px;right:34px;top:34px;height:2px;background:repeating-linear-gradient(90deg,#3a3150 0 8px,transparent 8px 14px);animation:dash 1s linear infinite}
@keyframes dash{to{background-position:14px 0}}
.chain li{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13.5px;color:var(--mute);cursor:pointer;outline:none;z-index:1}
.chain li svg{width:68px;height:68px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;fill:none;stroke:#d9d3e8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:border-color .3s,box-shadow .3s,stroke .3s,transform .3s}
.chain li.lit svg{border-color:var(--violet);stroke:var(--lilac);box-shadow:0 0 24px -2px rgba(138,63,252,.8)}
.chain li.lit span{color:var(--text)}
.chain li:hover svg,.chain li:focus-visible svg,.chain li.sel svg{transform:translateY(-4px);border-color:var(--ok);stroke:var(--ok);box-shadow:0 0 24px -2px rgba(62,224,127,.6)}
.packet{position:absolute;top:30px;width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 14px var(--ok),0 0 4px #fff;z-index:0;pointer-events:none}
.tip{grid-column:2;min-height:28px;margin:4px 0 0;font:500 15px var(--mono);color:var(--ok);text-align:center}
.conn{position:absolute;right:30px;bottom:-66px;font-size:22px;width:max-content}
@media (max-width:1000px){
  .joined .wrap{grid-template-columns:1fr}
  .tip{grid-column:1}
  .chain{display:grid;grid-template-columns:repeat(4,1fr);row-gap:26px}
  .chain::before{display:none}
  .packet{display:none}
  .conn{position:static;margin:10px 0 0 auto}
}

/* contact */
.contact{padding:100px 0 110px;background:radial-gradient(800px 500px at 10% 60%,rgba(138,63,252,.18),transparent 70%),var(--ink2);border-top:1px solid var(--line)}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact h2{font-size:clamp(46px,6vw,80px)}
.contact .lead{margin:20px 0 10px}
.direct{color:var(--mute);margin:0}
.direct a{color:var(--lilac)}
.monitors{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px}
.mon{background:#05040a;border:8px solid #1b1726;border-radius:8px;padding:16px 16px;min-height:120px;font:700 14px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em;box-shadow:0 0 30px -10px rgba(138,63,252,.6),inset 0 0 30px rgba(62,224,127,.06);position:relative;overflow:hidden}
.mon::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);pointer-events:none}
.mon p{margin:0}
.m1{color:var(--ok);font-size:19px;border-left-color:#23402f}
.m1 .blk{background:rgba(62,224,127,.1);padding:0 4px}
.m1 i{font-style:normal;display:inline-block;animation:led 1.2s steps(2,jump-none) infinite}
.m2{color:var(--lilac)}
.m2 p::after{content:"█";animation:cur 1s steps(1) infinite;color:var(--ok)}
.m3{grid-column:1/-1;color:var(--lilac);font-weight:400}
.m3 ul{list-style:none;margin:0;padding:0}
.m3 li{padding-left:14px;border-left:2px solid var(--violet);margin:3px 0;opacity:.2;transition:opacity .4s}
.m3 li.on{opacity:1}
.brief{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:30px}
.brief h3{font:400 30px var(--display);text-transform:uppercase;margin-bottom:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:13.5px;color:var(--mute)}
.field small{color:var(--dim)}
.field input,.field select,.field textarea{background:#0a0812;border:1px solid var(--line);border-radius:8px;padding:12px 13px;color:var(--text);font:inherit;font-size:15.5px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(138,63,252,.25)}
.field textarea{min-height:130px;resize:vertical}
.err{color:var(--bad);font-size:13px;min-height:0}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.form-foot small{color:var(--dim);font-size:13px}
.form-foot small a{color:var(--mute)}
.fstatus{margin:12px 0 0;font-size:14.5px}
.fstatus.bad{color:var(--bad)}
.done h3{color:var(--ok)}
.done p{color:var(--mute)}
@media (max-width:900px){.contact .wrap{grid-template-columns:1fr}}
@media (max-width:540px){.status ul{grid-template-columns:1fr}.row{grid-template-columns:1fr}.brief{padding:22px}.monitors{grid-template-columns:1fr}.m3{grid-column:auto}}

/* footer */
.foot{border-top:1px solid var(--line);padding:40px 0;background:var(--ink)}
.foot .wrap{display:flex;align-items:center;gap:40px;flex-wrap:wrap;max-width:1280px}
.foot nav{display:flex;gap:26px;flex-wrap:wrap;margin:0 auto}
.foot nav a{font-size:14px;color:var(--mute);text-decoration:none}
.foot nav a:hover{color:var(--text)}
.sign{margin:0;font:500 11px/1.8 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:right}
.sign a{color:var(--mute)}
@media (max-width:760px){.foot nav{margin:0}.sign{text-align:left}}

/* privacy */
.page{padding:140px 0 90px}
.page .wrap{max-width:780px}
.page h1{font-size:clamp(46px,7vw,76px);margin-bottom:26px}
.page h2{font-size:30px;margin:36px 0 10px}
.page p,.page li{color:#d6d0e4}
.page a{color:var(--lilac)}

/* decode */

.scramble{color:var(--ok)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
}
.push{margin-left:auto}
.censor{position:relative;color:transparent!important;text-shadow:none!important}
.censor::after{content:"BLEEP";position:absolute;inset:.08em -.06em;background:var(--ok);color:#07060d;display:grid;place-items:center;font-size:.42em;letter-spacing:.2em;animation:led .13s steps(2,jump-none) 2}
