/* ==========================================================================
   MedicareInsights Design System  (mi-ds.css)  — v1, 2026-09-26
   Loaded LAST on every page (after the inlined base CSS and /assets/ui.css),
   injected by tools/build_design_system.py. Presentation only: nothing here
   changes a value, a label, a denominator or a row.

   Layers
     1. Tokens (spec)        --mi-*
     2. Legacy token remap   --bg --surface --ink --accent ... -> --mi-*
     3. Base type & numerics
     4. Surfaces, radii, anti-trope removals
     5. Status pills (L1 provenance)
     6. Provenance panels (L2/L3), freshness badge
     7. Data tables + DataTable chrome (mi-ds.js)
     8. Metric blocks, So What / Now What
     9. Charts & maps
    10. Homepage
    11. MA & D-SNP Competitive Lens token bridge
    12. Motion, forced colours, print
   ========================================================================== */

/* JetBrains Mono — self-hosted, SIL OFL 1.1 (see /assets/fonts/JetBrainsMono-OFL.txt) */
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;
  src:url(/assets/fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2")}

/* ------------------------------------------------------------ 1. TOKENS */
:root,html[data-theme="light"]{
  color-scheme:light;
  /* surfaces */
  --mi-bg:#F7F6F2;
  --mi-surface:#F9F8F5;
  --mi-surface-alt:#FBFBF9;
  --mi-border:#D4D1CA;
  --mi-border-strong:#A8A49B;
  /* Control boundary: WCAG 1.4.11 needs 3:1 for input/button outlines; the
     spec's Border Strong is 2.3:1, so form controls use this darker step. */
  --mi-control-border:#8C887F;
  /* text */
  --mi-text:#28251D;
  --mi-muted:#7A7974;          /* spec Muted: 4.0:1 — large text, icons, rules only */
  --mi-text-2:#67665F;         /* derived: AA-safe (5.3:1) secondary text at 12–15px */
  /* brand */
  --mi-primary:#01696F;
  --mi-primary-hover:#0C4E54;
  --mi-primary-light:#E0EDED;
  --mi-on-primary:#F9F8F5;
  /* semantic */
  --mi-error:#A12C7B;
  --mi-warning:#964219;
  --mi-success:#437A22;
  --mi-error-bg:#F5E6F0;
  --mi-warning-bg:#F6EAE2;
  --mi-success-bg:#EAF1E4;
  /* direction (always paired with an arrow or sign) */
  --mi-pos:#01696F;
  --mi-neg:#B3261E;
  /* chart palette */
  --mi-chart-1:#20808D;  /* primary teal */
  --mi-chart-2:#A84B2F;  /* terra */
  --mi-chart-3:#1B474D;  /* dark teal */
  --mi-chart-4:#BCE2E7;  /* light cyan */
  --mi-chart-5:#944454;  /* mauve */
  --mi-chart-6:#FFC553;  /* gold */
  --mi-chart-7:#848456;  /* olive */
  --mi-chart-8:#6E522B;  /* brown */
  --mi-chart-grid:#E6E3DC;
  --mi-chart-axis:#A8A49B;
  /* type */
  --mi-font:"Satoshi","General Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mi-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --mi-fs-hero:40px; --mi-fs-title:28px; --mi-fs-section:20px; --mi-fs-sub:16px;
  --mi-fs-body:15px; --mi-fs-table:14px; --mi-fs-th:13px; --mi-fs-caption:12px; --mi-fs-metric:32px;
  /* radii */
  --mi-r-table:4px; --mi-r-metric:6px; --mi-r-bar:0; --mi-r-pill:999px;
  /* rows */
  --mi-row-compact:36px; --mi-row-regular:44px; --mi-row-comfortable:52px;
  /* motion */
  --mi-t-fast:120ms; --mi-ease:cubic-bezier(.2,0,0,1);
  /* space */
  --mi-s1:4px; --mi-s2:8px; --mi-s3:12px; --mi-s4:16px; --mi-s5:24px; --mi-s6:32px; --mi-s7:48px;
  /* status pill tones (derived: the spec colour table was not available) */
  --mi-st-live-fg:#3D6F1F;  --mi-st-live-bg:var(--mi-success-bg);
  --mi-st-static-fg:var(--mi-warning);--mi-st-static-bg:var(--mi-warning-bg);
  --mi-st-curated-fg:var(--mi-primary);--mi-st-curated-bg:var(--mi-primary-light);
  --mi-st-modeled-fg:var(--mi-error); --mi-st-modeled-bg:var(--mi-error-bg);
  --mi-st-derived-fg:#1B474D;         --mi-st-derived-bg:#E4EAEA;
  --mi-st-neutral-fg:var(--mi-text-2);--mi-st-neutral-bg:#EFEDE8;
}

/* Dark: derived set (spec dark table not supplied). Same hues, re-tuned for
   AA on the dark surfaces — measured, not inverted. */
html[data-theme="dark"]{
  color-scheme:dark;
  --mi-bg:#171614;
  --mi-surface:#1C1B19;
  --mi-surface-alt:#201F1D;
  --mi-border:#393836;
  --mi-border-strong:#5A5955;
  --mi-control-border:#76746E;
  --mi-text:#CDCCCA;
  --mi-muted:#797876;
  --mi-text-2:#9A9994;
  --mi-primary:#4F98A3;
  --mi-primary-hover:#6DB0BA;
  --mi-primary-light:#1F3436;
  --mi-on-primary:#171614;
  --mi-error:#D163A7;
  --mi-warning:#C9744A;
  --mi-success:#6DAA45;
  --mi-error-bg:#2E1C27;
  --mi-warning-bg:#2E2119;
  --mi-success-bg:#1F2A19;
  --mi-pos:#4FB0BD;
  --mi-neg:#F0857D;
  --mi-chart-1:#4FB0BD;
  --mi-chart-2:#D2785A;
  --mi-chart-3:#BCE2E7;
  --mi-chart-4:#2E6E76;
  --mi-chart-5:#C77A8A;
  --mi-chart-6:#FFC553;
  --mi-chart-7:#A9A974;
  --mi-chart-8:#B08D5E;
  --mi-chart-grid:#2A2927;
  --mi-chart-axis:#5A5955;
  --mi-st-curated-fg:#6DB3BE; --mi-st-live-fg:var(--mi-success);
  --mi-st-derived-fg:#BCE2E7; --mi-st-derived-bg:#1F2B2C;
  --mi-st-neutral-bg:#262523;
}

/* ------------------------------------------------- 2. LEGACY TOKEN REMAP */
:root,html[data-theme="light"],html[data-theme="dark"]{
  --bg:var(--mi-bg);
  --surface:var(--mi-surface);
  --surface-2:var(--mi-surface-alt);
  --ink:var(--mi-text);
  --muted:var(--mi-text-2);
  --faint:var(--mi-text-2);
  --border:var(--mi-border);
  --border-strong:var(--mi-border-strong);
  --accent:var(--mi-primary);
  --accent-ink:var(--mi-primary);
  --accent-soft:var(--mi-primary-light);
  --good:var(--mi-pos);
  --bad:var(--mi-neg);
  --warn:var(--mi-warning);
  --warn-bg:var(--mi-warning-bg);
  --chip:var(--mi-surface-alt);
  --mono:var(--mi-mono);
  --r-sm:4px; --r-md:6px; --r-lg:6px; --r-xl:6px;
  --sh-1:none; --sh-2:none;
  --sh-3:0 6px 18px rgba(40,37,29,.12),0 1px 3px rgba(40,37,29,.08);
  --ease:var(--mi-ease);
  --map-nodata:#E9E7E1;
}
html[data-theme="dark"]{--sh-3:0 6px 18px rgba(0,0,0,.5);--map-nodata:#2A2927}

/* ------------------------------------------------ 3. BASE TYPE & NUMERICS */
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--mi-font);
  font-size:var(--mi-fs-body);
  font-weight:400;
  line-height:1.6;
  color:var(--mi-text);
  background:var(--mi-bg);
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
}
b,strong{font-weight:700}
h1,h2,h3,h4{font-family:var(--mi-font);color:var(--mi-text);letter-spacing:-.012em;text-wrap:balance}
h1,.answer-h1,.hub-hero h1{font-size:var(--mi-fs-title);font-weight:700;line-height:1.2}
h2,h2.section,.panel h2,.panel>h2{font-size:var(--mi-fs-section);font-weight:700;line-height:1.3}
h3,.panel h3{font-size:var(--mi-fs-sub);font-weight:500;line-height:1.4}
.lede,.hub-hero p{font-size:17px;line-height:1.6;color:var(--mi-text-2)}
.lede strong,.lede b{color:var(--mi-text);font-weight:700}
.note,.section-sub{font-size:13px;color:var(--mi-text-2)}
.vin,.chart-note,.wc-note,.dvin,.fm-card-s,.fm-count,.c-sub{font-size:var(--mi-fs-caption)}
.vin,.chart-note,.wc-note{color:var(--mi-text-2)}
.crumbs{font-size:13px;color:var(--mi-text-2)}
.crumbs a{color:var(--mi-text-2)}
a{color:var(--mi-primary);text-underline-offset:2px}
a:hover{color:var(--mi-primary-hover)}
code,kbd,samp{font-family:var(--mi-mono);font-size:.9em}

