
/* Layout: planet.com structure on the Norzva brand. Logo navy as the night ground, brand orange for action, brand cyan-blue for data. Light editorial body between navy bands. */
:root{
  --bg:#FFFFFF;
  --alt:#F1F4FA;
  --ink:#06102B;
  --mute:#566079;
  --line:#DFE4EE;
  --link:#0B5FD9;
  --night:#03081B;
  --night-2:#0A1330;
  --night-3:#111C40;
  --night-line:#1A2650;
  --fog:#EAF0FA;
  --night-mute:#8F9BB8;
  --orange:#FF8A00;
  --orange-2:#F2541B;
  --blue:#1E88FF;
  --cyan:#00C8FF;
  --f-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --f-logo:"Montserrat","Archivo",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#050B20;--alt:#08102A;--ink:#EAF0FA;--mute:#8F9BB8;--line:#1A2650;--link:#5DB2FF;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#050B20;--alt:#08102A;--ink:#EAF0FA;--mute:#8F9BB8;--line:#1A2650;--link:#5DB2FF;color-scheme:dark}

[hidden]{display:none!important}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--night)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:2px}
.wrap{max-width:1280px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (max-width:520px){.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
h1,h2,h3,h4,h5{font-family:var(--f-display);margin:0;text-wrap:balance;letter-spacing:-.01em;line-height:1.06}
p{margin:0}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:999px;font-weight:600;font-size:15px;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;white-space:nowrap}
.btn-orange{background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;box-shadow:0 8px 28px -10px rgba(255,138,0,.7)}
.btn-orange:hover{transform:translateY(-1px);box-shadow:0 12px 34px -10px rgba(255,138,0,.85)}
.btn-ghost{border:1px solid rgba(234,240,250,.3);color:var(--fog)}
.btn-ghost:hover{border-color:var(--fog)}
.btn-ink{border:1px solid var(--line);color:var(--ink)}
.btn-ink:hover{border-color:var(--ink)}
.arrow{transition:transform .2s;display:inline-block}
a:hover .arrow,button:hover .arrow{transform:translateX(4px)}
.grad-text{background:linear-gradient(90deg,var(--orange) 0%,var(--orange-2) 30%,var(--blue) 70%,var(--cyan) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ================= HEADER ================= */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(3,8,27,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--fog);border-bottom:1px solid var(--night-line)}
.bar{display:flex;align-items:center;gap:28px;height:72px}
.logo{display:flex;align-items:center;gap:12px;flex:none}
.logo img{height:32px;width:auto;display:block}
.wordmark{font-family:var(--f-logo);font-weight:600;font-size:19px;letter-spacing:.24em;color:#fff;line-height:1}
.wordmark .z{color:var(--blue)}.wordmark .a{color:var(--orange)}
.nav{display:flex;gap:2px;flex:1}
.nav button{padding:8px 12px;font-size:15px;color:var(--night-mute);transition:color .15s;position:relative}
.nav button:hover,.nav button[aria-expanded="true"]{color:var(--fog)}
.nav button[aria-expanded="true"]::after{content:"";position:absolute;left:12px;right:12px;bottom:-15px;height:2px;background:linear-gradient(90deg,var(--orange),var(--blue))}
.nav .new{font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;color:var(--orange);vertical-align:super;margin-left:3px}
.actions{display:flex;align-items:center;gap:8px}
.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--night-mute)}
.icon-btn:hover{color:var(--fog);background:var(--night-2)}
.login{font-size:15px;color:var(--night-mute);padding:8px 12px}
.login:hover{color:var(--fog)}
.actions .btn{padding:10px 18px;font-size:14px}

.mega{position:absolute;left:0;right:0;top:100%;background:var(--night-2);border-bottom:1px solid var(--night-line);box-shadow:0 40px 80px -30px rgba(0,0,0,.75);color:var(--fog)}
.mega-in{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;padding-block:34px 38px}
.mega-tabs{display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--night-line);padding-right:24px}
.mega-tabs h5{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--night-mute);font-weight:500;margin-bottom:10px}
.mega-tabs p{color:var(--night-mute);font-size:14px}
.mega-tabs button{text-align:left;padding:10px 12px;border-radius:6px;font-size:15px;color:var(--night-mute)}
.mega-tabs button[aria-selected="true"],.mega-tabs button:hover{background:var(--night);color:var(--fog)}
.mega-pane{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 20px;align-content:start}
.mega-pane.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.mega-pane a{display:block;padding:12px 14px;border-radius:8px;transition:background .15s}
.mega-pane a:hover{background:var(--night)}
.mega-pane b{display:block;font-weight:600;font-size:15px}
.mega-pane span{display:block;color:var(--night-mute);font-size:13px;line-height:1.45;margin-top:3px}
.mega-pane .sub{padding-left:28px}.mega-pane .sub b{font-weight:500;font-size:14px;color:var(--night-mute)}
.mega-pane .dom{display:grid;grid-template-columns:34px 1fr;gap:4px 12px;align-items:start}
.mega-pane .dom i{grid-row:span 2;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-family:var(--f-mono);font-size:11px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan))}
.mega-pane .dom.o i{background:linear-gradient(135deg,var(--orange),var(--orange-2))}
.mega-foot{grid-column:1/-1;border-top:1px solid var(--night-line);margin-top:12px;padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.mega-foot a{font-weight:600;font-size:14px;color:var(--orange)}
.mega-foot span{color:var(--night-mute);font-size:14px}
.offices{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--night-mute);padding:12px 14px}
.offices b{color:var(--fog);font-weight:600}

