/* ── NHID-Clinical inner-page system ──────────────────────────────────────────
   Additive only: loaded AFTER instrument.css on every published page except
   the home page. The home page is composed as acts on alternating bands with
   deep-ink instrument surfaces; this sheet gives every other page the same
   vocabulary, so the site reads as one product:

     hero        an ink band with the fine grid, a mono breadcrumb, a teal
                 kicker, the title, a lede and a meta rail; optionally a
                 right-hand instrument card
     document    a sticky section rail beside a 68ch reading column
     acts        every h2 carries a kicker, an index and a lead
     notes       hairline instrument notes with a mono label chip
     registers   every table is the home page's control register
     consoles    every code block is the evidence trace console
     closing     the page ends on an ink band with the wayfinder

   Teal is state and illumination, never decoration. Nothing glows that is not
   a lamp. Every rule here is scoped to `.page-doc`, the <main> of an inner
   page, so the home page is untouched.
   ────────────────────────────────────────────────────────────────────────── */

/* ── Reading measure and prose ─────────────────────────────────────────────── */
.page-doc {
  --measure: 68ch;
  /* Layered light surfaces: a hairline and one long, soft shadow. */
  --soft-shadow: 0 1px 2px rgba(13, 40, 70, .04), 0 18px 40px -30px rgba(13, 40, 70, .28);
  --soft-shadow-hover: 0 1px 2px rgba(13, 40, 70, .05), 0 24px 48px -28px rgba(13, 40, 70, .32);
}
[data-theme="dark"] .page-doc { --soft-shadow: 0 1px 0 rgba(255,255,255,.03), 0 18px 40px -28px rgba(0,0,0,.7); --soft-shadow-hover: 0 1px 0 rgba(255,255,255,.04), 0 24px 48px -26px rgba(0,0,0,.8); }
.page-doc .page-section { border-bottom: 1px solid var(--line); }
.page-doc .page-section > .container > p,
.page-doc .doc-body > p,
.page-doc .act-body > p { max-width: var(--measure); }
.page-doc p { line-height: 1.75; }
.page-doc .act-body > p + p,
.page-doc .doc-body > p + p { margin-top: 1rem; }
.page-doc .act-body ul, .page-doc .act-body ol,
.page-doc .doc-body ul, .page-doc .doc-body ol { max-width: var(--measure); padding-left: 1.25rem; }
.page-doc .act-body .steps, .page-doc .act-body .ledger-list, .page-doc .act-body .endpoint-strip,
.page-doc .doc-body .steps, .page-doc .doc-body .ledger-list { max-width: none; padding-left: 0; }
.page-doc .act-body li + li, .page-doc .doc-body li + li { margin-top: .35rem; }
.page-doc li { line-height: 1.7; }
.page-doc h3 { font-size: 1.05rem; letter-spacing: -.01em; margin: 1.75rem 0 .6rem; }
.page-doc h3 .sub-index {
  display: inline-block; margin-right: .6rem; font-family: var(--mono); font-weight: 500;
  font-size: .72rem; letter-spacing: .1em; color: var(--teal); vertical-align: .12em;
}
.page-doc a { text-underline-offset: .18em; }