/* Numeric data: mono, tabular, lining. Right alignment is handled in tables. */
.mi-num,
table.data td.num,table.data td.n,table.data td.mi-num,
.kpi .v,.dcard .dstat .n,.qcard .stat,.fm-card-p,.fm-pct,.fm-cpct,.mk-ol li span,
.mi-metric-v,.mi-hero-metric .v,.c-val,.c-tick,.mi-rank{
  font-family:var(--mi-mono);
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1,"zero" 0;
  letter-spacing:0;
}

/* 12px floor: legacy 9–11.5px text raised */
.hero-kicker,.hub-kicker,.claim-class,.newstrip .k,.workrow .wp,.wc-grid h3,.wc-grid h4,
.site-footer h2,.site-footer h4,.qsearch-results .hub-tag,.dcard .dtop .status-pill,
.skey .status-pill,.kpi .vin,.dcard .dvin{font-size:12px}

/* ------------------------------------ 4. SURFACES, RADII, ANTI-TROPES */
.wrap{max-width:1180px}
.site-header{
  background:var(--mi-surface);
  -webkit-backdrop-filter:none;backdrop-filter:none;   /* no glass */
  border-bottom:1px solid var(--mi-border);
  box-shadow:none;
}
.site-header.is-stuck{box-shadow:none;border-bottom-color:var(--mi-border-strong)}
.brand{font-weight:700;letter-spacing:-.02em;color:var(--mi-text)}
.brand span{color:var(--mi-primary)}
.nav-top{border-radius:4px;font-weight:500;color:var(--mi-text-2)}
.nav-top[aria-current="true"]{color:var(--mi-text);background:transparent;box-shadow:inset 0 -2px 0 var(--mi-primary);border-radius:0}
.nav-panel{border-radius:6px;animation:none;border-color:var(--mi-border-strong)}
.nav-item{border-radius:4px}
.nav-item-t{font-weight:500}
.nav-search,.qsearch input,.fm-input,.filters input,.filters select,.signup-form input,
.mi-dt-search input,.mi-dt-toolbar select{
  border-radius:4px;border:1px solid var(--mi-control-border);background:var(--mi-surface-alt);box-shadow:none;
}
.nav-search:focus-within,.qsearch input:focus,.fm-input:focus,.filters input:focus,.filters select:focus{
  border-color:var(--mi-primary);box-shadow:0 0 0 1px var(--mi-primary);
}
.theme-toggle{border-radius:4px;border-color:var(--mi-border)}
.nav-commerce a{font-weight:500}
.nav-commerce a.cta,.nav-commerce .cta,.signup-form button,.drawer-commerce .cta{
  background:var(--mi-primary);color:var(--mi-on-primary);border-radius:4px;font-weight:500;box-shadow:none;border:0;
}
.nav-commerce a.cta:hover,.signup-form button:hover{background:var(--mi-primary-hover);color:var(--mi-on-primary)}

.panel,.filters,.tbl-wrap,.access-strip,.signup,.lesson{
  background:var(--mi-surface);
  border:1px solid var(--mi-border);
  border-radius:4px;
  box-shadow:none;
}
.panel{padding:20px 24px}
.panel>h2::before,.panel h2::before{display:none;content:none}
.panel>h2,.panel h2{padding-left:0}
.qcard,.dcard,.workrow a,.fm-card,.fm-state,.fm-counties a{border-radius:4px;box-shadow:none}
.qcard:hover,.dcard:hover,.workrow a:hover,.fm-card:hover{transform:none;box-shadow:none}
.kpi::before{display:none;content:none}                       /* gradient rule removed */
.action-bar a,.action-bar button,.filter-actions button,.tbl-more button,.viz-ctrls select,.viz-ctrls button{
  border-radius:4px;box-shadow:none;min-height:36px;
}
.action-bar button:active,.filter-actions button:active{transform:none}
.chip{border-radius:var(--mi-r-pill);border-color:var(--mi-border);background:var(--mi-surface-alt);font-weight:500}
.site-footer{background:var(--mi-surface);border-top:1px solid var(--mi-border-strong)}
.site-footer h2,.site-footer h4{font-weight:500;letter-spacing:.04em;color:var(--mi-text-2)}
hr{border:0;border-top:1px solid var(--mi-border)}

/* Focus: one ring, never removed */
:focus-visible{outline:2px solid var(--mi-primary);outline-offset:2px;border-radius:2px}
.skip-link:focus{background:var(--mi-primary);color:var(--mi-on-primary)}

