
/* ── Tokens ─────────────────────────────────────────────────────────────── */
:root {
  color-scheme: dark;

  --surface-base:#070f15; --surface-raised:#0b1a23; --surface-cream:#ece6d9;
  --surface-petrol:#003d5c; --surface-petrol-deep:#012c42;

  --accent-cyan:#4bd4f0; --accent-cyan-hover:#8ce6fb; --accent-gold:#c9a227;
  --ink-on-cyan:#061219; --ink-on-gold:#1d1706;

  --text-display:#eef5f8; --text-heading:#eaf3f6; --text-body:#b9cbd3;
  --text-lead:#a9bfc9; --text-link:#a6bcc6; --text-muted:#8ba3ae;
  --text-dim:#7f97a2; --text-label:#6d8794; --text-legal:#5f7783;
  --text-on-petrol:#c3dbe6;

  --line-hairline:rgba(120,180,200,.13); --line-grid:rgba(120,180,200,.16);
  --line-badge:rgba(120,180,200,.28); --line-control:rgba(120,180,200,.32);
  --line-cyan:rgba(75,212,240,.34); --line-cyan-ring:rgba(75,212,240,.32);
  --line-gold:rgba(201,162,39,.5); --line-on-petrol:rgba(227,239,244,.34);
  --selection-cyan:rgba(75,212,240,.28); --scrim-header:rgba(7,15,21,.9);

  --font-serif:"Newsreader",Georgia,serif;
  --font-sans:"IBM Plex Sans",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;

  --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-7:28px; --space-8:32px; --space-10:40px; --space-13:52px; --space-16:64px;
  --gutter:clamp(20px,4vw,40px); --section-y:clamp(56px,8vw,104px);
  --container-max:1200px; --radius-none:0; --radius-xs:2px;

  /* the open decision — swapped by the panel, bottom right */
  --error:var(--accent-gold);

  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
:root[data-err="red"] { --error:#ff6f61; }   /* candidate, NOT a brand token */

html { scroll-padding-top:calc(64px + env(safe-area-inset-top,0px)); }
*,*::before,*::after { box-sizing:border-box; }
::selection { background:var(--selection-cyan); }

body {
  margin:0; background:var(--surface-base);
  font-family:var(--font-sans); font-size:17px; line-height:1.65; color:var(--text-body);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a { color:var(--accent-cyan); text-decoration:none; }
a:hover { color:var(--accent-cyan-hover); }
img,svg { max-width:100%; }

.shell { max-width:var(--container-max); margin-inline:auto; padding-inline:var(--gutter); }

/* ── Header ─────────────────────────────────────────────────────────────── */
.hdr {
  position:sticky; top:env(safe-area-inset-top,0px); z-index:50;
  background:var(--scrim-header); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line-hairline);
}
.hdr__in { display:flex; align-items:center; gap:clamp(16px,3vw,36px); padding-block:13px; }
.lock { display:flex; align-items:center; gap:11px; }
.lock svg { height:27px; width:16px; fill:var(--accent-cyan); display:block; }
.lock span { font-family:var(--font-serif); font-size:21px; letter-spacing:-.005em; color:var(--text-heading); }
.lock .x { color:var(--accent-cyan); }
.lock .ai { color:var(--text-dim); font-size:.68em; }
.nav { margin-left:auto; display:flex; align-items:center; gap:clamp(14px,2.2vw,28px); font-size:14.5px; white-space:nowrap; }
.nav a { color:var(--text-link); }
.nav a:hover { color:var(--accent-cyan-hover); }
.nav .cta { color:var(--ink-on-cyan); background:var(--accent-cyan); padding:9px 17px; font-weight:600; font-size:14px; border-radius:var(--radius-xs); }
.nav .cta:hover { color:var(--ink-on-cyan); }
@media (max-width:720px){ .nav a:not(.cta){ display:none; } }

/* ── Shared type ────────────────────────────────────────────────────────── */
.eyebrow { margin:0 0 18px; font-family:var(--font-mono); font-size:11.5px; letter-spacing:.19em; text-transform:uppercase; color:var(--text-label); }
.kicker  { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; }

/* ── Inquiry section ────────────────────────────────────────────────────── */
.mvx-inquiry { padding-block:var(--section-y); border-bottom:1px solid var(--line-hairline); }
.mvx-inquiry__layout { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:clamp(28px,5vw,64px); align-items:start; }
.mvx-inquiry__title { margin:0; font-family:var(--font-serif); font-weight:400; font-size:clamp(1.9rem,3.6vw,2.8rem); line-height:1.14; letter-spacing:-.02em; color:var(--text-heading); max-width:20ch; }
.mvx-inquiry__lead { margin:18px 0 0; max-width:46ch; font-size:17px; color:var(--text-lead); }
.mvx-inquiry__steps { margin:var(--space-8) 0 0; padding:0; list-style:none; border-top:1px solid var(--line-hairline); }
.mvx-inquiry__steps li { display:grid; grid-template-columns:26px 1fr; gap:var(--space-3); padding:14px 0; border-bottom:1px solid var(--line-hairline); font-size:15px; line-height:1.55; color:var(--text-muted); }
.mvx-inquiry__steps b { font-family:var(--font-mono); font-size:12px; font-weight:400; color:var(--accent-cyan); padding-top:3px; }
.mvx-inquiry__credential { margin:var(--space-5) 0 0; font-size:14.5px; line-height:1.55; font-style:italic; color:var(--accent-gold); max-width:40ch; }

/* ── Form ───────────────────────────────────────────────────────────────── */
.mvx-form { border:1px solid var(--line-grid); padding:clamp(24px,3vw,34px); }
.mvx-form__set { border:0; margin:0; padding:0; min-width:0; }
.mvx-form__set + .mvx-form__set { margin-top:var(--space-8); padding-top:var(--space-7); border-top:1px solid var(--line-hairline); }
.mvx-form__legend { display:block; width:100%; padding:0; margin:0 0 var(--space-5); font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-cyan); }

.mvx-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:var(--space-5); }
.mvx-grid + .mvx-grid { margin-top:var(--space-5); }
.mvx-field { display:block; margin-bottom:var(--space-5); }
.mvx-grid > .mvx-field { margin-bottom:0; }
.mvx-form__set > .mvx-field:last-child { margin-bottom:0; }

