/* CoreNet — product site.
   System fonts only: served on a local network that may have no route to a font
   CDN, and a webfont that silently fails is worse than one never used. */
:root{
  --bg:#f4f6f7; --surface:#fff; --surface-2:#eaf0f2; --panel:#e0e9ec; --deep:#0a1519;
  --ink:#071219; --ink-2:#2c434d; --ink-3:#415964; --muted:#586e78;
  --rule:#d3dee2; --rule-2:#bccace;
  --signal:#0c6b7c; --signal-ink:#095561; --signal-bg:#dcf0f3;
  --amber:#9d5117; --amber-bg:#f9ecdd;
  --live:#1a7347;
  --shadow:0 1px 2px rgba(7,18,25,.04),0 12px 28px -18px rgba(7,18,25,.22);
  --max:1140px;
}
@media(prefers-color-scheme:dark){:root{
  --bg:#070d10; --surface:#0e181d; --surface-2:#152128; --panel:#1a2932; --deep:#050b0e;
  --ink:#e6eef1; --ink-2:#adc0c8; --ink-3:#96aeb8; --muted:#8ba2ab;
  --rule:#1c2b33; --rule-2:#2a3d47;
  --signal:#5cc6d8; --signal-ink:#8adae7; --signal-bg:#0a2a32;
  --amber:#e29a52; --amber-bg:#2b1e10;
  --live:#4cc088;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 14px 34px -20px rgba(0,0,0,.9);
}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.62 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.mono{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
img,svg{max-width:100%}

/* ── nav ─────────────────────────────────────────────── */
/* Opaque, not translucent: at 86% the page text ghosted through the bar when
   scrolled, which reads as a rendering fault rather than as depth. */
nav{position:sticky;top:0;z-index:30;background:var(--bg);
  border-bottom:1px solid var(--rule)}
@supports (backdrop-filter: blur(1px)){
  nav{background:color-mix(in srgb,var(--bg) 97%,transparent);backdrop-filter:saturate(140%) blur(10px)}
}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand svg{width:30px;height:30px;flex:none;color:var(--signal)}
.brand .wordmark{line-height:1.1}
.brand .wordmark b{display:block;font-size:17px;font-weight:660;letter-spacing:-.025em}
.brand .wordmark em{display:block;font-style:normal;font-family:ui-monospace,monospace;
  font-size:9.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);margin-top:1px}
.navlinks{display:flex;gap:30px;align-items:center}
.navlinks a:not(.btn){font-size:14.5px;color:var(--ink-2);text-decoration:none;font-weight:500}
.navlinks a:not(.btn):hover{color:var(--signal)}
/* `.navlinks a` (0,1,1) outranks `.btn` (0,1,0), which rendered the nav button
   as dark text on its own teal fill. Excluding .btn keeps the cascade honest
   rather than escalating specificity to win a fight it should not be in. */
@media(max-width:800px){.navlinks a:not(.btn){display:none}}

/* ── buttons ─────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:5px;
  font-size:14.5px;font-weight:560;text-decoration:none;cursor:pointer;
  border:1px solid var(--signal);background:var(--signal);color:#fff;white-space:nowrap}
@media(prefers-color-scheme:dark){.btn{color:#04161b}}
.btn.ghost{background:transparent;color:var(--signal);border-color:var(--rule-2)}
.btn.ghost:hover{border-color:var(--signal)}
.btn.sm{padding:8px 16px;font-size:13.5px}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}

/* ── hero ────────────────────────────────────────────── */
.hero{padding:clamp(56px,9vw,104px) 0 0}
.kicker{display:inline-flex;align-items:center;gap:9px;font-family:ui-monospace,monospace;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--signal);
  background:var(--signal-bg);border-radius:100px;padding:6px 14px;margin:0 0 26px}
h1{font-size:clamp(2.5rem,6.4vw,4.4rem);font-weight:670;letter-spacing:-.042em;line-height:.98;
  margin:0 0 24px;max-width:14ch;text-wrap:balance}
.lede{font-size:clamp(1.08rem,1.9vw,1.32rem);line-height:1.52;color:var(--ink-2);max-width:54ch;margin:0 0 34px}
.cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cta .hint{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted);margin-left:6px}

/* ── standards strip ─────────────────────────────────── */
.standards{margin-top:clamp(50px,7vw,84px);padding:22px 0;border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);display:flex;gap:clamp(20px,4vw,52px);flex-wrap:wrap;align-items:center}
.standards .label{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.17em;
  text-transform:uppercase;color:var(--muted)}
.standards ul{display:flex;gap:clamp(18px,3.4vw,42px);flex-wrap:wrap;list-style:none;margin:0;padding:0}
.standards li{font-family:ui-monospace,monospace;font-size:12.5px;color:var(--ink-2);font-weight:500}
.standards li b{color:var(--signal);font-weight:600}

