/* 5500RADAR — the question-led plan record.
 * Homepage only. Shared audit rules and interior shells remain separate.
 */
@font-face {
  font-family: Archivo;
  src: url('/assets/fonts/archivo-var.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  color-scheme: light;
  --paper: #fcfdfc;
  --canvas: #f2f3ef;
  --mineral: #e5eae7;
  --ink: #15262c;
  --ink-muted: #53666b;
  --rule: #bbc8c7;
  --field-line: #6b7f80;
  --action: #0e7e9b;
  --instrument: #0b6e83;
  --gutter: clamp(20px, 4vw, 64px);
  --nav-height: 80px;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  font-family: Archivo, Arial, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-height) + 24px); }
body { margin: 0; min-width: 0; background: var(--paper); color: var(--ink); font-size: 16px; line-height: 1.55; }
body.nav-locked { overflow: hidden; }
[hidden] { display: none !important; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
button, summary { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
button, a, summary, input, select, textarea { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--instrument); outline-offset: 4px; }
h1, h2, h3, h4, p, figure, dl { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
h1, h2 { font-weight: 620; letter-spacing: -.04em; }
h2 { font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.12; }
h3 { font-weight: 630; letter-spacing: -.02em; line-height: 1.25; }
p { text-wrap: pretty; }
button:disabled { cursor: default; opacity: .68; }
.shell, .shell-wide { width: min(1280px, calc(100% - var(--gutter) - var(--gutter))); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip { position: fixed; z-index: 100; top: 12px; left: 16px; padding: 12px 20px; background: var(--ink); color: var(--paper); transform: translateY(-180%); }
.skip:focus { transform: translateY(0); }
.text-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--instrument); font-weight: 620; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 14px; min-height: 52px; padding: 13px 22px; border: 1px solid transparent; border-radius: 2px; font-weight: 620; line-height: 1.35; text-align: center; text-decoration: none; transition: background-color 180ms ease, border-color 180ms ease; }
.button-primary, .button-dark { background: var(--action); color: var(--paper); }
.button-primary:hover, .button-dark:hover { background: var(--instrument); }
.button-outline { border-color: var(--field-line); background: transparent; color: var(--ink); }
.button-outline:hover { background: var(--canvas); border-color: var(--ink); }
.eyebrow { color: var(--instrument); font-size: 14px; font-weight: 620; }

/* Navigation: same destinations and lifecycle as the existing site. */
.nav-sentinel { position: absolute; top: 18px; width: 1px; height: 1px; pointer-events: none; }
.nav { position: sticky; z-index: 30; top: 0; min-height: var(--nav-height); background: var(--paper); border-bottom: 1px solid var(--rule); }
.nav.is-scrolled { box-shadow: 0 4px 18px rgba(21, 38, 44, .06); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--nav-height); }
.brand { display: inline-flex; align-items: center; flex: none; gap: 9px; text-decoration: none; }
.brand img { width: 209px; height: 45px; }
.radar-dot { width: 5px; height: 5px; flex: none; border-radius: 50%; background: var(--action); }
.nav-links { display: flex; align-items: center; gap: clamp(14px, 1.5vw, 23px); }
.nav-links a, .login { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; text-decoration: none; }
.nav-links a:hover, .login:hover { color: var(--instrument); }
.nav-actions { display: flex; align-items: center; gap: 20px; }
.nav-actions .button { min-height: 44px; padding: 10px 16px; font-size: 14px; }
.mobile-nav-only, .menu { display: none; }
.nav-links .mobile-nav-only { display: none; }
.menu { position: relative; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--field-line); border-radius: 2px; background: transparent; }
.menu span { position: absolute; width: 20px; height: 1px; background: var(--ink); transition: transform 180ms var(--ease-out); }
.menu span:first-child { transform: translateY(-4px); }
.menu span:last-child { transform: translateY(4px); }
.nav.is-open .menu span:first-child { transform: rotate(45deg); }
.nav.is-open .menu span:last-child { transform: rotate(-45deg); }