.mvx-label { display:block; margin-bottom:var(--space-2); font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--text-label); }
.mvx-label .req { color:var(--accent-cyan); margin-left:3px; }
.mvx-help { margin:var(--space-2) 0 0; font-size:14.5px; line-height:1.45; color:var(--text-muted); }

.mvx-input,.mvx-select,.mvx-textarea {
  display:block; width:100%;
  font-family:var(--font-sans); font-size:15px; line-height:1.5;
  color:var(--text-heading); background:var(--surface-raised);
  border:1px solid var(--line-control); border-radius:var(--radius-none);
  padding:12px 14px; -webkit-appearance:none; appearance:none;
  transition:border-color 120ms ease, box-shadow 120ms ease;
}
.mvx-textarea { min-height:104px; resize:vertical; }
.mvx-input::placeholder,.mvx-textarea::placeholder { color:var(--text-dim); opacity:1; }
.mvx-input:hover,.mvx-select:hover,.mvx-textarea:hover { border-color:var(--line-cyan); }
.mvx-input:focus,.mvx-select:focus,.mvx-textarea:focus { outline:0; border-color:var(--accent-cyan); box-shadow:inset 0 0 0 1px var(--accent-cyan); }
.mvx-select { padding-right:38px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%234bd4f0' stroke-width='1.4'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:12px 8px; }
.mvx-select option { background:var(--surface-raised); color:var(--text-heading); }

.mvx-choices { display:grid; gap:10px; }
.mvx-choices--2 { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.mvx-choice { display:grid; grid-template-columns:16px 1fr; gap:10px; align-items:start; font-size:15px; line-height:1.45; color:var(--text-lead); cursor:pointer; }
.mvx-choice input {
  -webkit-appearance:none; appearance:none; margin:2px 0 0;
  width:16px; height:16px; border:1px solid var(--line-control);
  background:var(--surface-raised); border-radius:var(--radius-none);
  cursor:pointer; display:grid; place-content:center;
  transition:border-color 120ms ease, background-color 120ms ease;
}
.mvx-choice input[type="radio"] { border-radius:50%; }
.mvx-choice input:hover { border-color:var(--line-cyan); }
.mvx-choice input:checked { background:var(--accent-cyan); border-color:var(--accent-cyan); }
.mvx-choice input[type="checkbox"]:checked::after { content:""; width:9px; height:5px; border-left:1.5px solid var(--ink-on-cyan); border-bottom:1.5px solid var(--ink-on-cyan); transform:rotate(-45deg) translate(1px,-1px); }
.mvx-choice input[type="radio"]:checked::after { content:""; width:6px; height:6px; border-radius:50%; background:var(--ink-on-cyan); }
.mvx-choice input:focus-visible { outline:2px solid var(--accent-cyan); outline-offset:2px; }

/* validation */
.mvx-field--error .mvx-input,.mvx-field--error .mvx-select,.mvx-field--error .mvx-textarea { border-color:var(--error); box-shadow:inset 0 0 0 1px var(--error); }
.mvx-field--error .mvx-choice input { border-color:var(--error); }
.mvx-error { margin:var(--space-2) 0 0; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--error); }
.mvx-alert { margin:0 0 var(--space-6); padding:14px 16px; border:1px solid var(--error); font-size:15px; line-height:1.55; color:var(--text-lead); }
.mvx-alert--ok { border-color:var(--accent-cyan); }
.mvx-alert[hidden] { display:none; }

.mvx-consent { margin-top:var(--space-6); padding-top:22px; border-top:1px solid var(--line-hairline); }
.mvx-consent .mvx-choice { font-size:14.5px; color:var(--text-muted); }
.mvx-consent a { color:var(--text-link); text-decoration:underline; text-underline-offset:2px; }

.mvx-actions { margin-top:var(--space-6); display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.mvx-submit { font-family:var(--font-sans); font-size:15px; font-weight:600; line-height:1; color:var(--ink-on-cyan); background:var(--accent-cyan); border:0; border-radius:var(--radius-xs); padding:14px 28px; cursor:pointer; width:auto; }
.mvx-submit:focus-visible { outline:2px solid var(--accent-cyan); outline-offset:2px; }
.mvx-actions p { margin:0; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--text-label); }
.mvx-hp { position:absolute !important; left:-9999px !important; }

/* ── Conditional blocks ─────────────────────────────────────────────────── */
.mvx-cond[hidden] { display:none; }
.mvx-cond { animation:condIn 120ms ease both; }
@keyframes condIn { from { opacity:0 } to { opacity:1 } }

.mvx-note { margin:var(--space-5) 0 0; padding:14px 16px; border-left:1px solid var(--line-cyan); background:var(--surface-raised); }
.mvx-note p { margin:0; font-size:15px; line-height:1.55; color:var(--text-lead); }
.mvx-note a { text-decoration:underline; text-underline-offset:2px; }

/* preview-only: reveal every conditional block and label its trigger */
[data-cond="on"] .mvx-cond[hidden] { display:block; }
[data-cond="on"] .mvx-cond { border:1px dashed var(--line-cyan); padding:16px; animation:none; }
[data-cond="on"] .mvx-note { border-left-color:var(--line-cyan); }
[data-cond="on"] .mvx-cond::before {
  content:attr(data-rule); display:block; margin-bottom:12px;
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--accent-cyan);
}