/* ----------------------------------------- 5. STATUS PILLS (L1) */
.status-pill{
  display:inline-flex;align-items:center;gap:5px;
  border-radius:var(--mi-r-pill);
  border:1px solid currentColor;
  padding:1px 9px 1px 8px;
  font-family:var(--mi-font);
  font-size:12px;font-weight:500;line-height:18px;
  letter-spacing:0;text-transform:capitalize;white-space:nowrap;vertical-align:middle;
  color:var(--mi-st-neutral-fg);background:var(--mi-st-neutral-bg);
}
/* Shape glyph = status is never colour-only. Alt text "" keeps it silent. */
.status-pill::before{content:"○" / "";font-size:10px;line-height:1}
.status-pill.status-live{color:var(--mi-st-live-fg);background:var(--mi-st-live-bg)}
.status-pill.status-live::before{content:"●" / ""}
.status-pill.status-static-extract{color:var(--mi-st-static-fg);background:var(--mi-st-static-bg)}
.status-pill.status-static-extract::before{content:"■" / ""}
.status-pill.status-curated{color:var(--mi-st-curated-fg);background:var(--mi-st-curated-bg)}
.status-pill.status-curated::before{content:"▲" / ""}
.status-pill.status-derived{color:var(--mi-st-derived-fg);background:var(--mi-st-derived-bg)}
.status-pill.status-derived::before{content:"◆" / ""}
.status-pill.status-modeled{color:var(--mi-st-modeled-fg);background:var(--mi-st-modeled-bg)}
.status-pill.status-modeled::before{content:"◇" / ""}
.status-pill.status-withdrawn{color:var(--mi-text-2);background:var(--mi-st-neutral-bg);text-decoration:line-through}
.status-pill.status-withdrawn::before{content:"×" / ""}
html[data-theme="dark"] .status-pill.status-live{background:var(--mi-st-live-bg)}
html[data-theme="dark"] .status-pill.status-static-extract{background:var(--mi-st-static-bg)}
html[data-theme="dark"] .status-pill.status-curated{background:var(--mi-st-curated-bg)}
html[data-theme="dark"] .status-pill.status-derived{background:var(--mi-st-derived-bg)}
html[data-theme="dark"] .status-pill.status-modeled{background:var(--mi-st-modeled-bg)}
.skey .status-pill,.dcard .dtop .status-pill{font-size:12px;padding:1px 9px 1px 8px}
.claim-class{border-radius:var(--mi-r-pill);font-weight:500;letter-spacing:0;text-transform:none;
  border:1px solid var(--mi-border-strong);color:var(--mi-text-2);background:transparent;padding:0 8px}

/* ------------------------------ 6. PROVENANCE (L2/L3) + FRESHNESS */
.freshness{
  border-radius:4px;border:1px solid var(--mi-border);background:var(--mi-surface-alt);
  color:var(--mi-text-2);font-weight:500;font-size:12px;padding:3px 10px;gap:8px;min-height:26px;
}
.freshness .dot{width:8px;height:8px;border-radius:50%;background:var(--mi-success)}
.freshness.stale .dot{background:var(--mi-warning);border-radius:1px}  /* square when stale: not colour-only */
.freshness[data-mi-prov-link]{cursor:pointer}
.freshness[data-mi-prov-link]:hover{border-color:var(--mi-primary);color:var(--mi-text)}
.freshness[data-mi-prov-link]::after{content:"Provenance ↓" / "";margin-left:4px;color:var(--mi-primary);font-weight:500}

details.provenance{
  background:var(--mi-surface);border:1px solid var(--mi-border);border-left:3px solid var(--mi-border-strong);
  border-radius:4px;margin:16px 0;box-shadow:none;
}
details.provenance>summary{
  padding:10px 16px;font-size:13px;font-weight:500;color:var(--mi-text);gap:10px;flex-wrap:wrap;min-height:44px;
}
details.provenance>summary:before{content:"▸" / "";color:var(--mi-text-2);transition:none}
details.provenance[open]>summary:before{transform:rotate(90deg)}
details.provenance[open]{border-left-color:var(--mi-primary)}
.mi-prov-l2{display:inline-flex;flex-wrap:wrap;gap:4px 10px;font-weight:400;color:var(--mi-text-2);font-size:12px}
.mi-prov-l2 span+span::before{content:"·" / "";margin-right:10px;color:var(--mi-muted)}
.mi-prov-l2 .mi-prov-v{font-family:var(--mi-mono)}
.prov-body{padding:4px 16px 14px;font-size:13px}
.prov-body dl{display:grid;grid-template-columns:minmax(120px,160px) 1fr;gap:6px 16px;margin:0}
.prov-body dt{color:var(--mi-text-2);font-weight:500;font-size:12px;padding-top:1px}
.prov-body dd{margin:0}
.prov-body code{font-family:var(--mi-mono);font-size:12px;background:var(--mi-surface-alt);border:1px solid var(--mi-border);border-radius:2px;padding:0 4px}
.mi-prov-l4{display:block;margin-top:10px;font-size:12px}
@media (max-width:640px){.prov-body dl{grid-template-columns:1fr;gap:2px}.prov-body dd{margin-bottom:8px}}

/* ------------------------------------------------ 7. DATA TABLES */
table.data{font-size:var(--mi-fs-table);border-collapse:separate;border-spacing:0;width:100%}
table.data caption{caption-side:top;text-align:left;font-size:13px;color:var(--mi-text-2);padding:0 0 6px}
table.data th,table.data td{padding:6px 12px;border-bottom:1px solid var(--mi-border);vertical-align:middle}
table.data td{height:var(--mi-row-h,var(--mi-row-regular))}
table.data thead th{
  position:sticky;top:0;z-index:3;
  background:var(--mi-surface);                /* opaque: nothing bleeds under */
  font-size:var(--mi-fs-th);font-weight:500;color:var(--mi-text-2);
  text-transform:none;letter-spacing:0;
  border-bottom:1px solid var(--mi-border-strong);
  box-shadow:none;padding-top:8px;padding-bottom:8px;white-space:nowrap;vertical-align:bottom;
}
table.data td:first-child{font-weight:500}
/* No zebra. Separators + hover only. */
table.data tbody tr:nth-child(even) td,
table.data tbody tr:nth-child(even) td{background:transparent}
table.data tbody tr:hover td,html[data-theme="dark"] table.data tr:hover td{background:var(--mi-surface-alt)}
table.data tbody tr{transition:none}
/* alignment */
table.data td.num,table.data th.num,table.data th.n,table.data td.n,table.data .mi-col-num{text-align:right}
table.data td.num,table.data td.n,table.data td.mi-col-num{font-family:var(--mi-mono);font-size:13px}
table.data .mi-col-rank{text-align:center}
table.data .pos{color:var(--mi-pos);font-weight:500}
table.data .neg{color:var(--mi-neg);font-weight:500}
table.data tr.mi-selected td{background:var(--mi-primary-light)}
table.data tr.mi-selected td:first-child{box-shadow:inset 3px 0 0 var(--mi-primary)}
table.data tr.withdrawn td,table.data tr.mi-withdrawn td{color:var(--mi-text-2)}
.tbl-wrap,.tbl-scroll{border-radius:4px}
.tbl-wrap{box-shadow:none}

/* density (mi-ds.js sets data-density on the wrapper) */
.mi-dt[data-density="compact"]{--mi-row-h:var(--mi-row-compact)}
.mi-dt[data-density="regular"]{--mi-row-h:var(--mi-row-regular)}
.mi-dt[data-density="comfortable"]{--mi-row-h:var(--mi-row-comfortable)}
.mi-dt[data-density="compact"] table.data td{padding-top:3px;padding-bottom:3px}

/* frozen first column (applied only when the table overflows) */
.mi-dt.mi-overflow table.data th:first-child,
.mi-dt.mi-overflow table.data td:first-child{
  position:sticky;left:0;z-index:2;background:var(--mi-surface);
  box-shadow:inset -1px 0 0 var(--mi-border-strong),4px 0 6px -4px rgba(40,37,29,.18);
}
.mi-dt.mi-overflow table.data thead th:first-child{z-index:4}
.mi-dt.mi-overflow table.data tbody tr:hover td:first-child{background:var(--mi-surface-alt)}

