:root{--bg:#0b0b0a;--panel:#11110f;--panel2:#161614;--line:#26261f;--line2:#3a3933;--ink:#ece9e1;--body:#cdc9bf;--mute:#a39f95;--accent:#ff5a1f;--green:#3ddc84;--amber:#ffc233;--f-disp:"Barlow Condensed", "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;--f-mono:"B612 Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--f-body:"Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#0b0b0a;margin:0}a{color:inherit}.page{background:var(--bg);color:var(--body);font-family:var(--f-body);min-height:100vh;font-size:17px;line-height:1.6;position:relative;overflow-x:clip}.page a:focus-visible,.page button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--accent);color:#0b0b0a;font-family:var(--f-mono);padding:12px 16px;font-size:13px;text-decoration:none;position:absolute;top:-80px;left:16px}.skip:focus{top:12px}.grain{pointer-events:none;z-index:60;width:100%;height:100%;position:fixed;top:0;left:0}.kerb{height:6px;overflow:hidden}.kerb i{background:repeating-linear-gradient(90deg,var(--accent) 0 18px,var(--bg) 18px 36px);width:calc(100% + 36px);height:6px;animation:1.8s linear infinite kerb;display:block}@keyframes kerb{0%{transform:translate(0)}to{transform:translate(-36px)}}.p{background:var(--panel);border:1px solid var(--line);padding:16px;position:relative}.p:before,.p:after{content:"";border:2px solid var(--line2);pointer-events:none;width:10px;height:10px;position:absolute}.p:before{border-bottom:0;border-right:0;top:-1px;left:-1px}.p:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.topline{background:var(--accent);transform-origin:0;pointer-events:none;height:2px;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.p:hover>.topline{transform:scaleX(1)}.p-head{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);flex-wrap:wrap;justify-content:space-between;gap:2px 12px;margin:0 0 14px;font-size:12px;display:flex}.p-title{color:var(--ink)}.btn{min-height:46px;font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line2);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:0 18px;font-size:13px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn svg{flex:none;width:16px;height:16px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0b0b0a;font-weight:700;position:relative;overflow:hidden}.btn-primary:hover{border-color:var(--accent);filter:brightness(1.12)}.sec{max-width:1240px;margin:0 auto;padding:72px 24px 8px;scroll-margin-top:8px}.sec-head{border-bottom:1px solid var(--line);align-items:baseline;gap:16px;margin:0 0 32px;padding-bottom:14px;display:flex;position:relative}.sec-head:after{content:"";background:var(--accent);width:72px;height:2px;position:absolute;bottom:-1px;left:0}.sec-no{font-family:var(--f-mono);letter-spacing:.14em;color:var(--accent);font-size:13px}.sec h2{font-family:var(--f-disp);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin:0;font-size:clamp(34px,4.6vw,54px);font-weight:600;line-height:1}.rv{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(16px)}.rv.in{opacity:1;transform:none}@media (width<=699px){.sec{padding:56px 16px 8px}}.foot{border-top:1px solid var(--line);max-width:1240px;font-family:var(--f-mono);letter-spacing:.06em;color:var(--mute);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:56px auto 0;padding:22px 24px 40px;font-size:12.5px;display:flex}.foot a{min-height:44px;color:var(--body);align-items:center;text-decoration:none;display:inline-flex}.foot a:hover{color:var(--accent)}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 16px;max-width:1240px;margin:0 auto;padding:6px 24px;display:flex}.brand:before{content:"";background:var(--accent);flex:none;width:8px;height:8px;margin-right:10px;animation:2.4s ease-in-out infinite beat}@keyframes beat{0%,to{opacity:1}50%{opacity:.25}}.brand{font-family:var(--f-disp);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);align-items:center;min-height:44px;font-size:22px;font-weight:700;text-decoration:none;display:inline-flex}.nav{flex-wrap:wrap;gap:0 4px;margin:0;padding:0;list-style:none;display:flex}.nav a{min-height:44px;font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--body);align-items:center;padding:0 12px;font-size:12.5px;text-decoration:none;display:inline-flex;position:relative}.nav a:after{content:"";background:var(--accent);transform-origin:0;height:2px;position:absolute;bottom:7px;left:12px;right:12px;transform:scaleX(0)}.nav a:hover,.nav a:focus-visible{color:var(--ink)}.nav a:hover:after,.nav a:focus-visible:after{transform:scaleX(1)}.lang{border:1px solid var(--line2);min-height:44px;font-family:var(--f-mono);letter-spacing:.12em;color:var(--mute);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;display:inline-flex}.lang .on{color:var(--ink)}.lang:hover,.lang:focus-visible{border-color:var(--accent);color:var(--body)}@media (width<=699px){.bar{padding:4px 16px}.nav a{letter-spacing:.06em;padding:0 8px;font-size:12px}.nav a:after{left:8px;right:8px}}.contact{border-color:var(--line2);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;padding:32px;display:grid}.contact h3{font-family:var(--f-disp);letter-spacing:.01em;text-transform:uppercase;color:var(--ink);margin:0;font-size:clamp(36px,4.4vw,56px);font-weight:700;line-height:.98}.contact p{text-wrap:pretty;max-width:40ch;margin:14px 0 20px}.c-rows{gap:0;margin:0 0 20px;padding:0;list-style:none;display:grid}.c-rows a{border-top:1px solid var(--line2);min-height:56px;color:var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:8px 0;text-decoration:none;display:flex}.c-rows li:last-child a{border-bottom:1px solid var(--line2)}.c-rows a:hover .c-val{color:var(--accent)}.c-key{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-size:12px}.c-val{font-family:var(--f-mono);overflow-wrap:anywhere;text-align:right;font-size:14px}@media (width<=860px){.contact{grid-template-columns:minmax(0,1fr);gap:28px;padding:22px}}.leds{flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.leds li{min-height:28px;font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);align-items:center;gap:9px;font-size:12px;display:flex}.leds li.on{color:var(--ink)}.led{background:#24241f;border:1px solid #3d3c36;border-radius:50%;flex:none;width:13px;height:13px;position:relative}.led .lit{background:var(--c);box-shadow:0 0 10px var(--c);opacity:0;border-radius:50%;position:absolute;inset:-1px}.leds.go li.on .lit{animation:.8s ease-out .6s both ledOn,2.8s ease-in-out 1.8s infinite ledPulse}.leds.go li.off .lit{animation:1.5s ease-out .6s both ledCheck}@keyframes ledOn{0%{opacity:0}to{opacity:1}}@keyframes ledCheck{0%{opacity:0}15%,50%{opacity:1}to{opacity:0}}.led-note{color:var(--body);margin:10px 0 0;font-size:15px;line-height:1.45}@keyframes ledPulse{0%,to{opacity:1}50%{opacity:.5}}.tl{margin:0;padding:0 0 0 30px;list-style:none;position:relative}.tl:before{content:"";background:var(--line2);transform-origin:top;width:1px;transition:transform 1.5s cubic-bezier(.4,.1,.2,1);position:absolute;top:8px;bottom:36px;left:5px;transform:scaleY(0)}.tl.in:before{transform:scaleY(1)}.tl-item{grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:8px 36px;padding:0 0 44px;display:grid;position:relative}.tl-item:before{content:"";background:var(--bg);border:2px solid var(--line2);width:11px;height:11px;position:absolute;top:6px;left:-30px}.tl-item.now:before{background:var(--accent);border-color:var(--accent)}.tl-meta{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.sector{color:var(--accent)}.tl h3{font-family:var(--f-disp);letter-spacing:.015em;text-transform:uppercase;color:var(--ink);margin:0;font-size:30px;font-weight:600;line-height:1.1}.tl h3 span{color:var(--mute)}.res{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.res li{text-wrap:pretty;padding-left:22px;position:relative}.res li:before{content:"";background:var(--accent);width:12px;height:2px;position:absolute;top:.8em;left:0}@media (width<=760px){.tl-item{grid-template-columns:minmax(0,1fr)}.tl-meta{flex-flow:wrap;gap:4px 14px}.tl{padding-left:26px}.tl-item:before{left:-26px}.tl h3{font-size:26px}}.hero{max-width:1240px;margin:0 auto;padding:8px 24px 40px}.cluster{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"rpm id spd""bars fch fch";gap:16px;display:grid}.g-rpm{grid-area:rpm}.g-spd{grid-area:spd}.id{grid-area:id}.bars{grid-area:bars}.fch{grid-area:fch}@media (width<=1099px){.cluster{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"id id""rpm spd""bars bars""fch fch"}}.id{flex-direction:column;justify-content:space-between;gap:20px;padding:28px 28px 24px;display:flex}.kicker{font-family:var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);align-items:center;gap:10px;margin:0;font-size:13px;display:flex}.kicker:before{content:"";background:var(--accent);flex:none;width:22px;height:2px}.id h1{font-family:var(--f-disp);letter-spacing:.005em;text-transform:uppercase;color:var(--ink);overflow-wrap:anywhere;margin:10px 0 0;font-size:clamp(46px,6vw,80px);font-weight:700;line-height:.92}.lede{color:var(--body);text-wrap:pretty;max-width:36ch;margin:14px 0 0;font-size:18px;line-height:1.5}.cta{flex-wrap:wrap;gap:10px;display:flex}@media (width<=699px){.cluster{gap:12px}.hero{padding:4px 16px 32px}}.lcd{border:1px solid var(--line2);font-family:var(--f-mono);color:var(--ink);background-color:#0a0b09;background-image:repeating-linear-gradient(0deg,#ffffff09 0 1px,#0000 1px 3px);min-height:7.6em;padding:12px 14px;font-size:14px;line-height:1.7}.lcd-label{letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:4px;font-size:11.5px;display:block}.lcd-line{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.7em;display:block}.lcd-line:before{content:"> ";color:var(--accent)}.lcd-cur{vertical-align:-.15em;background:var(--ink);opacity:0;width:.6em;height:1.05em;margin-left:2px;display:inline-block}.lcd-cur.live{opacity:1;animation:1.05s step-end infinite blink}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.bars-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:20px 28px;display:grid}.bar-row{gap:8px;display:grid}.bar-top{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);justify-content:space-between;align-items:baseline;font-size:12.5px;display:flex}.bar-top span:last-child{color:var(--mute)}.cells{grid-template-columns:repeat(20,minmax(0,1fr));gap:3px;height:18px;margin:0 6px;display:grid;transform:skew(-14deg)}.pips{grid-template-columns:repeat(5,10px);gap:3px;height:13px;display:grid;transform:skew(-14deg)}.cell{background:#23231e;position:relative}.cell.on:after{content:"";background:var(--ink);opacity:0;transition:opacity .18s linear;transition-delay:inherit;position:absolute;inset:0}.cell.tip:after{background:var(--accent)}.go .cell.on:after{opacity:1}.scale{font-family:var(--f-mono);letter-spacing:.1em;color:var(--mute);justify-content:space-between;margin-top:16px;font-size:11.5px;display:flex}.cwrap.go .cell.tip:after{animation:1.8s ease-in-out 2.6s infinite tipPulse}@keyframes tipPulse{0%,to{opacity:1}50%{opacity:.35}}.dial{aspect-ratio:1;width:100%;max-width:340px;margin:0 auto;position:relative;container-type:inline-size}.dial svg{width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.face{fill:#0c0c0b;stroke:#34332e;stroke-width:2px}.ring{fill:none;stroke:#1f1f1b;stroke-width:1px}.tk-minor{fill:none;stroke:#6b6960;stroke-width:1.5px}.tk-major{fill:none;stroke:#d9d5cb;stroke-width:2.5px}.red-arc{fill:none;stroke:var(--accent);stroke-width:5px}.needle{transform-origin:150px 150px;will-change:transform;transition:transform 1.9s cubic-bezier(.22,1.12,.36,1)}.nd{fill:var(--accent)}.hub{fill:#0c0c0b;stroke:var(--accent);stroke-width:3px}.num{font-family:var(--f-mono);color:var(--body);font-size:4.4cqw;line-height:1;position:absolute;transform:translate(-50%,-50%)}.readout{white-space:nowrap;flex-direction:column;align-items:center;gap:0;line-height:1;display:flex;position:absolute;top:62%;left:50%;transform:translate(-50%)}.rd-big{font-family:var(--f-mono);color:var(--ink);letter-spacing:-.02em;font-size:16cqw;font-weight:700}.rd-unit{font-family:var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-top:2px;font-size:4.6cqw}.rd-sec{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--body);margin-top:8px;font-size:4.2cqw}.cap{font-family:var(--f-mono);color:var(--body);text-align:center;margin:14px 0 0;font-size:12.5px;line-height:1.5}.cap strong{color:var(--ink);font-weight:700}.gauge{flex-direction:column;margin:0;display:flex}.gbody{flex-direction:column;flex:1;justify-content:center;display:flex}@media (width<=519px){.rd-sec{display:none}.gauge{padding:12px}.cap{font-size:12px}}.idle{transform-origin:150px 150px}.idle.go{animation:3.4s ease-in-out 2.6s infinite idle}@keyframes idle{0%{transform:rotate(-.5deg)}30%{transform:rotate(.7deg)}55%{transform:rotate(-.2deg)}80%{transform:rotate(.9deg)}to{transform:rotate(-.5deg)}}.fch-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0;display:grid}.sp{border-top:1px solid var(--line);opacity:0;padding:14px 0 18px;transition:opacity .6s ease-out}.fch-list.go .sp{opacity:1}.sp dt{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-size:12px}.sp dd{font-family:var(--f-disp);letter-spacing:.015em;text-transform:uppercase;color:var(--ink);overflow-wrap:anywhere;margin:8px 0 0;font-size:clamp(24px,2.5vw,32px);font-weight:600;line-height:1.05}@media (width<=519px){.fch-list{grid-template-columns:minmax(0,1fr)}}.proj-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.proj{align-content:start;gap:20px;padding:22px;display:grid}.proj-meta{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:12px;display:flex}.proj h3{font-family:var(--f-disp);letter-spacing:.015em;text-transform:uppercase;color:var(--ink);margin:10px 0 0;font-size:30px;font-weight:600;line-height:1.05}.ps{gap:14px;margin:18px 0 0;display:grid}.ps dt{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-size:12px}.ps dd{color:var(--body);text-wrap:pretty;margin:4px 0 0}.proj-side{flex-direction:column;align-self:end;gap:14px;display:flex}.mini{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0;font-size:12px}.chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line2);font-family:var(--f-mono);color:var(--ink);padding:4px 10px;font-size:12.5px}.links{flex-wrap:wrap;gap:0 22px;margin:0;padding:0;list-style:none;display:flex}.links a{min-height:44px;font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid #0000;align-items:center;gap:8px;font-size:13px;text-decoration:none;display:inline-flex}.links a:hover{color:var(--accent)}.links svg{width:14px;height:14px}@media (width<=900px){.proj-grid{grid-template-columns:minmax(0,1fr)}}.stack-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px;display:grid}.sk{padding:18px 18px 8px}.sk-list{margin:0;padding:0;list-style:none}.sk-list li{border-top:1px solid var(--line);min-height:48px;color:var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.sk-list li span:first-child{overflow-wrap:anywhere;min-width:0}.legend{font-family:var(--f-mono);letter-spacing:.04em;color:var(--mute);margin:18px 0 0;font-size:12.5px}@media (prefers-reduced-motion:no-preference){.nav a:after{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.p:before,.p:after{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.p:before{transform-origin:0 0}.p:after{transform-origin:100% 100%}.p:hover:before,.p:hover:after{transform:scale(1.6)}.topline{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.btn{transition:transform .2s ease-out}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn svg{transition:transform .25s ease-out}.btn-primary:hover svg{transform:translateY(2px)}.btn-primary:after{content:"";pointer-events:none;background:#ffffff59;width:40%;position:absolute;top:0;bottom:0;left:0;transform:translate(-200%)skew(-20deg)}.btn-primary:hover:after{animation:.75s ease-out shine}@keyframes shine{0%{transform:translate(-200%)skew(-20deg)}to{transform:translate(450%)skew(-20deg)}}.chips li{transition:transform .2s ease-out}.chips li:hover{transform:translateY(-2px)}.links svg{transition:transform .25s ease-out}.links a:hover svg{transform:translate(3px,-3px)}.dial{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.gauge:hover .dial{transform:scale(1.035)}.proj.in:hover,.sk.in:hover{transition:opacity .6s ease-out,transform .3s cubic-bezier(.2,.8,.2,1);transform:translateY(-4px);transition-delay:0s!important}.tl-item:before{transition:transform .25s ease-out}.tl-item:hover:before{transform:scale(1.5)}.tl-item>div:last-child{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.tl-item:hover>div:last-child{transform:translate(6px)}.c-val{transition:transform .25s ease-out}.c-rows a:hover .c-val{transform:translate(-6px)}.bar-row:hover .cell.on:after,.sk-list li:hover .cell.on:after,.bar-row:hover .cell.tip:after{animation:wave .8s ease-in-out calc(var(--i) * 30ms) 1}@keyframes wave{0%,to{opacity:1}45%{opacity:.15}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.rv{opacity:1;transform:none}.sp,.leds li.on .lit,.cell.on:after{opacity:1}.tl:before{transform:none}}