/* ── sections ────────────────────────────────────────── */
section{padding:clamp(58px,8vw,92px) 0;border-bottom:1px solid var(--rule)}
section.dark{background:var(--deep);border-bottom:none;color:#dbe7eb}
section.dark h2,section.dark .figcap b{color:#f2f7f8}
section.dark p{color:#a9c0c8}
section.dark .eyebrow{color:#6fd0e0}
.eyebrow{font-family:ui-monospace,monospace;font-size:10.5px;letter-spacing:.19em;
  text-transform:uppercase;color:var(--signal);margin:0 0 14px}
h2{font-size:clamp(1.6rem,3.3vw,2.35rem);font-weight:650;letter-spacing:-.032em;line-height:1.1;
  margin:0 0 18px;max-width:21ch;text-wrap:balance}
h3{font-size:1.03rem;font-weight:625;letter-spacing:-.015em;margin:0 0 9px}
p{color:var(--ink-2);max-width:64ch;margin:0 0 16px}
.lead-p{font-size:1.06rem;color:var(--ink-2);max-width:60ch}
.two{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,78px);align-items:start}
@media(max-width:880px){.two{grid-template-columns:1fr;gap:34px}}

/* ── figure ──────────────────────────────────────────── */
figure{margin:0}
.figbox{background:var(--surface);border:1px solid var(--rule);border-radius:7px;
  padding:clamp(18px,3vw,30px);box-shadow:var(--shadow);overflow-x:auto}
section.dark .figbox{background:#0c161b;border-color:#1d2f38;box-shadow:none}
.figbox svg{display:block;width:100%;min-width:520px;height:auto;color:var(--ink-3)}
section.dark .figbox svg{color:#8ca6b0}
.figcap{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);
  font-family:ui-monospace,monospace;font-size:11.5px;line-height:1.65;color:var(--muted)}
section.dark .figcap{border-color:#1d2f38;color:#93aab3}
.figcap b{color:var(--ink-2);font-weight:600}

/* ── capability cards ────────────────────────────────── */
.caps{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:16px;margin-top:38px}
.cap{background:var(--surface);border:1px solid var(--rule);border-radius:7px;padding:24px 22px;
  display:flex;flex-direction:column;gap:9px}
.cap .icon{width:26px;height:26px;color:var(--signal);margin-bottom:5px}
.cap p{font-size:14.3px;margin:0;color:var(--ink-3)}

/* ── comparison ──────────────────────────────────────── */
.cmp{border:1px solid var(--rule);border-radius:7px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.cmp table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.cmp thead th{background:var(--panel);text-align:left;padding:13px 18px;font-size:11px;
  font-family:ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);font-weight:650}
.cmp thead th:first-child{width:38%}
.cmp td{padding:13px 18px;border-top:1px solid var(--rule);vertical-align:top;color:var(--ink-2)}
.cmp td:first-child{color:var(--ink);font-weight:530}
.cmp .yes{color:var(--signal);font-weight:600}
.cmp .no{color:var(--ink-3)}

/* ── spec sheet ──────────────────────────────────────── */
.spec{border:1px solid var(--rule);border-radius:7px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.spec table{width:100%;border-collapse:collapse;font-size:13.4px;min-width:460px}
.spec caption{caption-side:top;background:var(--panel);text-align:left;padding:13px 18px;
  font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-2);font-weight:650}
.spec td{padding:11px 18px;border-top:1px solid var(--rule);vertical-align:top}
.spec td:first-child{width:36%;color:var(--muted);font-family:ui-monospace,monospace;font-size:12.2px}
.spec td:last-child{font-family:ui-monospace,monospace;font-size:12.5px;color:var(--ink)}

/* ── platforms ───────────────────────────────────────── */
.plats{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:36px}
.plat{background:var(--surface);border:1px solid var(--rule);border-radius:7px;padding:22px;
  display:flex;flex-direction:column;gap:10px}
.plat .top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.plat b{font-size:1.05rem;font-weight:640}
.plat p{font-size:13.7px;margin:0;flex:1;color:var(--ink-3)}
.tag{font-family:ui-monospace,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 9px;border-radius:100px;background:var(--signal-bg);color:var(--signal);white-space:nowrap}
.tag.soon{background:var(--surface-2);color:var(--muted)}

/* ── callout ─────────────────────────────────────────── */
.callout{border-left:3px solid var(--amber);background:var(--amber-bg);padding:18px 22px;
  border-radius:0 6px 6px 0;margin:28px 0}
.callout p{color:var(--ink);margin:0;max-width:70ch;font-size:14.6px}
.callout p+p{margin-top:10px}

/* ── footer ──────────────────────────────────────────── */
footer{background:var(--deep);color:#94aeb7;padding:52px 0 60px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
@media(max-width:760px){.foot{grid-template-columns:1fr 1fr}}
.foot h4{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.17em;text-transform:uppercase;
  color:#5f7c86;margin:0 0 13px;font-weight:600}
.foot a{display:block;color:#a9c3cb;text-decoration:none;font-size:13.8px;margin-bottom:7px}
.foot a:hover{color:#6fd0e0}
.foot .about{font-size:13.6px;line-height:1.68;color:#8fa9b2;max-width:34ch}
.foot .about b{color:#dbe7eb;display:block;font-size:15.5px;margin-bottom:7px;letter-spacing:-.02em}
.legal{border-top:1px solid #1a2a32;margin-top:40px;padding-top:22px;
  font-family:ui-monospace,monospace;font-size:11px;color:#5f7c86;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
