/* Sourcy Structural — Mill Sheet. Flat materials, hairline rules, no gradients on type, no glow. */
@font-face{font-family:Archivo;src:url(archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:Geist;src:url(geist.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:GeistMono;src:url(geistmono.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root,[data-theme=light]{--bg:#D7D8DA;--panel:#E6E7E9;--panel2:#DFE0E2;--ink:#141516;--ink2:#424448;--ink3:#55585D;--rule:#B9BBBF;--rule2:#C9CBCE;--accent:#00675A;--accent-ink:#E9FFF9;--lcd:#0F1113;--lcdink:#8FF3DA;--lcddim:#74998F;--fill:rgba(0,127,108,.14);--m1:#C4C7CC;--m2:#F7F8F9;--m3:#878C93;--m4:#AEB2B8;--m5:#E6E8EB;--m6:#C8CBD0;--edge:rgba(0,0,0,.28);--mk2:#B4371F;color-scheme:light}
[data-theme=dark]{--bg:#0B0C0D;--panel:#141517;--panel2:#18191B;--ink:#E7E8EA;--ink2:#A6A9AE;--ink3:#8A8D93;--rule:#25272A;--rule2:#1E2023;--accent:#3FD9BF;--accent-ink:#04110E;--lcd:#050607;--lcdink:#8FF3DA;--lcddim:#74998F;--fill:rgba(63,217,191,.13);--m1:#2A2D31;--m2:#5B6067;--m3:#191B1E;--m4:#2D3034;--m5:#393D42;--m6:#23262A;--edge:rgba(255,255,255,.12);--mk2:#E0694F;color-scheme:dark}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:64px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 15.5px/1.55 Geist,system-ui,sans-serif;-webkit-font-smoothing:antialiased;transition:background .35s,color .35s}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--bg);padding:8px 12px;z-index:20}
.wrap{max-width:1440px;margin:0 auto;padding:0 28px}
.mono,.top,.sheet,.foot{font-family:GeistMono,ui-monospace,monospace}
.lbl{font-size:14px;font-weight:500;color:var(--ink3)}
/* sheet strip: document header like a mill certificate */
.sheet{display:grid;grid-template-columns:auto 1fr auto auto;gap:22px;align-items:center;height:30px;border-bottom:1px solid var(--rule);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3)}
.sheet .fill{height:1px;background:repeating-linear-gradient(90deg,var(--rule) 0 6px,transparent 6px 10px)}
/* top bar */
.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:56px;font-size:12px;font-weight:500;letter-spacing:.04em}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font:650 14px/1 Archivo,sans-serif;font-stretch:125%;letter-spacing:.01em;text-transform:lowercase}
.brand img{width:22px;height:22px;transition:transform .9s cubic-bezier(.65,0,.35,1)}.brand:hover img{transform:rotate(180deg)}
.brand b{font-weight:650}.brand span{color:var(--ink3);font-weight:500}
.top nav{display:flex;gap:22px;align-items:center}.top nav a{text-decoration:none;color:var(--ink2)}.top nav a:hover,.top nav a[aria-current]{color:var(--ink)}
.top nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:500 12.5px/1 GeistMono,monospace;letter-spacing:.05em;padding:12px 15px;border:1px solid var(--ink);color:var(--ink);background:transparent;transition:background .2s,color .2s,border-color .2s}
.btn.solid{background:var(--ink);color:var(--bg)}.btn:hover{border-color:var(--accent)}.btn.solid:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.top .btn{padding:9px 12px;font-size:12px}
.btn .ar{transition:transform .2s}.btn:hover .ar{transform:translateX(3px)}
.tt{font:500 11px/1 GeistMono,monospace;letter-spacing:.08em;text-transform:uppercase;background:none;border:1px solid var(--rule);color:var(--ink);padding:8px 9px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.tt i{width:10px;height:10px;border-radius:50%;background:linear-gradient(90deg,var(--ink) 50%,transparent 50%);border:1px solid var(--ink)}.tt:hover{border-color:var(--ink)}
/* hero */
.hero{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:end;padding:56px 0 34px;min-height:min(820px,calc(100svh - 86px))}
.hero h1{font:640 clamp(40px,4.6vw,76px)/.98 Archivo,sans-serif;font-stretch:125%;letter-spacing:-.04em;margin:20px 0 24px;text-wrap:balance}
.hero h1 span{display:block;color:var(--ink3)}
.lede{color:var(--ink2);max-width:480px;font-size:17px}.lede b{color:var(--ink);font-weight:600}
.spec{margin-top:30px;border-top:1.5px solid var(--ink);font:400 12.5px/1.45 GeistMono,monospace;max-width:520px}
.spec div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule)}.spec dt{color:var(--ink3)}.spec dd{margin:0}
.links{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}
.ibeam{width:100%;height:auto;max-height:76vh;justify-self:end}
.ibeam path{stroke:var(--edge);stroke-width:1}.ibeam .ftop{fill:url(#gt)}.ibeam .fside{fill:url(#gs)}.ibeam .ffront{fill:url(#gf)}
.ibeam .dim path{stroke:var(--ink3);fill:none}.ibeam text{font:500 12px GeistMono,monospace;fill:var(--ink3)}
.ibeam .call{fill:none;stroke:var(--ink3)}.ibeam .dot{fill:var(--accent);stroke:none}
/* rack: flush modules on hairlines, screws in the corners */
.rack{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-bottom:28px}
.mod{position:relative;background:var(--panel);padding:28px 28px 32px;min-width:0}
.mod::before,.mod::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;border:1px solid var(--ink3);top:10px;left:10px;opacity:.5;background:radial-gradient(circle,transparent 55%,var(--ink3) 56% 64%,transparent 65%)}
.mod::after{left:auto;right:10px}
.mod.flat::before,.mod.flat::after{display:none}
.mod h2{font:640 clamp(30px,3.1vw,50px)/1 Archivo,sans-serif;font-stretch:125%;letter-spacing:-.035em;margin:14px 0 18px;text-wrap:balance}.mod h2 span{display:block;color:var(--ink3)}
.s12{grid-column:span 12}.s8{grid-column:span 8}.s7{grid-column:span 7}.s6{grid-column:span 6}.s5{grid-column:span 5}.s4{grid-column:span 4}.s3{grid-column:span 3}
.note{color:var(--ink2);max-width:560px}.note+.note{margin-top:12px}.note b{color:var(--ink);font-weight:600}
.note a,.prose a,.rows a{text-underline-offset:3px;text-decoration-thickness:1px}
/* beam plate */
#beamfig{width:100%;height:auto;color:var(--ink);display:block}
#beamfig path,#beamfig rect{fill:none;stroke:currentColor;stroke-width:1.3}#beamfig .bm{fill:var(--ink)!important;stroke:none!important}
#beamfig .sup,#beamfig .axis,#beamfig .dm,#beamfig .ld path{stroke:var(--ink3)}#beamfig .v{fill:var(--panel2)!important;stroke:var(--ink2)!important}
#beamfig .m{fill:var(--fill)!important;stroke:var(--accent)!important;stroke-width:2!important}
#beamfig text{font:500 13px GeistMono,monospace;fill:var(--ink3)}#beamfig .val{fill:var(--accent)}
.plate{position:relative;margin-top:12px}
.plate .ld{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;font:500 11px GeistMono;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);background:var(--panel);transition:opacity .4s}
.plate .ld img{width:44px;height:44px}.plate.ready .ld{opacity:0;pointer-events:none}
.ctl{display:flex;gap:36px;flex-wrap:wrap;margin-top:12px;font:500 11px GeistMono;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.ctl label{display:flex;align-items:center;gap:12px}
.ctl input[type=range]{-webkit-appearance:none;appearance:none;width:220px;height:3px;background:var(--rule);margin:0}
.ctl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--m2),var(--m4));border:1px solid var(--edge);box-shadow:0 1px 2px rgba(0,0,0,.3);cursor:grab}
.ctl input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--m2);border:1px solid var(--edge);cursor:grab}
.ctl input[type=number]{width:84px;font:500 14px GeistMono;color:var(--ink);background:var(--bg);border:1px solid var(--rule);padding:7px 8px}
figcaption{display:flex;gap:28px;flex-wrap:wrap;margin-top:16px;font:400 13px GeistMono;color:var(--ink2)}figcaption b{color:var(--ink);font-weight:600}
/* LCD conversation */
.lcd{background:var(--lcd);color:var(--lcdink)}.lcd .lbl{color:var(--lcddim)}.lcd::before,.lcd::after{border-color:#3a4442;opacity:.8}
.slog{font:400 13px/1.5 GeistMono,monospace;margin-top:16px}
.slog li{padding:11px 0;border-bottom:1px dashed rgba(143,243,218,.16)}.slog li:last-child{border-bottom:0}
.slog li span{display:block;color:var(--lcddim);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px}
.slog li.you{color:#E9FFF9}.slog em{display:block;font-style:normal;color:var(--lcdink);margin-top:2px}
.slog .res{display:inline-block;margin-top:6px;padding:3px 7px;border:1px solid rgba(143,243,218,.45);font-size:11px}
.caret{display:inline-block;width:8px;height:14px;background:var(--lcdink);vertical-align:-2px;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}
/* routing: three operations on one sheet, not cards */
.route{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px;border-top:1.5px solid var(--ink)}
.route li{padding:18px 22px 4px 0;position:relative}.route li+li{padding-left:22px;border-left:1px solid var(--rule)}
.route .op{font:500 11px GeistMono;letter-spacing:.1em;color:var(--ink3);text-transform:uppercase;display:flex;justify-content:space-between}
.route h3{font:620 21px/1.15 Archivo;font-stretch:112%;letter-spacing:-.015em;margin:12px 0 8px}.route p{color:var(--ink2);font-size:15px}
/* rows: ledger instead of a card grid */
.rows{margin-top:6px;border-top:1.5px solid var(--ink)}
.rows>div,.rows>li{display:grid;grid-template-columns:minmax(180px,3fr) 6fr minmax(120px,2fr);gap:24px;padding:16px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.rows h3{font:600 17px/1.25 Archivo;font-stretch:108%}.rows p{color:var(--ink2)}
.old li{padding:10px 0;border-bottom:1px solid var(--rule);color:var(--ink3);text-decoration:line-through;text-decoration-color:var(--ink3)}
.quote{font:600 clamp(26px,2.7vw,42px)/1.1 Archivo,sans-serif;font-stretch:112%;letter-spacing:-.03em;margin:16px 0 18px;text-wrap:balance}
.stmt p.big{font:520 clamp(24px,2.5vw,38px)/1.18 Archivo,sans-serif;font-stretch:110%;letter-spacing:-.022em;max-width:1120px;margin-top:14px;text-wrap:pretty}.stmt p.big span{color:var(--ink3)}
.tag{font:500 10.5px GeistMono;letter-spacing:.1em;text-transform:uppercase;color:var(--bg);background:var(--ink);padding:3px 7px;margin-left:10px;vertical-align:1px}
.plan{width:100%;height:auto;color:var(--ink)}
/* stamp block: where the engineer's seal goes */
.stamp{border:1.5px dashed var(--ink3);aspect-ratio:1;max-width:220px;display:grid;place-items:center;text-align:center;font:500 10.5px/1.5 GeistMono;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);padding:18px}
/* faq rows */
.faq details{border-bottom:1px solid var(--rule)}.faq details:first-child{border-top:1.5px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:16px 0;font:600 17px/1.3 Archivo;font-stretch:108%}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font:400 18px GeistMono;color:var(--ink3);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{color:var(--ink2);padding:0 0 18px;max-width:760px}
/* page heads */
.phead{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:end;padding-top:72px;padding-bottom:34px}
.phead h1{font:640 clamp(38px,4.2vw,68px)/.98 Archivo,sans-serif;font-stretch:125%;letter-spacing:-.04em;margin-top:18px;text-wrap:balance}.phead h1 span{display:block;color:var(--ink3)}
.phead .lede{justify-self:start}
/* steps on connect */
.steps{counter-reset:s;border-top:1.5px solid var(--ink)}
.steps li{counter-increment:s;display:grid;grid-template-columns:64px 1fr;gap:10px;padding:16px 0;border-bottom:1px solid var(--rule)}
.steps li::before{content:counter(s,decimal-leading-zero);font:500 12px GeistMono;color:var(--ink3);padding-top:4px}
.steps b{display:block;font:600 17px Archivo;font-stretch:108%;margin-bottom:2px}.steps p{color:var(--ink2)}
/* price sheet */
.price{display:flex;align-items:baseline;gap:14px;margin:14px 0 10px}.price b{font:640 clamp(44px,5vw,80px)/1 Archivo;font-stretch:125%;letter-spacing:-.04em}.price span{font:500 12px GeistMono;color:var(--ink3);letter-spacing:.08em;text-transform:uppercase}
/* legal */
.prose{max-width:760px}.prose h2{font:620 19px/1.25 Archivo;font-stretch:110%;margin:30px 0 8px}.prose h2:first-child{margin-top:0}.prose p{color:var(--ink2)}.prose p+p{margin-top:10px}
.toc{font:400 12.5px/1.5 GeistMono;position:sticky;top:90px}.toc li{padding:7px 0;border-bottom:1px solid var(--rule)}.toc a{text-decoration:none;color:var(--ink2)}.toc a:hover{color:var(--ink)}
/* 404 */
.nf{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center;padding-top:70px;padding-bottom:40px;min-height:calc(100svh - 300px)}
.nf h1{font:640 clamp(40px,5vw,84px)/.96 Archivo;font-stretch:125%;letter-spacing:-.04em;margin:18px 0 22px}
.nf svg{width:100%;height:auto}.nf svg path{fill:none;stroke:var(--ink);stroke-width:1.4}.nf svg .s{stroke:var(--ink3)}.nf svg .a{stroke:var(--mk2);stroke-dasharray:5 6}.nf svg text{font:500 12px GeistMono;fill:var(--ink3)}
/* footer: certificate block */
.foot{border-top:1.5px solid var(--ink);margin-top:10px;padding:22px 0 46px;display:grid;grid-template-columns:5fr 2fr 2fr 3fr;gap:28px;font-size:12px;color:var(--ink3)}
.foot p{max-width:520px;line-height:1.6}.foot .fh{margin:0 0 10px;font:500 10.5px Geist,system-ui,sans-serif;color:var(--ink3)}
.foot a{display:block;color:var(--ink2);text-decoration:none;padding:3px 0}.foot a:hover{color:var(--ink)}
.foot .brand{margin-bottom:14px;font-size:13px}.foot .pw{display:flex;align-items:center;gap:8px;margin-top:12px}.foot .pw img{width:22px;height:auto}
.reveal{opacity:0;transform:translateY(10px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
@media(max-width:1100px){.top nav a.hm{display:none}}
@media(max-width:900px){.wrap{padding:0 16px}.sheet{grid-template-columns:1fr auto;gap:12px}.sheet .fill,.sheet .x{display:none}
.top nav{gap:14px}.top nav a.hs{display:none}
.hero,.phead,.nf{grid-template-columns:1fr;min-height:0;padding-top:32px;padding-bottom:26px;gap:22px}.ibeam{order:-1;max-height:none;justify-self:stretch}
.rack{grid-template-columns:1fr}.rack>*{grid-column:auto!important}.mod{padding:24px 18px 26px}
.route{grid-template-columns:1fr}.route li+li{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
.rows>div,.rows>li{grid-template-columns:1fr;gap:6px}.ctl{flex-direction:column;gap:12px}.ctl input[type=range]{width:min(60vw,260px)}
.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}.toc{position:static}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
/* ---- revision: centered editorial hero + crafted beam centerpiece ---- */
.hx{padding-top:84px}
.hx h1{font:640 clamp(44px,7.2vw,118px)/.92 Archivo,sans-serif;font-stretch:125%;letter-spacing:-.045em;max-width:12.5ch;text-wrap:balance}
.hx h1 span{color:var(--ink3)}
.hx .row{display:grid;grid-template-columns:7fr 5fr;gap:48px;margin-top:40px;align-items:end}
.hx .lede{font-size:clamp(17px,1.35vw,20px);max-width:34em}
.hx .act{display:flex;gap:26px;align-items:center;justify-self:end;flex-wrap:wrap}
.tl{font:500 12.5px GeistMono,monospace;letter-spacing:.05em;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--ink3);padding-bottom:3px}.tl:hover{border-color:var(--accent);color:var(--accent)}
.cp{margin:56px 0 0;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--rule);position:relative}
.cp-h{display:flex;justify-content:space-between;gap:20px;padding:12px 0;font:500 11px Geist,system-ui,sans-serif;color:var(--ink3)}
#ib{width:100%;height:auto;display:block;touch-action:pan-y;cursor:crosshair;user-select:none;-webkit-user-select:none}
#ib .fl{stroke:var(--edge);stroke-width:.6}#ib .web{stroke:var(--edge);stroke-width:.6}
#ib .gl{stroke:var(--ink3);fill:none}#ib .gl.d{stroke-dasharray:3 5}
#ib text{font:500 12px GeistMono,monospace;fill:var(--ink3)}#ib .pv{fill:var(--ink)}
#ib .probe{stroke:var(--ink);stroke-width:1}#ib .pt{fill:var(--ink)}
#ib .ar path{stroke:var(--ink3);fill:none}
.cp-r{display:grid;grid-template-columns:repeat(4,1fr) 1.6fr;border-top:1px solid var(--rule)}
.cp-r>*{padding:14px 18px 16px 0}.cp-r>*+*{padding-left:18px;border-left:1px solid var(--rule)}
.cp-r dt{font:500 10.5px GeistMono;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.cp-r dd{margin:6px 0 0;font:500 clamp(18px,1.6vw,26px)/1.1 GeistMono;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.cp-r dd small{font-size:12px;color:var(--ink3);margin-left:4px;letter-spacing:0}
.cp-c{display:flex;flex-direction:column;gap:12px;justify-content:center}
.cp-c label{display:grid;grid-template-columns:52px 1fr 64px;align-items:center;gap:12px;font:500 10.5px GeistMono;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.cp-c output{font:500 13px GeistMono;color:var(--ink);text-align:right;letter-spacing:0;text-transform:none}
.cp-c input{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--rule);margin:0}
.cp-c input::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--m2),var(--m4));border:1px solid var(--edge);box-shadow:0 1px 2px rgba(0,0,0,.3);cursor:grab}
.cp-c input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--m2);border:1px solid var(--edge)}
.cp-k{display:flex;align-items:center;gap:10px;font:500 10.5px GeistMono;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.cp-k i{display:block;width:120px;height:6px;background:linear-gradient(90deg,var(--m5),var(--accent),var(--mk2))}
.cp .ld{position:absolute;inset:44px 0 auto 0;height:min(46vw,520px);display:grid;place-items:center;align-content:center;gap:12px;font:500 11px GeistMono;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);background:var(--bg);transition:opacity .45s}
.cp .ld img{width:44px;height:44px}.cp.ready .ld{opacity:0;pointer-events:none}
.sec{display:grid;grid-template-columns:3fr 9fr;gap:48px;padding:112px 0;border-bottom:1px solid var(--rule)}
.sec>.lbl{padding-top:12px}
.sec h2{font:640 clamp(32px,3.6vw,58px)/1 Archivo,sans-serif;font-stretch:125%;letter-spacing:-.04em;max-width:15ch;text-wrap:balance}.sec h2 span{color:var(--ink3)}
.sec .body{display:grid;grid-template-columns:7fr 5fr;gap:56px;margin-top:40px}
.sec .body.one{grid-template-columns:1fr}
.seq{border-top:1.5px solid var(--ink)}.seq li{display:grid;grid-template-columns:56px 1fr;gap:8px;padding:20px 0 22px;border-bottom:1px solid var(--rule)}
.seq li>span{font:500 12px GeistMono;color:var(--ink3);padding-top:5px}.seq h3{font:620 21px/1.2 Archivo;font-stretch:112%;letter-spacing:-.015em;margin-bottom:6px}.seq p{color:var(--ink2)}
.pull{font:520 clamp(22px,2vw,30px)/1.25 Archivo;font-stretch:108%;letter-spacing:-.02em;color:var(--ink)}.pull span{color:var(--ink3)}
.lcdp{background:var(--lcd);color:var(--lcdink);padding:22px 22px 18px;align-self:start}
.lcdp .lbl{color:var(--lcddim)}
.cmp{display:grid;grid-template-columns:5fr 7fr;border-top:1.5px solid var(--ink)}
.cmp>div{padding:22px 32px 6px 0}.cmp>div+div{padding-left:32px;border-left:1px solid var(--rule)}
.soon{font:500 11px GeistMono;letter-spacing:.1em;text-transform:uppercase;color:var(--mk2)}
@media(max-width:900px){.hx{padding-top:40px}.hx .row{grid-template-columns:1fr;gap:24px;margin-top:24px}.hx .act{justify-self:start}
.cp{margin-top:36px}.cp-h span+span{display:none}.cp-r{grid-template-columns:1fr 1fr}.cp-r>*:nth-child(3){border-left:0;padding-left:0}.cp-r>*{border-top:1px solid var(--rule)}
.cp-c{grid-column:1/-1;border-left:0!important;padding-left:0!important}.cp .ld{height:62vw}
.sec{grid-template-columns:1fr;gap:14px;padding:64px 0}.sec .body{grid-template-columns:1fr;gap:32px;margin-top:26px}
.cmp{grid-template-columns:1fr}.cmp>div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}
/* ---- brand ---- */
:root{--g1:#00F59A;--g2:#00CEDA;--g3:#0A84FF}
.bstripe{height:3px;background:linear-gradient(90deg,var(--g1),var(--g2) 50%,var(--g3))}
.brand{font:680 18px/1 Archivo,sans-serif;font-stretch:118%;letter-spacing:-.01em;text-transform:none;gap:12px}
.brand img{width:34px;height:34px}.brand span{color:var(--ink3);font-weight:520}
.top .wrap{height:68px}
.hx .mark{width:clamp(88px,9vw,148px);height:auto;display:block;margin-bottom:34px}
.cp-k i{background:linear-gradient(90deg,var(--m5),var(--g1) 40%,var(--g2) 70%,var(--g3))}
.foot .brand{font-size:20px}.foot .brand img{width:40px;height:40px}
.foot .big{grid-column:1/-1;display:flex;align-items:center;gap:22px;padding:36px 0 30px;border-bottom:1px solid var(--rule);margin-bottom:6px}
.foot .big img{width:clamp(64px,7vw,104px);height:auto}.foot .big b{font:680 clamp(32px,5vw,76px)/1 Archivo;font-stretch:122%;letter-spacing:-.04em;color:var(--ink)}.foot .big b span{color:var(--ink3);font-weight:520}
.boot{display:none}.boot-on .boot{display:grid}.boot-on .boot{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:var(--bg);transition:opacity .45s .1s,visibility 0s .6s}.boot img{width:56px;height:56px}
.booted .boot{opacity:0;visibility:hidden}
/* ---- 3D showpiece ---- */
.cp .stage{position:relative;aspect-ratio:1200/470}
.cp .stage #ib{position:absolute;inset:0;height:100%}
#b3d{position:absolute;inset:0;opacity:0;transition:opacity .6s}#b3d canvas{width:100%!important;height:100%!important;display:block;cursor:ns-resize;touch-action:pan-y}
.cp.gl #b3d{opacity:1}.cp.gl #ib{visibility:hidden}
.hint{position:absolute;left:0;bottom:8px;font:500 11px Geist,system-ui,sans-serif;color:var(--ink3);pointer-events:none}.hint.r{left:auto;right:0}
.cp:not(.gl) .hint{display:none}
.cp-r{grid-template-columns:repeat(4,1fr) 1.5fr}
.ck{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-left:0!important;padding-left:0!important;border-bottom:1px solid var(--rule)}
.ck dt{font:500 10.5px GeistMono;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.ck select{font:500 12px GeistMono;color:var(--ink);background:var(--bg);border:1px solid var(--rule);padding:5px 6px;margin-left:6px}
.ck dd{display:flex;gap:18px;align-items:baseline;margin:0;font:500 13px GeistMono;color:var(--ink2)}.ck dd i{font-style:normal;color:var(--ink)}
#o-ck{font:640 22px Archivo;font-stretch:115%;letter-spacing:-.02em;color:var(--accent)}#o-ck[data-ok=false]{color:var(--mk2)}
.ck{order:-1}
.cp-k em{display:inline-block;width:18px;height:6px;background:#E0543A;margin-left:-4px}
@media(max-width:900px){.cp .stage{aspect-ratio:1/0.78}.hint.r{display:none}.ck{flex-direction:column;gap:6px}.ck dd{flex-wrap:wrap;gap:10px}}
@media(max-width:900px){.cp .stage{aspect-ratio:1/.58}.cp-r{grid-template-columns:1fr 1fr}.cp-r>*{padding:12px 12px 14px 0}.cp-r>*:nth-child(odd):not(.ck){border-left:0;padding-left:0}.cp-r>*:nth-child(even){padding-left:12px}.cp-r dd{font-size:20px}.ck{padding-right:0!important}}
@media(max-width:520px){.top .wrap{height:60px}.brand{font-size:16px;gap:9px}.brand img{width:30px;height:30px}.tt{padding:8px}.tt span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.top .btn{padding:8px 10px;font-size:11px;letter-spacing:.03em}.top nav{gap:10px}.sheet .x{display:none}}
html,body{overflow-x:clip}

.cp-r dl{margin:0}
@media(min-width:901px){.hx{padding-top:52px}.hx h1{font-size:clamp(40px,5.1vw,86px);max-width:17ch}.hx .row{margin-top:26px}.cp{margin-top:34px}}
/* ===== round 3 ===== */
/* dark mill steel: gunmetal with a fine brushed grain, not generic black */
[data-theme=dark]{--bg:#1A1D20;--panel:#202428;--panel2:#252A2F;--ink:#E6E9EC;--ink2:#AEB4BA;--ink3:#8C939A;--rule:#30363C;--rule2:#2A2F34;--accent:#45E3C8;--lcd:#0C0E10;--m1:#30353B;--m2:#68707A;--m3:#1D2125;--m4:#353B42;--m5:#434A52;--m6:#2A2F35;--edge:rgba(255,255,255,.13)}
[data-theme=dark] body{background-color:var(--bg);background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px),repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 7px)}
[data-theme=dark] .top{background:color-mix(in srgb,var(--bg) 86%,transparent)}
[data-theme=light] body{background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 4px)}
/* poster-first stage */
.cp .stage #ib{display:none}
.cp .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .7s}
.cp .poster.d{display:none}[data-theme=dark] .cp .poster.l{display:none}[data-theme=dark] .cp .poster.d{display:block}
.cp.gl .poster{opacity:0}
.cp .ld{display:none}
/* full-bleed moments */
.bleed{width:100vw;margin-left:calc(50% - 50vw);background:var(--ink);color:var(--bg);padding:clamp(96px,14vw,200px) 0}
.bleed .in{max-width:1440px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:3fr 9fr;gap:48px}
.bleed .lbl{color:color-mix(in srgb,var(--bg) 55%,var(--ink))}
.bleed p.huge{font:620 clamp(38px,5.6vw,96px)/.98 Archivo,sans-serif;font-stretch:122%;letter-spacing:-.045em;text-wrap:balance}
.bleed p.huge span{color:color-mix(in srgb,var(--bg) 52%,var(--ink))}
.bleed .sub{margin-top:36px;max-width:560px;color:color-mix(in srgb,var(--bg) 70%,var(--ink));font-size:17px}
.elev{width:100vw;margin-left:calc(50% - 50vw);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);overflow:hidden}
.elev svg{display:block;width:100%;height:auto}
.elev path{fill:none;stroke:var(--ink3);stroke-width:1}.elev .b{stroke:var(--ink);stroke-width:1.4}.elev text{font:500 11px GeistMono;fill:var(--ink3);letter-spacing:.08em}
.ed{padding:clamp(90px,12vw,170px) 0;border-bottom:1px solid var(--rule)}
.ed blockquote{margin:0;font:560 clamp(30px,4.2vw,68px)/1.04 Archivo;font-stretch:115%;letter-spacing:-.035em;max-width:20ch;text-wrap:balance}
.ed blockquote::before{content:"\201C";display:block;font-size:1.4em;line-height:.6;color:var(--ink3)}
.ed .by{margin-top:30px;display:flex;gap:40px;flex-wrap:wrap}
/* product: rendered calc packet */
.pk-wrap{position:relative;padding:40px 0 20px;perspective:1800px}
.pk{background:#FBFBF9;color:#17191B;width:min(100%,620px);aspect-ratio:8.5/11;margin-left:auto;padding:5.5% 6.5%;font:400 10.5px/1.45 Geist,sans-serif;box-shadow:0 1px 0 rgba(0,0,0,.06),0 30px 60px -30px rgba(0,0,0,.45),0 12px 24px -16px rgba(0,0,0,.3);transform:rotateX(4deg) rotateY(-8deg) rotateZ(.6deg);transform-origin:70% 40%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pk-wrap:hover .pk{transform:none}
.pk .hd{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1.5px solid #17191B;padding-bottom:10px}
.pk .firm{display:flex;gap:10px;align-items:center}.pk .firm i{width:34px;height:34px;border:1px dashed #9aa0a6;display:grid;place-items:center;font:500 7px GeistMono;color:#7a8086;font-style:normal;text-align:center}
.pk .firm b{display:block;font:650 12px Archivo;font-stretch:110%}.pk .firm span{font:500 8px GeistMono;color:#6b7076;letter-spacing:.08em;text-transform:uppercase}
.pk .meta{font:500 8px/1.6 GeistMono;color:#6b7076;text-align:right;letter-spacing:.06em;text-transform:uppercase}
.pk h5{margin:14px 0 2px;font:650 15px Archivo;font-stretch:112%;letter-spacing:-.01em}.pk .sub{color:#555b61;font-size:9.5px}
.pk table{width:100%;border-collapse:collapse;margin-top:12px;font:400 9.5px GeistMono}.pk td{padding:5px 0;border-bottom:1px solid #e3e4e6}.pk td:last-child{text-align:right}.pk td.s{color:#7a8086}
.pk .eq{margin-top:12px;padding:10px 12px;background:#F2F3F1;font:400 10px/1.7 GeistMono}.pk .eq b{font-weight:600}
.pk .res{display:flex;justify-content:space-between;margin-top:10px;font:600 10px Geist,system-ui,sans-serif;border-top:1.5px solid #17191B;padding-top:8px}.pk .res span{color:#00675A}
.pk .ft{display:grid;grid-template-columns:1fr 92px;gap:14px;margin-top:16px;align-items:end}.pk .ft p{font-size:8.5px;color:#6b7076}
.pk .pkbox{aspect-ratio:1;border:1px dashed #9aa0a6;border-radius:50%;display:grid;place-items:center;text-align:center;font:500 7px/1.4 GeistMono;color:#7a8086;letter-spacing:.08em;text-transform:uppercase}
.pk-cap{position:absolute;left:0;top:44px;max-width:300px}.pk-cap li{padding:10px 0;border-top:1px solid var(--rule);font-size:14px;color:var(--ink2)}.pk-cap b{display:block;color:var(--ink);font:600 14px Archivo;font-stretch:108%}
/* pricing: stamped mill tag */
.tagv{display:grid;place-items:center;padding:30px 0}
.mtag{position:relative;width:min(100%,520px);aspect-ratio:2.1/1;background:linear-gradient(180deg,var(--m2),var(--m4));border:1px solid var(--edge);clip-path:polygon(9% 0,100% 0,100% 100%,9% 100%,0 50%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);display:grid;grid-template-columns:24% 1fr;align-items:center;color:var(--ink)}
.mtag::before{content:"";position:absolute;left:7%;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--bg);box-shadow:inset 0 2px 3px rgba(0,0,0,.4)}
.mtag .t{grid-column:2;padding:0 10% 0 0;font:500 11px/1.9 GeistMono;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.mtag .t b{display:block;font:680 clamp(44px,6vw,84px)/1 Archivo;font-stretch:125%;letter-spacing:-.04em;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.35),0 -1px 0 rgba(0,0,0,.25)}
[data-theme=dark] .mtag .t b{text-shadow:0 -1px 0 rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.08)}
/* connect: routing schematic */
.route-s{width:100%;height:auto;display:block}.route-s path{fill:none;stroke:var(--ink3);stroke-width:1}.route-s .w{stroke:var(--ink);stroke-width:1.5}
.route-s rect{fill:var(--panel);stroke:var(--ink);stroke-width:1.2}.route-s rect.e{fill:var(--ink)}.route-s text{font:500 12px GeistMono;fill:var(--ink);letter-spacing:.06em}.route-s text.s{fill:var(--ink3);font-size:10.5px}.route-s rect.e+text,.route-s .inv{fill:var(--bg)}
.route-s .pulse{fill:var(--accent)}
@media(max-width:900px){.bleed .in{grid-template-columns:1fr;gap:18px;padding:0 16px}.pk-cap{position:static;max-width:none;margin-bottom:24px}.pk{transform:none;margin:0 auto}.ed .by{gap:20px}}
@media(max-width:900px){.cp .stage{aspect-ratio:1/1.08;margin:0 -16px}.cp .hint{left:16px}.cp .hint.r{display:none}}
html.bdrag,html.bdrag *{user-select:none;-webkit-user-select:none;cursor:ns-resize!important}.cp .stage{overscroll-behavior:contain}#b3d canvas{-webkit-user-drag:none}
/* round 4 */
.hx h1.h4{font-size:clamp(40px,5.4vw,92px);letter-spacing:-.035em;max-width:14ch}
.hx h1.h4 em{font-style:normal;text-decoration:line-through;text-decoration-thickness:.06em;text-decoration-color:var(--accent)}
.hx h1.h4 span{display:block;font-size:.42em;letter-spacing:-.01em;line-height:1.15;margin-top:.5em;color:var(--ink3);max-width:none}
.cp-r{border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.cp-r dl{background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 12px);background-size:100% 6px;background-repeat:no-repeat;background-position:0 0}
.cp-r dd{font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ck{border-left:3px solid var(--accent)!important;padding-left:14px!important}
.ck #o-ck{font-family:var(--mono,monospace);text-transform:uppercase;letter-spacing:.12em;font-size:15px;border:1.5px solid currentColor;padding:4px 10px 3px;transform:rotate(-2deg);display:inline-block}
.ck #o-ck[data-ok=false]{color:#C2412A}
.cp-c input[type=range]{background:repeating-linear-gradient(90deg,var(--ink3) 0 1px,transparent 1px 10%) 0 100%/100% 5px no-repeat}
.pkb{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:88px 0;margin-top:24px}
.pkg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.pkt h2{margin:14px 0 36px}.lead{list-style:none;padding:0;margin:0}.lead li{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:14px 0;border-top:1px solid var(--line);font-size:15px}.lead b{font-family:var(--mono,monospace);font-weight:500;color:var(--accent)}
.pkb .pk{max-width:640px;justify-self:end;width:100%}
.ledger{margin-top:28px;border-top:1px solid var(--ink)}
.lr{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.6fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;font-variant-numeric:tabular-nums}
.lr.h{font-family:var(--mono,monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.lr s{color:var(--ink3);text-decoration-color:#C2412A}.lr b{font-weight:600}.lr span:last-child{color:var(--ink3)}
.rv h2 span{color:var(--ink3)}
@media(max-width:900px){.pkg{grid-template-columns:1fr;gap:36px}.pkb{padding:56px 0}.lr{grid-template-columns:1.2fr 1fr 1fr;font-size:14px}.lr span:last-child{display:none}.hx h1.h4{max-width:none}}
.pk .dg{margin:14px 0 6px}.pk .dg p{font:500 8.5px/1 monospace;letter-spacing:.1em;text-transform:uppercase;color:#55585D;margin:0 0 6px}.pk .dg svg{width:100%;height:auto;display:block}
.pk table.sp td{font-size:9.5px;border-top:1px solid #ddd;padding:6px 4px 6px 0}
.pkt h2{font-size:clamp(34px,3.6vw,56px);line-height:1.02}
.hx h1.h4{font-size:clamp(38px,4.6vw,78px)}
.pkb .wrap{padding-top:0!important;padding-bottom:0!important}
/* r7 beam-first hero */
.hx.hx2{padding-top:22px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;align-items:end}
.hx2 .hh h1{font:640 clamp(28px,2.9vw,46px)/1 Archivo,sans-serif;font-stretch:125%;letter-spacing:-.035em;max-width:none;margin:0}
.hx2 .sub{margin:10px 0 0;font-size:clamp(14px,1.05vw,16px);color:var(--ink3);max-width:60em}
.hx2 .act{justify-self:end;margin:0}
.hx2 .cp{grid-column:1/-1;margin-top:16px;display:flex;flex-direction:column}
.hx2 .cp .cp-h{order:9;border-top:0;padding-top:10px}
.hx2 .cp .stage{aspect-ratio:auto;height:max(380px,calc(100svh - 330px));margin-top:0}
@media(max-width:900px){.hx.hx2{grid-template-columns:1fr;padding-top:16px}.hx2 .hh h1{font-size:29px;line-height:1.02}.hx2 .sub{font-size:14px;margin-top:8px}
.hx2 .act{order:5;justify-self:start;margin-top:18px}.hx2 .cp{margin-top:12px}.hx2 .cp .stage{height:min(62svh,560px);aspect-ratio:auto;margin:0 -16px}}
@media(max-width:900px){.hx2 .hh{order:1}.hx2 .cp{order:4}}
/* standards table */
.stab{margin-top:28px;border-top:1px solid var(--ink)}
.sr{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(0,1.5fr) minmax(0,2.2fr);gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.4}
.sr.g0{border-top:1px solid var(--ink3)}.sr.h+.sr.g0{border-top:0}
.sr>span:first-child{font-size:11px;color:var(--ink3);padding-top:3px}
.sr b{font-weight:600;font-variant-numeric:tabular-nums}.sr>span:last-child{color:var(--ink2)}
.sr.h{font-size:11px;color:var(--ink3);padding:10px 0}
.sr.h>span:last-child{color:var(--ink3)}
.stab.sm .sr{grid-template-columns:minmax(150px,1fr) minmax(0,3fr)}
.stab.sm .sr>span:first-child{color:var(--ink3)}
.snote{margin-top:18px;font-size:13px;color:var(--ink3)}.snote .tl{margin-left:14px}
@media(max-width:700px){.sr{grid-template-columns:1fr;gap:4px;padding:12px 0}.sr>span:first-child:empty{display:none}.sr.h{display:none}.stab.sm .sr{grid-template-columns:1fr}.sr{font-size:14px}}
/* plain type: no monospace, no all-caps microcopy */
@font-face{font-family:GeistMono;src:url(geist.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--mono:Geist,sans-serif}
*{text-transform:none!important}
.lbl,.hint,.cp-h,.cp-h span,dt,.cp-r dt,.cp-k,.st,.fh,.sr,.sr>span,.lr,.lr.h,.slog,.slog *,.soon,.ck,.ck *,.btn,.tl,.nav a,.pk *,.mtag *,.route-s text,.elev text,.lead b{letter-spacing:0!important}
.lbl{font-size:13px;font-weight:500}
.cp-r dt{font-size:13px}.hint{font-size:13px}
.ck #o-ck{font-size:14px;letter-spacing:.02em!important}
.cp-r .shr{opacity:0;transition:opacity .25s}.cp:hover .shr,.cp:focus-within .shr{opacity:1}
@media(hover:none){.cp-r .shr{display:none}}