/* ── Instrument hero ───────────────────────────────────────────────────────── */
.page-doc .inner-hero {
  background: var(--inst-ink);
  border-bottom: 1px solid var(--inst-line);
  padding-block: clamp(3rem, 6vw, 5rem) clamp(2.5rem, 5vw, 4rem);
  color: var(--inst-text);
}
[data-theme="dark"] .page-doc .inner-hero { background: #050c17; }
.page-doc .inner-hero::before {
  opacity: 1;
  background:
    radial-gradient(1100px 520px at 88% -10%, rgba(85, 217, 203, 0.12), transparent 62%),
    radial-gradient(760px 420px at -6% 4%, rgba(30, 99, 219, 0.11), transparent 60%),
    linear-gradient(to right, var(--inst-grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--inst-grid) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 42px 42px, 42px 42px;
  -webkit-mask-image: linear-gradient(to bottom, #000 60%, rgba(0,0,0,.35));
          mask-image: linear-gradient(to bottom, #000 60%, rgba(0,0,0,.35));
}
.page-doc .inner-hero .hero-glow { display: none; }
.page-doc .inner-hero > .container { position: relative; z-index: 1; }

.page-doc .crumbs {
  font-family: var(--mono); font-size: .72rem; letter-spacing: .06em;
  color: var(--inst-text-muted); margin-bottom: 1.5rem;
}
.page-doc .crumbs a { color: var(--inst-cobalt); font-weight: 500; }
.page-doc .crumbs span { color: var(--inst-text-muted); }
.page-doc .crumbs .sep { color: var(--inst-line-strong); }

.page-doc .inner-hero .meta-label,
.page-doc .inner-hero .section-kicker {
  font-family: var(--mono); font-weight: 500; font-size: .72rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--inst-teal-bright); margin: 0 0 .9rem;
}
.page-doc .inner-hero h1,
.page-doc .inner-hero .page-heading {
  font-family: var(--display); font-weight: 800;
  font-size: clamp(2.1rem, 4.2vw, 3.4rem); line-height: 1.04; letter-spacing: -.03em;
  color: var(--inst-text-strong); margin: 0; max-width: 18ch; text-wrap: balance;
}
.page-doc .inner-hero .lede,
.page-doc .inner-hero .lede-text {
  color: #c9d8e8; font-size: clamp(1.02rem, 1.25vw, 1.2rem); line-height: 1.65;
  max-width: 58ch; margin: 1.1rem 0 0;
}
.page-doc .inner-hero .lede strong, .page-doc .inner-hero .lede-text strong { color: var(--inst-text-strong); }
.page-doc .inner-hero .lede a, .page-doc .inner-hero .lede-text a { color: var(--inst-cobalt); }
.page-doc .inner-hero .hero-updated {
  margin: .6rem 0 0; font-family: var(--mono); font-size: .75rem; color: var(--inst-text-muted);
}

/* Hero grid: copy on the left, the page's one instrument on the right */
.page-doc .hero-grid {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
  gap: clamp(2rem, 4vw, 4rem); align-items: start;
}
.page-doc .hero-grid > * { min-width: 0; }
@media (max-width: 1000px) { .page-doc .hero-grid { grid-template-columns: 1fr; } }

/* Meta rail: hairline mono cells under the lede */
.page-doc .hero-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.75rem 0 0; padding: 0; list-style: none; }
.page-doc .hero-meta li {
  background: var(--inst-ink-2); border: 1px solid var(--inst-line); border-radius: 8px;
  padding: .55rem .85rem; min-width: 0; display: grid; gap: .15rem;
}
.page-doc .hero-meta li b {
  display: block; font-family: var(--mono); font-weight: 500; font-size: .62rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--inst-text-muted);
}
.page-doc .hero-meta li span { font-family: var(--mono); font-size: .8rem; color: var(--inst-text-strong); }
.page-doc .hero-meta li span.is-live { color: var(--inst-teal-bright); }
.page-doc .hero-meta li span a { color: var(--inst-cobalt); }

.page-doc .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.page-doc .inner-hero .action-button-secondary { background: transparent; color: #cfe2f7; border-color: var(--inst-line-strong); }
.page-doc .inner-hero .action-button-secondary:hover { border-color: var(--inst-teal); color: var(--inst-teal-bright); background: rgba(85, 217, 203, .06); }

/* The instrument card on the right of a hero */
.page-doc .hero-instrument-card,
.page-doc .inner-hero .hero-summary-card {
  min-width: 0; padding: 1.25rem 1.3rem 1.35rem; border: 1px solid var(--inst-line); border-radius: 12px;
  background: var(--inst-ink-2); color: var(--inst-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 40px -24px rgba(0,0,0,.7);
}
.page-doc .hero-instrument-card .card-head {
  display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
  margin: 0 0 .9rem; padding-bottom: .7rem; border-bottom: 1px solid var(--inst-line);
  font-family: var(--mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--inst-text-muted);
}
.page-doc .hero-instrument-card .card-head b { color: var(--inst-teal-bright); font-weight: 600; }
.page-doc .hero-instrument-card dl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .45rem 1rem; }
.page-doc .hero-instrument-card dt { font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--inst-text-muted); padding-top: .15rem; }
.page-doc .hero-instrument-card dd { margin: 0; font-size: .9rem; color: var(--inst-text-strong); overflow-wrap: anywhere; }
.page-doc .hero-instrument-card dd code, .page-doc .hero-instrument-card dd .mono { font-family: var(--mono); font-size: .8rem; color: #cfe2f7; }
.page-doc .hero-instrument-card p { color: var(--inst-text); font-size: .875rem; line-height: 1.6; margin: .8rem 0 0; }
.page-doc .hero-instrument-card .card-foot { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--inst-line); }
.page-doc .hero-instrument-card .card-foot .action-button { width: 100%; justify-content: center; }
.page-doc .hero-instrument-card .chip-row { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .9rem; }
.page-doc .hero-instrument-card .chip {
  font-family: var(--mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase;
  padding: .22rem .5rem; border: 1px solid var(--inst-line-strong); border-radius: 4px; color: #cfe2f7;
}
.page-doc .hero-instrument-card .chip.is-on { border-color: var(--inst-teal); color: var(--inst-teal-bright); background: rgba(85,217,203,.08); }

/* Proof cells inside a hero card or a band */
.page-doc .proof-grid { margin-top: 0; }
.page-doc .hero-instrument-card .proof-grid { border: 0; border-radius: 0; background: transparent; gap: .9rem 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-doc .hero-instrument-card .proof-cell { background: transparent; padding: 0; }
.page-doc .hero-instrument-card .proof-value { font-size: 1.5rem; }

/* Endpoint strip (developers) */
.page-doc .endpoint-strip { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.page-doc .endpoint-strip li {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; align-items: baseline;
  padding: .5rem .65rem; border: 1px solid var(--inst-line); border-radius: 6px; background: rgba(7, 17, 31, .5);
  font-family: var(--mono); font-size: .78rem; color: #cfe2f7; min-width: 0;
}
.page-doc .endpoint-strip .verb { font-weight: 600; font-size: .66rem; letter-spacing: .1em; color: var(--inst-teal-bright); }
.page-doc .endpoint-strip .path { overflow-wrap: anywhere; }
.page-doc .endpoint-strip small { display: block; font-family: var(--sans); font-size: .76rem; color: var(--inst-text-muted); margin-top: .15rem; }

/* ── Document frame: section rail + reading column ─────────────────────────── */
.page-doc .doc {
  display: grid; grid-template-columns: 15rem minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 4rem); align-items: start;
}
.page-doc .doc-rail {
  position: sticky; top: calc(var(--nav-h, 5rem) + 1.25rem);
  max-height: calc(100vh - var(--nav-h, 5rem) - 2rem); overflow: auto;
  padding: 0 0 .5rem; margin: 0; min-width: 0;
}
.page-doc .doc-rail-label {
  font-family: var(--mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--body); margin: 0 0 .75rem; padding-bottom: .6rem; border-bottom: 1px solid var(--line);
}
.page-doc .doc-rail ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; counter-reset: rail; }
.page-doc .doc-rail a {
  display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .5rem; align-items: baseline;
  padding: .38rem .5rem .38rem .6rem; border-left: 2px solid transparent; border-radius: 0 4px 4px 0;
  color: var(--body); text-decoration: none; font-size: .84rem; line-height: 1.35; min-width: 0;
}
/* The index is drawn, not written: a counter keeps "03" out of the page text,
   where the control-set guard would read "03 Suggested behaviors" as a count. */
.page-doc .doc-rail a::before {
  counter-increment: rail; content: counter(rail, decimal-leading-zero);
  font-family: var(--mono); font-size: .68rem; letter-spacing: .06em; color: var(--body); opacity: .75; font-variant-numeric: tabular-nums;
}
.page-doc .doc-rail a:hover { color: var(--ink); background: var(--mist); }
.page-doc .doc-rail a.is-current { color: var(--ink); border-left-color: var(--teal); background: var(--mist); }
.page-doc .doc-rail a.is-current::before { color: var(--teal); opacity: 1; }
.page-doc .doc-body { min-width: 0; }
.page-doc .doc-body > .act + .act { margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid var(--line); }
@media (max-width: 1060px) {
  .page-doc .doc { grid-template-columns: 1fr; gap: 1.5rem; }
  .page-doc .doc-rail { position: static; max-height: none; border: 1px solid var(--line); border-radius: 10px; padding: .9rem 1rem; background: var(--mist); }
  .page-doc .doc-rail ol { grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .1rem .75rem; }
  .page-doc .doc-rail a:hover, .page-doc .doc-rail a.is-current { background: var(--paper); }
}

/* ── Acts ──────────────────────────────────────────────────────────────────── */
.page-doc .act { scroll-margin-top: calc(var(--nav-h, 5rem) + 1rem); }
.page-doc .act > .act-head { margin-bottom: 1.25rem; }
.page-doc .act-head h2 { font-size: clamp(1.45rem, 2.2vw, 1.95rem); line-height: 1.18; margin: .45rem 0 .5rem; max-width: 30ch; }
.page-doc .act-head .section-kicker { margin: 0; font-size: .72rem; letter-spacing: .14em; }
.page-doc .act-head .act-lead { font-size: 1rem; }
.page-doc .act-body { min-width: 0; }
.page-doc .act-body > * + * { margin-top: 1rem; }
.page-doc .act-body > h3 { margin-top: 1.9rem; }
.page-doc .act-body > h3 + * { margin-top: .6rem; }

/* Wide acts outside a document frame, as on the home page */
.page-doc .page-section .act-head { max-width: none; }

/* A band-level act: the section is the act */
.page-doc .band-ink .act-head h2 { color: var(--inst-text-strong); }
.page-doc .band-ink .act-body p, .page-doc .band-ink .act-body li { color: var(--inst-text); }
.page-doc .band-ink .act-body strong { color: var(--inst-text-strong); }
.page-doc .band-ink h3 { color: var(--inst-text-strong); }
.page-doc .band-ink a { color: var(--inst-cobalt); }

/* ── Instrument notes (was .hero-notice / .callout / .visual-provenance) ───── */
.page-doc .hero-notice,
.page-doc .callout,
.page-doc .visual-provenance,
.page-doc .note {
  position: relative; margin: 1.5rem 0 0; padding: 1rem 1.15rem 1rem 1.15rem;
  border: 1px solid var(--line); border-left: 2px solid var(--teal); border-radius: 0 8px 8px 0;
  background: var(--mist); color: var(--ink-soft); font-size: .9rem; line-height: 1.7; max-width: none;
}
.page-doc .hero-notice[data-label]::before,
.page-doc .callout[data-label]::before,
.page-doc .visual-provenance[data-label]::before,
.page-doc .note[data-label]::before {
  content: attr(data-label); display: inline-block; margin: 0 .75rem .35rem 0;
  font-family: var(--mono); font-size: .62rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--teal); padding: .18rem .45rem; border: 1px solid var(--teal); border-radius: 4px; vertical-align: .1em;
}
.page-doc .hero-notice p, .page-doc .callout p, .page-doc .note p { margin: 0; }
.page-doc .hero-notice p + p, .page-doc .callout p + p, .page-doc .note p + p { margin-top: .6rem; }
.page-doc .visual-provenance { font-size: .85rem; color: var(--body); }
.page-doc .visual-provenance code { background: transparent; color: var(--ink); padding: 0; font-size: .8rem; }
.page-doc .note.is-amber, .page-doc .hero-notice.is-amber { border-left-color: #b7791f; }
.page-doc .note.is-amber::before, .page-doc .hero-notice.is-amber::before { color: #8a5a10; border-color: #b7791f; }
[data-theme="dark"] .page-doc .note.is-amber::before, [data-theme="dark"] .page-doc .hero-notice.is-amber::before { color: var(--inst-amber); border-color: var(--inst-amber); }
.page-doc .band-ink .hero-notice, .page-doc .band-ink .note, .page-doc .band-ink .visual-provenance {
  background: var(--inst-ink-2); border-color: var(--inst-line); border-left-color: var(--inst-teal); color: var(--inst-text);
}
.page-doc .band-ink .note::before, .page-doc .band-ink .hero-notice::before { color: var(--inst-teal-bright); border-color: var(--inst-teal); }

/* ── Registers: every table ────────────────────────────────────────────────── */
.page-doc .register { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--soft-shadow); }
.page-doc .register table,
.page-doc .act-body > table,
.page-doc .doc-body > table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.page-doc .register th, .page-doc .register td,
.page-doc .act-body > table th, .page-doc .act-body > table td { padding: .75rem .95rem; text-align: left; vertical-align: top; border-top: 1px solid var(--line); line-height: 1.55; }
.page-doc .register thead th, .page-doc .act-body > table thead th {
  border-top: 0; background: var(--mist); font-family: var(--mono); font-weight: 500; font-size: .66rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--body);
}
.page-doc .register tbody th { font-weight: 600; color: var(--ink); }
.page-doc .register td { color: var(--ink-soft); }
.page-doc .register td code, .page-doc .register th code { font-family: var(--mono); font-size: .8rem; background: transparent; padding: 0; color: var(--ink); }
.page-doc .id-chip, .page-doc .control-id, .page-doc .register .control-table-id {
  display: inline-block; font-family: var(--mono); font-size: .78rem; font-weight: 500; padding: .14rem .45rem;
  border: 1px solid var(--line); border-radius: 4px; background: var(--mist); color: var(--ink); white-space: nowrap;
}
.page-doc .state-chip {
  display: inline-block; font-family: var(--mono); font-size: .72rem; letter-spacing: .06em; padding: .14rem .45rem;
  border-radius: 4px; border: 1px solid var(--teal); color: var(--teal); white-space: nowrap;
}
.page-doc .state-chip.is-muted { border-color: var(--line); color: var(--body); }
.page-doc .state-chip.is-amber { border-color: #b7791f; color: #8a5a10; }
[data-theme="dark"] .page-doc .state-chip.is-amber { border-color: var(--inst-amber); color: var(--inst-amber); }
.page-doc .state-chip.is-red { border-color: #b4423a; color: #a8271a; }
[data-theme="dark"] .page-doc .state-chip.is-red { border-color: var(--inst-red); color: var(--inst-red); }
.page-doc .band-ink .register { background: var(--inst-ink-2); border-color: var(--inst-line); }
.page-doc .band-ink .register th, .page-doc .band-ink .register td { border-top-color: var(--inst-line); color: var(--inst-text); }
.page-doc .band-ink .register thead th { background: rgba(7,17,31,.6); color: var(--inst-text-muted); }
.page-doc .band-ink .register tbody th { color: var(--inst-text-strong); }
.page-doc .band-ink .id-chip, .page-doc .band-ink .control-id { background: rgba(7,17,31,.6); border-color: var(--inst-line-strong); color: #cfe2f7; }
.page-doc .band-ink .state-chip { border-color: var(--inst-teal); color: var(--inst-teal-bright); }
@media (max-width: 900px) {
  .page-doc .register.restack { border: 0; border-radius: 0; background: transparent; overflow: visible; }
  .page-doc .register.restack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .page-doc .register.restack tr { display: block; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); padding: .35rem 0; }
  .page-doc .register.restack tr + tr { margin-top: .75rem; }
  .page-doc .register.restack th, .page-doc .register.restack td { display: block; border-top: 0; padding: .4rem .95rem; }
  .page-doc .register.restack td[data-label]::before {
    content: attr(data-label); display: block; font-family: var(--mono); font-size: .62rem; letter-spacing: .12em;
    text-transform: uppercase; color: var(--body); margin-bottom: .2rem;
  }
}

/* ── Stat tiles (light): a measured value, its label, and where it came from ── */
.page-doc .stat-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: .9rem; }
.page-doc .stat-tile {
  padding: 1.05rem 1.15rem 1.1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--paper);
  box-shadow: var(--soft-shadow); min-width: 0; display: grid; gap: .3rem; align-content: start;
}
.page-doc .stat-tile .stat-label { font-family: var(--mono); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: var(--body); }
.page-doc .stat-tile .stat-value { font-family: var(--mono); font-size: 1.7rem; line-height: 1.1; color: var(--ink); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.page-doc .stat-tile .stat-value small { font-size: .9rem; color: var(--body); margin-left: .25rem; }
.page-doc .stat-tile .stat-note { font-size: .78rem; line-height: 1.45; color: var(--body); }
.page-doc .stat-tile .stat-note a { font-weight: 600; }
.page-doc .stat-tile .stat-delta { font-family: var(--mono); font-size: .72rem; color: var(--teal); }
.page-doc .stat-tile .stat-delta.is-flat { color: var(--body); }

/* ── Ledgers: numbered lists of parts ──────────────────────────────────────── */
.page-doc .ledger-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); overflow: hidden; box-shadow: var(--soft-shadow); }
.page-doc .ledger-list > li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1rem 1.25rem; padding: 1.1rem 1.25rem; min-width: 0; }
.page-doc .ledger-list > li + li { border-top: 1px solid var(--line); }
.page-doc .ledger-list > li > .ledger-index { font-family: var(--mono); font-size: .78rem; letter-spacing: .06em; color: var(--teal); padding-top: .2rem; }
.page-doc .ledger-list > li > div { min-width: 0; }
.page-doc .ledger-list h3 { margin: 0 0 .35rem; font-size: 1rem; }
.page-doc .ledger-list p { margin: 0; color: var(--ink-soft); font-size: .92rem; }
.page-doc .ledger-list p + p { margin-top: .5rem; }
.page-doc .ledger-list .ledger-meta { display: flex; flex-wrap: wrap; gap: .4rem .75rem; margin: .6rem 0 0; font-family: var(--mono); font-size: .72rem; color: var(--body); }
.page-doc .ledger-list .ledger-meta a { font-weight: 600; }
@media (max-width: 640px) { .page-doc .ledger-list > li { grid-template-columns: 1fr; gap: .35rem; } }
.page-doc .band-ink .ledger-list { background: var(--inst-ink-2); border-color: var(--inst-line); }
.page-doc .band-ink .ledger-list > li + li { border-top-color: var(--inst-line); }
.page-doc .band-ink .ledger-list h3 { color: var(--inst-text-strong); }
.page-doc .band-ink .ledger-list p { color: var(--inst-text); }
.page-doc .band-ink .ledger-list .ledger-index { color: var(--inst-teal-bright); }

