:root{
  --bg:#08090B; --panel:#101216; --panel2:#171A1F; --fg:#F3F4F2; --mute:#9AA0A6; --hot:#FFD60A; --line:rgba(255,255,255,.13);
  --g:clamp(18px,4.5vw,72px);
  --sans:"Sora",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-weight:330;font-size:17px;line-height:1.55;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
ul,ol{list-style:none}
svg,canvas{display:block;max-width:100%}
.wrap{max-width:1480px;margin-inline:auto;padding-inline:var(--g)}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--hot);color:var(--bg);padding:10px 14px}
.label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.hot{color:var(--hot)}
:focus-visible{outline:2px solid var(--hot);outline-offset:3px}
::selection{background:var(--hot);color:var(--bg)}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:40;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.hdr.solid{background:rgba(8,9,11,.92);border-color:var(--line)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:21px;letter-spacing:-.04em;font-weight:700}
.mark{width:32px;height:32px}
.nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,38px)}
.nav a:not(.btn){text-decoration:none;font-size:14.5px;font-weight:450;color:var(--mute);transition:color .2s}
.nav a:not(.btn):hover,.nav a[aria-current]{color:var(--fg)}
.burger{all:unset;display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer}
.burger i{display:block;width:22px;height:2px;background:var(--fg);transition:transform .25s}
.burger[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:inherit;font-weight:600;font-size:15px;padding:14px 22px;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn span{transition:transform .25s}
.btn:hover span{transform:translateX(5px)}
.btn--hot{background:var(--hot);color:var(--bg)}.btn--hot:hover{background:var(--fg)}
.btn--line{border-color:var(--line);color:var(--fg)}.btn--line:hover{border-color:var(--fg)}
.textlink{display:inline-flex;gap:10px;font-weight:600;text-decoration:none;color:var(--hot)}
.textlink span{transition:transform .25s}.textlink:hover span{transform:translateX(5px)}

/* type */
.mega{font-size:clamp(46px,10.5vw,190px);line-height:.92;letter-spacing:-.06em;font-weight:760}
h1{font-size:clamp(40px,7.2vw,124px);line-height:.96;letter-spacing:-.055em;font-weight:740;max-width:12em}
.display{font-size:clamp(30px,4.8vw,78px);line-height:1;letter-spacing:-.05em;font-weight:720;max-width:14em}
.lede{font-size:clamp(18px,1.6vw,24px);line-height:1.42;max-width:32em;color:var(--mute);font-weight:300}
.lede b,.lede strong{color:var(--fg);font-weight:400}
.mask{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.mask>span{display:block}
.js .mask>span{transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.js .mask:nth-child(2)>span{transition-delay:.1s}.js .mask:nth-child(3)>span{transition-delay:.2s}
.js .in .mask>span,.js .mask.in>span{transform:none}

/* home hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px 0 0;overflow:hidden}
#net{position:absolute;inset:0;width:100%;height:100%}
.hero .wrap{position:relative;width:100%}
.hero .label{margin-bottom:18px}
.hero .lede{margin-top:26px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ticker{position:relative;margin-top:clamp(36px,7vh,72px);border-top:1px solid var(--line);overflow:hidden;padding:16px 0}
.ticker div{display:flex;width:max-content;animation:slide 60s linear infinite}
.ticker span{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;color:var(--mute)}
.ticker span::after{content:"";width:7px;height:7px;background:var(--hot);margin:0 28px}
@keyframes slide{to{transform:translateX(-50%)}}

/* page hero */
.phero{position:relative;padding:clamp(140px,22vh,240px) 0 clamp(56px,9vh,110px);border-bottom:1px solid var(--line);overflow:hidden}
.phero .label{margin-bottom:20px}
.phero .lede{margin-top:28px}
.phero__line{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--hot);transform-origin:0 50%;animation:grow 1.6s cubic-bezier(.2,.8,.2,1) .2s both}
.phero__line::after{content:"";position:absolute;right:0;top:-5px;width:13px;height:13px;background:var(--hot)}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(.62)}}

/* sections */
.sec{padding:clamp(72px,13vh,170px) 0;border-bottom:1px solid var(--line)}
.sec--panel{background:var(--panel)}
.sec__head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,5vw,90px);align-items:end;margin-bottom:clamp(36px,7vh,84px)}
.sec__head .label{margin-bottom:16px}
.sec__head p:not(.label){color:var(--mute);font-size:clamp(17px,1.3vw,20px);max-width:28em}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,110px);align-items:start}
.split .label{margin-bottom:16px}
.stack>*+*{margin-top:20px}
.stack p{font-size:clamp(17px,1.3vw,20px);max-width:32em;color:var(--mute)}
.stack p b{color:var(--fg);font-weight:400}