/* sortable headers */
table.data th[data-mi-sortable]{cursor:pointer;user-select:none;padding:0}
table.data th[data-mi-sortable] .mi-th-btn{
  all:unset;box-sizing:border-box;display:flex;align-items:flex-end;gap:4px;width:100%;
  padding:8px 12px;min-height:36px;cursor:pointer;font:inherit;color:inherit;
}
table.data th.num[data-mi-sortable] .mi-th-btn,table.data th.n[data-mi-sortable] .mi-th-btn,
table.data th.mi-col-num[data-mi-sortable] .mi-th-btn{justify-content:flex-end}
table.data th[data-mi-sortable] .mi-th-btn:focus-visible{outline:2px solid var(--mi-primary);outline-offset:-2px}
table.data th[data-mi-sortable]:hover{color:var(--mi-text)}
table.data th[aria-sort]{color:var(--mi-text)}
table.data th[aria-sort]::after{content:none!important}
.mi-sort-ind{font-family:var(--mi-mono);font-size:11px;color:var(--mi-primary);min-width:1ch}
.mi-sort-pri{font-family:var(--mi-mono);font-size:10px;line-height:14px;min-width:14px;text-align:center;
  border:1px solid var(--mi-primary);border-radius:2px;color:var(--mi-primary)}
table.data mark,.mi-dt-cards mark{background:#FFE9B0;color:inherit;border-radius:1px;padding:0}
html[data-theme="dark"] table.data mark{background:#5A4A1C}

/* toolbar:  Search | Density | Columns | Reset | Download */
.mi-dt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px}
.mi-dt-search{flex:1 1 220px;display:flex;align-items:center;position:relative;min-width:0}
.mi-dt-search input{width:100%;height:36px;padding:0 10px 0 30px;font:inherit;font-size:14px;color:var(--mi-text)}
.mi-dt-search svg{position:absolute;left:9px;width:14px;height:14px;color:var(--mi-text-2);pointer-events:none}
.mi-dt-btn{
  display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;
  font:inherit;font-size:13px;font-weight:500;color:var(--mi-text);
  background:var(--mi-surface-alt);border:1px solid var(--mi-control-border);border-radius:4px;cursor:pointer;
}
.mi-dt-btn:hover{border-color:var(--mi-primary);color:var(--mi-primary)}
.mi-dt-btn[aria-pressed="true"],.mi-dt-btn[aria-expanded="true"]{background:var(--mi-primary-light);border-color:var(--mi-primary)}
.mi-dt-btn svg{width:14px;height:14px}
.mi-dt-seg{display:inline-flex;border:1px solid var(--mi-control-border);border-radius:4px;overflow:hidden}
.mi-dt-seg button{all:unset;box-sizing:border-box;height:34px;padding:0 10px;font-size:12px;font-weight:500;cursor:pointer;color:var(--mi-text-2)}
.mi-dt-seg button+button{border-left:1px solid var(--mi-border)}
.mi-dt-seg button[aria-pressed="true"]{background:var(--mi-primary-light);color:var(--mi-text)}
.mi-dt-seg button:focus-visible{outline:2px solid var(--mi-primary);outline-offset:-2px}
.mi-dt-note{font-size:12px;color:var(--mi-text-2);flex:1 1 auto}
.mi-dt-search[hidden],.mi-pop[hidden]{display:none}
.mi-dt-count{font-size:12px;color:var(--mi-text-2);font-family:var(--mi-mono);margin-left:auto}
.mi-dt-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.mi-dt-chips:empty{display:none}
.mi-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--mi-primary);background:var(--mi-primary-light);
  color:var(--mi-text);border-radius:var(--mi-r-pill);padding:2px 4px 2px 10px;font-size:12px;font-weight:500}
.mi-chip button{all:unset;cursor:pointer;width:20px;height:20px;border-radius:50%;text-align:center;line-height:20px}
.mi-chip button:hover,.mi-chip button:focus-visible{background:var(--mi-primary);color:var(--mi-on-primary)}

/* popovers (columns / filters) */
.mi-pop{position:relative}
.mi-pop-panel{
  position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:280px;max-width:min(360px,92vw);max-height:60vh;overflow:auto;
  background:var(--mi-surface);border:1px solid var(--mi-border-strong);border-radius:6px;box-shadow:var(--sh-3);padding:8px;
}
.mi-pop-panel[hidden]{display:none}
.mi-pop-h{font-size:12px;font-weight:500;color:var(--mi-text-2);margin:4px 6px 6px}
.mi-col-row{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:4px}
.mi-col-row:hover{background:var(--mi-surface-alt)}
.mi-col-row label{flex:1;display:flex;align-items:center;gap:8px;font-size:13px;min-height:32px;cursor:pointer}
.mi-col-row input{accent-color:var(--mi-primary);width:16px;height:16px}
.mi-col-row button{all:unset;cursor:pointer;width:28px;height:28px;text-align:center;border-radius:4px;color:var(--mi-text-2);font-size:12px}
.mi-col-row button:hover,.mi-col-row button:focus-visible{background:var(--mi-primary-light);color:var(--mi-text)}
.mi-col-row button:disabled{opacity:.3;cursor:default}
.mi-pop-foot{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--mi-border);margin-top:6px;padding-top:8px}
.mi-filter-row{display:grid;grid-template-columns:1fr;gap:4px;padding:6px 6px 8px;border-bottom:1px solid var(--mi-border)}
.mi-filter-row:last-child{border-bottom:0}
.mi-filter-row label{font-size:12px;font-weight:500;color:var(--mi-text-2)}
.mi-filter-row .mi-range{display:flex;gap:6px;align-items:center}
.mi-filter-row input,.mi-filter-row select{height:32px;padding:0 8px;font:inherit;font-size:13px;min-width:0;width:100%;
  border:1px solid var(--mi-control-border);border-radius:4px;background:var(--mi-surface-alt);color:var(--mi-text)}
.mi-filter-row .mi-range input{font-family:var(--mi-mono)}

/* provenance footer under a primary table */
.mi-dt-foot{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;border-top:1px solid var(--mi-border);
  margin-top:0;padding:8px 2px 0;font-size:12px;color:var(--mi-text-2)}
.mi-dt-foot b{font-weight:500;color:var(--mi-text)}
.mi-dt-foot a{margin-left:auto}
.mi-dt-empty td{text-align:center;color:var(--mi-text-2);height:64px}

.mi-col-hidden{display:none!important}
.mi-dt.mi-tall .mi-dt-scroll{max-height:min(78vh,760px);overflow:auto}
.mi-dt-sortsel{display:none}
.mi-dt-sortsel select{height:44px;padding:0 8px;font:inherit;font-size:14px;border:1px solid var(--mi-control-border);border-radius:4px;background:var(--mi-surface-alt);color:var(--mi-text);max-width:100%}

/* virtualised body spacer rows */
tr.mi-vspace td{padding:0!important;border:0!important;height:auto}