.burger{display:none;width:42px;height:42px;border-radius:8px;border:1px solid var(--night-line);position:relative}
.burger i,.burger i::before,.burger i::after{position:absolute;left:12px;width:16px;height:1.5px;background:var(--fog);content:""}
.burger i{top:20px}.burger i::before{top:-5px;left:0}.burger i::after{top:5px;left:0}
.drawer{background:var(--night-2);border-top:1px solid var(--night-line);max-height:calc(100vh - 72px);overflow:auto}
.drawer .wrap{padding-block:8px 28px}
.drawer details{border-bottom:1px solid var(--night-line)}
.drawer summary{list-style:none;padding:16px 0;font-weight:600;font-size:17px;display:flex;justify-content:space-between;cursor:pointer}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary::after{content:"+";color:var(--night-mute)}
.drawer details[open] summary::after{content:"–"}
.drawer details a{display:block;padding:8px 2px;color:var(--night-mute)}
.drawer .row{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
@media (max-width:1140px){.nav,.login,.actions .icon-btn{display:none}.burger{display:block}.mega{display:none!important}.bar{justify-content:space-between}}
@media (min-width:1141px){.drawer{display:none!important}}
@media (max-width:480px){.actions .btn{display:none}.wordmark{font-size:16px}}

/* ================= HERO ================= */
.hero{position:relative;background:var(--night);color:var(--fog);overflow:hidden;isolation:isolate}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,8,27,.95) 0%,rgba(3,8,27,.6) 40%,rgba(3,8,27,0) 70%),linear-gradient(0deg,rgba(3,8,27,1) 0%,rgba(3,8,27,0) 25%)}
.hero-in{padding-block:120px 72px;min-height:640px;display:flex;flex-direction:column;justify-content:center}
.hero .eyebrow{color:var(--cyan)}
.hero h1{font-size:clamp(46px,6.8vw,96px);font-stretch:116%;font-weight:700;max-width:12ch;margin:20px 0 24px}
.hero p{color:var(--night-mute);font-size:19px;max-width:50ch}
.hero p b{color:var(--fog);font-weight:500}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.statsband{background:var(--night);color:var(--fog);border-top:1px solid var(--night-line)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-block:0}
.stats div{padding:22px 24px 24px 0;min-width:0}
.stats div+div{padding-left:24px;border-left:1px solid var(--night-line)}
.stats dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--night-mute)}
.stats dd{margin:4px 0 0;font-family:var(--f-display);font-stretch:112%;font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}
.stats dd small{font-size:15px;color:var(--night-mute);font-weight:500;margin-left:4px}
.stats-note{background:var(--night);color:var(--night-mute);font-family:var(--f-mono);font-size:11px;padding-bottom:18px}
@media (max-width:800px){.hero-in{padding-block:90px 48px;min-height:560px}.hero::after{background:linear-gradient(0deg,rgba(3,8,27,.96) 15%,rgba(3,8,27,.35) 100%)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats div:nth-child(3){padding-left:0;border-left:0}.stats div:nth-child(n+3){border-top:1px solid var(--night-line)}}

.announce{background:var(--night-2);border-top:1px solid var(--night-line);border-bottom:1px solid var(--night-line);color:var(--fog)}
.announce .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.announce a{padding:24px 24px 28px 0;display:flex;flex-direction:column;gap:8px;min-width:0}
.announce a+a{padding-left:24px;border-left:1px solid var(--night-line)}
.announce .tagline{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;color:var(--orange)}
.announce b{font-weight:600;font-size:16px;line-height:1.35}
.announce span{color:var(--night-mute);font-size:14px;line-height:1.45}
.announce a:hover b{color:var(--cyan)}
@media (max-width:1000px){.announce .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.announce a:nth-child(3){padding-left:0;border-left:0}.announce a:nth-child(n+3){border-top:1px solid var(--night-line)}}
@media (max-width:600px){.announce .wrap{grid-template-columns:1fr}.announce a,.announce a+a{padding:20px 0;border-left:0}.announce a+a{border-top:1px solid var(--night-line)}}

/* ================= BODY ================= */
.sec{padding-block:110px}
@media (max-width:700px){.sec{padding-block:72px}}
.alt{background:var(--alt)}
.statement{font-size:clamp(26px,3.2vw,42px);font-stretch:108%;font-weight:500;max-width:30ch;line-height:1.2}
.statement em{font-style:normal;color:var(--link)}
.looks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px}
.look{margin:0}
.look h3{font-size:clamp(28px,3vw,40px);font-stretch:116%;font-weight:700;margin-bottom:18px}
.look canvas{width:100%;aspect-ratio:1/1;max-width:100%;display:block;border-radius:8px;background:var(--night)}
.look figcaption{margin-top:12px;font-family:var(--f-mono);font-size:12px;color:var(--mute)}
@media (max-width:820px){.looks{grid-template-columns:1fr;gap:40px}}