/* Opening: a compact CPA proposition beside the local synthetic search. */
.hero { position: relative; isolation: isolate; padding: 18px 0 22px; border-bottom: 1px solid var(--rule); }
.hero::before { content: ''; position: absolute; z-index: -1; inset: 0 0 0 42%; background: var(--canvas); }
.hero-grid { display: grid; grid-template-columns: minmax(350px, .72fr) minmax(0, 1fr); gap: clamp(34px, 3.5vw, 52px); align-items: center; }
.hero-copy { min-width: 0; }
.hero-copy h1 { max-width: 100%; margin-top: 18px; font-size: clamp(2.7rem, 4.3vw, 3.7rem); line-height: 1.02; }
.hero-copy h1 span { display: block; white-space: nowrap; }
.hero-lede { max-width: 43ch; margin-top: 22px; color: var(--ink-muted); font-size: clamp(17px, 1.3vw, 19px); line-height: 1.58; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 22px; margin-top: 22px; }
.hero-note { margin-top: 12px; color: var(--ink-muted); font-size: 13px; }
.hero-footnote { margin-top: 12px; color: var(--ink-muted); font-size: 13px; text-align: right; }
/* The signature object: one synthetic plan traced from filing to source to action. */
.evidence-trace { min-width: 0; overflow: hidden; border: 1px solid var(--rule); border-radius: 3px; background: var(--paper); box-shadow: 0 14px 40px rgba(21, 38, 44, .1), 0 2px 5px rgba(21, 38, 44, .04); }
.trace-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 16px; min-height: 38px; padding: 7px 16px; border-bottom: 1px solid var(--rule); background: var(--mineral); font-size: 13px; }
.trace-header strong { font-weight: 650; }
.trace-header span { color: var(--ink-muted); }
.synthetic-search { padding: 9px 16px 7px; border-bottom: 1px solid var(--rule); background: var(--paper); }
.synthetic-search > label { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 650; }
.synthetic-search-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.synthetic-search-control input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 12px; border: 1px solid var(--field-line); border-right: 0; border-radius: 2px 0 0 2px; background: var(--paper); color: var(--ink); font-size: 16px; }
.synthetic-search-control input::placeholder { color: var(--ink-muted); opacity: 1; }
.synthetic-search-control input[aria-invalid='true'] { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.synthetic-search-control button { min-height: 44px; padding: 9px 16px; border: 1px solid var(--action); border-radius: 0 2px 2px 0; background: var(--action); color: var(--paper); font-size: 13px; font-weight: 650; }
.synthetic-search-control button:hover { background: var(--instrument); }
.synthetic-suggestions { display: flex; flex-wrap: wrap; align-items: center; gap: 0 14px; margin-top: 1px; }
.synthetic-suggestions > span { color: var(--ink-muted); font-size: 13px; }
.synthetic-suggestions button { min-height: 44px; padding: 6px 0; border: 0; background: transparent; color: var(--instrument); font-size: 13px; text-decoration: underline; text-underline-offset: .2em; }
.synthetic-suggestions button:hover { color: var(--ink); }
.synthetic-search-status { min-height: 0; color: var(--instrument); font-size: 13px; line-height: 1.35; }
.synthetic-search-status:not(:empty) { margin-top: 2px; }
.synthetic-search-status[data-status='error'] { color: var(--ink); font-weight: 600; }

/* A failed local sample search must never leave the prior result looking like
   an answer to the unsupported query. The search and recovery choices remain
   visible while the stale evidence surface is removed from reading order. */
[data-evidence-trace][data-synthetic-search-state='invalid'] > .trace-signal,
[data-evidence-trace][data-synthetic-search-state='invalid'] > .trace-workspace,
[data-evidence-trace][data-synthetic-search-state='invalid'] > .trace-action,
[data-evidence-trace][data-synthetic-search-state='invalid'] > .trace-disclosure {
  display: none;
}
.synthetic-search-disclosure { color: var(--ink-muted); font-size: 13px; line-height: 1.35; }
.trace-signal { padding: 9px 16px 8px; border-bottom: 1px solid var(--rule); }
.trace-signal:focus-visible { outline-offset: -4px; }
.trace-signal-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.trace-signal-head > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 9px; }
.trace-signal-head span { color: var(--instrument); font-size: 13px; font-weight: 650; }
.trace-signal-head h2 { margin-top: 2px; font-size: 18px; letter-spacing: -.025em; line-height: 1.2; }
.trace-signal-head > strong { flex: none; color: var(--instrument); font-size: 13px; }
.trace-signal-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 7px; }
.trace-signal-facts > div { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 8px; min-width: 0; padding-right: 10px; border-right: 1px solid var(--rule); }
.trace-signal-facts > div:last-child { padding-right: 0; border: 0; }
.trace-signal-facts dt { grid-column: 2; grid-row: 1; color: var(--ink-muted); font-size: 13px; line-height: 1.3; }
.trace-signal-value { grid-column: 1; grid-row: 1 / span 2; align-self: center; margin: 0; color: var(--instrument); font-size: 18px; font-weight: 650; letter-spacing: -.025em; line-height: 1.2; }
.trace-signal-source { grid-column: 2; grid-row: 2; margin: 1px 0 0; color: var(--ink-muted); font-size: 13px; line-height: 1.3; }
.trace-derivation { margin-top: 7px; padding-top: 6px; border-top: 1px solid var(--rule); color: var(--ink-muted); font-size: 13px; line-height: 1.38; }
.trace-derivation span { margin-right: 6px; color: var(--instrument); font-weight: 650; }
.trace-derivation strong { color: var(--ink); font-weight: 620; }
.trace-workspace { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); min-height: 196px; border-bottom: 1px solid var(--rule); }
.trace-source { min-width: 0; padding: 12px 16px 10px; border-right: 1px solid var(--rule); animation: trace-arrives 260ms var(--ease-out) both; }
.trace-source header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 3px 12px; padding-bottom: 9px; border-bottom: 1px solid var(--rule); color: var(--ink-muted); font-size: 13px; }
.trace-source header small { font-size: 13px; }
.trace-source h3 { margin-top: 9px; font-size: 17px; }
.trace-excerpt { max-width: 52ch; margin-top: 5px; font-family: Georgia, 'Times New Roman', serif; font-size: 14px; line-height: 1.45; }
.trace-structured { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 8px; padding: 6px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); font-size: 13px; }
.trace-structured span { color: var(--ink-muted); }
.trace-structured strong { color: var(--instrument); text-align: right; }
.trace-boundary { margin-top: 6px; color: var(--ink-muted); font-size: 13px; line-height: 1.38; }
.trace-register { min-width: 0; margin: 0; padding: 0; border: 0; }
.trace-register legend { width: 100%; padding: 9px 12px; border-bottom: 1px solid var(--rule); color: var(--ink-muted); font-size: 13px; }
.trace-register label { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 9px; min-height: 54px; padding: 7px 12px; border-bottom: 1px solid var(--rule); cursor: pointer; transition: background-color 160ms ease, box-shadow 160ms ease; }
.trace-register label:last-child { border-bottom: 0; }
.trace-register label:hover { background: var(--canvas); }
.trace-register label:has(input:checked) { background: var(--mineral); box-shadow: inset 0 0 0 1px var(--instrument); }
.trace-register input { width: 17px; height: 17px; margin: 3px 0 0; accent-color: var(--action); }
.trace-register label > span { min-width: 0; }
.trace-register strong, .trace-register b { display: inline; font-size: 13px; }
.trace-register small { display: block; }
.trace-register strong { font-weight: 600; }
.trace-register b { margin-left: 5px; color: var(--instrument); font-weight: 650; }
.trace-register small { margin-top: 2px; color: var(--ink-muted); font-size: 13px; line-height: 1.35; }
.trace-static { display: grid; gap: 5px; padding: 14px; color: var(--ink-muted); font-size: 13px; }
.trace-static strong { color: var(--ink); }
.trace-static a { color: var(--instrument); }
.trace-action { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; align-items: center; padding: 9px 16px; }
.trace-action > div:first-child span, .trace-action > div:first-child strong { display: block; }
.trace-action > div:first-child span { color: var(--instrument); font-size: 13px; font-weight: 650; }
.trace-action > div:first-child strong { max-width: 64ch; margin-top: 1px; font-size: 13px; font-weight: 580; line-height: 1.38; }
.trace-action .button { min-height: 44px; padding: 9px 14px; font-size: 13px; }
.trace-saved { display: flex; flex-wrap: wrap; gap: 2px 5px; color: var(--ink-muted); font-size: 13px; }
.trace-saved strong { color: var(--instrument); }
.trace-reset { justify-self: end; min-height: 44px; padding: 2px 0; border: 0; background: transparent; color: var(--instrument); font-size: 13px; text-decoration: underline; text-underline-offset: .2em; }
[data-evidence-trace]:not([data-trace-enhanced]) [data-trace-save],
[data-evidence-trace]:not([data-trace-enhanced]) [data-trace-reset] { display: none; }
.trace-disclosure { padding: 6px 16px; border-top: 1px solid var(--rule); color: var(--ink-muted); font-size: 13px; line-height: 1.35; }
@keyframes trace-arrives {
  from { opacity: .82; transform: translateY(3px); clip-path: inset(0 0 3% 0); }
  to { opacity: 1; transform: translateY(0); clip-path: inset(0); }
}