/* mobile card transform (< 768px) — tables stay tables for AT, visually cards */
@media (max-width:767.98px){
  .mi-dt.mi-dt-cards table.data,.mi-dt.mi-dt-cards table.data tbody{display:block}
  .mi-dt.mi-dt-cards table.data thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .mi-dt.mi-dt-cards table.data caption{display:block}
  .mi-dt.mi-dt-cards table.data tr{
    display:grid;grid-template-columns:1fr auto;gap:2px 12px;
    background:var(--mi-surface);border:1px solid var(--mi-border);border-radius:4px;
    padding:10px 12px;margin:0 0 8px;
  }
  .mi-dt.mi-dt-cards table.data td{display:block;height:auto;border:0;padding:0;text-align:left;background:transparent!important;position:static;box-shadow:none}
  .mi-dt.mi-dt-cards table.data td:first-child{grid-column:1;font-size:15px;font-weight:700;align-self:center}
  .mi-dt.mi-dt-cards table.data td.mi-card-primary{grid-column:2;grid-row:1;text-align:right;font-size:18px;font-weight:700;align-self:center}
  .mi-dt.mi-dt-cards table.data td.mi-card-field{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;
    border-top:1px solid var(--mi-border);padding:6px 0 0;margin-top:6px;font-size:13px}
  .mi-dt.mi-dt-cards table.data td.mi-card-field::before{content:attr(data-label);color:var(--mi-text-2);font-family:var(--mi-font);font-weight:500;text-align:left}
  .mi-dt.mi-dt-cards table.data td.mi-card-field.num,.mi-dt.mi-dt-cards table.data td.mi-card-field.mi-col-num{text-align:right}
  .mi-dt.mi-dt-cards table.data tr:not(.mi-card-open) td.mi-card-extra{display:none}
  .mi-dt.mi-dt-cards table.data td.mi-card-toggle{grid-column:1/-1;margin-top:6px}
  .mi-dt.mi-dt-cards table.data td.mi-card-toggle button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;
    width:100%;min-height:44px;font-size:13px;font-weight:500;color:var(--mi-primary);border-top:1px solid var(--mi-border)}
  .mi-dt.mi-dt-cards table.data tr.mi-vspace{display:none}
  .mi-dt-toolbar{position:sticky;top:var(--mi-sticky-top,0px);z-index:5;background:var(--mi-surface);padding:8px 0;margin:0;gap:8px;
    box-shadow:0 1px 0 var(--mi-border)}
  .mi-dt-search{flex-basis:100%}
  .mi-dt-search input{height:44px;font-size:16px}          /* 16px: no iOS zoom on focus */
  .mi-dt-sortsel{display:block;flex:1 1 0;min-width:0}
  .mi-dt:not(.mi-dt-dirty) .mi-dt-reset{display:none}
  .mi-dt-sortsel select{width:100%}
  .mi-dt.mi-dt-cards .mi-dt-seg,.mi-dt.mi-dt-cards .mi-pop-cols{display:none}
  .mi-dt-count{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .mi-dt-toolbar .mi-dt-btn{padding:0 10px}
  .mi-pop-panel{position:fixed;left:8px;right:8px;top:auto;bottom:8px;max-width:none;max-height:70vh}
  .mi-dt.mi-dt-cards.mi-tall .mi-dt-scroll{max-height:none;overflow:visible}
  .mi-dt.mi-dt-cards .mi-dt-scroll{overflow:visible}
  .mi-dt-toolbar .mi-dt-btn,.mi-dt-seg button{min-height:44px;height:44px}
  .mi-dt-seg-compact{display:none}
  .mi-dt-count{margin-left:0}
}
@media (min-width:768px){ .mi-dt table.data td.mi-card-toggle{display:none} }

/* ------------------------------------- 8. METRIC BLOCKS, SO WHAT */
.kpi-row{gap:0;border:1px solid var(--mi-border);border-radius:6px;background:var(--mi-surface);overflow:hidden;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.kpi{border:0;border-radius:0;box-shadow:none;background:transparent;padding:14px 18px 14px;
  border-right:1px solid var(--mi-border);position:relative;overflow:visible}
.kpi:last-child{border-right:0}
.kpi .v{font-size:var(--mi-fs-metric);font-weight:700;line-height:1.1;letter-spacing:-.01em;color:var(--mi-text)}
.kpi .v.mi-v-text{font-family:var(--mi-font);font-size:24px;line-height:1.25;letter-spacing:-.01em}
.kpi .v.good{color:var(--mi-pos)} .kpi .v.bad{color:var(--mi-neg)}
.kpi .l{font-size:13px;color:var(--mi-text-2);margin-top:6px}
.kpi .vin{font-size:12px;color:var(--mi-text-2)}
@media (max-width:767.98px){
  .kpi-row{grid-template-columns:1fr 1fr}
  .kpi{border-bottom:1px solid var(--mi-border)}
  .kpi:nth-child(2n){border-right:0}
  .freshness[data-mi-prov-link]::after{content:"↓" / ""}
  .kpi .v{font-size:24px}
}
.vin-shared{font-size:12px;color:var(--mi-text-2);margin-top:6px}

.sowhat{
  background:var(--mi-surface);border:1px solid var(--mi-border);border-left:3px solid var(--mi-primary);
  border-radius:0 4px 4px 0;box-shadow:none;padding:16px 20px;
}
.sowhat h2{font-size:13px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--mi-text-2);margin:0 0 6px;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sowhat .interp,.sowhat>p.interp{font-size:16px;line-height:1.55;color:var(--mi-text);margin:0 0 10px;font-weight:500;max-width:70ch}
.mi-sw-toggle{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:36px;font-size:13px;font-weight:500;color:var(--mi-primary)}
.mi-sw-toggle:focus-visible{outline:2px solid var(--mi-primary);outline-offset:2px}
.mi-sw-toggle .mi-chev{display:inline-block;transition:none}
.mi-sw-toggle[aria-expanded="true"] .mi-chev{transform:rotate(90deg)}
.mi-sw-body[hidden]{display:none}
.mi-sw-body{margin-top:4px}

/* ----------------------------------------------- 9. CHARTS & MAPS */
.c-bar{fill:var(--mi-chart-1);opacity:1;rx:0;ry:0}
.c-bar.good{fill:var(--mi-chart-1)}
.c-bar.bad{fill:var(--mi-neg)}
.c-bar.warn{fill:var(--mi-chart-2)}
.c-bar.muted{fill:var(--mi-border-strong)}
.c-grid{stroke:var(--mi-chart-grid)}
.c-label,.c-tick{fill:var(--mi-text-2)}
.c-tick{font-size:11px}
.c-val{fill:var(--mi-text);font-weight:500}
.c-sub{fill:var(--mi-text-2)}
.c-line{stroke:var(--mi-chart-1)}
.c-line.s1{stroke:var(--mi-chart-2)} .c-line.s2{stroke:var(--mi-chart-3)} .c-line.s3{stroke:var(--mi-chart-5)}
.c-dot{fill:var(--mi-chart-1)}
.c-dot.s1{fill:var(--mi-chart-2)} .c-dot.s2{fill:var(--mi-chart-3)} .c-dot.s3{fill:var(--mi-chart-5)}
html[data-theme="dark"] .c-bar.warn{fill:var(--mi-chart-2)}
html[data-theme="dark"] .c-bar.muted{fill:var(--mi-border-strong)}
html[data-theme="dark"] .c-line.s1{stroke:var(--mi-chart-2)} html[data-theme="dark"] .c-line.s2{stroke:var(--mi-chart-3)} html[data-theme="dark"] .c-line.s3{stroke:var(--mi-chart-5)}
html[data-theme="dark"] .c-dot.s1{fill:var(--mi-chart-2)} html[data-theme="dark"] .c-dot.s2{fill:var(--mi-chart-3)} html[data-theme="dark"] .c-dot.s3{fill:var(--mi-chart-5)}
svg.chart text{font-family:var(--mi-font)}
svg.chart .c-val,svg.chart .c-tick{font-family:var(--mi-mono)}

/* ------------------------------------------------------ 10. HOMEPAGE */
.home-hero{margin:40px 0 24px}
.mi-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:40px;align-items:start}
.home-hero .hero-kicker{font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--mi-text-2);margin:0 0 12px}
.home-hero h1{font-size:var(--mi-fs-hero);font-weight:700;line-height:1.12;letter-spacing:-.022em;max-width:20ch;margin:0 0 14px}
.home-hero .sub{font-size:16px;color:var(--mi-text-2);max-width:58ch;margin:0 0 22px}
.home-hero .qsearch{max-width:none}
.home-hero .qsearch label{font-size:13px!important;font-weight:500;color:var(--mi-text)}
.home-hero .qsearch input{height:48px;padding:0 14px;font-size:15px;border-radius:4px}
/* primary actions: text links with arrows, not pill buttons */
.home-hero .chip-row{gap:0;margin:14px 0 0;flex-direction:column;align-items:stretch}
.home-hero .chip-row-primary{flex-direction:row;flex-wrap:wrap;gap:4px 24px;margin:16px 0 6px}
.home-hero .chip-row-primary .chip-primary{all:unset;cursor:pointer;display:inline-flex;align-items:baseline;gap:8px;min-height:44px;
  color:var(--mi-primary);font-size:14px}