.head2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-bottom:48px}
.head2 h2{font-size:clamp(36px,4.8vw,64px);font-stretch:116%;font-weight:700}
.head2 p{color:var(--mute);font-size:18px;max-width:54ch}
.head2 .eyebrow{display:block;margin-bottom:16px;color:var(--link)}
@media (max-width:860px){.head2{grid-template-columns:1fr;gap:18px}}

/* domains hub */
.domains{background:var(--night);color:var(--fog)}
.domains .head2 p{color:var(--night-mute)}
.domains .head2 h2{font-size:clamp(34px,4vw,54px)}
.domains .head2 .eyebrow{color:var(--orange)}
.hub{display:grid;grid-template-columns:300px minmax(0,1fr);border:1px solid var(--night-line);border-radius:20px;overflow:hidden;background:var(--night-2)}
.hub-list{display:flex;flex-direction:column;border-right:1px solid var(--night-line);padding:10px}
.hub-list button{display:grid;grid-template-columns:30px 1fr;gap:2px 12px;text-align:left;padding:14px 14px;border-radius:12px;transition:background .2s}
.hub-list button:hover{background:var(--night-3)}
.hub-list button[aria-selected="true"]{background:var(--night)}
.hub-list .no{grid-row:span 2;font-family:var(--f-mono);font-size:12px;color:var(--night-mute);padding-top:3px}
.hub-list button[aria-selected="true"] .no{color:var(--orange)}
.hub-list b{font-weight:600;font-size:16px}
.hub-list span{font-size:13px;color:var(--night-mute);line-height:1.4}
.hub-list .bar-p{grid-column:2;height:2px;background:var(--night-line);border-radius:2px;margin-top:8px;overflow:hidden;display:none}
.hub-list button[aria-selected="true"] .bar-p{display:block}
.hub-list .bar-p i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--orange),var(--cyan))}
.hub-stage{display:flex;flex-direction:column;min-width:0}
.hub-stage canvas{width:100%;aspect-ratio:16/8;max-width:100%;display:block;background:var(--night)}
.hub-body{padding:28px 32px 32px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:28px}
.hub-body h3{font-size:28px;font-stretch:114%;font-weight:700;margin-bottom:10px}
.hub-body .lead{color:var(--night-mute);font-size:15px}
.hub-body h6{margin:0 0 10px;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:8px}
.hub-body h6::before{content:"";width:8px;height:8px;border-radius:50%}
.hub-body .earth h6{color:var(--cyan)}.hub-body .earth h6::before{background:var(--cyan)}
.hub-body .orbit h6{color:var(--orange)}.hub-body .orbit h6::before{background:var(--orange)}
.hub-body ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14px;color:var(--fog)}
.hub-body li{padding-left:14px;position:relative;line-height:1.45}
.hub-body li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:1.5px;background:var(--night-mute)}
.hub-body .go{margin-top:18px;display:inline-flex;gap:8px;font-weight:600;color:var(--orange);font-size:15px}
@media (max-width:1000px){.hub{grid-template-columns:1fr}.hub-list{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--night-line);scrollbar-width:none}.hub-list::-webkit-scrollbar{display:none}.hub-list button{flex:none;grid-template-columns:auto;padding:10px 16px}.hub-list .no,.hub-list span,.hub-list .bar-p{display:none!important}.hub-body{grid-template-columns:1fr;padding:24px}.hub-stage canvas{aspect-ratio:4/3}}