/* The full causal chain is in the hero; this section names the three handoffs. */
.evidence-section { padding: 72px 0 58px; }
.section-heading { margin-bottom: 36px; }
.section-heading > p { max-width: 65ch; margin-top: 14px; color: var(--ink-muted); font-size: 18px; }
.trace-method-heading h2 { max-width: 23ch; }
.trace-method { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.trace-method article { min-width: 0; padding: 28px 30px 30px 0; }
.trace-method article + article { padding-left: 30px; border-left: 1px solid var(--rule); }
.trace-method h3 { font-size: 22px; }
.trace-method dl { display: grid; gap: 14px; margin-top: 16px; }
.trace-method dl > div { display: grid; gap: 2px; }
.trace-method dt { color: var(--instrument); font-size: 13px; font-weight: 650; }
.trace-method dd { margin: 0; color: var(--ink-muted); font-size: 15px; line-height: 1.55; }
.evidence-links { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.evidence-section .evidence-links { margin-top: 18px; }
.section-boundary { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--rule); color: var(--ink-muted); font-size: 14px; }
.section-boundary strong { color: var(--ink); font-weight: 600; }
.audience-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; margin-top: 14px; font-size: 14px; }
.audience-links span { color: var(--ink-muted); }
.audience-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--instrument); text-decoration: none; }
.audience-links a:hover { text-decoration: underline; }