.home-hero .chip-row-primary .chip-primary strong{font-weight:700}
.home-hero .chip-row-primary .chip-primary strong::after{content:" →"}
.home-hero .chip-row-primary .chip-primary span{color:var(--mi-text-2);font-size:13px;font-weight:400}
.home-hero .chip-row-primary .chip-primary:hover strong{text-decoration:underline}
.home-hero .chip-row-primary .chip-primary:focus-visible{outline:2px solid var(--mi-primary);outline-offset:2px}
.home-hero .chip-row:not(.chip-row-primary)::before{content:"Suggested questions";font-size:12px;font-weight:500;color:var(--mi-text-2);margin:8px 0 4px}
.home-hero .chip-row:not(.chip-row-primary) .chip{all:unset;cursor:pointer;display:flex;align-items:center;min-height:40px;
  border-top:1px solid var(--mi-border);font-size:14px;color:var(--mi-text)}
.home-hero .chip-row:not(.chip-row-primary) .chip:last-child{border-bottom:1px solid var(--mi-border)}
.home-hero .chip-row:not(.chip-row-primary) .chip::after{content:"→" / "";margin-left:auto;padding-left:12px;color:var(--mi-text-2)}
.home-hero .chip-row:not(.chip-row-primary) .chip:hover{color:var(--mi-primary)}
.home-hero .chip-row:not(.chip-row-primary) .chip:focus-visible{outline:2px solid var(--mi-primary);outline-offset:0}

/* right column: live metric + release + signal */
.mi-hero-side{border:1px solid var(--mi-border-strong);border-radius:6px;background:var(--mi-surface);padding:0;align-self:start}
.mi-hero-side>section{padding:16px 18px;border-top:1px solid var(--mi-border)}
.mi-hero-side>section:first-child{border-top:0}
.mi-hero-k{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:500;color:var(--mi-text-2);margin:0 0 6px}
.mi-hero-metric .v{display:block;font-size:48px;font-weight:700;line-height:1;color:var(--mi-text);letter-spacing:-.02em}
.mi-hero-metric .l{display:block;font-size:14px;color:var(--mi-text);margin-top:8px;font-weight:500}
.mi-hero-metric .c{display:block;font-size:12px;color:var(--mi-text-2);margin-top:4px;font-family:var(--mi-mono)}
.mi-hero-release p,.mi-hero-signal p{margin:0;font-size:13px;line-height:1.5}
.mi-hero-release dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:0 0 8px;font-size:13px}
.mi-hero-release dt{color:var(--mi-text-2)}
.mi-hero-release dd{margin:0;font-weight:500}
.mi-hero-side a{font-size:13px;font-weight:500}
@media (max-width:640px){
  .home-hero .chip-row-primary{flex-direction:column;gap:0}
  .home-hero .chip-row-primary .chip-primary{flex-direction:column;align-items:flex-start;gap:0;padding:6px 0;min-height:48px}
}
@media (max-width:899.98px){
  .mi-hero{grid-template-columns:1fr;gap:24px}
  .home-hero h1{font-size:32px}
  .mi-hero-metric .v{font-size:40px}
}

/* decision cards -> one horizontal data strip */
.dcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--mi-border);border-radius:6px;background:var(--mi-surface);overflow:hidden}
.dcard{border:0;border-right:1px solid var(--mi-border);border-radius:0;background:transparent;padding:16px 18px}
.dcard:last-child{border-right:0}
.dcard:hover{border-color:var(--mi-border);background:var(--mi-surface-alt)}
.dcard .dq{font-size:13px;font-weight:500;color:var(--mi-text-2)}
.dcard .dstat .n{font-size:30px;font-weight:700;letter-spacing:-.01em;color:var(--mi-text)}
.dcard .n.good{color:var(--mi-pos)} .dcard .n.bad{color:var(--mi-neg)}
.dcard .dvin{color:var(--mi-text-2);line-height:1.45}
.dcard .dcta{font-weight:500;font-size:13px}
@media (max-width:899.98px){.dcards{grid-template-columns:1fr 1fr}.dcard:nth-child(2n){border-right:0}.dcard{border-bottom:1px solid var(--mi-border)}}
@media (max-width:559.98px){.dcards{grid-template-columns:1fr}.dcard{border-right:0}}
.dhead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}

/* data release briefing strip */
.newstrip{border-radius:4px;border:1px solid var(--mi-border);border-left:3px solid var(--mi-success);background:var(--mi-surface);box-shadow:none}
.newstrip .k{font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--mi-success)}
.newstrip .k::before{content:"● " / ""}

/* task navigation: numbered editorial rows (was a card grid) */
.workrow{display:block;counter-reset:mi-task;border-top:1px solid var(--mi-border-strong);margin:12px 0 8px}
.workrow a{
  counter-increment:mi-task;
  display:grid;grid-template-columns:48px minmax(160px,220px) 1fr 24px;align-items:baseline;gap:4px 16px;
  background:transparent;border:0;border-bottom:1px solid var(--mi-border);border-radius:0;padding:14px 4px;color:var(--mi-text);
}
.workrow a::before{content:counter(mi-task,decimal-leading-zero);font-family:var(--mi-mono);font-size:14px;color:var(--mi-text-2);grid-row:1/3}
.workrow a::after{content:"→" / "";grid-column:4;grid-row:1/3;align-self:center;color:var(--mi-text-2)}
.workrow a:hover{background:var(--mi-surface-alt);border-left:0;border-color:var(--mi-border)}
.workrow a:hover::after{color:var(--mi-primary)}
.workrow .wp{grid-column:2;grid-row:1/3;font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--mi-text);margin:0}
.workrow .wt{grid-column:3;font-weight:500}
.workrow .wd{grid-column:3;font-size:13px;color:var(--mi-text-2)}
@media (max-width:640px){
  .workrow a{grid-template-columns:36px 1fr 16px}
  .workrow .wp{grid-column:2;grid-row:auto}
  .workrow .wt,.workrow .wd{grid-column:2}
  .workrow a::before{grid-row:1/4} .workrow a::after{grid-column:3;grid-row:1/4}
}