/* split */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.split h2{font-size:clamp(36px,4.6vw,60px);font-stretch:116%;font-weight:700}
.split .copy{display:flex;flex-direction:column;gap:20px;color:var(--mute);font-size:18px;max-width:58ch}
.split .copy strong{color:var(--ink);font-weight:600}
@media (max-width:820px){.split{grid-template-columns:1fr;gap:28px}}

/* data flow */
.flow{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:56px}
.flow::before{content:"";position:absolute;left:10%;right:10%;top:44px;height:2px;background:linear-gradient(90deg,var(--orange),var(--blue),var(--cyan));opacity:.5}
.node{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;min-width:0}
.node .ic{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--line);color:var(--link);position:relative;z-index:1}
.node .ic svg{width:38px;height:38px}
.node b{font-family:var(--f-display);font-stretch:110%;font-size:18px;font-weight:600}
.node span{font-size:14px;color:var(--mute);max-width:24ch}
.node .t{font-family:var(--f-mono);font-size:11px;color:var(--link);letter-spacing:.08em}
.packet{position:absolute;top:39px;left:10%;width:12px;height:12px;border-radius:50%;background:var(--orange);box-shadow:0 0 14px var(--orange);animation:pk 5s linear infinite;z-index:2}
.packet.b{animation-delay:-1.66s;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}
.packet.c{animation-delay:-3.33s;background:var(--blue);box-shadow:0 0 14px var(--blue)}
@keyframes pk{from{left:10%}to{left:calc(90% - 12px)}}
@media (max-width:900px){.flow{grid-template-columns:1fr;gap:28px}.flow::before,.packet{display:none}.node{flex-direction:row;text-align:left;align-items:center;gap:18px}.node .ic{flex:none;width:64px;height:64px}.node .ic svg{width:28px;height:28px}}
@media (prefers-reduced-motion:reduce){.packet{animation:none;display:none}}

/* stories */
.stories-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.stories-head h2{font-size:clamp(34px,4vw,52px);font-stretch:116%;font-weight:700}
.stories-head p{color:var(--mute);max-width:52ch;margin-top:14px;font-size:17px}
.arrows{display:flex;gap:8px}
.arrows button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:18px;transition:border-color .2s}
.arrows button:hover{border-color:var(--ink)}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,calc((100% - 48px)/3));gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.story{scroll-snap-align:start;display:flex;flex-direction:column;gap:14px;min-width:0}
.story canvas{width:100%;aspect-ratio:16/9;max-width:100%;border-radius:8px;display:block;background:var(--night)}
.story .seg{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--link)}
.story h4{font-size:21px;font-weight:600;font-stretch:105%}
.story p{color:var(--mute);font-size:15px}
.story .more{font-weight:600;font-size:14px;color:var(--link)}
@media (max-width:700px){.rail{grid-auto-columns:85%}}