/* Dated coverage, never an invented live counter or a quality score. */
.coverage-section { padding: 46px 0 30px; background: var(--mineral); }
.coverage-grid { display: grid; grid-template-columns: minmax(240px, .6fr) minmax(0, 1.4fr); gap: 42px; align-items: start; }
.coverage-copy h2 { max-width: 18ch; font-size: clamp(2rem, 3.15vw, 2.75rem); }
.coverage-copy p { max-width: 42ch; margin-top: 16px; color: var(--ink-muted); }
.coverage-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; font-variant-numeric: tabular-nums; }
.coverage-metrics > div { min-width: 0; padding-inline: 16px; border-left: 1px solid var(--rule); }
.coverage-metrics > div:first-child { padding-left: 0; border-left: 0; }
.coverage-metrics > div:last-child { padding-right: 0; }
.coverage-metrics dt { color: var(--instrument); font-size: clamp(1.8rem, 2.8vw, 2.65rem); font-weight: 600; letter-spacing: -.04em; line-height: 1.2; }
.coverage-metrics dd { margin: 8px 0 0; font-size: 14px; line-height: 1.45; }
.coverage-metrics small { display: block; color: var(--ink-muted); font-size: 13px; }
.coverage-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-top: 38px; padding-top: 20px; border-top: 1px solid var(--rule); font-size: 14px; }
.coverage-note p { color: var(--ink-muted); }
.trust-links { display: flex; flex-wrap: wrap; gap: 4px 30px; margin-top: 12px; }
.trust-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); font-size: 14px; text-decoration: none; }
.trust-links a:hover { color: var(--instrument); text-decoration: underline; }

/* Practical tools and real published writing. */
.resources-section { padding: 88px 0; }
.resources-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.resources-heading p { margin-top: 14px; color: var(--ink-muted); font-size: 18px; }
.resources-heading .text-link { flex: none; }
.audit-drawer { margin-top: 32px; border: 1px solid var(--rule); background: var(--canvas); }
.audit-drawer > summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 112px; padding: 24px 28px; cursor: pointer; list-style: none; }
.audit-drawer > summary::-webkit-details-marker { display: none; }
.audit-drawer > summary::marker { content: ''; }
.audit-drawer > summary:hover { background: var(--mineral); }
.audit-drawer > summary:focus-visible { outline-offset: 5px; }
.audit-drawer > summary strong { display: block; font-size: 23px; font-weight: 620; letter-spacing: -.02em; }
.audit-drawer > summary small { display: block; margin-top: 4px; color: var(--ink-muted); font-size: 15px; }
.audit-drawer-action { display: inline-flex; align-items: center; justify-content: center; flex: none; gap: 20px; min-height: 48px; padding: 12px 18px; border-radius: 2px; background: var(--action); color: var(--paper); font-size: 15px; font-weight: 620; }
.audit-drawer .when-open { display: none; }
.audit-drawer[open] .when-closed { display: none; }
.audit-drawer[open] .when-open { display: inline; }
.article-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; margin-top: 36px; }
.article-image { display: block; background: var(--mineral); }
.article-image img { width: 100%; aspect-ratio: 1672 / 941; object-fit: cover; }
.article-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 13px; color: var(--ink-muted); font-size: 14px; }
.article-meta a { color: var(--instrument); text-decoration: none; }
.article-meta a:hover { text-decoration: underline; }
.article-feature h3 { max-width: 27ch; font-size: clamp(1.65rem, 2.3vw, 2rem); }
.article-feature h3 a, .article-list h3 a { text-decoration: none; }
.article-feature h3 a:hover, .article-list h3 a:hover { color: var(--instrument); text-decoration: underline; }
.article-feature p { max-width: 52ch; margin-top: 14px; color: var(--ink-muted); }
.article-feature .text-link { margin-top: 10px; }
.article-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px; margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--rule); }
.article-list article + article { padding-left: 38px; border-left: 1px solid var(--rule); }
.article-list h3 { font-size: 22px; }
.article-list p { margin-top: 12px; color: var(--ink-muted); font-size: 15px; }
.article-list .text-link { margin-top: 10px; font-size: 15px; }