/* ── Cards, unified ────────────────────────────────────────────────────────── */
.page-doc .content-cards, .page-doc .download-cards, .page-doc .card-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem;
}
.page-doc .content-card, .page-doc .download-card, .page-doc .faq-item, .page-doc .pilot-card,
.page-doc .guarantee-card, .page-doc .page-cta-card, .page-doc .card {
  padding: 1.35rem 1.45rem; border: 1px solid var(--line); border-radius: 14px; background: var(--paper);
  box-shadow: var(--soft-shadow); transform: none; min-width: 0;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.page-doc .content-card:hover, .page-doc .download-card:hover, .page-doc .page-cta-card:hover, .page-doc .card:hover {
  transform: translateY(-2px); box-shadow: var(--soft-shadow-hover); border-color: rgba(20, 119, 143, .45);
}
.page-doc .content-card h3, .page-doc .download-card h2, .page-doc .download-card h3, .page-doc .card h3 {
  font-family: var(--display); font-size: 1.05rem; letter-spacing: -.015em; margin: 0 0 .45rem; color: var(--ink);
}
.page-doc .content-card p, .page-doc .download-card p, .page-doc .card p { color: var(--ink-soft); font-size: .9rem; line-height: 1.65; margin: 0; }
.page-doc .card-meta {
  display: flex; flex-wrap: wrap; gap: .35rem .7rem; margin: 0 0 .6rem; font-family: var(--mono);
  font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--body);
}
.page-doc .card-meta b { color: var(--teal); font-weight: 600; }
.page-doc .card .card-foot, .page-doc .download-card .card-foot { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: .5rem .9rem; align-items: center; }
.page-doc .card .card-foot a, .page-doc .download-card .card-foot a { font-weight: 600; font-size: .875rem; }
.page-doc .card .card-foot .mono { font-family: var(--mono); font-size: .72rem; color: var(--body); }
.page-doc .pilot-card { border-left: 2px solid var(--teal); border-radius: 0 10px 10px 0; background: var(--mist); }
.page-doc .guarantee-card { border-left: 2px solid var(--teal); border-radius: 0 10px 10px 0; }
.page-doc .band-ink .card, .page-doc .band-ink .content-card { background: var(--inst-ink-2); border-color: var(--inst-line); }
.page-doc .band-ink .card h3, .page-doc .band-ink .content-card h3 { color: var(--inst-text-strong); }
.page-doc .band-ink .card p, .page-doc .band-ink .content-card p { color: var(--inst-text); }
.page-doc .band-ink .card-meta { color: var(--inst-text-muted); }
.page-doc .band-ink .card-meta b { color: var(--inst-teal-bright); }