/* four */
.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.four div{padding:28px 24px 8px 0;min-width:0}
.four div+div{padding-left:24px;border-left:1px solid var(--line)}
.four .n{font-family:var(--f-mono);font-size:12px;color:var(--orange-2);letter-spacing:.1em}
.four h5{font-size:22px;font-stretch:112%;font-weight:600;margin:10px 0}
.four p{color:var(--mute);font-size:15px}
@media (max-width:900px){.four{grid-template-columns:repeat(2,minmax(0,1fr))}.four div:nth-child(3){padding-left:0;border-left:0}.four div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:520px){.four{grid-template-columns:1fr}.four div,.four div+div{padding:24px 0 8px;border-left:0}.four div+div{border-top:1px solid var(--line)}}

/* platform band */
.platform{background:var(--night);color:var(--fog);position:relative;overflow:hidden;isolation:isolate}
.platform canvas{position:absolute;right:0;top:0;height:100%;width:60%;z-index:-1}
.platform .wrap{padding-block:120px;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.platform .eyebrow{color:var(--orange)}
.platform h2{font-size:clamp(40px,5.6vw,80px);font-stretch:118%;font-weight:700;max-width:14ch}
.platform p{color:var(--night-mute);font-size:19px;max-width:48ch}
@media (max-width:800px){.platform canvas{width:100%;opacity:.35}}

/* footer */
footer{background:var(--night);color:var(--fog);border-top:1px solid var(--night-line)}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-block:56px 40px;border-bottom:1px solid var(--night-line)}
.foot-top p{color:var(--night-mute);max-width:46ch;font-size:15px;margin-top:14px}
.foot{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px;padding-block:48px 24px}
.foot h6{margin:0 0 14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--night-mute);font-weight:500}
.foot ul{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14px}
.foot ul a{opacity:.85}.foot ul a:hover{opacity:1;color:var(--orange)}
.contactline{display:flex;flex-wrap:wrap;gap:12px 40px;padding-block:24px;border-top:1px solid var(--night-line);font-size:14px;color:var(--night-mute)}
.contactline b{color:var(--fog);font-weight:500;user-select:all}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:22px 36px;border-top:1px solid var(--night-line);font-size:13px;color:var(--night-mute)}
.legal nav{display:flex;gap:18px;flex-wrap:wrap}
.legal nav a:hover{color:var(--fog)}
.social{display:flex;gap:6px}
.social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--night-line);font-family:var(--f-mono);font-size:11px;color:var(--night-mute)}
.social a:hover{color:var(--fog);border-color:var(--night-mute)}
@media (max-width:1000px){.foot{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.foot{grid-template-columns:repeat(2,minmax(0,1fr))}}

.search{position:fixed;inset:0;z-index:80;background:rgba(3,8,27,.88);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-start;padding:calc(120px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px))}
.search div{width:100%;max-width:720px}
.search input{width:100%;font:inherit;font-size:24px;font-family:var(--f-display);padding:18px 22px;border-radius:12px;border:1px solid var(--night-line);background:var(--night-2);color:var(--fog)}
.search input:focus{outline:none;border-color:var(--orange)}
.search p{color:var(--night-mute);font-size:13px;margin-top:12px;font-family:var(--f-mono)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ================= CAREERS ================= */
.c-hero{background:var(--night);color:var(--fog);position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--night-line)}
.c-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 500px at 85% 20%,rgba(30,136,255,.22),transparent 60%),radial-gradient(700px 400px at 10% 110%,rgba(255,138,0,.14),transparent 70%)}
.c-hero::after{content:"";position:absolute;right:-120px;top:-160px;width:620px;height:620px;border-radius:50%;border:1px dashed rgba(234,240,250,.12);z-index:-1}
.c-hero-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:end;padding-block:110px 72px}
.c-hero .eyebrow{color:var(--cyan)}
.c-hero h1{font-size:clamp(44px,6.4vw,88px);font-stretch:116%;font-weight:700;margin:18px 0 22px;max-width:12ch}
.c-hero p{color:var(--night-mute);font-size:19px;max-width:50ch}
.c-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--night-line);border:1px solid var(--night-line);border-radius:16px;overflow:hidden;margin:0}
.c-stats div{background:var(--night-2);padding:22px 24px}
.c-stats dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--night-mute)}
.c-stats dd{margin:6px 0 0;font-family:var(--f-display);font-stretch:112%;font-size:36px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
@media (max-width:860px){.c-hero-in{grid-template-columns:1fr;padding-block:80px 48px}}

.why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.why div{padding:28px 24px 8px 0;min-width:0}
.why div+div{padding-left:24px;border-left:1px solid var(--line)}
.why h3{font-size:21px;font-stretch:110%;font-weight:600;margin-bottom:10px}
.why p{color:var(--mute);font-size:15px}
@media (max-width:900px){.why{grid-template-columns:repeat(2,minmax(0,1fr))}.why div:nth-child(3){padding-left:0;border-left:0}.why div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:520px){.why{grid-template-columns:1fr}.why div,.why div+div{padding:22px 0 6px;border-left:0}.why div+div{border-top:1px solid var(--line)}}

.filters{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.seg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px;gap:2px;flex-wrap:wrap}
.seg button{padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--mute)}
.seg button[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.seg button .n{font-family:var(--f-mono);font-size:11px;opacity:.7;margin-left:6px}
.search-role{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:0 16px;color:var(--mute);min-width:0;flex:0 1 280px}
.search-role input{border:0;background:transparent;font:inherit;font-size:15px;color:var(--ink);padding:10px 0;width:100%;min-width:0}
.search-role input:focus{outline:none}
.search-role:focus-within{border-color:var(--link)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.chips button{font-family:var(--f-mono);font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--mute);background:var(--bg)}
.chips button[aria-pressed="true"]{border-color:var(--link);color:var(--link);background:color-mix(in srgb,var(--link) 8%,var(--bg))}

.roles{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.role{display:grid;grid-template-columns:minmax(0,1fr) auto auto 28px;gap:24px;align-items:center;padding:22px 24px;text-align:left;width:100%;border-top:1px solid var(--line);transition:background .15s}
.role:first-child{border-top:0}
.role:hover{background:var(--alt)}
.role h3{font-size:19px;font-weight:600;font-stretch:105%;margin-bottom:6px}
.role .tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;padding:3px 8px;border-radius:5px;background:var(--alt);color:var(--mute);border:1px solid var(--line)}
.type{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px;white-space:nowrap;font-weight:500}
.type.Full-time{background:color-mix(in srgb,var(--link) 12%,transparent);color:var(--link)}
.type.Internship{background:color-mix(in srgb,var(--orange) 16%,transparent);color:var(--orange-2)}
.type.Thesis{background:color-mix(in srgb,#8B5CF6 14%,transparent);color:#7C4DEB}
.role .where{font-size:14px;color:var(--mute);white-space:nowrap}
.role .go{color:var(--mute);font-size:20px;transition:transform .2s,color .2s}
.role:hover .go{color:var(--orange-2);transform:translateX(4px)}
@media (max-width:760px){.role{grid-template-columns:minmax(0,1fr) 24px;gap:10px 12px;padding:18px}.role .type,.role .where{grid-column:1;justify-self:start}.role .go{grid-row:1;grid-column:2}}
.empty{color:var(--mute);padding:24px 0}

.progs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.prog{border:1px solid var(--line);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:20px;min-width:0}
.prog h3{font-size:28px;font-stretch:114%;font-weight:700}
.prog dl{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:0}
.prog dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.prog dd{margin:4px 0 0;font-size:15px}
.prog ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px;border-top:1px solid var(--line);padding-top:18px}
.prog li{display:flex;gap:10px}.prog li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-top:9px}
.prog .btn{align-self:flex-start;margin-top:auto}
@media (max-width:820px){.progs{grid-template-columns:1fr}.prog{padding:24px}.prog dl{grid-template-columns:1fr}}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative}
.steps::before{content:"";position:absolute;left:22px;right:22px;top:22px;height:2px;background:linear-gradient(90deg,var(--orange),var(--blue),var(--cyan));opacity:.45}
.steps li{position:relative;min-width:0}
.steps span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:2px solid var(--link);color:var(--link);font-family:var(--f-display);font-weight:700;font-size:18px;position:relative;margin-bottom:18px}
.steps h3{font-size:20px;font-weight:600;margin-bottom:6px}
.steps p{color:var(--mute);font-size:15px}
@media (max-width:820px){.steps{grid-template-columns:1fr;gap:22px}.steps::before{left:22px;right:auto;top:0;bottom:0;width:2px;height:auto}.steps li{padding-left:66px}.steps span{position:absolute;left:0;top:0}}

