@view-transition{navigation:auto}
.tn-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--signal);transform-origin:0 50%;transform:scaleX(0);z-index:60;pointer-events:none}
.tn-header{transition:transform .35s cubic-bezier(.2,.7,.2,1)}.tn-header.hide{transform:translateY(-100%)}
.tn-intro{position:fixed;inset:0;background:var(--ink);color:var(--paper);display:grid;place-items:center;z-index:100;animation:introUp .9s cubic-bezier(.76,0,.24,1) .85s forwards;pointer-events:none}.tn-intro span{font:700 clamp(40px,9vw,120px)/1 var(--sans);letter-spacing:.32em;padding-left:.32em;opacity:0;animation:introIn .7s cubic-bezier(.2,.7,.2,1) .05s forwards}.tn-intro i{position:absolute;left:0;bottom:0;height:3px;background:var(--signal);width:100%;transform-origin:0 50%;transform:scaleX(0);animation:introBar .8s cubic-bezier(.7,0,.2,1) .05s forwards}@keyframes introIn{from{opacity:0;letter-spacing:.6em}to{opacity:1;letter-spacing:.32em}}@keyframes introUp{to{transform:translateY(-101%)}}@keyframes introBar{to{transform:scaleX(1)}}.no-intro .tn-intro{display:none}
.hero{position:relative;overflow:hidden;--mx:70%;--my:40%}.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(520px circle at var(--mx) var(--my),rgba(255,79,18,.13),transparent 62%);pointer-events:none;transition:background .1s}.hero .wrap{position:relative}
.hw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}.hw>span{display:inline-block;transform:translateY(110%);animation:rise 1s cubic-bezier(.2,.75,.2,1) forwards;animation-delay:calc(var(--i)*75ms + 1.35s)}.no-intro .hw>span{animation-delay:calc(var(--i)*75ms + .15s)}@keyframes rise{to{transform:none}}
.rot{display:inline-grid;vertical-align:top;overflow:hidden;color:var(--signal);padding-bottom:.1em;margin-bottom:-.1em}.rot>span{grid-area:1/1;opacity:0;transform:translateY(100%);animation:rot 7.5s cubic-bezier(.7,0,.2,1) infinite}.rot>span:nth-child(2){animation-delay:2.5s}.rot>span:nth-child(3){animation-delay:5s}@keyframes rot{0%{opacity:0;transform:translateY(100%)}6%,30%{opacity:1;transform:none}36%,100%{opacity:0;transform:translateY(-100%)}}
.hero-k,.hero .lead,.hero .ctas{opacity:0;animation:fadeUp .9s cubic-bezier(.2,.75,.2,1) forwards}.hero-k{animation-delay:1.2s}.hero .lead{animation-delay:1.9s}.hero .ctas{animation-delay:2.05s}.no-intro .hero-k{animation-delay:0s}.no-intro .hero .lead{animation-delay:.7s}.no-intro .hero .ctas{animation-delay:.85s}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.drawing{transition:transform .25s ease-out,box-shadow .25s ease-out;will-change:transform;opacity:0;animation:fadeUp 1s cubic-bezier(.2,.75,.2,1) 1.3s forwards}.no-intro .drawing{animation-delay:.2s}.ln{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.5s cubic-bezier(.6,0,.2,1) forwards;animation-delay:calc(var(--i,0)*70ms + 1.7s)}.no-intro .ln{animation-delay:calc(var(--i,0)*70ms + .5s)}@keyframes draw{to{stroke-dashoffset:0}}.fd{opacity:0;animation:fade .8s ease forwards 2.7s}.no-intro .fd{animation-delay:1.5s}@keyframes fade{to{opacity:1}}.led{animation:blink 2.2s ease-in-out infinite}.led2{animation-delay:.7s}.led3{animation-delay:1.4s}@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.marq{background:var(--ink);color:var(--paper);overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.marq .track{display:flex;width:max-content;animation:marq 38s linear infinite}.marq:hover .track{animation-play-state:paused}.marq span{font:500 clamp(22px,3vw,40px)/1 var(--sans);letter-spacing:-.01em;padding:22px 0;white-space:nowrap;display:flex;align-items:center}.marq b{display:inline-block;width:12px;height:12px;background:var(--signal);margin:0 32px;transform:rotate(45deg)}@keyframes marq{to{transform:translateX(-50%)}}
.js [data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1);transition-delay:var(--d,0ms)}.js [data-reveal].in{opacity:1;transform:none}
.js .sec-h{border-bottom-color:transparent;position:relative}.js .sec-h::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.4s cubic-bezier(.7,0,.2,1)}.js .dark .sec-h::after{background:#EDEAE2}.js .sec-h.in::after{transform:scaleX(1)}
.card,.sys{position:relative;overflow:hidden}.card::after,.sys::after{content:'';position:absolute;inset:0;background:radial-gradient(280px circle at var(--x,50%) var(--y,50%),rgba(255,79,18,.12),transparent 62%);opacity:0;transition:opacity .35s;pointer-events:none}.card:hover::after,.sys:hover::after{opacity:1}.card .view{position:absolute;right:10px;bottom:10px;background:var(--signal);color:#fff;padding:7px 10px;font-size:10px;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s cubic-bezier(.2,.75,.2,1)}.card:hover .view{opacity:1;transform:none}
.sys svg *{transform-box:fill-box}.sys .dot{transition:opacity .2s}.sys:hover .dot{animation:blink .9s steps(2,jump-none) infinite}.sys:hover .dot:nth-of-type(2){animation-delay:.3s}.sys:hover .dot:nth-of-type(3){animation-delay:.6s}.sys .bit{transition:transform .5s cubic-bezier(.2,.75,.2,1)}.sys:hover .bit{transform:translateX(10px)}.sys .whl{transition:transform .4s cubic-bezier(.2,.75,.2,1)}.sys:hover .whl{transform:translateY(5px)}.sys h3{transition:transform .4s cubic-bezier(.2,.75,.2,1)}.sys:hover h3{transform:translateX(6px)}.sys .go span:last-child{transition:transform .4s}.sys:hover .go span:last-child{transform:translateX(8px);color:var(--signal-ink)}
.nums{border-bottom:1px solid var(--rule);background:var(--card)}.nums .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.nums .it{padding:40px 22px;border-right:1px solid var(--rule)}.nums .it:first-child{padding-left:0}.nums .it:last-child{border-right:0}.nums .n{font:600 clamp(40px,5vw,72px)/1 var(--sans);letter-spacing:-.04em;display:flex;align-items:baseline;gap:6px}.nums .n small{font:400 13px var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.nums .mono{color:var(--muted);font-size:10px;margin-top:12px;display:block}@media(max-width:760px){.nums .wrap{grid-template-columns:1fr 1fr}.nums .it{border-bottom:1px solid var(--rule);padding-left:0}.nums .it:nth-child(2n){border-right:0;padding-left:18px}}
.rule .big{font:600 64px/1 var(--sans);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px #4A5059;display:block;margin-bottom:6px;transition:color .5s,-webkit-text-stroke-color .5s}.rule:hover .big{color:var(--signal);-webkit-text-stroke-color:var(--signal)}
.tn-mega{font:700 clamp(80px,21vw,300px)/.8 var(--sans);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px #3A3F46;text-align:center;padding:56px 0 8px;user-select:none;transition:color .8s cubic-bezier(.2,.75,.2,1)}.tn-mega:hover{color:var(--signal);-webkit-text-stroke-color:var(--signal)}
.btn{will-change:transform}.btn-primary{transition:background .15s,border-color .15s,transform .25s cubic-bezier(.2,.75,.2,1)}
@media(prefers-reduced-motion:reduce){.tn-intro{display:none}.hw>span,.hero-k,.hero .lead,.hero .ctas,.drawing,.fd{animation:none!important;transform:none!important;opacity:1!important}.ln{animation:none!important;stroke-dashoffset:0!important}.rot>span{animation:none!important;opacity:0}.rot>span:first-child{opacity:1;transform:none}.marq .track{animation:none}.led{animation:none}.js [data-reveal]{opacity:1;transform:none}.js .sec-h::after{transform:scaleX(1)}}
