/* GB200 NVL72: night blueprint. Deep navy with a faint drafting grid, mint signal accent,
   Space Grotesk for words and Space Mono for every figure. Hairlines, small radii, no shadows. */
:root{
  --bg:#0a1626;--bg2:#0e1d31;--card:#102238;--ink:#e6eef8;--mute:#9fb2c8;--faint:#6a7f98;
  --line:#22395a;--line2:#1a2e49;--grid:rgba(120,160,210,.07);
  --acc:#48e5b0;--acc-ink:#04140e;--acc-soft:rgba(72,229,176,.12);--hot:#ff8a5c;--ok:#48e5b0;--warn:#ffc35c;
  --sans:"Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Space Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font:16px/1.62 var(--sans);background-color:var(--bg);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:32px 32px;-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
img,svg{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3{letter-spacing:-.025em;line-height:1.08;margin:0;font-weight:700}
h1{font-size:clamp(36px,6vw,68px)}
h2{font-size:clamp(24px,3.2vw,34px);margin:60px 0 14px}
h3{font-size:19px;font-weight:600;margin:28px 0 8px}
p{margin:0 0 14px}
.mono{font-family:var(--mono)}

/* header */
.top{border-bottom:1px solid var(--line);background:rgba(10,22,38,.92);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:700 17px/1 var(--mono);white-space:nowrap}
.brand em{font-style:normal;color:var(--acc);margin-left:6px}
.brand svg{width:24px;height:24px;flex:none}
.navl{display:flex;gap:4px;margin-left:auto}
.navl a{color:var(--mute);text-decoration:none;font:14px/1 var(--mono);padding:8px 10px;border-radius:4px}
.navl a:hover,.navl a[aria-current]{color:var(--ink);background:var(--bg2)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--acc);color:var(--acc-ink);border:1px solid var(--acc);border-radius:4px;padding:12px 18px;font:700 14px/1 var(--mono);text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--acc)}
.top .btn{padding:10px 14px;font-size:13px}
@media (max-width:860px){.navl{display:none}.top .btn{margin-left:auto}}

/* home hero */
.hero{border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;padding-top:56px;padding-bottom:48px}
.hero h1 span{color:var(--acc)}
.hero p.lede{font-size:19px;color:var(--mute);max-width:560px;margin:22px 0 30px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.topo{margin:0;position:relative;max-width:440px;width:100%;justify-self:center}
.topo svg{display:block;width:100%;height:auto}
.topo .cap{display:flex;justify-content:space-between;gap:12px;font:12px/1.4 var(--mono);color:var(--faint);margin-top:8px;border-top:1px dashed var(--line);padding-top:10px}
.topo .cap b{color:var(--acc);font-weight:400}
@media (max-width:880px){.hero .wrap{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:36px}.topo{max-width:340px}}

/* spec readout */
.specs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);border-top:0;background:var(--bg2);border-radius:0 0 6px 6px}
.specs div{padding:20px 18px;border-right:1px dashed var(--line)}
.specs div:last-child{border-right:0}
.specs b{display:block;font:700 24px/1.1 var(--mono);letter-spacing:-.03em;color:var(--ink)}
.specs span{display:block;font-size:13px;color:var(--mute);margin-top:6px}
@media (max-width:900px){.specs{grid-template-columns:repeat(3,minmax(0,1fr))}.specs div:nth-child(3){border-right:0}.specs div:nth-child(-n+3){border-bottom:1px dashed var(--line)}}
@media (max-width:520px){.specs{grid-template-columns:repeat(2,minmax(0,1fr))}.specs div{border-right:1px dashed var(--line)!important;border-bottom:1px dashed var(--line)}.specs div:nth-child(2n){border-right:0!important}}