.apply{background:var(--night);color:var(--fog)}
.apply-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:56px;align-items:start}
.apply .eyebrow{color:var(--orange)}
.apply h2{font-size:clamp(34px,4.4vw,56px);font-stretch:116%;font-weight:700;margin:14px 0 18px}
.apply-copy p{color:var(--night-mute);font-size:17px;max-width:44ch}
.apply-copy p b{color:var(--fog)}
.apply-copy .small{font-size:15px;margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sel{user-select:all}
.copy{font-family:var(--f-mono);font-size:11px;padding:4px 10px;border-radius:999px;border:1px solid var(--night-line);color:var(--night-mute)}
.copy:hover{color:var(--fog);border-color:var(--night-mute)}
.form{background:var(--night-2);border:1px solid var(--night-line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:16px;min-width:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:var(--fog);min-width:0}
.form label small{font-weight:400;color:var(--night-mute);font-size:12px}
.form input,.form select,.form textarea{font:inherit;font-size:15px;font-weight:400;color:var(--fog);background:var(--night);border:1px solid var(--night-line);border-radius:10px;padding:12px 14px;width:100%;min-width:0;color-scheme:dark}
.form input[type=file]{padding:10px;font-size:13px;color:var(--night-mute)}
.form input[type=file]::file-selector-button{font:inherit;font-weight:600;font-size:13px;border:0;border-radius:6px;padding:7px 12px;margin-right:10px;background:var(--night-3);color:var(--fog);cursor:pointer}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--orange)}
.form [aria-invalid="true"]{border-color:#FF5A4E}
.form .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;color:var(--night-mute);font-size:14px}
.form .check input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--orange)}
.form .btn{align-self:flex-start}
.form .btn[disabled]{opacity:.6;cursor:progress}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{font-size:15px;padding:12px 14px;border-radius:10px;background:var(--night);border:1px solid var(--night-line)}
.msg.ok{border-color:#3DDC97;color:#3DDC97}.msg.err{border-color:#FF5A4E;color:#FF8A80}
@media (max-width:900px){.apply-in{grid-template-columns:1fr;gap:32px}}
@media (max-width:560px){.row2{grid-template-columns:1fr}.form{padding:20px}}

.faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:48px}
.faq-wrap h2{font-size:clamp(32px,4vw,48px);font-stretch:116%;font-weight:700}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;font-weight:600;font-size:17px;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--mute);font-size:20px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--mute);padding-bottom:20px;max-width:60ch}
@media (max-width:820px){.faq-wrap{grid-template-columns:1fr;gap:16px}}