/* Corrected shared audit form: grouped fields and wrapping answer controls. */
.audit-checker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; min-width: 0; padding: 32px; border-top: 1px solid var(--rule); background: var(--paper); }
.audit-checker > h3, .audit-checker-head, .audit-intro, .audit-plan-type, .audit-plan-stage, .audit-waiver-set, .audit-result, .audit-cta, .audit-authority, .audit-checker > noscript { grid-column: 1 / -1; }
.audit-checker-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 20px; padding-bottom: 16px; border-bottom: 1px solid var(--rule); font-size: 14px; }
.audit-checker-head span { color: var(--instrument); font-weight: 650; }
.audit-checker-head small { color: var(--ink-muted); font-size: 14px; }
.audit-checker > h3 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.audit-intro { margin-top: -12px; color: var(--ink-muted); font-size: 16px; }
.audit-section .audit-plan-type, .audit-plan-stage { min-width: 0; margin: 0; padding: 0; border: 0; }
.audit-section .audit-plan-type legend, .audit-plan-stage legend { margin-bottom: 10px; padding: 0; color: var(--ink); font-size: 14px; font-weight: 650; letter-spacing: normal; text-transform: none; }
.audit-section .audit-plan-type div, .audit-plan-stage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.audit-plan-stage legend { grid-column: 1 / -1; }
.audit-section .audit-plan-type label, .audit-plan-stage label { display: flex; align-items: center; gap: 11px; min-height: 54px; padding: 13px 15px; border: 1px solid var(--field-line); border-radius: 2px; background: transparent; font-size: 14px; line-height: 1.5; cursor: pointer; }
.audit-plan-stage input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--action); }
.audit-plan-stage label:has(input:checked) { border-color: var(--action); box-shadow: inset 0 0 0 1px var(--action); }
.audit-plan-stage label:hover { background: var(--canvas); }
.audit-field { display: grid; gap: 8px; min-width: 0; margin: 0; }
.audit-field > span { color: var(--ink); font-size: 14px; font-weight: 620; line-height: 1.4; }
.audit-field input, .audit-field select { width: 100%; min-width: 0; height: 52px; padding: 0 15px; border: 1px solid var(--field-line); border-radius: 2px; background: var(--paper); color: var(--ink); font-size: 16px; }
.audit-field input::placeholder { color: var(--ink-muted); opacity: 1; }
.audit-field input:hover, .audit-field select:hover { border-color: var(--instrument); }
.audit-field input[aria-invalid='true'], .audit-field select[aria-invalid='true'] { border-color: var(--ink); outline: 2px solid var(--ink); }
.audit-field-note { margin: 0; color: var(--ink-muted); font-size: 14px; line-height: 1.55; }
.audit-inputs {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto auto auto;
  gap: 8px 22px;
  min-width: 0;
}
.audit-count-field, .audit-inputs .audit-fields {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  min-width: 0;
  align-self: stretch;
}
.audit-inputs .audit-fields { grid-column: 2; }
.audit-count-field > .audit-field, .audit-inputs .audit-fields > .audit-field {
  grid-row: span 2;
  grid-template-rows: subgrid;
  align-self: stretch;
}
.audit-inputs .audit-field > span { align-self: end; }
.audit-section .audit-waiver-set { display: block; min-width: 0; margin: 0; padding: 22px; border: 1px solid var(--rule); border-radius: 2px; }
.audit-section .audit-waiver-heading { margin: 0 0 8px; color: var(--ink); font-size: 16px; letter-spacing: normal; text-transform: none; line-height: 1.4; }
.audit-section .audit-waiver-intro { max-width: 72ch; margin: 0 0 24px; color: var(--ink-muted); font-size: 14px; line-height: 1.6; }
.audit-section .audit-waiver-question { padding: 0; border: 0; }
.audit-section .audit-waiver-question + .audit-waiver-question { margin-top: 24px; }
.audit-section .audit-waiver-question legend { max-width: 72ch; }
.audit-section .audit-waiver-question legend span { font-size: 14px; }
.audit-section .audit-answer-options { display: flex; flex-wrap: wrap; gap: 8px; max-width: 24rem; }
.audit-section .audit-answer-options label { flex: 1 1 6rem; min-height: 48px; padding: 10px 12px; border-color: var(--field-line); }
.audit-submit { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; padding: 14px 20px; border: 1px solid var(--action); border-radius: 2px; background: var(--action); color: var(--paper); font-weight: 650; }
.audit-submit:hover { background: var(--instrument); }
.audit-status { align-self: center; color: var(--ink-muted); font-size: 14px; }
.audit-result { padding: 22px; border: 1px solid var(--instrument); background: var(--canvas); }
.audit-result-label { display: block; margin-bottom: 8px; color: var(--instrument); font-size: 14px; font-weight: 620; }
.audit-result > strong { display: block; font-size: 23px; line-height: 1.3; }
.audit-result > p { max-width: 72ch; margin-top: 10px; font-size: 15px; }
.audit-section .audit-cta { margin: 0; padding: 20px; }
.audit-section .audit-cta a { border-radius: 2px; }
.audit-authority, .audit-noscript { padding-top: 20px; border-top: 1px solid var(--rule); color: var(--ink-muted); font-size: 13px; line-height: 1.7; }
.audit-authority a, .audit-noscript a { color: var(--instrument); }