/* sections */
.sec{padding:8px 20px 24px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:22px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.box{background:var(--bg2);padding:24px}
.grid2 .box{border:1px solid var(--line);border-radius:6px}
.box h3{margin-top:0}
.box p{color:var(--mute)}
.box p:last-child{margin-bottom:0}
.box .n{font:700 12px/1 var(--mono);color:var(--acc);display:block;margin-bottom:16px;letter-spacing:.06em}
@media (max-width:860px){.grid3,.grid2{grid-template-columns:minmax(0,1fr)}}

/* tables */
.tbl{width:100%;border-collapse:collapse;background:var(--bg2);border:1px solid var(--line);font-size:15px}
.tbl th{text-align:left;font:700 11px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg)}
.tbl td{padding:14px 16px;border-bottom:1px dashed var(--line2);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl td.k{font-weight:600;white-space:nowrap}
.tbl td.v{font-family:var(--mono);font-size:14px;color:var(--ink)}
.tbl .src{font:12px/1.5 var(--mono);color:var(--faint);white-space:nowrap}
.tbl .src a{color:var(--mute)}
.tblwrap{overflow-x:auto;margin:18px 0 8px;-webkit-overflow-scrolling:touch;border-radius:6px}
.pill{display:inline-block;font:700 11px/1 var(--mono);padding:6px 8px;border-radius:3px;border:1px solid var(--line);color:var(--mute);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.pill.ok{border-color:color-mix(in srgb,var(--ok) 50%,transparent);color:var(--ok);background:var(--acc-soft)}
.pill.warn{border-color:color-mix(in srgb,var(--warn) 50%,transparent);color:var(--warn)}

/* page hero + article */
.phero{border-bottom:1px solid var(--line);padding:44px 0 36px;background:linear-gradient(180deg,var(--bg2),transparent)}
.crumbs{font:12px/1.4 var(--mono);color:var(--faint);margin-bottom:18px;text-transform:uppercase;letter-spacing:.05em}
.crumbs a{color:var(--mute);text-decoration:none}
.phero h1{font-size:clamp(32px,4.6vw,52px);max-width:880px}
.phero .lede{font-size:18px;color:var(--mute);max-width:720px;margin:16px 0 0}
.phero .meta{font:12px/1.4 var(--mono);color:var(--faint);margin-top:18px}
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;padding-top:12px;padding-bottom:64px}
.prose{max-width:720px;font-size:17px}
.prose p,.prose li{color:#c9d6e5}
.prose strong{color:var(--ink)}
.prose ul,.prose ol{padding-left:22px;margin:0 0 16px}
.prose li{margin-bottom:6px}
.prose li::marker{color:var(--acc)}
.prose h2:first-child{margin-top:36px}
.side{position:relative}
.side .card{position:sticky;top:88px;background:var(--bg2);border:1px solid var(--line);border-top:2px solid var(--acc);border-radius:6px;padding:22px}
.side h3{margin:0 0 8px;font-size:18px}
.side p{color:var(--mute);font-size:15px}
.toc{display:flex;flex-direction:column;gap:6px;margin-top:20px;padding-top:16px;border-top:1px dashed var(--line);font-size:14px}
.toc b{font:700 11px/1 var(--mono);color:var(--faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.toc a{color:var(--mute);text-decoration:none}
.toc a:hover{color:var(--acc)}
.note{font-size:14px;color:var(--faint)!important;border-top:1px dashed var(--line);padding-top:16px;margin-top:40px}
.callout{border:1px solid var(--line);border-left:3px solid var(--acc);background:var(--bg2);padding:16px 20px;border-radius:0 6px 6px 0;margin:20px 0}
.callout p:last-child{margin:0}
@media (max-width:960px){.article{grid-template-columns:minmax(0,1fr);gap:24px}.side .card{position:static}}

/* faq */
.acc details{border-bottom:1px dashed var(--line);padding:16px 0}
.acc summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.acc summary::after{content:"+";font:400 22px/1 var(--mono);color:var(--acc)}
.acc details[open] summary::after{content:"−"}
.acc .body{color:var(--mute);margin-top:10px}
.acc summary::-webkit-details-marker{display:none}

/* quote form */
.qwrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;padding:24px 20px 72px}
@media (max-width:900px){.qwrap{grid-template-columns:minmax(0,1fr)}}
.quote{background:var(--bg2);border:1px solid var(--line);border-top:2px solid var(--acc);border-radius:6px;padding:26px}
.quote h2{margin:0 0 6px;font-size:24px}
.quote .qsub{color:var(--mute);font-size:15px;margin-bottom:20px}
.qlabel{display:block;font:700 11px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin:16px 0 7px}
.quote input[type=text],.quote input[type=email],.quote select,.quote textarea{width:100%;font:15px/1.4 var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:11px 12px}
.quote textarea{min-height:96px;resize:vertical}
.quote input::placeholder,.quote textarea::placeholder{color:var(--faint)}
.quote input:focus,.quote select:focus,.quote textarea:focus{outline:2px solid var(--acc);outline-offset:-1px;border-color:transparent}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media (max-width:480px){.row2{grid-template-columns:minmax(0,1fr)}}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:inline-block;padding:9px 12px;border:1px solid var(--line);border-radius:4px;font:13px/1.2 var(--mono);background:var(--bg);color:var(--mute)}
.seg input:checked+span{border-color:var(--acc);background:var(--acc-soft);color:var(--acc)}
.seg input:focus-visible+span{outline:2px solid var(--acc)}
.quote .btn{width:100%;justify-content:center;margin-top:22px;padding:15px}
.hp{position:absolute;left:-9999px}
.err{color:var(--hot);font-size:14px;margin:12px 0 0}
.done{display:block}
.done strong{display:block;font-size:20px;margin-bottom:6px;color:var(--acc)}
.done span{color:var(--mute)}
.steps{list-style:none;padding:0;margin:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px dashed var(--line)}
.steps li::before{content:counter(s,decimal-leading-zero);font:700 14px/1.6 var(--mono);color:var(--acc)}
.steps strong{display:block;color:var(--ink)}
.steps div{color:var(--mute)}

/* related + footer */
.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 72px}
.related a{background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:20px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px}
.related a:hover{border-color:var(--acc)}
.related b{font-size:17px}
.related span{color:var(--mute);font-size:15px}
@media (max-width:860px){.related{grid-template-columns:minmax(0,1fr)}}
footer{border-top:1px solid var(--line);padding:40px 0 32px;font-size:14px;color:var(--mute);background:var(--bg)}
footer .cols{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:32px}
footer h4{margin:0 0 10px;color:var(--ink);font:700 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em}
footer .links{display:flex;flex-direction:column;gap:6px}
footer a{color:var(--mute)}
footer a:hover{color:var(--acc)}
footer .end{margin-top:32px;padding-top:18px;border-top:1px dashed var(--line);font:12px/1.5 var(--mono);color:var(--faint)}
@media (max-width:860px){footer .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}footer .cols>div:first-child{grid-column:1/-1}}
@media (max-width:480px){footer .cols{grid-template-columns:minmax(0,1fr)}}