/* job description panel */
.jd{position:fixed;inset:0;z-index:90}
.jd-scrim{position:absolute;inset:0;background:rgba(3,8,27,.6);backdrop-filter:blur(4px)}
.jd-panel{position:absolute;top:0;right:0;bottom:0;width:min(640px,100%);background:var(--bg);color:var(--ink);display:flex;flex-direction:column;box-shadow:-30px 0 80px -20px rgba(0,0,0,.5);animation:slide .28s ease;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
@keyframes slide{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.jd-panel{animation:none}}
.jd-close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px));width:40px;height:40px;border-radius:50%;border:1px solid var(--line);font-size:15px;color:var(--mute)}
.jd-close:hover{color:var(--ink);border-color:var(--ink)}
.jd-head{padding:36px 32px 24px;border-bottom:1px solid var(--line)}
.jd-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;padding-right:48px}
.jd-head h2{font-size:clamp(26px,3.4vw,34px);font-stretch:112%;font-weight:700;margin-bottom:18px;padding-right:40px}
.jd-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.jd-meta dt{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.jd-meta dd{margin:4px 0 0;font-size:14px;font-weight:600}
.jd-body{padding:24px 32px;overflow-y:auto;flex:1}
.jd-sum{font-size:17px;color:var(--ink);margin-bottom:8px}
.jd-body h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--link);margin:24px 0 10px;font-weight:500}
.jd-body ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.jd-body li{display:flex;gap:12px;font-size:15px;color:var(--mute);line-height:1.5}
.jd-body li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-top:9px}
.jd-foot{padding:18px 32px;border-top:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:560px){.jd-head{padding:28px 20px 20px}.jd-body{padding:20px}.jd-foot{padding:16px 20px}.jd-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.lock{overflow:hidden}

/* ================= SIMPLE PAGES (contact, login, coming soon) ================= */
.pg-hero{background:var(--night);color:var(--fog);position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--night-line)}
.pg-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 480px at 85% 10%,rgba(30,136,255,.22),transparent 60%),radial-gradient(600px 360px at 5% 120%,rgba(255,138,0,.14),transparent 70%)}
.pg-hero-in{padding-block:96px 72px}
.pg-hero .eyebrow{color:var(--cyan)}
.pg-hero h1{font-size:clamp(40px,6vw,80px);font-stretch:116%;font-weight:700;margin:18px 0 20px;max-width:16ch}
.pg-hero p{color:var(--night-mute);font-size:19px;max-width:52ch}
.soon-hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.soon-hero .pg-hero-in{padding-block:120px 96px}