/* ── Stat strip ─────────────────────────────────────────────────────────── */
.stats { padding-block:clamp(28px,4vw,44px); border-bottom:1px solid var(--line-hairline); }
.stats__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:var(--space-7); }
.stat { border-left:1px solid var(--line-cyan); padding-left:18px; }
.stat--gold { border-left-color:var(--line-gold); }
.stat b { display:block; font-family:var(--font-serif); font-weight:400; font-size:2.5rem; line-height:1; color:var(--text-heading); }
.stat--gold b { color:var(--accent-gold); }
.stat p { margin:10px 0 0; font-size:14.5px; line-height:1.5; color:var(--text-muted); max-width:30ch; }

/* ── Build notes ────────────────────────────────────────────────────────── */
.notes { padding-block:var(--section-y); border-bottom:1px solid var(--line-hairline); }
.notes h2 { margin:0; font-family:var(--font-serif); font-weight:400; font-size:clamp(1.8rem,3.4vw,2.6rem); line-height:1.18; letter-spacing:-.02em; color:var(--text-heading); max-width:24ch; }
.notes__lead { margin:18px 0 var(--space-8); max-width:62ch; font-size:17px; color:var(--text-lead); }
.tablewrap { overflow-x:auto; border:1px solid var(--line-grid); }
table { border-collapse:collapse; width:100%; min-width:720px; font-size:14.5px; }
th,td { text-align:left; padding:12px 16px; border-bottom:1px solid var(--line-hairline); vertical-align:top; line-height:1.5; }
th { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--text-label); font-weight:400; background:var(--surface-raised); white-space:nowrap; }
td { color:var(--text-muted); }
td:first-child { color:var(--text-heading); white-space:nowrap; }
td code { font-family:var(--font-mono); font-size:13px; color:var(--accent-cyan); }
tbody tr:last-child td { border-bottom:0; }