/* Honest invitation; the existing backend contract stays intact. */
.contact-section { padding: 72px 0; background: var(--mineral); }
.contact-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
.contact-copy { padding-top: 26px; }
.contact-copy h2 { max-width: 18ch; font-size: clamp(2.1rem, 3.7vw, 3.25rem); }
.contact-lede { max-width: 38ch; margin-top: 22px; font-size: 18px; line-height: 1.65; }
.contact-expectations { display: grid; gap: 18px; margin-top: 30px; }
.contact-expectations p { display: flex; gap: 12px; color: var(--ink-muted); font-size: 15px; }
.contact-expectations svg { flex: none; width: 20px; height: 20px; margin-top: 2px; color: var(--instrument); }
.partner-note { max-width: 42ch; margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--rule); }
.partner-note p { color: var(--ink-muted); font-size: 15px; }
.partner-note .text-link { margin-top: 8px; font-size: 15px; }
.access-form { position: relative; min-width: 0; }
.access-form-inner { display: grid; gap: 18px; }
.access-form-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 18px; }
.access-form-head strong { font-size: 26px; font-weight: 630; letter-spacing: -.025em; }
.access-form-head > span { color: var(--ink-muted); font-size: 13px; }
.access-fields-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.access-form label { display: grid; gap: 7px; min-width: 0; }
.access-form label > span { font-size: 14px; font-weight: 550; }
.access-form input, .access-form select, .access-form textarea { width: 100%; min-width: 0; min-height: 50px; padding: 12px 14px; border: 1px solid var(--field-line); border-radius: 2px; background: var(--paper); color: var(--ink); font-size: 16px; }
.access-form textarea { min-height: 110px; resize: vertical; }
.access-form input::placeholder, .access-form textarea::placeholder { color: var(--ink-muted); opacity: 1; }
.access-form input:hover, .access-form select:hover, .access-form textarea:hover { border-color: var(--instrument); }
.access-form .form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.access-submit { display: flex; align-items: center; justify-content: center; gap: 18px; width: 100%; min-height: 52px; padding: 14px 20px; border: 1px solid var(--action); border-radius: 2px; background: var(--action); color: var(--paper); font-weight: 650; }
.access-submit:hover:not(:disabled) { background: var(--instrument); }
.access-privacy { margin-top: -3px; color: var(--ink-muted); font-size: 13px; line-height: 1.65; }
.access-privacy a, .access-email a { color: var(--instrument); }
.access-email { margin-top: -6px; font-size: 14px; overflow-wrap: anywhere; }
.form-status { padding: 16px; border: 1px solid var(--instrument); background: var(--paper); color: var(--ink); font-size: 15px; }
.form-status.is-error { border-color: var(--ink); }

.site-footer { padding: 42px 0 28px; border-top: 1px solid var(--rule); }
.footer-main { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 36px; align-items: start; }
.footer-main > nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 24px; }
.footer-main > nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink-muted); font-size: 14px; text-decoration: none; }
.footer-main > nav a:hover { color: var(--instrument); text-decoration: underline; }
.footer-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 40px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--rule); color: var(--ink-muted); font-size: 13px; }
.footer-bottom > p { grid-column: 1 / -1; max-width: 105ch; line-height: 1.7; }
.footer-bottom nav { display: flex; flex-wrap: wrap; gap: 2px 24px; }
.footer-bottom nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.footer-bottom nav a:hover { color: var(--instrument); text-decoration: underline; }
.footer-bottom > span { align-self: center; }

