/*
  /ncprobe — the wireless 3D-probe converter's launch page. "Metrology": a dark, instrument-like page that
  leads with the measured numbers. Self-contained; it does not share /nccore's dark sheet.
*/
/* IBM Plex Sans / Mono, latin subset, self-hosted (SIL Open Font License). Google Fonts is blocked by the store's CSP. */
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/ibm-plex/ibmplexmono-400.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/ibm-plex/ibmplexmono-500.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/ibm-plex/ibmplexsans-var.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
body:has(.np) { background: #0E1418; color: #E8EDF0; color-scheme: dark; }
.np {
  --np-ground: #0E1418; --np-panel: #161F26; --np-ink: #E8EDF0; --np-ink-2: #C3CDD3; --np-muted: #93A1AB;
  --np-line: #2A3640; --np-accent: #F97316; --np-accent-hover: #FB923C; --np-dark: #080B0E; --np-dark-line: #2A3640;
  --np-sans: "IBM Plex Sans", ui-sans-serif, -apple-system, "Segoe UI", sans-serif;
  --np-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
  /* The store's own tokens, remapped so the shared signup forms follow the dark palette. */
  --fc-paper: var(--np-ground); --fc-paper-raised: var(--np-ground); --fc-paper-sunken: var(--np-dark);
  --fc-ink: var(--np-ink); --fc-ink-soft: var(--np-ink-2); --fc-ink-muted: var(--np-muted); --fc-ink-faint: var(--np-muted);
  --fc-rule: var(--np-line); --fc-rule-strong: #3A4650;
  --fc-accent: var(--np-accent); --fc-accent-hover: var(--np-accent-hover);
  background: var(--np-ground); color: var(--np-ink); font-family: var(--np-sans);
  min-height: 100vh;
}
.np a { color: var(--np-accent); }
.np a:hover { color: var(--np-accent-hover); }
.np-wrap { max-width: 1280px; margin: 0 auto; padding-inline: clamp(1rem, 5vw, 5rem); box-sizing: border-box; }
.np-mono { font-family: var(--np-mono); }
.np-eyebrow { font-family: var(--np-mono); font-size: 0.8125rem; letter-spacing: 0.08em; color: var(--np-accent); margin: 0; }

/* shared signup controls, in this page's colours */
.np .btn--primary, .np .btn--quiet { width: auto; margin-top: 0; background: var(--np-accent); color: #0E1418; border-color: transparent; }
.np .btn--primary:hover, .np .btn--quiet:hover { background: var(--np-accent-hover); color: #0E1418; }
.np .input, .np .select { background: var(--np-dark); color: var(--np-ink); border-color: #3A4650; }
.np .input:focus, .np .select:focus { border-color: var(--np-accent); outline: none; }
.np .newsletter__label, .np .stock-notify__label { color: var(--np-ink); }
.np .newsletter__done, .np .stock-notify__done, .np .stock-notify__note { color: var(--np-muted); }

/* top bar */
.np-top { border-bottom: 1px solid var(--np-line); }
.np-top__in { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding-block: 1.25rem; }
.np-top__brand { display: flex; align-items: baseline; gap: 0.6rem; text-decoration: none; color: var(--np-ink) !important; }
.np-top__brand b { font-size: 1.25rem; letter-spacing: -0.01em; }
.np-top__brand span { font-family: var(--np-mono); font-size: 0.75rem; color: var(--np-muted); }
.np-top nav { display: flex; gap: 2rem; }
.np-top nav a { color: var(--np-ink); text-decoration: none; font-size: 0.9375rem; }
.np-top nav a:hover { color: var(--np-accent); }

/* buttons */
.np-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 1.4rem; border-radius: 4px;
  font-weight: 600; font-size: 1rem; text-decoration: none; border: 1px solid transparent; box-sizing: border-box; }
.np .np-btn--accent { background: var(--np-accent); color: #0E1418; }
.np .np-btn--accent:hover { background: var(--np-accent-hover); color: #0E1418; }
.np .np-btn--dark { background: var(--np-ink); color: var(--np-ground); }
.np .np-btn--dark:hover { background: #FFFFFF; color: var(--np-ground); }
.np .np-btn--ghost { border-color: var(--np-ink); color: var(--np-ink); }
.np .np-btn--ghost:hover { background: var(--np-ink); color: var(--np-ground); }

/* hero */
.np-hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; align-items: center; padding-block: 4.5rem 3.5rem; }
.np-hero__copy { display: flex; flex-direction: column; gap: 1.75rem; }
.np-hero h1 { margin: 0; font-size: clamp(2.6rem, 5.4vw, 4.25rem); line-height: 1.02; letter-spacing: -0.03em; font-weight: 700; }
.np-lede { margin: 0; font-size: 1.25rem; line-height: 1.55; color: var(--np-ink-2); max-width: 33rem; }
.np-lede--sub { font-size: 1rem; color: var(--np-muted); margin-top: -0.5rem; }
.np-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.np-hero__panel { background: var(--np-panel); border: 1px solid var(--np-line); border-radius: 6px; padding: 1.25rem;
  display: grid; grid-template-rows: auto 1fr auto; gap: 0.5rem; box-sizing: border-box;
  background-image: linear-gradient(var(--np-ground) 1px, transparent 1px), linear-gradient(90deg, var(--np-ground) 1px, transparent 1px);
  background-size: 32px 32px; }
.np-hero__panel picture { display: flex; align-items: center; justify-content: center; min-height: 0; }
.np-hero__panel img { display: block; height: clamp(18rem, 36vw, 30rem); width: auto; max-width: 100%; object-fit: contain; }
.np-read { display: flex; flex-direction: column; gap: 0.35rem; font-family: var(--np-mono); font-size: 0.75rem; color: var(--np-muted); }
.np-read b { font-family: var(--np-sans); font-size: 2.1rem; font-weight: 600; color: var(--np-ink); letter-spacing: -0.02em; }
.np-read--tl { justify-self: start; }
.np-read--br { justify-self: end; align-items: flex-end; }

/* sections */
.np-band { padding-block: 3.5rem; border-top: 1px solid var(--np-line); }
.np-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 2.5rem; margin-bottom: 2rem; }
.np-head h2 { margin: 0; font-size: clamp(1.8rem, 3.2vw, 2.5rem); letter-spacing: -0.02em; line-height: 1.1; max-width: 40rem; }
.np-head p { margin: 0; font-size: 1.0625rem; line-height: 1.55; color: var(--np-ink-2); max-width: 28rem; }

/* ATC steps */
.np-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.np-steps li { background: var(--np-panel); border: 1px solid var(--np-line); border-radius: 6px; padding: 1.5rem; display: flex; flex-direction: column; gap: 0.6rem; }
.np-steps .np-mono { color: var(--np-accent); font-size: 0.875rem; }
.np-steps b { font-size: 1.125rem; }
.np-steps span:last-child { color: var(--np-muted); line-height: 1.5; }

/* test data (dark) */
.np-data { box-shadow: 0 0 0 100vmax var(--np-dark); clip-path: inset(0 -100vmax); background: var(--np-dark); color: #EDF0F2; padding-block: 3.5rem; }
.np-data .np-head h2 { color: #FFFFFF; }
.np-data .np-head .np-mono { color: #9AA7B0; font-size: 0.8125rem; white-space: nowrap; }
.np-hist { display: flex; align-items: flex-end; gap: 6px; height: 28rem; border-bottom: 1px solid var(--np-dark-line); padding-top: 0.75rem; margin: 0; }
.np-hist figure, .np-hist div { margin: 0; }
.np-bar { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; height: 100%; }
.np-bar span { font-family: var(--np-mono); font-size: 0.75rem; color: #9AA7B0; }
.np-bar i { display: block; width: 100%; background: #5B6B76; }
.np-bar--peak i { background: #F97316; }
.np-axis { display: flex; gap: 6px; font-family: var(--np-mono); font-size: 0.6875rem; color: #9AA7B0; margin-top: 0.5rem; }
.np-axis span { flex: 1 1 0; text-align: center; }
.np-data__grid { display: grid; grid-template-columns: minmax(0, 1fr) 17.5rem; gap: 2.5rem; align-items: end; }
.np-video { margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.np-video iframe { display: block; width: 100%; aspect-ratio: 9 / 16; border: 0; border-radius: 6px; background: #000; }
.np-video figcaption { color: #9AA7B0; font-size: 0.75rem; }
.np-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; font-size: 1rem; line-height: 1.5; color: #C9D2D8; }
.np-facts p { margin: 0; }
.np-facts strong { color: #FFFFFF; }

/* specs */
.np-cmp__probe { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 3rem; align-items: center; margin-top: 2rem; }
.np-cmp__probe img { width: 100%; max-width: 26rem; height: auto; display: block; margin-inline: auto; }
.np-cmp__probe h3 { margin: 0.75rem 0; font-size: 1.6rem; letter-spacing: -0.02em; line-height: 1.2; }
.np-cmp__probe p { margin: 0; color: var(--np-ink-2); line-height: 1.6; }
.np-cmp__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.np-cmp__col { padding: 1.5rem; background: var(--np-panel); border: 1px solid var(--np-line); display: flex; flex-direction: column; gap: 0.75rem; }
.np-cmp__col ul { margin: 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: 0.5rem; color: var(--np-muted); line-height: 1.5; }
.np-cmp__col--us { border: 2px solid var(--np-accent); }
.np-cmp__col--us .np-mono { color: var(--np-accent); }
.np-cmp__col--us ul { color: var(--np-ink); }
.np-rx__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; align-items: center; margin-top: 2rem; }
.np-rx__grid img { width: 100%; height: auto; display: block; }
.np-rx__list { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.np-rx__list li { display: flex; flex-direction: column; gap: 0.4rem; padding-top: 1rem; border-top: 2px solid var(--np-ink); }
.np-rx__list span { color: var(--np-muted); line-height: 1.5; }
.np-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; align-items: center; padding-block: 3.5rem; }
.np-specs img { width: 100%; height: auto; }
.np-specs h2 { margin: 0 0 1.25rem; font-size: 2rem; letter-spacing: -0.02em; }
.np-specs dl { margin: 0; }
.np-specs dl div { display: flex; justify-content: space-between; gap: 1.5rem; padding: 0.875rem 0; border-top: 1px solid var(--np-line); }
.np-specs dl div:last-child { border-bottom: 1px solid var(--np-line); }
.np-specs dt { color: var(--np-muted); }
.np-specs dd { margin: 0; text-align: right; }

/* fail-safe note */
.np-note { display: flex; gap: 1.5rem; align-items: baseline; padding: 1.5rem 0 0; color: var(--np-ink-2); line-height: 1.55; }
.np-note b { color: var(--np-ink); white-space: nowrap; }

/* notify */
.np-notify { margin-block: 0 4.5rem; padding: 2.5rem; background: var(--np-panel); border: 1px solid var(--np-line); border-radius: 6px;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 26rem); gap: 2.5rem; align-items: center; }
.np-notify h2 { margin: 0.5rem 0 0; font-size: 1.625rem; font-weight: 600; letter-spacing: -0.01em; }
.np-notify p { margin: 0.5rem 0 0; color: var(--np-muted); line-height: 1.5; }

/* footer */
.np-foot { border-top: 1px solid var(--np-line); }
.np-foot__in { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-block: 1.5rem; font-size: 0.875rem; color: var(--np-muted); }
.np-foot nav { display: flex; gap: 1.25rem; }
.np-foot nav a { color: var(--np-muted); }

@media (max-width: 900px) {
  .np-top nav { display: none; }
  .np-hero, .np-specs, .np-notify, .np-rx__grid, .np-cmp__grid, .np-cmp__probe { grid-template-columns: minmax(0, 1fr); }
  .np-rx__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .np-hero { padding-block: 2.5rem 2rem; }
  .np-head { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .np-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .np-facts { grid-template-columns: minmax(0, 1fr); }
  .np-data__grid { grid-template-columns: minmax(0, 1fr); }
  .np-video { max-width: 20rem; justify-self: center; width: 100%; }
  .np-hist { height: 14rem; gap: 3px; }
  .np-axis { gap: 3px; font-size: 0.5625rem; }
  .np-bar span { font-size: 0.625rem; }
}
@media (max-width: 520px) {
  .np-steps, .np-rx__list { grid-template-columns: minmax(0, 1fr); }
  .np-read b { font-size: 1.5rem; }
  .np-notify { padding: 1.5rem; }
}