/* ── Footer ─────────────────────────────────────────────────────────────── */
footer { padding-block:clamp(40px,5vw,64px); }
.foot__legal { display:flex; gap:var(--space-4); flex-wrap:wrap; justify-content:space-between; font-family:var(--font-mono); font-size:11.5px; color:var(--text-legal); }

/* ── Demo panel ─────────────────────────────────────────────────────────── */
.panel {
  position:fixed; right:16px; z-index:90;
  bottom:calc(16px + env(safe-area-inset-bottom,0px));
  background:var(--scrim-header); backdrop-filter:blur(12px);
  border:1px solid var(--line-grid); padding:14px 16px;
  display:grid; gap:10px; max-width:min(300px,calc(100vw - 32px));
}
.panel p { margin:0; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--text-label); }
.panel label { display:grid; grid-template-columns:16px 1fr; gap:10px; align-items:center; font-size:13.5px; line-height:1.35; color:var(--text-lead); cursor:pointer; }
.panel input { -webkit-appearance:none; appearance:none; margin:0; width:16px; height:16px; border:1px solid var(--line-control); background:var(--surface-raised); cursor:pointer; display:grid; place-content:center; }
.panel input:checked { background:var(--accent-cyan); border-color:var(--accent-cyan); }
.panel input:checked::after { content:""; width:9px; height:5px; border-left:1.5px solid var(--ink-on-cyan); border-bottom:1.5px solid var(--ink-on-cyan); transform:rotate(-45deg) translate(1px,-1px); }
.panel small { font-size:12px; line-height:1.45; color:var(--text-dim); font-family:var(--font-sans); letter-spacing:0; text-transform:none; }
.panel__x { position:absolute; top:6px; right:8px; background:none; border:0; color:var(--text-dim); font-family:var(--font-mono); font-size:14px; cursor:pointer; line-height:1; padding:2px 4px; }
.panel[hidden] { display:none; }
@media print { .panel { display:none; } }

@media (prefers-reduced-motion:reduce) { * { animation:none !important; transition:none !important; } }
