/* IABA: navy #081f3d, blue #0B3B91, gold #FFC857, paper #F5F9FF, slate #52677f.
   Existing Montserrat / Inter. Content first: promise → explanation → map → questions.
   Direct labels + a shared 0–100 scale (Cleveland & McGill); no fabricated client data. */
[hidden] { display:none!important; }
.diagnostic-hero { max-width:940px; padding-top:24px; }
.hero-copy { max-width:860px; }
#start-screen h1 { max-width:860px; padding:0; margin:20px 0 24px; font-size:clamp(34px,4.4vw,58px); line-height:1.12; }
.brush-outline { display:none; }
.hero-copy>p { max-width:740px; font-size:18px; }
.hero-start-action { margin-left:0; max-width:530px; }
.hero-proof span { border:0; background:none; padding:0 16px 0 0; font-size:13px; }
.hero-proof span+span { border-left:1px solid #c8d5e5; padding-left:16px; }
.warmup { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:42px; margin:0 0 48px; border:1px solid #d7e1ee; border-radius:22px; background:#fff; align-items:center; }
.warmup-copy h2 { font:800 clamp(26px,3vw,36px)/1.16 var(--font-display); letter-spacing:-.035em; margin:14px 0; max-width:20ch; }
.section-eyebrow { color:#52677f; font-size:13px; font-weight:700; }
.warmup-copy p { color:#52677f; font-size:16px; line-height:1.65; }
.warmup-points { list-style:none; display:grid; gap:0; }
.warmup-points li { padding:18px 0; border-bottom:1px solid #dce5ef; }
.warmup-points li:first-child { padding-top:0; }
.warmup-points strong { display:block; font-size:17px; margin-bottom:6px; color:#081f3d; }
.warmup-points span { color:#52677f; font-size:15px; line-height:1.55; display:block; }
.warmup-action { display:inline-flex; align-items:center; gap:18px; padding:14px 0; margin-top:14px; color:#0B3B91; background:none; border:0; font:700 16px var(--font-body); cursor:pointer; min-height:48px; text-align:left; }
.warmup-action span { font-size:24px; }
.warmup-media { grid-column:1/-1; }
.warmup-media iframe,.warmup-media video { display:block; width:100%; aspect-ratio:16/9; border:0; border-radius:14px; background:#081f3d; }
.warmup-media p { color:#52677f; margin-top:12px; font-size:14px; line-height:1.5; }
.system-map-section { display:block; padding:44px; min-height:0; background:#081f3d; box-shadow:none; margin-bottom:48px; }
.system-map-section::before,.system-map-section::after { display:none; }
.system-map-copy { display:grid; grid-template-columns:1fr 1fr; column-gap:44px; max-width:none; align-items:start; }
.system-map-kicker { grid-column:1/-1; font-size:12px; text-transform:none; letter-spacing:0; }
.system-map-copy h2 { margin:16px 0; font-size:clamp(32px,3.7vw,44px); max-width:500px; }
.system-map-copy>p { padding-top:18px; color:#c6d5e7; }
.system-map-insight { grid-column:1/-1; margin:8px 0 24px; background:none; border:0; border-left:2px solid #FFC857; border-radius:0; padding:4px 0 4px 18px; }
.system-map-insight svg { display:none; }
.system-map-insight span { font-size:15px; line-height:1.6; max-width:750px; }
.system-orbit { width:100%; min-height:0; aspect-ratio:auto; }
.system-orbit::before,.system-links,.system-map-foot { display:none; }
.system-core { position:static; transform:none; width:auto; height:auto; text-align:left; display:block; border:0; border-bottom:1px solid #36516e; border-radius:0; background:none; box-shadow:none; padding:0 0 20px; margin-bottom:6px; }
.system-core::before,.system-core::after { display:none; }
.system-core small { font-size:12px; text-transform:none; letter-spacing:0; }
.system-core strong { display:inline-block; font-size:22px; margin:0 14px 0 0; }
.system-core span { display:inline; font-size:14px; max-width:none; color:#c6d5e7; }
.system-node-list { display:grid; grid-template-columns:1fr 1fr; column-gap:36px; }
.system-node { position:static; transform:none; animation:none; width:auto; min-height:116px; border:0; border-bottom:1px solid #36516e; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; padding:22px 0; gap:16px; align-items:flex-start; }
.system-node::after { display:none; }
.system-node b { flex:0 0 30px; height:30px; background:#143657; color:#FFC857; font-size:13px; border-radius:7px; }
.system-node span { font-size:18px; line-height:1.35; font-weight:700; }
.system-node em { display:block; margin-top:7px; font:400 14px/1.6 var(--font-body); color:#c6d5e7; }
.result-preview { display:grid; grid-template-columns:.75fr 1.25fr; gap:38px; padding:40px; background:#081f3d; border-radius:22px; align-items:start; }
.result-preview h2 { font-family:var(--font-display); font-size:34px; margin-top:10px; }
.result-preview p { color:#c6d5e7; font-size:16px; line-height:1.65; }
.result-preview .section-eyebrow { color:#FFC857; }
.result-outcomes { list-style:none; margin-top:26px; display:grid; gap:18px; }
.result-outcomes li { border-top:1px solid #36516e; padding-top:14px; }
.result-outcomes strong { color:white; display:block; font-size:16px; margin-bottom:5px; }
.result-outcomes span { color:#c6d5e7; font-size:14px; line-height:1.5; }
.preview-card { background:#fff; color:#081f3d; padding:26px; border-radius:14px; transform:none; box-shadow:none; }
.preview-card h3 { margin:10px 0 5px; font-size:21px; line-height:1.3; }
.preview-card small { color:#52677f; font-size:12px; }
.preview-card .chart-note { color:#52677f; font-size:12px; line-height:1.55; margin-top:18px; }
.report-chart-legend { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0; margin:20px 0 0; }
.report-chart-legend li { display:flex; align-items:center; gap:6px; padding:10px 7px; border-radius:8px; background:var(--zone-tint); color:var(--zone-color); font-size:12px; line-height:1.4; }
.report-chart-legend li>span:last-child { min-width:0; }
.report-chart-legend b { display:block; font-size:12px; white-space:nowrap; }
.report-zone-symbol { flex:none; width:17px; text-align:center; font-size:17px; font-weight:800; }
.report-chart-axis { position:relative; height:16px; margin:18px 0 14px; color:#52677f; font-size:11px; }
.report-chart-axis span { position:absolute; transform:translateX(-50%); }
.report-chart-axis span:first-child { transform:none; }
.report-chart-axis span:last-child { transform:translateX(-100%); }
.report-chart-rows { list-style:none; display:grid; gap:16px; }
.report-chart-row { display:grid; grid-template-columns:1fr auto; column-gap:8px; row-gap:7px; }
.report-chart-label { color:#24364d; font-size:13px; line-height:1.4; font-weight:600; }
.report-chart-row strong { color:var(--zone-color); font-size:14px; font-variant-numeric:tabular-nums; }
.report-chart-status { display:block; margin-top:3px; color:var(--zone-color); font-size:12px; font-weight:500; }
.report-chart-track { position:relative; grid-column:1/-1; height:16px; border-radius:3px; overflow:hidden; }
.report-chart-track>span { position:absolute; display:block; top:4px; height:8px; background:var(--zone-color); border-radius:0 2px 2px 0; z-index:1; }
.report-chart-divider { position:absolute; top:0; height:100%; width:1px; background:#52677f55; }
.report-chart-context { color:#52677f!important; font-size:12px!important; line-height:1.5; margin:18px 0 0; }
.chart-container { height:auto; min-height:560px; }
.chart-container h3 { font-size:20px; margin-bottom:6px; }
.chart-container>p { color:#52677f; font-size:13px; line-height:1.5; }
.chart-container .report-chart-label { font-size:14px; }
.chart-container .report-chart-rows { gap:20px; }
.lead-gate { font-family:var(--font-body); box-shadow:0 16px 45px #081f3d0d; background:#fff; }
.lead-gate::before,.lead-gate::after { display:none; }
.lead-gate h2 { margin:14px 0; font-size:29px; }
.lead-gate label { font-size:14px; color:#24364d; }
.lead-gate .contact-assurance { color:#24364d; background:#edf4fb; padding:13px 14px; border-radius:9px; font-size:14px; line-height:1.55; margin:0 0 22px; }
.lead-gate [aria-invalid=true] { border-color:#b42318; }
.form-error { text-align:left; line-height:1.5; }
.question-map-node { font-size:11px; min-height:58px; padding-top:20px; }
.question-map-head span { font-size:11px; letter-spacing:0; }
.question-map-head strong { font-size:12px; }
.question-text { font-size:clamp(22px,3vw,34px); line-height:1.3; font-weight:600; }
.question-back { margin-top:24px; background:none; border:0; color:#52677f; padding:12px 0; font:500 14px var(--font-body); min-height:44px; cursor:pointer; }
.question-back:disabled { visibility:hidden; }
.btn-opt { transition:background .15s ease,border-color .15s ease; }
.btn-opt:hover,.btn-opt:active { transform:none; }
button:focus-visible,a:focus-visible { outline:3px solid #0867f2; outline-offset:4px; }
button:active:not(:disabled) { transform:scale(.98); }
@media(max-width:800px) {
  .warmup { grid-template-columns:1fr; gap:24px; padding:26px; }
  .system-map-section { padding:28px; border-radius:20px; }
  .system-map-copy { grid-template-columns:1fr; gap:0; }
  .system-map-copy>p { padding-top:0; margin:0 0 20px; }
  .system-map-insight { margin-top:0; }
  .result-preview { grid-template-columns:1fr; padding:26px; gap:24px; }
}
@media(max-width:520px) {
  .report-chart-legend li { flex-direction:column; align-items:flex-start; gap:2px; padding:8px 4px; }
  .main-container { padding:24px 16px; }
  header { padding:16px; }
  .diagnostic-hero { padding:12px 0 32px; }
  #start-screen h1 { font-size:34px; margin:14px 0 20px; padding:0; }
  .hero-kicker { font-size:10px; letter-spacing:0; }
  .hero-copy>p { font-size:16px; }
  .hero-proof { gap:10px 0; }
  .hero-proof span { font-size:11px; padding-right:10px; }
  .hero-proof span+span { padding-left:10px; }
  .warmup { padding:22px; margin-bottom:28px; gap:22px; }
  .warmup-copy h2 { font-size:28px; }
  .warmup-copy p,.warmup-points span { font-size:14px; }
  .warmup-points strong { font-size:16px; }
  .system-map-section { padding:24px 20px; margin-bottom:28px; }
  .system-map-copy h2 { font-size:32px; }
  .system-map-copy>p,.system-map-insight span { font-size:14px; }
  .system-node-list { grid-template-columns:1fr; }
  .system-node { min-height:0; padding:19px 0; gap:12px; }
  .system-node span { font-size:17px; }
  .system-node em { font-size:14px; }
  .system-core strong { display:block; margin:7px 0; }
  .system-core span { font-size:13px; }
  .result-preview { padding:24px 16px; }
  .result-preview h2 { font-size:29px; }
  .preview-card { padding:20px 16px; }
  .report-chart-label { font-size:12px; }
  .question-map-nodes { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .question-map-node { font-size:10px; }
  .chart-container { padding:20px; }
  .lead-gate { padding:24px 20px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