/* FAQ as a ledger of questions */
.page-doc .faq-ledger { display: grid; gap: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); overflow: hidden; box-shadow: var(--soft-shadow); }
.page-doc .faq-ledger .faq-item { border: 0; border-radius: 0; padding: 1.35rem 1.5rem; display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: .5rem 1.25rem; }
.page-doc .faq-ledger .faq-item + .faq-item { border-top: 1px solid var(--line); }
.page-doc .faq-ledger .faq-index { font-family: var(--mono); font-size: .78rem; letter-spacing: .06em; color: var(--teal); padding-top: .3rem; }
.page-doc .faq-ledger .faq-item > div { min-width: 0; }
.page-doc .faq-ledger .faq-q { font-family: var(--display); font-size: 1.1rem; margin: 0 0 .6rem; letter-spacing: -.015em; }
.page-doc .faq-ledger .faq-item p { font-size: .95rem; color: var(--ink-soft); max-width: var(--measure); }
.page-doc .faq-ledger .faq-item p + p, .page-doc .faq-ledger .faq-item ul { margin-top: .6rem; }
@media (max-width: 640px) { .page-doc .faq-ledger .faq-item { grid-template-columns: 1fr; gap: .2rem; padding: 1.1rem 1.1rem; } }

/* ── Consoles: every code block ────────────────────────────────────────────── */
.page-doc pre, .page-doc .console {
  margin: 1rem 0 0; padding: 1rem 1.1rem; border: 1px solid var(--inst-line); border-radius: 10px;
  background: var(--inst-ink-2); color: #cfe2f7; font-family: var(--mono); font-size: .8rem; line-height: 1.7;
  overflow-x: auto; white-space: pre; tab-size: 2; max-width: 100%;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.page-doc pre.wrap { white-space: pre-wrap; word-break: break-word; }
.page-doc pre code { background: transparent; padding: 0; color: inherit; font-size: inherit; font-family: inherit; border: 0; }
.page-doc .console-bar {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; align-items: center;
  margin: 1rem 0 0; padding: .5rem .9rem; border: 1px solid var(--inst-line); border-bottom: 0; border-radius: 10px 10px 0 0;
  background: var(--inst-ink); font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--inst-text-muted);
}
.page-doc .console-bar b { color: var(--inst-teal-bright); font-weight: 600; }
.page-doc .console-bar code { text-transform: none; letter-spacing: 0; color: #cfe2f7; background: transparent; padding: 0; }
.page-doc .console-bar + pre { margin-top: 0; border-radius: 0 0 10px 10px; }
.page-doc :not(pre) > code {
  font-family: var(--mono); font-size: .84em; padding: .08em .35em; border-radius: 4px;
  background: var(--mist); border: 1px solid var(--line); color: var(--ink);
}
.page-doc .inner-hero :not(pre) > code, .page-doc .band-ink :not(pre) > code { background: rgba(7,17,31,.6); border-color: var(--inst-line-strong); color: #cfe2f7; }

/* ── Steps: numbered rails ─────────────────────────────────────────────────── */
.page-doc .steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: step; }
.page-doc .steps > li {
  position: relative; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: .25rem 1rem;
  padding: 1.1rem 0 1.25rem; border-top: 1px solid var(--line); min-width: 0;
}
.page-doc .steps > li:first-child { border-top: 0; padding-top: 0; }
.page-doc .steps > li::before {
  counter-increment: step; content: counter(step, decimal-leading-zero);
  grid-column: 1; grid-row: 1; font-family: var(--mono); font-size: .8rem; letter-spacing: .06em; color: var(--teal); padding-top: .25rem;
}
.page-doc .steps > li > * { grid-column: 2; }
.page-doc .steps > li > h3, .page-doc .steps > li > .step-header { margin: 0; font-size: 1.02rem; }
.page-doc .steps > li > p { margin: 0; color: var(--ink-soft); font-size: .93rem; max-width: var(--measure); }
.page-doc .steps > li > * { min-width: 0; }
.page-doc .steps .step-num { display: none; }
.page-doc .band-ink .steps > li { border-top-color: var(--inst-line); }
.page-doc .band-ink .steps > li::before { color: var(--inst-teal-bright); }
.page-doc .band-ink .steps > li > p { color: var(--inst-text); }

/* ── Forms (sms-opt-in) ────────────────────────────────────────────────────── */
.page-doc .instrument-form {
  border: 1px solid var(--line); border-radius: 12px; background: var(--paper); padding: 1.5rem 1.6rem 1.6rem; max-width: 40rem;
}
.page-doc .instrument-form h2 { font-size: 1.25rem; margin: 0 0 .35rem; }
.page-doc .instrument-form .form-note { font-family: var(--mono); font-size: .72rem; letter-spacing: .06em; color: var(--body); margin: 0 0 1.1rem; }
.page-doc .instrument-form > label { display: block; font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--body); margin: 0 0 .4rem; }
.page-doc .instrument-form input[type="tel"], .page-doc .instrument-form input[type="text"], .page-doc .instrument-form input[type="email"] {
  border: 1px solid var(--line); border-radius: 8px; background: var(--mist); color: var(--ink); padding: .75rem .9rem; font-size: 1rem; font-family: var(--mono);
}
.page-doc .instrument-form input:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; border-color: var(--teal); }