/* hero topology svg */
#topo .fab{stroke:var(--line);stroke-width:.5;opacity:.55}
#topo .tray{fill:none;stroke:var(--faint);stroke-width:1.2;opacity:.6}
#topo .core{fill:var(--bg2);stroke:var(--line);stroke-dasharray:3 3}
#topo .sw{fill:var(--bg);stroke:var(--acc);stroke-width:1.2}
#topo .sw.on{fill:var(--acc)}
#topo .gpu{fill:var(--line);stroke:var(--faint);stroke-width:.6;transition:fill .3s ease}
#topo .gpu.on{fill:var(--acc);stroke:var(--acc)}
#topo .path{stroke:var(--acc);stroke-width:1.3;fill:none;opacity:.9;stroke-linecap:round;animation:fade 1.6s ease forwards}
#topo .t1{font:700 22px var(--mono);fill:var(--ink)}
#topo .t2{font:700 6.4px var(--mono);fill:var(--faint);letter-spacing:.1em}
@keyframes fade{0%{opacity:0}15%{opacity:.95}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
[hidden]{display:none!important}
@media (max-width:640px){
  .tbl.stack thead{display:none}
  .tbl.stack,.tbl.stack tbody,.tbl.stack tr,.tbl.stack td{display:block;width:auto}
  .tbl.stack tr{padding:12px 0;border-bottom:1px dashed var(--line)}
  .tbl.stack tr:last-child{border-bottom:0}
  .tbl.stack td{border:0;padding:3px 16px}
  .tbl td.k{white-space:normal}
  .tbl td,.tbl th{padding:10px 12px}
}