@media (max-width: 1120px) {
  .js .menu { display: flex; }
  .nav-inner { gap: 20px; }
  .js .nav-links { position: fixed; top: var(--nav-height); right: 0; bottom: 0; left: 0; display: none; align-items: stretch; gap: 0; overflow-y: auto; padding: 20px var(--gutter) 40px; background: var(--paper); }
  .js .nav.is-open .nav-links { display: flex; flex-direction: column; }
  .js .nav-links a { min-height: 55px; padding: 12px 0; border-bottom: 1px solid var(--rule); font-size: 20px; }
  .nav-links .mobile-nav-only { display: flex; }
  .nav-links .mobile-nav-cta { margin-top: 16px; padding: 12px 20px; background: var(--action); color: var(--paper); }
  html:not(.js) .nav { position: static; }
  html:not(.js) .nav-inner { flex-wrap: wrap; padding-block: 12px; }
  html:not(.js) .nav-links { order: 3; width: 100%; flex-wrap: wrap; }
  .hero-grid { gap: 30px; }
  .hero-copy h1 { font-size: clamp(2.4rem, 4.65vw, 3.5rem); }
  .hero-actions { gap: 8px 16px; }
  .hero-actions .button { padding-inline: 18px; }
  .trace-action { grid-template-columns: minmax(0, 1fr) 150px; }
  .coverage-grid { gap: 30px; }
  .coverage-metrics { gap: 20px; }
  .coverage-metrics > div + div { padding-left: 20px; }
}
@media (max-width: 980px) {
  .hero::before { display: none; }
  .hero { padding-top: 42px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .hero-copy { max-width: 690px; }
  .hero-copy h1 { max-width: 16ch; font-size: clamp(2.65rem, 6vw, 3.5rem); }
  .hero-lede { max-width: 53ch; }
  .hero-actions { margin-top: 24px; }
  .evidence-trace { width: 100%; max-width: 760px; }
  .hero-footnote { max-width: 760px; text-align: left; }
  .trace-method { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trace-method article { padding-right: 20px; }
  .trace-method article + article { padding-left: 20px; }
  .coverage-grid { grid-template-columns: minmax(0, 1fr); }
  .coverage-copy h2 { max-width: 30ch; }
  .coverage-copy p { max-width: 60ch; }
  .coverage-metrics { max-width: none; margin-top: 4px; }
  .coverage-metrics dt { font-size: clamp(1.8rem, 5vw, 2.75rem); }
  .article-feature { gap: 28px; }
  .contact-grid { gap: 34px; }
  .access-fields-two { grid-template-columns: minmax(0, 1fr); }
  .footer-main { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .footer-main > nav { justify-content: flex-start; }
}
@media (max-width: 760px) {
  :root { --nav-height: 72px; }
  .brand img { width: 190px; height: auto; }
  .nav-actions { gap: 12px; }
  .hero { padding: 36px 0 40px; }
  .hero-copy h1 { margin-top: 16px; }
  .hero-lede { margin-top: 20px; font-size: 17px; }
  .hero-note { margin-top: 17px; }
  .hero-footnote { margin-top: 22px; }
  .evidence-section, .resources-section { padding: 56px 0; }
  .section-heading { margin-bottom: 26px; }
  .section-heading > p, .resources-heading p { font-size: 17px; }
  .trace-workspace { grid-template-columns: minmax(0, 1fr); }
  .trace-source { min-height: 210px; border-right: 0; border-bottom: 1px solid var(--rule); }
  .trace-register label { min-height: 62px; }
  .trace-action { grid-template-columns: minmax(0, 1fr); }
  .trace-action .button { width: 100%; }
  .trace-saved { grid-column: 1; }
  .trace-reset { grid-column: 1; justify-self: start; min-height: 44px; }
  .trace-method { grid-template-columns: minmax(0, 1fr); }
  .trace-method article { padding: 22px 0; }
  .trace-method article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule); }
  .section-boundary { line-height: 1.7; }
  .audience-links { gap: 2px 20px; }
  .audience-links > span { flex-basis: 100%; }
  .coverage-section { padding: 42px 0 26px; }
  .coverage-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coverage-metrics > div { padding: 18px; border-left: 1px solid var(--rule); border-top: 1px solid var(--rule); }
  .coverage-metrics > div:nth-child(-n + 2) { padding-top: 0; border-top: 0; }
  .coverage-metrics > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .coverage-metrics > div:nth-child(even) { padding-right: 0; }
  .coverage-metrics dt { font-size: clamp(1.75rem, 8vw, 3rem); }
  .coverage-metrics dd { font-size: 15px; }
  .coverage-metrics small { margin-top: 3px; }
  .coverage-note { margin-top: 28px; }
  .coverage-note .text-link { min-height: 44px; }
  .resources-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .audit-drawer { margin-top: 24px; }
  .audit-drawer > summary { align-items: flex-start; flex-direction: column; gap: 18px; padding: 22px; }
  .audit-drawer > summary strong { font-size: 21px; }
  .audit-drawer-action { min-height: 46px; padding: 10px 16px; font-size: 14px; }
  .audit-checker { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 24px; }
  .audit-section .audit-plan-type div, .audit-plan-stage { grid-template-columns: minmax(0, 1fr); }
  .audit-inputs { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: 22px; }
  .audit-count-field, .audit-inputs .audit-fields, .audit-count-field > .audit-field, .audit-inputs .audit-fields > .audit-field {
    grid-column: 1;
    grid-row: auto;
    grid-template-rows: none;
  }
  .audit-count-field { gap: 9px; }
  .audit-section .audit-waiver-set { padding: 18px; }
  .audit-status { grid-column: 1 / -1; }
  .article-feature { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 28px; }
  .article-feature h3 { max-width: 30ch; font-size: 27px; }
  .article-list { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 26px; }
  .article-list article + article { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--rule); }
  .contact-section { padding: 50px 0; }
  .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .contact-copy { padding-top: 0; }
  .contact-copy h2 { max-width: 24ch; }
  .contact-lede { max-width: 50ch; margin-top: 18px; }
  .contact-expectations { gap: 12px; margin-top: 24px; }
  .partner-note { max-width: 55ch; margin-top: 24px; padding-top: 20px; }
  .access-fields-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer { padding-top: 30px; }
  .footer-main > nav { gap: 3px 20px; }
  .footer-bottom { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 20px; }
}
@media (max-width: 500px) {
  .nav-actions > .login, .nav-actions > .button { display: none; }
  .brand img { width: 184px; }
  .hero-copy h1 { max-width: 100%; font-size: clamp(2.05rem, 8.8vw, 2.65rem); }
  .eyebrow { max-width: 28ch; line-height: 1.5; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .text-link { justify-content: center; }
  .trace-header { align-items: flex-start; flex-direction: column; padding: 10px 14px; }
  .synthetic-search { padding-inline: 14px; }
  .synthetic-search-control button { padding-inline: 12px; }
  .synthetic-suggestions { gap-inline: 12px; }
  .trace-signal { padding-inline: 14px; }
  .trace-signal-head h2 { max-width: 20ch; font-size: 18px; }
  .trace-signal-facts { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .trace-signal-facts > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 8px 0; border-right: 0; border-bottom: 1px solid var(--rule); }
  .trace-signal-facts > div:last-child { padding: 8px 0 0; border-bottom: 0; }
  .trace-signal-facts dt { grid-column: 1; grid-row: 1; }
  .trace-signal-value { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin: 0; font-size: 18px; }
  .trace-signal-source { grid-column: 1; grid-row: 2; margin-top: 0; }
  .trace-source { padding-inline: 14px; }
  .trace-register label { padding-inline: 14px; }
  .trace-action { padding-inline: 14px; }
  .trace-disclosure { padding-inline: 14px; }
  .trust-links { gap: 3px 22px; }
  .audit-checker { padding: 20px 14px; }
  .audit-section .audit-waiver-set { padding: 16px; }
  .audit-section .audit-answer-options label { justify-content: flex-start; }
  .access-form-head { flex-direction: column; gap: 6px; }
  .access-fields-two { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .trace-source { opacity: 1; transform: none; clip-path: none; }
}

/* Answer-first register: this replaces the second cinematic proof image with
   concise, indexable product truth. Rows stay flat and source-like rather than
   becoming a generic card grid. */
.answers {
  padding: clamp(72px, 7vw, 104px) 0;
  border-top: 1px solid rgba(244, 246, 242, .16);
  border-bottom: 1px solid rgba(244, 246, 242, .16);
  background: #071013;
  color: #f4f6f2;
}
.answers-layout {
  display: grid;
  grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
  gap: clamp(48px, 7vw, 112px);
  align-items: start;
}
.answers-head {
  position: sticky;
  top: calc(var(--nav-height) + 32px);
}
.answers-head h2 {
  max-width: 13ch;
  margin: 24px 0 0;
  color: #f4f6f2;
  font-size: clamp(2.4rem, 4.2vw, 4.1rem);
  letter-spacing: -.04em;
  line-height: .98;
}
.answers-head > p:last-child {
  max-width: 34ch;
  margin: 22px 0 0;
  color: #b8c7c8;
  font-size: 16px;
  line-height: 1.55;
}
.answers-register {
  border-top: 1px solid rgba(244, 246, 242, .5);
}
.answers-register article {
  display: grid;
  grid-template-columns: minmax(180px, .62fr) minmax(0, 1.38fr);
  gap: clamp(22px, 4vw, 56px);
  padding: 25px 0 27px;
  border-bottom: 1px solid rgba(244, 246, 242, .16);
}
.answers-register h3 {
  margin: 0;
  color: #70d7ed;
  font-size: 15px;
  font-weight: 690;
  letter-spacing: -.015em;
  line-height: 1.35;
}
.answers-register p {
  max-width: 68ch;
  margin: 0;
  color: #d0dada;
  font-size: 15px;
  line-height: 1.62;
}
.answers-links {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
  margin-top: 26px;
}
.answers-links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #f4f6f2;
  font-size: 13px;
  font-weight: 700;
  text-underline-offset: 5px;
}

.hero h1 span { white-space: normal; }
.access-form-expectation {
  max-width: 68ch;
  margin: -4px 0 2px;
  color: rgba(244, 242, 234, .66);
  font-size: 13px;
  line-height: 1.55;
}
.access-form-head strong:focus-visible {
  outline: 2px solid #70d7ed;
  outline-offset: 5px;
}
.workflow-links nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

@media (max-width: 900px) {
  .answers-layout { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .answers-head { position: static; }
  .answers-head h2 { max-width: 18ch; }
  .answers-links { grid-column: 1; margin-top: -12px; }
}

@media (max-width: 760px) {
  .answers { padding: 68px 0; }
  .answers-head h2 { font-size: clamp(2.35rem, 11vw, 3.35rem); }
  .answers-register article { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 22px 0 24px; }
  .answers-register h3 { font-size: 16px; }
  .answers-register p { font-size: 15px; }
  .answers-links { align-items: stretch; flex-direction: column; gap: 0; }
  .answers-links a { width: 100%; border-bottom: 1px solid rgba(244, 246, 242, .14); }
}