/* find-market featured list -> compact ranked rows */
.fm-featured{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 24px;border-top:1px solid var(--mi-border)}
.fm-card{grid-template-columns:1fr auto;border:0;border-bottom:1px solid var(--mi-border);border-radius:0;background:transparent;padding:8px 2px;min-height:44px}
.fm-card:hover{background:var(--mi-surface-alt)}
.fm-card-n{font-weight:500;font-size:14px;color:var(--mi-text)}
.fm-card-p{color:var(--mi-text);font-weight:500}
.fm-card-s{color:var(--mi-text-2)}
.fm-state{border-radius:4px}
.fm-counties a{border-radius:4px;background:var(--mi-surface-alt)}

/* ranked lists */
.mk-lists{gap:24px 32px}
.mk-list h3{font-size:15px;font-weight:700}
.mk-ol{list-style:none;padding:0;counter-reset:mi-rank;border-top:1px solid var(--mi-border-strong)}
.mk-ol li{counter-increment:mi-rank;display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:baseline;
  border-bottom:1px solid var(--mi-border);padding:6px 0;margin:0}
.mk-ol li::before{content:counter(mi-rank);font-family:var(--mi-mono);font-size:12px;color:var(--mi-text-2)}
.mk-ol li span{color:var(--mi-text);text-align:right;margin:0;font-size:13px}
.mk-ul{padding-left:0;list-style:none}
.mk-ul li{border-bottom:1px solid var(--mi-border);padding:6px 0}

/* "Built to be cited": numbered principles, no card grid */
.wc-grid{counter-reset:mi-wc;gap:0 32px;border-top:1px solid var(--mi-border-strong)}
.wc-grid>div{counter-increment:mi-wc;padding:14px 0;border-bottom:1px solid var(--mi-border);color:var(--mi-text-2);font-size:14px}
.wc-grid h3,.wc-grid h4{font-size:15px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--mi-text);margin:0 0 4px}
.wc-grid h3::before{content:counter(mi-wc,decimal-leading-zero) "  ";font-family:var(--mi-mono);font-size:13px;font-weight:400;color:var(--mi-text-2)}

/* --------------------------- 11. MA & D-SNP LENS TOKEN BRIDGE */
html:root:root #mi-lens{
  --bg:var(--mi-bg); --surface:var(--mi-surface); --surface-2:var(--mi-surface-alt);
  --ink:var(--mi-text); --ink-2:var(--mi-text-2); --muted:var(--mi-text-2);
  --line:var(--mi-border); --line-2:var(--mi-border-strong);
  --accent:var(--mi-primary); --accent-wash:var(--mi-primary-light);
  --focal:var(--mi-primary); --focal-wash:color-mix(in srgb,var(--mi-primary) 9%,transparent);
  --up:var(--mi-pos); --down:var(--mi-neg); --warn:var(--mi-warning); --chip:var(--mi-surface-alt);
  --s1:var(--mi-chart-1); --s2:var(--mi-chart-2); --s3:var(--mi-chart-3); --s4:var(--mi-chart-6);
  --s5:var(--mi-chart-5); --s6:var(--mi-chart-7); --s7:var(--mi-chart-8); --s8:var(--mi-chart-4);
  --other:var(--mi-border-strong);
  --grid:var(--mi-chart-grid); --axis:var(--mi-chart-axis);
  --ph:var(--mi-surface-alt); --ph-ink:var(--mi-text-2);
  --f-ui:var(--mi-font); --f-cond:var(--mi-font); --f-mono:var(--mi-mono);
  font-family:var(--mi-font);
}
html #mi-lens .btn{border-radius:4px}
html:root:root #mi-lens a.cta:not(.sec),html:root:root #mi-lens button.cta:not(.sec){color:var(--mi-on-primary);border-radius:4px}
html #mi-lens .chg,html #mi-lens .chip{border-radius:var(--mi-r-pill);font-size:12px}
html #mi-lens .cm-t,html #mi-lens .caveat{border-radius:4px}
html #mi-lens .exec .big,html #mi-lens .conc .big,html #mi-lens .cm-v{font-family:var(--mi-mono);font-weight:700;letter-spacing:0}
html #mi-lens td.n,html #mi-lens td.num,html #mi-lens .mono{font-family:var(--mi-mono)}

/* -------------------------- 12. MOTION, FORCED COLOURS, PRINT */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}
}
@media (prefers-reduced-motion:no-preference){
  a,button,.mi-dt-btn,.nav-top,.workrow a,.fm-card,.dcard{transition:color var(--mi-t-fast) linear,background-color var(--mi-t-fast) linear,border-color var(--mi-t-fast) linear}
}
@media (forced-colors:active){
  .status-pill,.mi-chip,.freshness,.claim-class{border:1px solid CanvasText;forced-color-adjust:auto}
  .status-pill::before{forced-color-adjust:none;color:CanvasText}
  table.data thead th,.mi-dt.mi-overflow table.data td:first-child{background:Canvas}
  table.data tr.mi-selected td:first-child{box-shadow:none;border-left:3px solid Highlight}
  :focus-visible{outline:2px solid Highlight}
  .c-bar{fill:CanvasText}
}
@media print{
  .mi-dt-toolbar,.mi-dt-chips,.mi-sw-toggle,.theme-toggle,.nav-burger{display:none!important}
  .mi-sw-body[hidden]{display:block!important}
  details.provenance>.prov-body{display:block}
  body{background:#fff;color:#000}
}

/* ---- next actions: arrowed rows in two columns (was a 4-card grid) ---- */
.next-actions h2{font-size:var(--mi-fs-section)}
.na-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border-top:1px solid var(--mi-border-strong)}
.na-card{display:grid;grid-template-columns:1fr 20px;gap:0 12px;align-items:center;background:transparent;border:0;
  border-bottom:1px solid var(--mi-border);border-radius:0;box-shadow:none;padding:12px 2px;color:var(--mi-text);min-height:48px}
.na-card::after{content:"→" / "";grid-column:2;grid-row:1/3;color:var(--mi-text-2)}
.na-card strong{font-weight:700;font-size:15px}
.na-card span{grid-column:1;font-size:13px;color:var(--mi-text-2)}
.na-card:hover{background:var(--mi-surface-alt);transform:none;box-shadow:none;text-decoration:none}
.na-card:hover::after{color:var(--mi-primary)}
@media (max-width:640px){.na-grid{grid-template-columns:1fr}}

/* ---- hub question grid: editorial answer rows, not a card wall ---- */
.hub-kicker{font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--mi-text-2)}
.qgrid{gap:0 40px;border-top:1px solid var(--mi-border-strong)}
.qcard{background:transparent;border:0;border-bottom:1px solid var(--mi-border);border-radius:0;box-shadow:none;
  padding:18px 2px 20px;display:flex;flex-direction:column;gap:6px}