/* lit statement */
.statement{padding:clamp(90px,18vh,220px) 0;border-bottom:1px solid var(--line)}
.lit{font-size:clamp(28px,5vw,88px);line-height:1.04;letter-spacing:-.05em;font-weight:680;max-width:17em}
.js .lit .w{opacity:.16;transition:opacity .3s}
.js .lit .w.on{opacity:1}
.lit em{font-style:normal;color:var(--hot)}

/* pinned scene */
.scene{position:relative;height:340vh;border-bottom:1px solid var(--line)}
.pin{position:sticky;top:0;height:100svh;overflow:hidden}
#flow{position:absolute;inset:0;width:100%;height:100%}
.scene__top{position:absolute;top:96px;left:var(--g);right:var(--g);display:flex;justify-content:space-between;gap:20px}
.scene__bar{position:absolute;left:var(--g);right:var(--g);top:128px;height:2px;background:var(--line)}
.scene__bar i{position:absolute;inset:0;background:var(--hot);transform-origin:0 50%;transform:scaleX(0)}
.stage{position:absolute;left:var(--g);bottom:8vh;max-width:min(92vw,900px);opacity:0;transform:translateY(30px);transition:opacity .5s,transform .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.stage.on{opacity:1;transform:none}
.stage .label{color:var(--hot);margin-bottom:14px}
.stage h3{font-size:clamp(40px,8vw,140px);line-height:.92;letter-spacing:-.06em;font-weight:760}
.stage p{margin-top:18px;font-size:clamp(17px,1.5vw,22px);color:var(--mute);max-width:28em}

/* capability panels */
.caps{display:grid;gap:clamp(14px,1.6vw,22px)}
.cap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,70px);background:var(--panel);border:1px solid var(--line);padding:clamp(22px,3vw,48px);text-decoration:none;align-items:stretch;transition:border-color .3s,background .3s}
a.cap:hover{border-color:var(--hot);background:var(--panel2)}
.cap__txt{display:flex;flex-direction:column;gap:16px}
.cap__txt .label{color:var(--hot)}
.cap h3{font-size:clamp(30px,4vw,64px);line-height:.98;letter-spacing:-.05em;font-weight:720}
.cap p{color:var(--mute);max-width:26em}
.cap ul{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.cap li{font-size:13px;font-weight:500;padding:7px 12px;border:1px solid var(--line)}
.cap .textlink{margin-top:auto;padding-top:18px}

/* illustrative interface panels */
.ui{position:relative;background:var(--bg);border:1px solid var(--line);padding:18px;min-height:280px;display:flex;flex-direction:column;gap:10px;font-size:13px;overflow:hidden}
.ui__bar{display:flex;justify-content:space-between;align-items:center;color:var(--mute);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:11px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.ui__bar i{display:inline-block;width:8px;height:8px;background:var(--hot);animation:blink 1.6s steps(2) infinite}
@keyframes blink{50%{opacity:.2}}
.ui__row{display:grid;grid-template-columns:1.1fr 1.6fr auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.ui__row b{font-weight:600}
.ui__track{height:4px;background:var(--panel2);position:relative;overflow:hidden}
.ui__track i{position:absolute;inset:0;background:var(--hot);transform-origin:0 50%;animation:fill 5s cubic-bezier(.4,0,.2,1) infinite}
.ui__row:nth-child(3) .ui__track i{animation-delay:-1.6s}.ui__row:nth-child(4) .ui__track i{animation-delay:-3.1s}.ui__row:nth-child(5) .ui__track i{animation-delay:-4.2s}
@keyframes fill{0%{transform:scaleX(.05)}80%,100%{transform:scaleX(1)}}
.ui__tag{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.ui__flow{display:grid;gap:10px;margin-top:6px}
.ui__node{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);animation:node 6s infinite}
.ui__node::before{content:"";width:9px;height:9px;background:var(--mute);flex:none;animation:dot 6s infinite}
.ui__node:nth-child(2),.ui__node:nth-child(2)::before{animation-delay:1.5s}.ui__node:nth-child(3),.ui__node:nth-child(3)::before{animation-delay:3s}.ui__node:nth-child(4),.ui__node:nth-child(4)::before{animation-delay:4.5s}
@keyframes node{0%,20%{border-color:var(--hot)}30%,100%{border-color:var(--line)}}
@keyframes dot{0%,20%{background:var(--hot)}30%,100%{background:var(--mute)}}
.ui__bars{display:grid;grid-template-columns:repeat(8,1fr);align-items:end;gap:8px;flex:1;min-height:150px;margin-top:8px}
.ui__bars i{background:var(--panel2);height:var(--h);transform-origin:50% 100%;animation:bar 4s cubic-bezier(.3,.7,.2,1) infinite alternate}
.ui__bars i:nth-child(odd){animation-delay:-1.3s}.ui__bars i:nth-child(3n){animation-delay:-2.4s}
.ui__bars i.hot{background:var(--hot)}
@keyframes bar{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
.ui__legend{display:flex;gap:18px;color:var(--mute);font-size:12px}
.ui__note{position:absolute;right:10px;bottom:8px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);opacity:.6}

/* grids, rows, lists */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grid3--2{grid-template-columns:repeat(2,1fr)}
.cell{position:relative;padding:clamp(22px,2.6vw,40px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px;min-height:230px;text-decoration:none;transition:background .3s}
.cell::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--hot);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cell:hover{background:var(--panel)}
.cell:hover::before{transform:none}
.cell .label{color:var(--hot)}
.cell h3{font-size:clamp(21px,1.9vw,28px);line-height:1.08;letter-spacing:-.035em;font-weight:680}
.cell p{color:var(--mute);font-size:15.5px}
.cell .textlink{margin-top:auto;padding-top:10px}
.rows li{display:grid;grid-template-columns:5em minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(14px,3vw,48px);padding:clamp(20px,2.4vw,34px) 0;border-top:1px solid var(--line);align-items:baseline;transition:padding .4s cubic-bezier(.2,.8,.2,1)}
.rows li:last-child{border-bottom:1px solid var(--line)}
.rows li:hover{padding-left:16px}
.rows .label{color:var(--hot)}
.rows b{font-size:clamp(24px,3.2vw,50px);line-height:1;letter-spacing:-.05em;font-weight:720}
.rows span:last-child{color:var(--mute);font-size:clamp(16px,1.25vw,19px);max-width:30em}
.regions{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.regions li{padding:clamp(22px,2.6vw,40px) clamp(16px,2vw,32px) clamp(22px,2.6vw,40px) 0;border-bottom:1px solid var(--line)}
.regions li+li{padding-left:clamp(16px,2vw,32px);border-left:1px solid var(--line)}
.regions .label{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.regions .label::before{content:"";width:9px;height:9px;background:var(--hot);animation:blink 2s steps(2) infinite}
.regions b{display:block;font-size:clamp(28px,3.8vw,60px);line-height:.98;letter-spacing:-.05em;font-weight:720}
.regions p{margin-top:14px;color:var(--mute);max-width:22em}

/* carriers */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:18px 0;margin:clamp(24px,4vh,44px) 0}
.marquee div{display:flex;width:max-content;animation:slide 50s linear infinite}
.marquee--rev div{animation-direction:reverse}
.marquee span{font-size:clamp(34px,5.6vw,92px);font-weight:740;letter-spacing:-.055em;white-space:nowrap;display:inline-flex;align-items:center;line-height:1.1}
.marquee span::after{content:"";width:.2em;height:.2em;background:var(--hot);margin:0 .5em}
.carriers{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(16px,3vw,48px)}
.carriers li{display:flex;align-items:baseline;gap:16px;padding:22px 0;border-top:1px solid var(--line)}
.carriers .label{color:var(--hot)}
.carriers b{font-size:clamp(22px,2.4vw,36px);letter-spacing:-.045em;font-weight:700}
.note{margin-top:30px;font-size:14px;color:var(--mute);max-width:44em}

/* perspectives */
.posts{border-top:1px solid var(--line)}
.posts a{display:grid;grid-template-columns:5em minmax(0,1fr) auto;gap:clamp(14px,3vw,48px);align-items:baseline;padding:clamp(22px,2.8vw,40px) 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .4s cubic-bezier(.2,.8,.2,1),color .3s}
.posts a:hover{padding-left:16px;color:var(--hot)}
.posts .label{color:var(--hot)}
.posts b{font-size:clamp(24px,3.4vw,54px);line-height:1.02;letter-spacing:-.05em;font-weight:720}
.posts i{font-style:normal;font-size:clamp(22px,2.4vw,36px);transition:transform .3s}
.posts a:hover i{transform:translateX(8px)}
.prose{max-width:780px}
.prose h2{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.04em;font-weight:700;line-height:1.1;margin:44px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p{color:#C9CDD1;font-size:clamp(17px,1.3vw,20px);margin-bottom:16px}
.prose p.big{color:var(--fg);font-size:clamp(22px,2.2vw,32px);line-height:1.25;letter-spacing:-.03em;font-weight:500;margin-bottom:34px}

/* cta + footer */
.cta{padding:clamp(90px,16vh,200px) 0;background:var(--hot);color:var(--bg)}
.cta .label{color:var(--bg);opacity:.7;margin-bottom:20px}
.cta__row{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-top:clamp(28px,5vh,56px);padding-top:22px;border-top:2px solid var(--bg)}
.cta__row p{font-size:clamp(18px,1.6vw,24px);max-width:24em;font-weight:400}
.cta .btn--hot{background:var(--bg);color:var(--fg)}.cta .btn--hot:hover{background:var(--panel2)}
.ftr{padding:clamp(56px,9vh,100px) 0 26px}
.ftr__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(24px,4vw,70px)}
.ftr__brand p{margin-top:16px;max-width:22em;color:var(--mute)}
.ftr h3{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.ftr__top a:not(.logo){display:block;text-decoration:none;padding:5px 0;transition:color .2s}
.ftr__top a:not(.logo):hover{color:var(--hot)}
.ftr__word{font-size:clamp(80px,22.5vw,420px);line-height:1.02;overflow:hidden;letter-spacing:-.07em;font-weight:780;margin:clamp(40px,8vh,90px) 0 0 -.04em;color:var(--panel2);user-select:none;white-space:nowrap}
.ftr__base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;color:var(--mute)}
.ftr__base a{margin-left:20px;text-decoration:none}.ftr__base a:hover{color:var(--fg)}

/* form */
.form{display:grid;grid-template-columns:repeat(3,1fr);gap:24px clamp(16px,2.4vw,36px);max-width:1160px}
.form .wide,.form__end,.chips{grid-column:1/-1}
.chips{border:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.chips legend{margin-bottom:14px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0}
.chips span{display:inline-block;padding:12px 18px;border:1.5px solid var(--line);font-weight:550;font-size:15px;transition:background .2s,color .2s,border-color .2s}
.chips label:hover span{border-color:var(--fg)}
.chips input:checked+span{background:var(--hot);border-color:var(--hot);color:var(--bg)}
.chips input:focus-visible+span{outline:2px solid var(--hot);outline-offset:3px}
.form label>.label{display:block;margin-bottom:8px}
.form input:not([type=radio]),.form textarea{width:100%;font:inherit;font-size:18px;color:var(--fg);background:transparent;border:0;border-bottom:1.5px solid var(--line);border-radius:0;padding:12px 0;outline:0;resize:vertical;transition:border-color .2s}
.form input:not([type=radio]):focus,.form textarea:focus{border-color:var(--hot)}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form__end{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.form__status{font-weight:600;color:var(--hot)}
.btn[disabled]{opacity:.5}

/* reveals (only when JS runs) */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1)}
.js .rv.in{opacity:1;transform:none}
.grid3 .rv:nth-child(3n+2),.regions .rv:nth-child(2){transition-delay:.08s}
.grid3 .rv:nth-child(3n),.regions .rv:nth-child(3){transition-delay:.16s}

@media (max-width:900px){
  .burger{display:flex}
  .nav{position:fixed;inset:72px 0 auto 0;background:var(--bg);flex-direction:column;align-items:flex-start;gap:2px;padding:14px var(--g) 28px;border-bottom:1px solid var(--line);transform:translateY(-140%);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
  .nav.open{transform:none}
  .nav a:not(.btn){font-size:26px;font-weight:680;letter-spacing:-.04em;color:var(--fg);padding:9px 0}
  .nav__cta{margin-top:14px}
  .hdr{background:rgba(8,9,11,.92)}
  .sec__head,.split,.cap,.grid3,.grid3--2,.regions,.carriers,.form,.ftr__top{grid-template-columns:1fr}
  .regions li+li{padding-left:0;border-left:0}
  .cell{min-height:0}
  .rows li{grid-template-columns:1fr;gap:8px}
  .rows li:hover{padding-left:0}
  .posts a{grid-template-columns:1fr auto}
  .posts .label{grid-column:1/-1}
  .scene__top span:last-child{display:none}
  .ftr__top{gap:30px}
}
@media (prefers-reduced-motion:reduce){
  .js .rv,.js .mask>span{opacity:1;transform:none;transition:none}
  .js .lit .w{opacity:1}
  .ticker div,.marquee div,.ui *,.ui *::before,.regions .label::before{animation:none}
  .phero__line{animation:none;transform:scaleX(.62)}
  .stage{transition:none}
}