/* ── Closing: the page ends on ink ─────────────────────────────────────────── */
.page-doc .page-close { padding-block: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 3vw, 2.5rem); border-bottom: 0; }
.page-doc .page-close .closing-panel {
  min-height: 0; padding: clamp(1.5rem, 3.5vw, 2.5rem); border-radius: 14px; box-shadow: none;
  background: var(--inst-ink-2); border: 1px solid var(--inst-line); align-items: center;
}
.page-doc .page-close .closing-panel::after { display: none; }
.page-doc .page-close .closing-panel h2 { font-size: clamp(1.4rem, 2.4vw, 2rem); margin: .35rem 0 .5rem; max-width: 26ch; text-wrap: balance; }
.page-doc .page-close .closing-panel p { font-size: 1rem; color: var(--inst-text); margin: 0; }
.page-doc .page-close .closing-panel .section-kicker { color: var(--inst-teal-bright); font-family: var(--mono); font-size: .72rem; letter-spacing: .14em; }
.page-doc .page-close .closing-button { color: #06222b; background: var(--inst-teal); white-space: nowrap; }
.page-doc .page-close .closing-button:hover { background: var(--inst-teal-bright); }
.page-doc .page-close .page-cta { border-top: 0; padding: clamp(2rem, 4vw, 3rem) 0 0; }
.page-doc .page-close .page-cta h2, .page-doc .page-close .page-cta h3 { color: var(--inst-text-strong); font-size: 1.2rem; margin: 0 0 .3rem; }
.page-doc .page-close .page-cta > .container > p, .page-doc .page-close .page-cta p { color: var(--inst-text); }
.page-doc .page-close .page-cta-card { background: var(--inst-ink-2); border-color: var(--inst-line); color: var(--inst-text-strong); border-radius: 10px; }
.page-doc .page-close .page-cta-card:hover { border-color: var(--inst-teal); }
.page-doc .page-close .page-cta-card span { color: var(--inst-text); }
.page-doc .page-close .page-cta-card .arr { color: var(--inst-teal-bright); }
.page-doc .page-close .disclaimer-small { color: var(--inst-text-muted); border-top-color: var(--inst-line); }
.page-doc .page-close .wayfinder { border-top: 1px solid var(--inst-line); margin-top: 2.5rem; padding-inline: 0; }
.page-doc .page-close .wayfinder-journey { background: transparent; border-color: var(--inst-line-strong); color: var(--inst-teal-bright); font-family: var(--mono); font-weight: 500; }
.page-doc .page-close .wayfinder-question { color: var(--inst-text-strong); }
.page-doc .page-close .wayfinder-steps li > span { color: var(--inst-text-muted); font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.page-doc .page-close .wayfinder-steps a { color: var(--inst-cobalt); }
.page-doc .page-close .wayfinder-steps a:focus-visible { outline: 2px solid var(--inst-teal); outline-offset: 2px; }

/* ── Light-band alternation ────────────────────────────────────────────────── */
.page-doc .band-mist { background: var(--mist); }
.page-doc .band-paper { background: var(--paper); }

/* ── Reduced motion / forced colours ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .page-doc .content-card, .page-doc .download-card, .page-doc .page-cta-card, .page-doc .card { transition: none; }
}
@media (forced-colors: active) {
  .page-doc .register, .page-doc .ledger-list, .page-doc .card, .page-doc .hero-meta, .page-doc .hero-instrument-card { border: 1px solid CanvasText; }
  .page-doc .doc-rail a.is-current { border-left-color: Highlight; }
}

/* ── Ink panel: an instrument surface inside a light document ──────────────── */
.page-doc .ink-panel {
  position: relative; overflow: clip; margin: 1.25rem 0 0; padding: 1.35rem 1.4rem 1.5rem;
  border: 1px solid var(--inst-line); border-radius: 14px; background: var(--inst-ink); color: var(--inst-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 24px 48px -32px rgba(0,0,0,.7);
}
.page-doc .ink-panel::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(700px 320px at 92% -10%, rgba(85, 217, 203, 0.10), transparent 62%),
    linear-gradient(to right, var(--inst-grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--inst-grid) 1px, transparent 1px);
  background-size: 100% 100%, 42px 42px, 42px 42px;
  -webkit-mask-image: linear-gradient(to bottom, #000 60%, rgba(0,0,0,.35)); mask-image: linear-gradient(to bottom, #000 60%, rgba(0,0,0,.35));
}
.page-doc .ink-panel > * { position: relative; z-index: 1; }
.page-doc .ink-panel .panel-bar {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; align-items: center;
  margin: 0 0 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--inst-line);
  font-family: var(--mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--inst-text-muted);
}
.page-doc .ink-panel .panel-bar b { color: var(--inst-teal-bright); font-weight: 600; }
.page-doc .ink-panel .panel-bar code { text-transform: none; letter-spacing: 0; color: #cfe2f7; background: transparent; border: 0; padding: 0; }
.page-doc .ink-panel .panel-live { display: inline-flex; align-items: center; gap: .4rem; color: var(--inst-teal-bright); }
.page-doc .ink-panel .panel-live::before { content: ""; width: .5rem; height: .5rem; border-radius: 999px; background: var(--inst-teal-bright); box-shadow: 0 0 6px rgba(117,236,224,.8); }
.page-doc .ink-panel p, .page-doc .ink-panel li { color: var(--inst-text); }
.page-doc .ink-panel h3 { color: var(--inst-text-strong); }
.page-doc .ink-panel a { color: var(--inst-cobalt); }
.page-doc .ink-panel .disclaimer-small { color: var(--inst-text-muted); border-top-color: var(--inst-line); }

/* The Trust Gateway scenarios on ink */
.page-doc .ink-panel .trust-gateway { margin: 0; padding: 0; border: 0; background: transparent; }
.page-doc .ink-panel .tg-controls { border-bottom-color: var(--inst-line); }
.page-doc .ink-panel .tg-step { background: rgba(16,38,64,.55); border-color: var(--inst-line); color: #cfe2f7; font-family: var(--mono); font-weight: 500; font-size: .8rem; }
.page-doc .ink-panel .tg-step:hover:not(:disabled) { border-color: var(--inst-teal); color: var(--inst-teal-bright); }
.page-doc .ink-panel .tg-step:focus-visible { outline-color: var(--inst-teal); }
.page-doc .ink-panel .tg-position { color: var(--inst-text-muted); font-family: var(--mono); font-weight: 500; }
.page-doc .ink-panel .tg-scenario + .tg-scenario { border-top-color: var(--inst-line); }
.page-doc .ink-panel .tg-scenario-title { color: var(--inst-text-strong); }
.page-doc .ink-panel .tg-scenario-note { color: var(--inst-text); }
.page-doc .ink-panel .tg-turn { background: var(--inst-ink-2); border: 1px solid var(--inst-line); border-radius: 10px; }
.page-doc .ink-panel .tg-turn-no { color: var(--inst-teal-bright); font-family: var(--mono); font-weight: 500; }
.page-doc .ink-panel .tg-said q { color: var(--inst-text-strong); }
.page-doc .ink-panel .tg-reason { color: #cfe2f7; font-family: var(--mono); }
.page-doc .ink-panel .tg-action { font-family: var(--mono); font-weight: 600; border: 1px solid currentColor; background: transparent; }
.page-doc .ink-panel .tg-action-deny { color: var(--inst-red); }
.page-doc .ink-panel .tg-action-escalate { color: var(--inst-amber); }
.page-doc .ink-panel .tg-action-disclose { color: var(--inst-cobalt); }
.page-doc .ink-panel .tg-action-log { color: #c3a6dd; }
.page-doc .ink-panel .tg-action-continue { color: var(--inst-teal-bright); }
.page-doc .ink-panel .tg-violations li { color: var(--inst-text); }
.page-doc .ink-panel .tg-violations b { color: var(--inst-text-strong); font-family: var(--mono); font-weight: 500; }
.page-doc .ink-panel .tg-sev { color: var(--inst-red); }
.page-doc .ink-panel .tg-clean { color: var(--inst-text-muted); }

/* Feature cards and pass/fail boxes join the unified card language */
.page-doc .feature-grid { gap: 1rem; }
.page-doc .feature-card { padding: 1.35rem 1.45rem; border-radius: 14px; box-shadow: var(--soft-shadow); }
.page-doc .feature-card:hover { transform: translateY(-2px); box-shadow: var(--soft-shadow-hover); border-color: rgba(20,119,143,.45); }
.page-doc .feature-card .code { font-family: var(--mono); font-size: .7rem; font-weight: 500; letter-spacing: .1em; color: var(--teal); padding: .18rem .45rem; border: 1px solid var(--line); border-radius: 4px; background: var(--mist); }
.page-doc .feature-ico { margin-bottom: .8rem; }
.page-doc .feature-ico svg { color: var(--teal); }
.page-doc .pass-fail { gap: .9rem; }
.page-doc .pass-box, .page-doc .fail-box { padding: .95rem 1.05rem; border-radius: 10px; background: var(--mist); border: 1px solid var(--line); }
.page-doc .pass-box { border-left: 2px solid var(--teal); }
.page-doc .fail-box { border-left: 2px solid #b4423a; }
.page-doc .pass-box strong, .page-doc .fail-box strong { font-family: var(--mono); font-weight: 600; font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .5rem; }
.page-doc .pass-box strong { color: var(--teal); }
.page-doc .fail-box strong { color: #a8271a; }
[data-theme="dark"] .page-doc .fail-box strong { color: var(--inst-red); }
[data-theme="dark"] .page-doc .fail-box { border-left-color: var(--inst-red); }
.page-doc .pass-box ul, .page-doc .fail-box ul { margin: 0; padding-left: 1.1rem; font-size: .875rem; line-height: 1.65; color: var(--body); }
@media (max-width: 640px) { .page-doc .pass-fail { grid-template-columns: 1fr; } }

/* Control articles as a numbered ledger */
.page-doc .control-ledger { display: grid; gap: 1rem; }
.page-doc .control-ledger .content-card { padding: 1.5rem 1.6rem; }
.page-doc .control-ledger .content-card > .code {
  display: inline-block; font-family: var(--mono); font-size: .74rem; font-weight: 500; letter-spacing: .1em; color: var(--teal);
  padding: .2rem .5rem; border: 1px solid var(--line); border-radius: 4px; background: var(--mist);
}
.page-doc .control-ledger .content-card > h3 { font-size: 1.25rem; margin: .6rem 0 .3rem; }
.page-doc .control-ledger .content-card > h3 + p { font-size: 1rem; color: var(--ink); font-weight: 500; margin: 0 0 .6rem; }
.page-doc .control-ledger .content-card > p { max-width: var(--measure); }
.page-doc .control-ledger .pass-fail { margin-top: 1.1rem; }

/* ── Script examples: two columns, good beside problematic ─────────────────── */
.page-doc .script-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.25rem; }
.page-doc .script-column { min-width: 0; padding: 1.35rem 1.45rem; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--soft-shadow); }
.page-doc .script-column > .section-kicker { margin: 0 0 .35rem; font-size: .7rem; letter-spacing: .14em; }
.page-doc .script-column > h3 { margin: 0 0 .5rem; }
.page-doc .script-column > p { font-size: .92rem; margin: 0 0 1rem; }
.page-doc .script-example-block { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.page-doc .script-example-block h4 { margin: 0 0 .5rem; font-family: var(--mono); font-weight: 500; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--body); }
.page-doc .script-note { font-size: .84rem; color: var(--body); margin: .5rem 0 0; line-height: 1.6; }
.page-doc .script-quote { border-radius: 10px; }
@media (max-width: 900px) { .page-doc .script-columns { grid-template-columns: 1fr; } }

/* ── Demo line on ink ──────────────────────────────────────────────────────── */
.page-doc .demo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.page-doc .demo-grid > * + * { margin-top: 0; }
@media (max-width: 1000px) { .page-doc .demo-grid { grid-template-columns: 1fr; } }
.page-doc .band-ink .card { background: var(--inst-ink-2); border: 1px solid var(--inst-line); border-radius: 14px; padding: 1.35rem 1.45rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.04); min-width: 0; }
.page-doc .band-ink .card h3 { margin: 0 0 .5rem; font-size: 1.05rem; color: var(--inst-text-strong); }
.page-doc .band-ink .card .sub { color: var(--inst-text); font-size: .9rem; margin: 0 0 .9rem; }
.page-doc .band-ink .card p { color: var(--inst-text); font-size: .9rem; }
.page-doc .band-ink .card .callout, .page-doc .band-ink .card .note { background: rgba(7,17,31,.6); border-color: var(--inst-line); border-left-color: var(--inst-teal); color: var(--inst-text); margin: .9rem 0; }
.page-doc .band-ink .card strong { color: var(--inst-text-strong); }
.page-doc .band-ink .card code { background: rgba(7,17,31,.6); border-color: var(--inst-line-strong); color: #cfe2f7; }
.page-doc .band-ink .demo-line-phone { color: var(--inst-teal-bright); }
.page-doc .band-ink input[type="tel"] { background: rgba(7,17,31,.6); border: 1px solid var(--inst-line-strong); color: var(--inst-text-strong); border-radius: 8px; padding: .7rem .9rem; font-family: var(--mono); }
.page-doc .band-ink input[type="tel"]::placeholder { color: var(--inst-text-muted); }
.page-doc .band-ink input[type="tel"]:focus-visible { outline: 2px solid var(--inst-teal); outline-offset: 2px; }
.page-doc .band-ink .cta-button { background: var(--inst-teal); color: #06222b; border: 0; }
.page-doc .band-ink .cta-button:hover { background: var(--inst-teal-bright); }
.page-doc .band-ink .nhid-demo-turn { color: var(--inst-text); }
.page-doc .band-ink .disclaimer-small { color: var(--inst-text-muted); border-top-color: var(--inst-line); margin-top: 1.5rem; }
.page-doc .band-ink .disclaimer-small a { color: var(--inst-cobalt); }

/* Steps that carry a console */
.page-doc .steps > li > pre { margin-top: .6rem; }
.page-doc .steps > li > p + p { margin-top: .4rem; }
.page-doc .act-body > h3 .sub-index { color: var(--teal); }

/* ── Developers: readout frame, interoperability cases ─────────────────────── */
.page-doc .readout-frame { border: 1px solid var(--inst-line); border-radius: 12px; overflow: hidden; background: var(--inst-ink-2); box-shadow: var(--soft-shadow); margin-top: 1rem; }
.page-doc .readout-frame iframe { display: block; width: 100%; border: 0; }
.page-doc .case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.page-doc .case { min-width: 0; }
.page-doc .case > h3 { margin-top: 0; }
.page-doc .case > p { font-size: .92rem; }
.page-doc .case-result { margin-top: .9rem; font-size: .9rem; display: flex; flex-wrap: wrap; gap: .5rem .7rem; align-items: baseline; }
.page-doc .band-ink .state-chip.is-red { border-color: var(--inst-red); color: var(--inst-red); }
@media (max-width: 1000px) { .page-doc .case-grid { grid-template-columns: 1fr; } }
.page-doc .band-ink .console-bar { background: rgba(7,17,31,.75); }
.page-doc .band-ink pre { background: rgba(7,17,31,.75); }
.page-doc .ledger-list .ledger-meta code { background: var(--mist); border: 1px solid var(--line); padding: .08em .4em; border-radius: 4px; font-size: .78rem; color: var(--ink); overflow-wrap: anywhere; }
.page-doc .ledger-list h3 .state-chip { margin-left: .5rem; vertical-align: .15em; font-size: .62rem; }
.page-doc .module-grid { margin-top: 1rem; }
.page-doc .module-card { border-radius: 14px; box-shadow: var(--soft-shadow); }
.page-doc .module-card .module-num { font-family: var(--mono); letter-spacing: .12em; color: var(--teal); }

/* ── Evidence pack: trace highlight, scorecard, console panel ──────────────── */
.page-doc pre .trace-violation { display: block; background: rgba(255,170,164,.08); border-left: 2px solid var(--inst-red); border-right: 2px solid var(--inst-red); padding: .1rem .5rem; margin: 0 -.5rem; }
.page-doc .register .row-name { font-weight: 500; color: var(--ink-soft); margin-left: .35rem; }
.page-doc .sc-wrap { border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--soft-shadow); margin-top: 1rem; }
.page-doc .scorecard-table { border: 0; }
.page-doc .scorecard-table caption { padding: .9rem 1rem .5rem; text-align: left; font-size: .85rem; color: var(--body); }
.page-doc .scorecard-table thead th { font-family: var(--mono); font-weight: 500; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--body); background: var(--mist); }
.page-doc .console-panel { border-radius: 14px; overflow: hidden; border: 1px solid var(--inst-line); background: var(--inst-ink-2); box-shadow: var(--soft-shadow); margin-top: 1rem; }
.page-doc .console-panel .console-bar { margin: 0; border: 0; border-bottom: 1px solid var(--inst-line); border-radius: 0; background: var(--inst-ink); justify-content: flex-start; }
.page-doc .console-panel .console-title { color: #cfe2f7; text-transform: none; letter-spacing: 0; margin-left: .5rem; }
.page-doc .console-panel .mock-dot { background: var(--inst-line-strong); }
.page-doc .console-panel .console-body { color: var(--inst-text); }
.page-doc .console-panel .console-line { border-bottom-color: var(--inst-line); }
.page-doc .console-panel .console-line .k { color: #cfe2f7; }
.page-doc .console-panel .console-line .v.pass { color: var(--inst-teal-bright); }
.page-doc .console-panel .console-verdict strong { color: var(--inst-text-strong); }
.page-doc .console-panel .console-verdict { border-bottom-color: var(--inst-line); }
.page-doc .console-panel .console-pill { background: rgba(85,217,203,.12); color: var(--inst-teal-bright); border: 1px solid var(--inst-teal); }
.page-doc .console-panel .console-note { color: var(--inst-text-muted); }

/* ── Check strip (ordered checks in a hero card) ───────────────────────────── */
.page-doc .check-strip { list-style: none; padding: 0; }
.page-doc .check-strip .verb { color: var(--inst-teal-bright); }
.page-doc .maturity { vertical-align: .1em; }
.page-doc .register .maturity { font-size: .62rem; }