.qcard:hover{background:var(--mi-surface-alt);border-color:var(--mi-border)}
.qcard .q{font-size:16px;font-weight:700;margin:0;max-width:52ch}
.qcard .stat{font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1.15;color:var(--mi-text)}
.qcard .stat small{font-family:var(--mi-font);font-size:13px;font-weight:500;color:var(--mi-text-2);margin-left:8px;letter-spacing:0}
.qcard .vin{font-size:12px;color:var(--mi-text-2);margin:0;max-width:62ch}
.qcard .go{position:static;align-self:flex-start;font-size:13px;font-weight:500;color:var(--mi-primary);margin-top:4px}
.qcard.roadmap{background:transparent}
.qcard.roadmap .q{color:var(--mi-text-2)}

/* links inside running text are underlined: colour alone is not enough (WCAG 1.4.1) */
main p a:not([class]),main li a:not([class]),main dd a:not([class]),.note a,.chart-note a,.vin a,.section-sub a,.lede a,.prov-body a{
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.site-footer a{text-decoration:none}

/* ---- analytical context bar (mi-ds.js initContext) ---- */
.mi-ctx{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:12px 0 4px;padding:6px 0 8px;
  border-bottom:1px solid var(--mi-border);font-size:13px}
.mi-ctx[hidden]{display:none}
.mi-ctx-h{font-size:12px;font-weight:500;color:var(--mi-text-2);margin-right:2px}
.mi-ctx-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--mi-border-strong);border-radius:var(--mi-r-pill);
  padding:1px 2px 1px 10px;background:var(--mi-surface);color:var(--mi-text);min-height:28px}
.mi-ctx-k{font-size:11.5px;color:var(--mi-text-2)}
.mi-ctx-chip.mi-ctx-na{border-style:dashed;color:var(--mi-text-2)}
.mi-ctx-note{font-size:12px;color:var(--mi-text-2)}
.mi-ctx-chip button{all:unset;cursor:pointer;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;color:var(--mi-text-2)}
.mi-ctx-chip button:hover,.mi-ctx-chip button:focus-visible{background:var(--mi-primary-light);color:var(--mi-text)}
.mi-ctx-reset{all:unset;cursor:pointer;font-size:12px;color:var(--mi-primary);text-decoration:underline;padding:4px}
.mi-ctx-reset:focus-visible{outline:2px solid var(--mi-primary)}
.mi-ctx-go{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-left:auto}
.mi-ctx-go a{font-size:13px;font-weight:500}
.mi-ctx-drop{font-family:var(--mi-mono);font-size:11px;color:var(--mi-text-2)}
@media (max-width:767.98px){.mi-ctx-go{margin-left:0;width:100%}.mi-ctx-chip{min-height:32px}.mi-ctx-chip button{width:32px;height:32px;line-height:32px}}

/* ---- MA & D-SNP Competitive Lens entry point ---- */
.mi-feature{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:8px 32px;align-items:start;
  border:1px solid var(--mi-border-strong);border-left:4px solid var(--mi-primary);border-radius:4px;background:var(--mi-surface);
  padding:20px 24px;margin:20px 0 28px}
.mi-feature-k{grid-column:1;font-size:12px;font-weight:500;color:var(--mi-text-2);margin:0}
.mi-feature h2{grid-column:1;margin:0;font-size:22px}
.mi-feature-d{grid-column:1;margin:0;font-size:15px;color:var(--mi-text);max-width:62ch}
.mi-feature-cta{grid-column:1;justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;margin-top:8px;
  background:var(--mi-primary);color:var(--mi-on-primary)!important;border-radius:4px;font-weight:700;text-decoration:none!important}
.mi-feature-cta:hover{background:var(--mi-primary-hover)}
.mi-feature-facts{grid-column:2;grid-row:1/6;list-style:none;margin:0;padding:0;border-top:1px solid var(--mi-border);font-size:13px}
.mi-feature-facts li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--mi-border)}
.mi-feature-facts li span:first-child{color:var(--mi-text-2)}
.mi-feature-facts li span:last-child{text-align:right;font-weight:500}
.mi-feature.mi-feature-compact{grid-template-columns:1fr;padding:14px 18px;margin:16px 0}
.mi-feature.mi-feature-compact h2{font-size:17px}
@media (max-width:767.98px){.mi-feature{grid-template-columns:1fr}.mi-feature-facts{grid-column:1;grid-row:auto}}

/* ---- Marketing Intelligence: five-question hierarchy ---- */
.mi-q5{margin:28px 0}
.mi-q5-item{border-top:1px solid var(--mi-border-strong);padding:4px 0 8px}
.mi-q5-item:last-child{border-bottom:1px solid var(--mi-border-strong)}
.mi-q5-h{display:flex;align-items:baseline;gap:14px;margin:0;padding:12px 0;font-size:inherit;cursor:default;list-style:none}
details.mi-q5-item>summary{cursor:pointer;min-height:48px}
details.mi-q5-item>summary::-webkit-details-marker{display:none}
details.mi-q5-item>summary::after{content:"▸" / "";margin-left:auto;color:var(--mi-text-2)}
details.mi-q5-item[open]>summary::after{transform:rotate(90deg)}
.mi-q5-n{font-family:var(--mi-mono);font-size:14px;color:var(--mi-text-2);min-width:24px}
.mi-q5-t{display:flex;flex-direction:column;gap:2px}
.mi-q5-title{font-size:18px;font-weight:700;color:var(--mi-text)}
.mi-q5-d{font-size:14px;color:var(--mi-text-2);font-weight:400}
.mi-q5-first .mi-q5-title{font-size:20px}
.mi-q5 .qgrid{margin:0 0 8px 38px}
.mi-q5-links{list-style:none;margin:0;padding:0;grid-column:1/-1}
.mi-q5-links li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--mi-border)}
.mi-q5-links a{font-weight:700}
.mi-q5-links span{font-size:13px;color:var(--mi-text-2)}
.mi-q5-gap{grid-column:1/-1}
@media (max-width:640px){.mi-q5 .qgrid{margin-left:0}}

/* ---- modeled score transparency ---- */
.mi-score-head{display:grid;grid-template-columns:auto 1fr;gap:8px 24px;align-items:start}
.mi-score-v .mi-num{display:block;font-size:48px;font-weight:700;line-height:1;color:var(--mi-text)}
.mi-score-of{font-size:13px;color:var(--mi-text-2)}
.mi-score-meta p{margin:6px 0 0;max-width:68ch}
.mi-score-x{margin-top:14px;border-top:1px solid var(--mi-border)}
.mi-score-x>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:var(--mi-primary)}
.mi-score-x table tr.mi-na td{color:var(--mi-text-2);font-size:13px;white-space:normal}
.mi-score-x tfoot td{font-weight:700;border-top:1px solid var(--mi-border-strong)}
.mi-score-dl{display:grid;grid-template-columns:minmax(140px,180px) 1fr;gap:6px 16px;font-size:13px;margin:12px 0}
.mi-score-dl dt{color:var(--mi-text-2);font-weight:500}.mi-score-dl dd{margin:0}
@media (max-width:640px){.mi-score-head{grid-template-columns:1fr}.mi-score-dl{grid-template-columns:1fr}}