.contact-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:48px;align-items:start}
.contact-side{display:flex;flex-direction:column;gap:16px}
.cside{border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.cside h3{font-size:19px;font-weight:600}
.cside p{color:var(--mute);font-size:15px}
.cside .line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--ink)}
.cside .line span{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);width:52px}
.cside .line b{font-weight:600}
.copy.dark{border-color:var(--line);color:var(--mute)}
.copy.dark:hover{color:var(--ink);border-color:var(--ink)}
.text-link{font-weight:600;color:var(--link);font-size:15px}
.form.light{background:var(--bg);border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(6,16,43,.35)}
.form.light h2{font-size:28px;font-stretch:112%;font-weight:700;margin-bottom:4px}
.form.light label{color:var(--ink)}
.form.light label small{color:var(--mute)}
.form.light input,.form.light select,.form.light textarea{background:var(--bg);color:var(--ink);border-color:var(--line);color-scheme:light dark}
.form.light input:focus,.form.light select:focus,.form.light textarea:focus{border-color:var(--link)}
.form.light .check{color:var(--mute)}
.form.light .msg{background:var(--alt);border-color:var(--line)}
.form.light .msg.ok{color:#14895C;border-color:#3DDC97}
.form.light .msg.err{color:#C2362B;border-color:#FF5A4E}
@media (max-width:900px){.contact-in{grid-template-columns:1fr}.contact-side{order:2}}

.portals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.portal-card{border:1px solid var(--line);border-radius:20px;padding:36px;display:flex;flex-direction:column;gap:16px;min-width:0}
.portal-card h2{font-size:32px;font-stretch:114%;font-weight:700}
.portal-card p{color:var(--mute);font-size:16px}
.portal-card ul{margin:0;padding:16px 0 0;list-style:none;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);font-size:15px}
.portal-card li{display:flex;gap:10px}.portal-card li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-top:9px}
.portal-card .btn{align-self:flex-start;margin-top:auto}
.status{align-self:flex-start;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.status.soon{background:color-mix(in srgb,var(--orange) 15%,transparent);color:var(--orange-2)}
.status.live{background:color-mix(in srgb,#3DDC97 18%,transparent);color:#14895C}
.btn-dark{background:var(--night);color:#fff}
.btn-dark:hover{transform:translateY(-1px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-dark{background:var(--fog);color:var(--night)}}
:root[data-theme="dark"] .btn-dark{background:var(--fog);color:var(--night)}
@media (max-width:820px){.portals{grid-template-columns:1fr}.portal-card{padding:26px}}

.live-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.live-links a{border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s}
.live-links a:hover{border-color:var(--link)}
.live-links b{font-size:18px;font-weight:600}
.live-links span{color:var(--mute);font-size:14px}
@media (max-width:900px){.live-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.live-links{grid-template-columns:1fr}}
