:root {
  --ink: #07111f;
  --ink-2: #0d1b2c;
  --panel: #122238;
  --paper: #f4f7f9;
  --white: #ffffff;
  --muted: #99a9bc;
  --line: rgba(255,255,255,.13);
  --line-dark: #d8e0e7;
  --cyan: #58d4df;
  --amber: #ffb657;
  --green: #7ad7a5;
  --blue: #84aef7;
  --max: 1180px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
.skip-link { position:absolute; left:12px; top:-80px; z-index:100; padding:10px 14px; background:var(--cyan); color:var(--ink); font-weight:800; text-decoration:none; border-radius:4px; }
.skip-link:focus { top:12px; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.55; }
a { color: inherit; }
.shell { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(7,17,31,.96); color: var(--white); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.nav { min-height: 68px; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; gap: 10px; align-items: center; text-decoration: none; font-weight: 760; letter-spacing: -.035em; font-size: 1.18rem; white-space: nowrap; }
.brand-mark { width: 22px; height: 22px; display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; transform: skewY(-8deg); }
.brand-mark i { display:block; background: var(--cyan); }
.brand-mark i:nth-child(2), .brand-mark i:nth-child(5), .brand-mark i:nth-child(8) { background: var(--amber); }
.nav-links { margin-left: auto; display: flex; gap: 22px; align-items: center; font-size: .88rem; color: #c8d4df; }
.nav-links a { text-decoration: none; }
.nav-links a:hover, .nav-links a:focus-visible { color: var(--white); }
.hero { color: var(--white); background: var(--ink); padding: 72px 0 54px; position: relative; overflow: hidden; }
.hero:after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity:.22; background-image: linear-gradient(rgba(88,212,223,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(88,212,223,.16) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg, transparent 20%, black 100%); }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns: 1.12fr .88fr; gap: 70px; align-items: end; }
.eyebrow { color: var(--cyan); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 760; margin: 0 0 18px; }
h1,h2,h3,p { margin-top: 0; }
h1 { margin-bottom: 22px; font-family: var(--serif); font-weight: 500; font-size: clamp(3.2rem, 7vw, 6.6rem); line-height: .93; letter-spacing: -.055em; max-width: 820px; }
h1 em { color: var(--amber); font-style: normal; }
.hero-copy { max-width: 650px; font-size: clamp(1.05rem, 1.4vw, 1.24rem); color: #c2cfdb; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top: 30px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding: 0 16px; border: 1px solid var(--cyan); background: var(--cyan); color: var(--ink); font-weight:760; text-decoration:none; border-radius:4px; }
.button.secondary { background:transparent; color:var(--white); border-color:#506177; }
.signal-panel { border:1px solid var(--line); background: rgba(18,34,56,.72); box-shadow: 0 28px 80px rgba(0,0,0,.22); }
.signal-head { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--line); color:#aebdcb; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.signal-row { display:grid; grid-template-columns: 1fr auto; gap:20px; padding:18px 16px; border-bottom:1px solid var(--line); }
.signal-row:last-child { border-bottom:0; }
.signal-label { color:#aebdcb; font-size:.8rem; }
.signal-value { font-family:var(--serif); font-size:1.45rem; line-height:1.1; }
.signal-note { color:#d6e0e8; font-size:.78rem; text-align:right; align-self:end; }
.signal-note a { color:var(--cyan); font-weight:750; text-decoration:none; }
.signal-note a:hover, .signal-note a:focus-visible { text-decoration:underline; }
.state-launch { background:#dfeaed; border-bottom:1px solid #c8d7db; }
.state-launch-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; }
.state-launch h2 { font-size:clamp(2rem,3.5vw,3.2rem); }
.state-launch p { color:#425668; font-size:1rem; }
.state-launch .button { margin-top:10px; }
.state-launch .button.secondary { color:var(--ink); border-color:#7e929f; }
main section { padding: 72px 0; }
.section-head { display:grid; grid-template-columns: .8fr 1.2fr; gap:50px; align-items:end; margin-bottom:34px; }
.kicker { color:#316b76; font-size:.76rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; margin-bottom:11px; }
h2 { font-family:var(--serif); font-weight:500; font-size:clamp(2.15rem,4vw,3.65rem); line-height:1; letter-spacing:-.045em; margin-bottom:0; }
.section-intro { color:#46576a; font-size:1.06rem; max-width:700px; margin-bottom:0; }
.ledger { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--line-dark); background:var(--white); }
.ledger-step { padding:22px 18px; min-height:150px; border-right:1px solid var(--line-dark); }
.ledger-step:last-child { border-right:0; }
.step-num { color:#5d6d7e; font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.ledger-step h3 { font-size:1rem; margin:38px 0 7px; }
.ledger-step p { font-size:.83rem; color:#657486; margin-bottom:0; }
.dark-section { background:var(--ink); color:var(--white); }
.dark-section .section-intro { color:#aab9c8; }
.dark-section .kicker { color:var(--cyan); }
.case-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.feature-case, .case-card { border:1px solid var(--line); background:var(--ink-2); }
.feature-case { padding:30px; display:grid; grid-template-columns:1fr .72fr; gap:30px; }
.case-place { color:var(--cyan); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; font-weight:760; }
.feature-case h3 { font-family:var(--serif); font-size:2.2rem; line-height:1.03; font-weight:500; margin:10px 0 14px; }
.feature-case p { color:#b8c7d5; }
.metric-tile { align-self:stretch; background:#0a1626; border-left:3px solid var(--amber); padding:22px; display:flex; flex-direction:column; justify-content:space-between; }
.metric-big { font-family:var(--serif); color:var(--amber); font-size:3.2rem; line-height:.95; }
.metric-unit { color:#d9e2ea; font-size:.86rem; margin-top:8px; }
.metric-caveat { color:#8091a3; font-size:.75rem; margin-top:28px; }
.case-stack { display:grid; gap:18px; }
.case-stack.four { grid-template-columns:repeat(2,1fr); }
.case-card { padding:22px; text-decoration:none; display:block; transition:.18s ease; }
.case-card:hover { border-color:var(--cyan); transform:translateY(-2px); }
.case-card h3 { color:var(--white); font-size:1.03rem; margin:8px 0 8px; }
.case-card p { color:#9eafbf; font-size:.86rem; margin-bottom:16px; }
.status { display:inline-flex; align-items:center; gap:7px; border:1px solid currentColor; border-radius:999px; padding:5px 9px; font-size:max(12px,.75rem); letter-spacing:.04em; font-weight:800; }
.status.supported { color:#315f9f; }
.status.announced { color:var(--blue); }
.status.unknown { color:#c1ccd7; }
.status.partial { color:var(--amber); }
.article .status.unknown, .brief-card .status.unknown { color:#52667a; }
.article .status.announced { color:#315f9f; }
.article .status.supported, .brief-card .status.supported { color:#315f9f; }
.article .status.partial, .brief-card .status.partial { color:#945200; }
.dataset .status.unknown { color:#52667a; }
.dataset .status.announced { color:#315f9f; }
.dataset .status.supported { color:#315f9f; }
.dataset .status.partial { color:#945200; }
.text-link { color:var(--cyan); font-size:.85rem; font-weight:760; text-decoration:none; }
.dataset-wrap { overflow-x:auto; border:1px solid var(--line-dark); background:var(--white); }
.dataset { border-collapse:collapse; min-width:980px; width:100%; }
.dataset th { background:#14243a; color:#d7e2ec; padding:14px 13px; text-align:left; font-size:.73rem; text-transform:uppercase; letter-spacing:.07em; }
.dataset td { padding:15px 13px; border-bottom:1px solid var(--line-dark); vertical-align:top; font-size:.84rem; }
.dataset tr:last-child td { border-bottom:0; }
.dataset tr:hover td { background:#f7fafc; }
.dataset strong { display:block; margin-bottom:3px; }
.muted { color:#5d6d7e; }
.source-link { color:#166674; text-decoration:underline; text-underline-offset:2px; }
.table-note { color:#566779; font-size:.82rem; margin:14px 0 0; }
.field-state { display:block; margin-top:5px; color:#5e7083; font-size:.72rem; font-weight:700; letter-spacing:.02em; }
.source-meta { display:block; margin-top:4px; color:#5d6d7e; font-size:.72rem; }
.brief-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.brief-card { display:flex; flex-direction:column; min-height:260px; padding:25px; border:1px solid var(--line-dark); background:var(--white); text-decoration:none; }
.brief-card:hover { border-color:#6d8da2; }
.brief-card h3 { font-family:var(--serif); font-weight:500; font-size:1.55rem; line-height:1.1; margin:42px 0 13px; }
.brief-card p { color:#5e6e7f; font-size:.9rem; }
.brief-card .text-link { margin-top:auto; color:#166674; }
.method-strip { background:var(--amber); color:#231609; padding:42px 0; }
.method-strip a { color:inherit; font-weight:800; }
.method-strip .shell { display:grid; grid-template-columns:1fr 1.4fr; gap:60px; align-items:center; }
.method-strip h2 { font-size:2.2rem; }
.method-strip p { margin:0; max-width:720px; }
.site-footer { background:#050c16; color:#9cacbc; padding:42px 0; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; }
.footer-grid p { font-size:.82rem; margin:12px 0 0; max-width:650px; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; font-size:.8rem; }
.footer-links a { color:#cbd7e0; }
.page-hero { background:var(--ink); color:var(--white); padding:58px 0 48px; }
.page-hero .table-note, .page-hero .table-note a { color:#b9c8d6; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; color:#91a2b4; font-size:.78rem; margin-bottom:24px; }
.breadcrumbs a { color:#b8c8d7; }
.page-hero h1 { font-size:clamp(2.7rem,5.8vw,5rem); max-width:900px; }
.page-hero .dek { max-width:760px; color:#b9c8d6; font-size:1.1rem; }
.meta-row { display:flex; gap:10px 26px; flex-wrap:wrap; color:#8fa1b3; font-size:.78rem; margin-top:26px; }
.article { width:min(calc(100% - 40px), 900px); margin:0 auto; padding:54px 0 80px; }
.article h2 { font-size:2.25rem; margin:48px 0 18px; }
.article h3 { font-size:1.08rem; margin:28px 0 8px; }
.article p, .article li { color:#34485b; font-size:1rem; }
.article a { color:#146b78; text-underline-offset:3px; }
.finding { margin:28px 0; padding:22px 24px; background:#e9f3f5; border-left:4px solid #247f8c; }
.finding.warn { background:#fff3df; border-color:#d48418; }
.finding strong { display:block; margin-bottom:6px; }
.directory-boundary { display:flex; flex-wrap:wrap; gap:10px 18px; max-width:900px; margin-top:28px; padding:18px 20px; border:1px solid #33506d; background:#102036; color:#d7e2ec; }
.directory-boundary strong { width:100%; color:var(--cyan); text-transform:uppercase; letter-spacing:.08em; font:800 .75rem/1.3 var(--sans); }
.directory-boundary span { flex:1 1 300px; }
.directory-toolbar { grid-template-columns:minmax(260px,2fr) minmax(130px,.6fr) minmax(160px,.8fr) auto auto; margin-bottom:28px; }
.directory-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:28px; align-items:start; }
.directory-results { list-style:none; margin:0; padding:0; border:1px solid var(--line-dark); background:var(--white); }
.directory-results li + li { border-top:1px solid var(--line-dark); }
.directory-result { width:100%; padding:16px 18px; border:0; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.directory-result:hover, .directory-result:focus-visible { background:#eef8fa; outline:3px solid transparent; box-shadow:inset 4px 0 var(--teal); }
.directory-result strong, .directory-result span { display:block; }
.directory-result-meta { margin-top:7px; color:#315f70; text-transform:uppercase; letter-spacing:.05em; font:800 .7rem/1.3 var(--sans); }
.directory-detail { position:sticky; top:20px; padding:24px; border:1px solid var(--line-dark); background:var(--white); overflow-wrap:anywhere; }
.directory-detail h2 { font-size:2rem; }
.directory-detail h3 { margin-top:24px; font-size:1.15rem; }
.directory-detail h2:focus { outline:3px solid var(--teal); outline-offset:5px; }
.directory-warning { padding:10px 12px; border-left:4px solid #d48418; background:#fff3df; font-weight:800; }
.directory-reviewed-link { margin-top:22px; padding:14px; border-left:4px solid var(--green); background:#edf8f1; }
.directory-back-link { display:none; margin-top:18px; font-weight:800; }
.directory-crosslink { margin:8px 0 0; color:#445d6d; font-size:max(12px,.74rem); }
.directory-param-warning { margin:0 0 16px; }
.directory-facts { display:grid; grid-template-columns:max-content 1fr; gap:7px 14px; }
.directory-facts dt { color:#526477; font:800 .72rem/1.4 var(--sans); text-transform:uppercase; letter-spacing:.06em; }
.directory-facts dd { margin:0; }
.directory-more { margin-top:18px; }
.directory-license { margin-top:34px; }
.claim-ledger { margin:28px 0; border-top:1px solid var(--line-dark); }
.claim { display:grid; grid-template-columns:150px 1fr; gap:24px; padding:22px 0; border-bottom:1px solid var(--line-dark); }
.claim .status { align-self:start; justify-self:start; }
.claim h3 { margin:0 0 6px; }
.claim p { margin:0; }
.source-list { list-style:none; padding:0; }
.source-list li { padding:14px 0; border-bottom:1px solid var(--line-dark); }
.source-list a { font-weight:700; }
.method-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin:30px 0; }
.method-card { padding:20px; background:var(--white); border:1px solid var(--line-dark); }
.method-card h3 { margin-top:0; }
.fact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:28px 0; }
.fact { background:var(--white); border:1px solid var(--line-dark); padding:18px; }
.fact b { display:block; font-family:var(--serif); font-size:1.6rem; font-weight:500; color:#0b5d68; }
.fact span { display:block; color:#647487; font-size:.78rem; margin-top:4px; }
.state-facts { grid-template-columns:repeat(4,1fr); }
.state-facts .fact b { font-size:2rem; color:#0c6570; }
.dark-note { color:#91a4b5; }
.coverage-section { background:#e8eef2; }
.compact-section { padding-top:42px; padding-bottom:52px; }
.census-hero { padding:48px 0 42px; }
.census-hero h1 { max-width:1050px; font-size:clamp(2.7rem,5.4vw,4.8rem); }
.census-hero .dek { max-width:930px; }
.census-facts { margin-top:0; }
.map-section { background:#e8eef2; border-top:1px solid #d1dce3; border-bottom:1px solid #cad6de; }
.map-layout { display:grid; grid-template-columns:minmax(360px,.88fr) minmax(330px,1.12fr); gap:24px; align-items:start; }
.state-map-card { position:relative; align-self:start; min-width:0; padding:24px; background:var(--ink); border:1px solid #26394d; box-shadow:0 24px 60px rgba(7,17,31,.12); }
.state-map-card > img { display:block; width:100%; height:auto; }
.map-marker-layer { position:absolute; inset:24px; }
.map-marker { position:absolute; z-index:2; display:grid; place-items:center; width:48px; height:48px; padding:0; transform:translate(-50%,-50%); border:0; border-radius:50%; background:transparent; color:var(--white); font:800 .6rem/1 var(--sans); cursor:pointer; pointer-events:none; }
.map-marker > span:first-child { position:relative; pointer-events:auto; display:grid; place-items:center; width:23px; height:23px; border:2px solid var(--amber); border-radius:50%; background:#40290d; box-shadow:0 0 0 4px rgba(255,182,87,.13),0 4px 12px rgba(0,0,0,.35); }
.map-marker.facility > span:first-child { width:18px; height:18px; border-color:var(--cyan); background:#08343c; font-size:.55rem; box-shadow:0 0 0 3px rgba(88,212,223,.12),0 4px 10px rgba(0,0,0,.3); }
.map-marker.marker-large { z-index:1; width:58px; height:58px; color:#281806; font-size:.72rem; }
.map-marker.marker-large > span:first-child { width:48px; height:48px; border-width:3px; background:var(--amber); box-shadow:0 0 0 8px rgba(255,182,87,.16),0 7px 18px rgba(0,0,0,.38); }
.map-marker.facility.marker-cluster > span:first-child { width:30px; height:30px; font-size:.68rem; }
.map-marker > span:first-child::after { content:''; position:absolute; top:50%; left:50%; width:max(100%,24px); height:max(100%,24px); transform:translate(-50%,-50%); border-radius:50%; }
.map-marker:hover, .map-marker:focus-visible { z-index:10; outline:none; }
.map-marker:hover > span:first-child, .map-marker:focus-visible > span:first-child { outline:3px solid var(--white); outline-offset:3px; }
.map-marker[aria-pressed="true"] > span:first-child { outline:3px solid var(--white); outline-offset:3px; }
.map-tip { position:absolute; left:50%; bottom:calc(100% + 11px); width:220px; padding:11px 12px; transform:translateX(-50%); background:var(--white); border:1px solid #c9d5dd; color:#46586a; text-align:left; font:500 .72rem/1.35 var(--sans); box-shadow:0 12px 30px rgba(0,0,0,.25); pointer-events:none; opacity:0; visibility:hidden; }
.map-tip:after { content:''; position:absolute; left:calc(50% - 5px); top:100%; border:5px solid transparent; border-top-color:var(--white); }
.marker-top .map-tip { top:calc(100% + 11px); bottom:auto; }
.marker-top .map-tip:after { top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:var(--white); }
.marker-left .map-tip { left:0; transform:translateX(-8px); }
.marker-left .map-tip:after { left:26px; }
.marker-right .map-tip { left:auto; right:0; transform:translateX(8px); }
.marker-right .map-tip:after { left:auto; right:26px; }
.map-marker:focus-visible .map-tip { opacity:1; visibility:visible; }
@media (hover:hover) { .map-marker:hover .map-tip { opacity:1; visibility:visible; } }
.map-marker.tip-dismissed .map-tip { opacity:0; visibility:hidden; }
.map-tip b, .map-tip small { display:block; }
.map-tip b { color:var(--ink); font-size:.82rem; margin-bottom:2px; }
.map-tip small { margin-top:6px; color:#526477; font-size:.7rem; line-height:1.35; }
.map-panel { display:flex; flex-direction:column; background:var(--white); border:1px solid #cbd7df; }
.map-legend { display:grid; grid-template-columns:1fr; gap:11px; padding:22px; border-bottom:1px solid var(--line-dark); color:#45586a; font-size:.78rem; }
.map-legend span { display:flex; align-items:center; gap:10px; }
.map-legend i { display:inline-block; flex:0 0 auto; width:13px; height:13px; border-radius:50%; }
.legend-project { border:2px solid var(--amber); background:#40290d; }
.legend-facility { border:2px solid #1997a3; background:#d7f6f8; }
.legend-gigawatt { width:22px!important; height:22px!important; border:3px solid #d98a1f; background:var(--amber); }
.map-stats { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line-dark); }
.map-stats div { min-height:120px; padding:19px 16px; border-right:1px solid var(--line-dark); }
.map-stats div:last-child { border-right:0; }
.map-stats b { display:block; color:#0b6470; font:500 2.25rem/1 var(--serif); }
.map-stats span { display:block; margin-top:18px; color:#667789; font-size:.72rem; line-height:1.35; overflow-wrap:anywhere; }
.map-selector { display:flex; flex-direction:column; gap:6px; padding:18px 22px; border-bottom:1px solid var(--line-dark); color:#526477; font-size:.66rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.map-selector select { width:100%; height:44px; padding:0 12px; border:1px solid #b9c8d1; background:var(--white); color:var(--ink); font:600 .8rem/1 var(--sans); letter-spacing:normal; text-transform:none; }
.map-reading { padding:24px; }
.map-reading strong { font-family:var(--serif); font-size:1.55rem; font-weight:500; }
.map-reading p { margin:10px 0 0; color:#5b6d7f; font-size:.88rem; }
.map-detail { margin:0 18px 18px; padding:18px; border:1px solid #b8cad4; background:#f1f8f9; }
.map-detail > strong { display:block; font-family:var(--serif); font-size:1.25rem; font-weight:500; }
.map-detail > p { margin:7px 0 0; color:#536779; font-size:.82rem; line-height:1.5; }
.map-detail-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:14px; }
.map-detail-head h3 { margin:2px 0 3px; font:500 1.55rem/1.1 var(--serif); }
.map-detail-head p { margin:0; color:#55697b; font-size:.76rem; line-height:1.45; }
.map-detail-head .eyebrow { color:#0c6975; font-size:.64rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.map-detail-close { flex:0 0 40px; width:40px; height:40px; border:1px solid #aebfc9; border-radius:50%; background:var(--white); color:#415668; font:400 1.4rem/1 var(--sans); cursor:pointer; }
.map-record-list { display:grid; gap:10px; max-height:410px; overflow:auto; }
.map-record { padding:14px; border:1px solid #cbd8df; background:var(--white); }
.map-record-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.map-record-head strong, .map-record-head span { display:block; }
.map-record-head strong { color:var(--ink); font-size:.87rem; }
.map-record-head div > span { margin-top:3px; color:#607386; font-size:.7rem; }
.map-record-measure { margin:12px 0 0; color:#20394a; font-size:.78rem; font-weight:750; }
.map-record-support { margin:5px 0 0; color:#0c6874; font-size:.72rem; font-weight:750; }
.map-record-note { margin:8px 0 0; color:#586c7e; font-size:.72rem; line-height:1.45; }
.map-source { display:grid; grid-template-columns:auto 1fr; gap:2px 9px; margin-top:12px; padding-top:10px; border-top:1px solid #d6e0e5; }
.map-source span { grid-row:1 / 4; color:#6b7c8c; font-size:.61rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.map-source b, .map-source .map-source-title { color:#263e50; font-size:.7rem; font-weight:800; }
.map-source a { justify-self:start; min-height:32px; display:inline-flex; align-items:center; color:#08737e; font-size:.74rem; font-weight:800; }
.map-table-button { display:block; width:100%; min-height:44px; margin-top:12px; padding:10px 12px; border:1px solid #0c6c77; background:#0c6c77; color:var(--white); font:800 .75rem/1.3 var(--sans); text-align:center; text-decoration:none; }
.map-action { margin:auto 24px 22px; padding-top:18px; border-top:1px solid var(--line-dark); color:#536779; font-size:.72rem; line-height:1.45; }
.map-no-script { position:absolute; left:30px; right:30px; bottom:28px; margin:0; padding:9px; background:rgba(7,17,31,.9); color:var(--white); font-size:.72rem; }
.size-section { padding:58px 0; }
.size-band-grid { display:grid; grid-template-columns:repeat(6,1fr); border:1px solid var(--line); background:var(--ink-2); }
.size-band { min-height:150px; padding:19px 16px; border-right:1px solid var(--line); display:flex; flex-direction:column; }
.size-band:last-child { border-right:0; }
.size-band b { font-family:var(--serif); font-size:2.4rem; line-height:1; color:var(--cyan); font-weight:500; }
.size-band span { margin-top:auto; color:var(--white); font-size:.86rem; font-weight:750; }
.size-band small { color:#8a9db0; font-size:.72rem; margin-top:4px; }
.size-band.highlight { background:#213046; box-shadow:inset 0 4px 0 var(--amber); }
.size-band.highlight b { color:var(--amber); }
.size-band.unknown-band b { color:#9cabb9; }
.status-summary { display:flex; flex-wrap:wrap; gap:8px; margin:-6px 0 22px; }
.status-summary span { display:inline-flex; align-items:center; gap:5px; padding:7px 10px; border:1px solid var(--line-dark); background:var(--white); color:#506174; font-size:.74rem; }
.status-summary b { color:#0a5f6b; }
.census-toolbar { display:grid; grid-template-columns:minmax(250px,1.5fr) repeat(3,minmax(150px,.8fr)) auto; gap:10px; align-items:end; margin:0 0 14px; }
.census-toolbar.new-albany-toolbar { grid-template-columns:minmax(280px,1fr) auto; }
.census-toolbar label { display:flex; flex-direction:column; gap:5px; color:#526477; font-size:.68rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.census-toolbar input, .census-toolbar select { width:100%; height:44px; padding:0 12px; border:1px solid #c8d3dc; border-radius:3px; background:var(--white); color:var(--ink); font:500 .84rem/1 var(--sans); text-transform:none; letter-spacing:normal; }
.result-count { min-width:85px; height:44px; padding:5px 10px; border:1px solid #c8d3dc; background:#e9f3f5; display:flex; flex-direction:column; justify-content:center; }
.result-count b { color:#0a6370; line-height:1; }
.result-count span { color:#566779; font-size:.64rem; }
.census-table { min-width:1180px; color:var(--ink); }
.census-table td:first-child { width:25%; }
.census-table td:nth-child(2) { width:14%; }
.census-table td:nth-child(3) { width:14%; }
.census-table td:nth-child(4) { width:14%; }
.census-table td:nth-child(5) { width:17%; }
.state-record-wrap { overflow:visible; }
.state-record-table { min-width:0; table-layout:fixed; }
.state-record-table td { overflow-wrap:anywhere; }
.state-record-table td::before { content:attr(data-label); display:block; margin-bottom:7px; color:#526477; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.state-directory-section { padding:42px 0 0; }
.state-directory-bridge { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; margin:0 0 42px; padding:24px; border:1px solid var(--line-dark); border-top:4px solid var(--cyan); background:var(--white); }
.state-directory-bridge h2 { margin:5px 0 8px; font-size:clamp(1.5rem,2.5vw,2.15rem); }
.state-directory-bridge p:not(.kicker) { max-width:780px; margin:0; color:#526477; font-size:.86rem; }
.state-directory-bridge .button { white-space:nowrap; }
.state-directory-bridge .button.secondary { color:var(--ink); border-color:#7e929f; }
.row-note { margin:8px 0 0; color:#526477; font-size:.74rem; line-height:1.45; }
.status-chip { display:inline-block; padding:5px 7px; border-left:3px solid #6f8ca0; background:#edf2f5; color:#34485a; font-size:max(12px,.75rem); font-weight:750; line-height:1.35; }
.evidence-tier { display:block; color:#293e50; font-size:.72rem; font-weight:750; }
.source-small { display:block; margin-top:7px; font-size:.7rem; }
.empty-state { padding:18px; border:1px solid var(--line-dark); background:var(--white); color:#5e7082; }
.reconciliation-card { display:grid; grid-template-columns:1fr 80px 1fr; border:1px solid var(--line-dark); background:var(--white); }
.reconciliation-card > div { padding:27px; }
.reconciliation-card > div:nth-child(2) { display:grid; place-items:center; border-left:1px solid var(--line-dark); border-right:1px solid var(--line-dark); padding:12px; }
.recon-label { display:block; color:#397884; font-size:.7rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin-bottom:26px; }
.reconciliation-card strong { display:block; font-family:var(--serif); font-size:2rem; font-weight:500; line-height:1; }
.reconciliation-card p { color:#586a7c; font-size:.86rem; margin:12px 0; max-width:480px; }
.reconciliation-card a { color:#166674; font-size:.78rem; font-weight:750; }
.recon-arrow { color:#d4861b; font:500 2.4rem/1 var(--serif); }
.facility-metrics { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); margin:0 0 20px; }
.facility-metrics > div { padding:18px; border-right:1px solid var(--line); }
.facility-metrics > div:last-child { border-right:0; }
.facility-metrics b { display:block; color:var(--amber); font:500 1.9rem/1 var(--serif); }
.facility-metrics span { display:block; color:#91a4b5; font-size:.74rem; margin-top:6px; }
.dark-toolbar { grid-template-columns:minmax(280px,1.6fr) repeat(2,minmax(190px,.9fr)) auto; }
.dark-toolbar label { color:#9fb0c0; }
.dark-toolbar input, .dark-toolbar select { border-color:#3c4e63; background:var(--ink-2); color:var(--white); }
.dark-toolbar .result-count { border-color:#3c4e63; background:#162a3d; }
.dark-toolbar .result-count span { color:var(--white); }
.dark-toolbar .result-count b { color:var(--cyan); }
.dark-section .census-table-wrap { border-color:#314358; }
.insight-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.insight-grid article { min-height:200px; padding:20px; border:1px solid #ccd7df; background:var(--white); }
.insight-grid article > b { display:block; color:#0b6470; font:500 2.7rem/1 var(--serif); }
.insight-grid h3 { font-size:.92rem; margin:40px 0 8px; }
.insight-grid p { color:#637487; font-size:.78rem; margin:0; }
.dossier-hero { padding-bottom:42px; }
.dossier-hero h1 { max-width:1050px; }
.dossier-summary { display:grid; grid-template-columns:1.15fr .85fr; gap:20px; margin:-28px auto 0; position:relative; z-index:2; }
.assessment-card, .next-card { padding:24px; border:1px solid var(--line-dark); background:var(--white); box-shadow:0 16px 44px rgba(7,17,31,.08); }
.assessment-card { border-top:4px solid var(--cyan); }
.assessment-card h2, .next-card h2 { margin:10px 0 12px; font-size:1.65rem; }
.assessment-card p, .next-card p, .next-card li { color:#4e6173; font-size:.88rem; }
.next-card { background:#fff6e8; border-top:4px solid var(--amber); }
.next-card ul { padding-left:18px; margin-bottom:0; }
.dossier-main { width:min(calc(100% - 40px), var(--max)); padding-top:42px; }
.dossier-main > h2 { margin-top:54px; }
.metric-strip { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--line-dark); background:var(--white); }
.metric-strip > div { min-height:142px; padding:18px; border-right:1px solid var(--line-dark); }
.metric-strip > div:last-child { border-right:0; }
.metric-strip b { display:block; color:#0a6470; font:500 1.65rem/1.05 var(--serif); }
.metric-strip span { display:block; margin-top:22px; color:#34485a; font-size:.78rem; font-weight:750; }
.metric-strip small { display:block; margin-top:5px; color:#56697b; font-size:.68rem; line-height:1.4; }
.evidence-ledger { margin:24px 0; border:1px solid var(--line-dark); background:var(--white); }
.evidence-row { display:grid; grid-template-columns:140px minmax(180px,.8fr) 1.5fr; gap:22px; padding:22px; border-bottom:1px solid var(--line-dark); }
.evidence-row:last-child { border-bottom:0; }
.evidence-row h3 { margin:2px 0 5px; font-size:.96rem; }
.evidence-row p { margin:0; color:#4d6072; font-size:.86rem; }
.evidence-row .source-meta { margin-top:8px; }
.evidence-row .status { justify-self:start; align-self:start; }
.evidence-row .status.not-due { color:#596d81; }
.assessment-card .status.supported { color:#1f744a; }
.assessment-card .status.partial { color:#945200; }
.source-packet { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; list-style:none; padding:0; }
.source-packet li { padding:17px; border:1px solid var(--line-dark); background:var(--white); }
.source-packet a { display:block; font-weight:800; }
.source-packet span { display:block; margin-top:6px; color:#657688; font-size:.75rem; }
.timeline { position:relative; margin:24px 0; padding-left:26px; border-left:2px solid #b6c8d2; }
.timeline article { position:relative; padding:0 0 26px 18px; }
.timeline article:before { content:''; position:absolute; left:-25px; top:5px; width:10px; height:10px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 5px var(--paper); }
.timeline article:last-child { padding-bottom:0; }
.timeline time { color:#397884; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.timeline h3 { margin:5px 0; }
.timeline p { margin:0; color:#536678; font-size:.86rem; }
.coverage-hero { padding:48px 0 36px; }
.coverage-hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); grid-template-areas:"copy map" "meta map"; gap:16px 28px; align-items:center; }
.coverage-hero-copy { grid-area:copy; min-width:0; }
.coverage-map-panel { grid-area:map; min-width:0; max-width:100%; }
.coverage-hero-meta { grid-area:meta; min-width:0; }
.coverage-hero h1 { max-width:none; font-size:clamp(2.15rem,3.6vw,3.35rem); line-height:1.05; margin-bottom:16px; }
.coverage-hero .dek { max-width:none; font-size:1rem; margin-bottom:0; }
.coverage-hero .table-note { margin-top:12px; }
.coverage-hero .meta-row { margin-top:12px; }
.coverage-hero + .compact-section { padding-top:24px; }
.coverage-map { min-width:0; max-width:100%; color:#d5e0ea; }
.coverage-map-qualification { margin:0 0 8px; color:#c5d3de; font-size:max(12px,.78rem); font-weight:700; }
.coverage-map-frame { overflow:hidden; width:100%; max-width:100%; }
.coverage-map svg { display:block; width:100%; height:auto; max-width:100%; overflow:hidden; }
.coverage-map-state { cursor:pointer; }
.coverage-map-state:focus { outline:none; }
.coverage-map-state:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
.coverage-map-legend { display:flex; flex-wrap:wrap; gap:8px 16px; list-style:none; margin:8px 0 0; padding:0; color:#c5d3de; font-size:max(12px,.72rem); }
.coverage-map-legend li { display:flex; align-items:center; gap:8px; }
.coverage-map-swatch { display:inline-block; width:14px; height:14px; flex:0 0 14px; border:1px solid #8fe7ef; }
.coverage-map-swatch.is-useful { background:#1b6572; border-color:#b8f5fa; }
.coverage-map-swatch.is-anchor { background:#3b8993; }
.coverage-map-swatch.is-hold { border:1px dashed #d4a35c; background:repeating-linear-gradient(45deg,#24384c 0 3px,#6d8498 3px 5px); }
@media (max-width:850px) {
  .coverage-hero { padding:32px 0 14px; }
  .coverage-hero-grid { grid-template-columns:1fr; grid-template-areas:"copy" "map" "meta"; gap:10px; align-items:start; }
  .coverage-hero h1 { font-size:clamp(2rem,10vw,2.8rem); margin-bottom:10px; }
  .coverage-hero + .compact-section { padding-top:16px; }
}
@media (max-width:520px) {
  .coverage-hero { padding:24px 0 10px; }
  .coverage-hero .dek { font-size:.95rem; }
  .coverage-hero .breadcrumbs { margin-bottom:14px; }
  .coverage-map svg { width:min(100%, 270px); margin-inline:auto; }
}
.coverage-toolbar { display:grid; grid-template-columns:1.4fr .8fr auto auto; gap:10px; margin:0 0 18px; align-items:end; }
.coverage-toolbar label { display:flex; flex-direction:column; gap:5px; color:#526477; font-size:.68rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.coverage-toolbar input, .coverage-toolbar select { height:44px; padding:0 12px; border:1px solid #c8d3dc; background:var(--white); color:var(--ink); font:500 .84rem/1 var(--sans); text-transform:none; letter-spacing:normal; }
.coverage-key { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.coverage-key span { padding:7px 10px; border:1px solid var(--line-dark); background:var(--white); color:#526477; font-size:.72rem; }
.state-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.state-grid-boundary { margin:0 0 16px; padding:12px 14px; border-left:4px solid var(--teal); background:#e9f3f5; color:#40586a; }
.state-card { min-height:194px; padding:18px; border:1px solid var(--line-dark); background:var(--white); }
.state-card[data-status="not-started"] { background:#edf1f4; }
.state-card[data-status="statewide-first-pass"] { border-top:4px solid var(--green); }
.state-card[data-status="project-facility-seed"] { border-top:4px solid var(--cyan); }
.state-card[data-status="project-only"], .state-card[data-status="topic-only"] { border-top:4px solid var(--amber); }
.state-card-head { display:flex; justify-content:space-between; gap:12px; align-items:start; }
.state-card h3 { margin:0; font:500 1.45rem/1.05 var(--serif); }
.state-card .abbr { color:#526578; font-size:.72rem; font-weight:800; }
.state-card p { margin:6px 0 0; color:#627386; font-size:.76rem; }
.state-card a { display:inline-block; margin-top:14px; color:#0b6c77; font-size:.76rem; font-weight:800; }
.state-card .state-empty { color:#536679; }
.coverage-callout { display:grid; grid-template-columns:1fr 1.25fr; gap:40px; padding:28px; margin:26px 0 0; border:1px solid #c8d5dc; background:#e9f3f5; }
.parity-table td:first-child { min-width:170px; }
.coverage-callout h2 { font-size:1.8rem; }
.coverage-callout p { margin:0; color:#4d6173; font-size:.88rem; }
.ohio-hero h1 { max-width:1040px; }
.coverage-boundary { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line-dark); background:var(--white); }
.coverage-boundary > div { min-height:170px; padding:21px; border-right:1px solid var(--line-dark); }
.coverage-boundary > div:last-child { border-right:0; }
.coverage-boundary span { color:#2e7480; font-size:.7rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.coverage-boundary p { margin:34px 0 0; color:#526578; font-size:.82rem; }
.ohio-signal-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:var(--ink-2); }
.ohio-signal-grid article { min-height:220px; padding:22px; border-right:1px solid var(--line); }
.ohio-signal-grid article:last-child { border-right:0; }
.ohio-signal-grid b { display:block; color:var(--amber); font:500 2.45rem/1 var(--serif); }
.ohio-signal-grid h3 { margin:46px 0 8px; color:var(--white); font-size:.92rem; }
.ohio-signal-grid p { margin:0; color:#96a8ba; font-size:.77rem; }
.claim-desk-section { background:#e7eef2; }
.claim-check-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.claim-check { display:flex; flex-direction:column; min-height:310px; padding:22px; border:1px solid #c9d5dd; background:var(--white); }
.claim-check-top { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; color:#456173; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.claim-check h3 { max-width:560px; margin:42px 0 11px; font:500 1.48rem/1.08 var(--serif); }
.claim-check p { color:#526578; font-size:.84rem; }
.verdict { display:inline-flex; align-items:center; max-width:100%; padding:6px 10px; border-width:2px; border-radius:4px; text-align:left; line-height:1.3; font-size:12px; font-weight:800; letter-spacing:.02em; }
.verdict-supported { color:var(--green); border-style:solid; }
.verdict-partially-supported { color:#945200; border-style:dashed; }
.verdict-company-claim { color:#315f9f; border-style:dotted; }
.verdict-contradicted { color:#a13939; border-style:double; }
.verdict-outdated { color:#7a4e16; border-style:solid; }
.verdict-not-independently-verified { color:#336b72; border-style:dashed; }
.verdict-unknown { color:#596d81; border-style:none; border-width:0; padding-left:0; }
.verdict-not-yet-due { color:#315f9f; border-style:dotted; }
.claim-card { display:flex; flex-direction:column; gap:10px; padding:18px; border:1px solid #c9d5dd; background:var(--white); margin:0 0 14px; }
.claim-kicker { margin:0; color:#456173; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.claimant { margin:0; font-size:.9rem; }
.claim-quote { margin:0; padding:0; border:0; }
.claim-quote p { margin:0; font:500 1.05rem/1.35 var(--serif); color:var(--ink); }
.claim-field h4 { margin:0 0 4px; font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.claim-field p { margin:0; color:#526578; font-size:.88rem; }
.claim-computation { margin:0; font-size:.88rem; color:#0b6975; }
.claim-meta { margin:0; font-size:12px; color:#456173; }
.claim-hero { padding:34px 0 28px; }
.claim-hero h1 { max-width:none; margin-bottom:12px; font-size:clamp(2.5rem,7vw,4rem); overflow-wrap:anywhere; }
.claim-hero .dek { margin-bottom:0; }
.watch-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.watch-section-head h2 { font-size:clamp(1.8rem,3vw,2.6rem); }
.claim-watch-section { padding-top:30px; }
.claim-review-state { margin:0; color:#53687a; font-size:12px; font-weight:750; }
.claims-all { border-top:1px solid var(--line-dark); }
.claim-group { margin-top:12px; border:1px solid var(--line-dark); background:var(--white); }
.claim-group > summary { display:flex; justify-content:space-between; gap:16px; padding:14px 16px; color:#397884; cursor:pointer; font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.claim-group > summary:hover, .claim-group > summary:focus-visible { background:#f1f8f9; }
.claim-group[open] > summary { border-bottom:1px solid var(--line-dark); }
[hidden] { display:none!important; }
.claims-toolbar { grid-template-columns:minmax(250px,1.5fr) minmax(120px,.7fr) minmax(180px,1fr) auto auto; margin-top:22px; }
.filter-reset { min-height:44px; padding:0 14px; border:1px solid #7e929f; border-radius:3px; background:var(--white); color:var(--ink); font:800 .76rem/1 var(--sans); cursor:pointer; }
.filter-reset:hover, .filter-reset:focus-visible { border-color:#0b6975; background:#f1f8f9; }
.claim-filter-empty { padding:18px; border:1px solid #c9d5dd; background:var(--white); color:#526578; }
.claim-group { margin-top:30px; }
.claim-actions { display:flex; flex-wrap:wrap; gap:10px; margin:0; }
.claim-legend { margin:6px 0; font-size:.88rem; }
.correction-entry, .history-entry { padding:14px 0; border-bottom:1px solid var(--line-dark); }
.correction-kicker { color:#397884; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.evidence-class { display:inline-flex; margin-left:6px; padding:2px 6px; border:1px solid #b9c9d2; font-size:12px; font-weight:700; }
.row-first-line { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:6px; }
.source-chain { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:18px; border-top:1px solid var(--line-dark); }
.source-chain a { min-height:40px; display:inline-flex; align-items:center; padding:8px 10px; border:1px solid #b9c9d2; color:#0b6975; font-size:.73rem; font-weight:800; text-decoration:none; }
.source-chain a:hover, .source-chain a:focus-visible { border-color:#0b6975; background:#f1f8f9; }
.source-detail-list, .source-detail-list li, .source-detail-list p, .source-detail-list a { overflow-wrap:anywhere; word-break:break-word; }
.correction-entry, .correction-entry p, .correction-entry a,
.history-entry, .history-entry p, .history-entry a { overflow-wrap:anywhere; word-break:break-word; }
.research-coverage { overflow-wrap:anywhere; }
.ohio-table { min-width:1320px; }
.ohio-table td:first-child { width:17%; }
.ohio-table td:nth-child(2) { width:12%; }
.ohio-table td:nth-child(4) { width:20%; }
.ohio-table td:nth-child(5) { width:22%; }
.ohio-facility-section { background:#f4f7f9; }
.facility-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:24px; }
.facility-summary-grid article { min-height:235px; display:flex; flex-direction:column; padding:21px; border:1px solid var(--line-dark); background:var(--white); }
.facility-summary-grid b { color:#0b6571; font:500 2.5rem/1 var(--serif); }
.facility-summary-grid h3 { margin:32px 0 7px; font-size:.96rem; }
.facility-summary-grid p { color:#607285; font-size:.78rem; }
.facility-summary-grid a { display:inline-block; margin-top:auto; padding-top:6px; color:#0a6975; font-size:.73rem; font-weight:800; }
.facility-summary-grid a + a { margin-top:4px; }
.legacy-table { min-width:1000px; }
.legacy-table td:first-child { width:18%; }
.legacy-table td:nth-child(2) { width:27%; }
.legacy-table td:nth-child(3) { width:27%; }
.rule-grid { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--line); background:var(--ink-2); }
.rule-grid article { min-height:300px; display:flex; flex-direction:column; padding:27px; border-right:1px solid var(--line); }
.rule-grid article:last-child { border-right:0; }
.rule-tag { color:var(--cyan); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.rule-grid h3 { margin:47px 0 12px; font:500 1.8rem/1.05 var(--serif); }
.rule-grid p { color:#a2b2c1; font-size:.86rem; }
.rule-grid a { margin-top:auto; color:var(--cyan); font-size:.78rem; font-weight:800; }
@media (max-width: 850px) {
  .directory-layout { grid-template-columns:1fr; }
  .directory-detail { position:static; }
  .directory-back-link { display:inline-block; }
  .directory-toolbar { grid-template-columns:1fr 1fr; }
  .directory-toolbar .search-field { grid-column:1 / -1; }
  .nav { min-height:60px; flex-wrap:nowrap; gap:8px 18px; padding:10px 0; }
  .hero { padding:52px 0 40px; }
  .hero-grid, .section-head, .case-grid, .feature-case, .method-strip .shell, .state-launch-grid { grid-template-columns:1fr; gap:28px; }
  h1 { font-size:clamp(3rem,15vw,4.7rem); }
  .signal-panel { max-width:600px; }
  .ledger { grid-template-columns:1fr; }
  .ledger-step { min-height:0; border-right:0; border-bottom:1px solid var(--line-dark); display:grid; grid-template-columns:48px 120px 1fr; align-items:start; gap:10px; }
  .ledger-step:last-child { border-bottom:0; }
  .ledger-step h3 { margin:0; }
  .brief-grid { grid-template-columns:1fr; }
  .map-record-list { max-height:none; overflow:visible; }
  .brief-card { min-height:220px; }
  .footer-grid { grid-template-columns:1fr; align-items:start; }
  .claim { grid-template-columns:1fr; gap:12px; }
  .method-grid, .fact-grid { grid-template-columns:1fr; }
  .size-band-grid { grid-template-columns:repeat(3,1fr); }
  .size-band:nth-child(3) { border-right:0; }
  .size-band:nth-child(-n+3) { border-bottom:1px solid var(--line); }
  .census-toolbar { grid-template-columns:1fr 1fr; }
  .claims-toolbar { grid-template-columns:1fr 1fr; }
  .search-field { grid-column:1 / -1; }
  .result-count { min-width:0; }
  .reconciliation-card { grid-template-columns:1fr; }
  .reconciliation-card > div:nth-child(2) { border:0; border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); }
  .facility-metrics, .insight-grid { grid-template-columns:1fr 1fr; }
  .map-layout { grid-template-columns:1fr; }
  .state-map-card { width:min(100%,520px); margin:0 auto; }
  .facility-metrics > div:nth-child(2) { border-right:0; }
  .facility-metrics > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .dossier-summary, .coverage-callout { grid-template-columns:1fr; }
  .metric-strip { grid-template-columns:repeat(2,1fr); }
  .metric-strip > div { border-bottom:1px solid var(--line-dark); }
  .metric-strip > div:nth-child(2n) { border-right:0; }
  .metric-strip > div:last-child { grid-column:1 / -1; border-bottom:0; }
  .evidence-row { grid-template-columns:125px 1fr; }
  .evidence-row > div:last-child { grid-column:2; }
  .state-grid { grid-template-columns:repeat(2,1fr); }
  .coverage-boundary, .ohio-signal-grid { grid-template-columns:1fr 1fr; }
  .coverage-boundary > div:nth-child(2), .ohio-signal-grid article:nth-child(2) { border-right:0; }
  .coverage-boundary > div:nth-child(-n+2), .ohio-signal-grid article:nth-child(-n+2) { border-bottom:1px solid var(--line-dark); }
  .coverage-boundary > div:last-child { grid-column:1 / -1; }
  .claim-check-grid { grid-template-columns:1fr; }
  .facility-summary-grid { grid-template-columns:repeat(2,1fr); }
  .state-directory-bridge { grid-template-columns:1fr; gap:16px; margin-bottom:28px; padding:20px; }
  .state-directory-bridge .button { width:100%; white-space:normal; }
}
@media (max-width:520px) {
  .directory-toolbar { grid-template-columns:1fr; }
  .directory-toolbar .search-field { grid-column:auto; }
  .directory-facts { grid-template-columns:1fr; gap:2px; }
  .directory-facts dd { margin-bottom:10px; }
  .shell, .article { width:min(calc(100% - 28px), var(--max)); }
  .brand { font-size:1.04rem; }
  .hero-grid { gap:34px; }
  .signal-row { grid-template-columns:1fr; }
  .signal-note { text-align:left; }
  main section { padding:54px 0; }
  .section-head { gap:18px; }
  .feature-case { padding:21px; }
  .case-stack.four { grid-template-columns:1fr; }
  .ledger-step { grid-template-columns:35px 1fr; }
  .ledger-step p { grid-column:2; }
  .census-hero { padding:24px 0; }
  .census-hero h1 { font-size:clamp(2rem,10vw,2.65rem); }
  .census-hero .dek { font-size:.95rem; }
  .size-band-grid { grid-template-columns:1fr 1fr; }
  .size-band { min-height:130px; }
  .size-band:nth-child(2n) { border-right:0; }
  .size-band:nth-child(3) { border-right:1px solid var(--line); }
  .size-band:nth-child(-n+4) { border-bottom:1px solid var(--line); }
  .census-toolbar, .census-toolbar.new-albany-toolbar, .claims-toolbar, .facility-metrics, .insight-grid { grid-template-columns:1fr; }
  .facility-metrics > div { border-right:0; border-bottom:1px solid var(--line); }
  .facility-metrics > div:last-child { border-bottom:0; }
  .state-map-card { padding:16px; }
  .map-marker-layer { inset:16px; }
  .map-stats div { min-height:105px; padding:15px 11px; }
  .map-stats b { font-size:1.8rem; }
  .map-tip { width:170px; }
  .metric-strip, .source-packet, .state-grid, .coverage-toolbar { grid-template-columns:1fr; }
  .metric-strip > div { border-right:0; }
  .metric-strip > div:last-child { grid-column:auto; }
  .evidence-row { grid-template-columns:1fr; gap:11px; padding:18px; }
  .evidence-row > div:last-child { grid-column:auto; }
  .coverage-boundary, .ohio-signal-grid, .rule-grid, .facility-summary-grid { grid-template-columns:1fr; }
  .coverage-boundary > div, .ohio-signal-grid article, .rule-grid article { border-right:0; border-bottom:1px solid var(--line-dark); }
  .coverage-boundary > div:last-child, .ohio-signal-grid article:last-child, .rule-grid article:last-child { grid-column:auto; border-bottom:0; }
  .claim-check { min-height:0; }
  .claim-check-top { flex-direction:column; }
  .claim-check h3 { margin-top:28px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* Coherent-core navigation, phone records, compact state index */
.nav { position: relative; flex-wrap: nowrap; }
@media (min-width: 1001px) {
  .nav-menu { display: contents; }
  .nav-menu-control, .nav-toggle { display: none !important; }
  .nav-links { display: flex !important; margin-left: auto; }
}
.nav-menu { margin-left: auto; }
.nav-menu-control { position:absolute; width:1px; height:1px; opacity:0; }
.nav-toggle { display: none; min-height: 44px; align-items: center; padding: 0 12px; border: 1px solid var(--line); border-radius: 4px; color: var(--white); font: 800 .82rem/1 var(--sans); cursor: pointer; }
.nav-menu-control:focus-visible + .nav-toggle { outline: 2px solid var(--cyan); outline-offset: 3px; }
.nav-links { display: flex; gap: 22px; align-items: center; font-size: .88rem; color: #c8d4df; }
.nav-links a, .nav-topics > summary { text-decoration: none; color: inherit; }
.nav-topics { position: relative; }
.nav-topics > summary { list-style: none; cursor: pointer; font: inherit; }
.nav-topics > summary::-webkit-details-marker { display: none; }
.nav-sub { display: none; }
.nav-topics[open] .nav-sub, .nav-topics:hover .nav-sub, .nav-topics:focus-within .nav-sub {
  display: flex; flex-direction: column; position: absolute; right: 0; top: calc(100% + 8px); min-width: 200px; padding: 10px; background: #0d1b2c; border: 1px solid var(--line); z-index: 60;
}
.nav-sub a { min-height: 40px; display: flex; align-items: center; padding: 0 10px; }
.page-jumps { display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 8px 0 10px; background: rgba(7,17,31,.96); border-bottom: 1px solid var(--line); }
.page-jumps a { color: #c8d4df; font-size: .8rem; min-height: 36px; display: inline-flex; align-items: center; }
.change-list { list-style: none; padding: 0; }
.change-list li { padding: 18px 0; border-bottom: 1px solid var(--line-dark); }
.change-list time { color: #397884; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.project-index { list-style: none; padding: 0; margin: 0 0 28px; }
.project-index li { padding: 10px 0; border-bottom: 1px solid var(--line-dark); display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; }
.project-search-toolbar { grid-template-columns:minmax(230px,1.5fr) repeat(4,minmax(130px,.7fr)) auto; margin-bottom:28px; }
.project-record-head { margin-top:44px; }
.project-index-group { padding:0; }
.state-grid { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 10px; }
.state-card { min-height: 0; padding: 14px; }
.state-card[data-published="true"] { border-top: 4px solid var(--cyan); }
.state-card[data-status="not-started"] p, .state-card p { font-size: .75rem; }
.field-state, .source-meta, .source-small, .row-note, .map-tip, .map-stats span, .table-note, .evidence-tier { font-size: max(12px, .75rem); }
@media (max-width: 520px) {
  .state-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .state-card { padding:11px; }
  .state-card h3 { min-width:0; font-size:1.08rem; overflow-wrap:anywhere; }
  .state-card .state-coverage-label, .state-card p { margin:0; }
  .state-card a { margin-top:8px; }
}
@media (max-width: 1000px) {
  .nav-toggle { display: inline-flex; }
  .nav-menu { position: static; }
  .nav-menu-control:not(:checked) ~ .nav-links { display: none; }
  .nav-menu-control:checked ~ .nav-links {
    display: flex; flex-direction: column; align-items: stretch; position: absolute; left: 0; right: 0; top: 100%;
    max-height: calc(100vh - 60px); overflow-y: auto; padding: 12px 20px 18px; background: #07111f; border-bottom: 1px solid var(--line); z-index: 70; gap: 4px;
  }
  .nav-menu-control:checked ~ .nav-links a, .nav-topics > summary { min-height: 44px; display: flex; align-items: center; }
  .nav-topics[open] .nav-sub, .nav-topics:hover .nav-sub, .nav-topics:focus-within .nav-sub {
    position: static; min-width: 0; border: 0; padding: 0 0 0 12px;
  }
  .dataset, .census-table, .ohio-table, .legacy-table { min-width: 0 !important; }
  .dataset-wrap { overflow: visible; }
  .dataset thead { display: none; }
  .dataset, .dataset tbody, .dataset tr, .dataset td { display: block; width: 100%; }
  .dataset td:nth-child(n) { width: 100% !important; }
  .dataset tr { margin: 0 0 12px; border: 1px solid var(--line-dark); background: var(--white); }
  .dataset td { padding: 10px 14px; border-bottom: 1px solid var(--line-dark); }
  .dataset td:last-child { border-bottom: 0; }
  .dataset td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: #526477; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
  .dataset td:first-child .row-first-line { margin-bottom: 8px; }
  .claim-check-grid { grid-template-columns: 1fr; }
}
.recent-claim-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line-dark); }
.recent-claim-list li { padding:12px 0; border-bottom:1px solid var(--line-dark); color:#526578; }
.recent-claim-list time { color:#397884; font-size:12px; font-weight:800; }
.recent-claim-list .verdict { margin-left:8px; vertical-align:middle; text-decoration:none; }
.claim-index-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:18px; padding:14px 16px; }
.claim-index-row h3 { margin:5px 0; font:500 1.08rem/1.3 var(--serif); }
.claim-index-row .verdict { align-self:start; text-decoration:none; }
.change-date { scroll-margin-top:88px; }
.change-date { margin-top:12px; border:1px solid var(--line-dark); background:var(--white); }
.change-date > summary { display:flex; justify-content:space-between; gap:16px; padding:14px 16px; color:#397884; cursor:pointer; font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.change-date > summary:hover, .change-date > summary:focus-visible { background:#f1f8f9; }
.change-date > .change-list { margin:0; padding:0 16px 16px 42px; }
@media (max-width: 850px) {
  .project-search-toolbar { grid-template-columns:1fr 1fr; }
  .project-search-toolbar .search-field { grid-column:1 / -1; }
}
@media (max-width: 520px) {
  .project-search-toolbar { grid-template-columns:1fr; }
  .project-search-toolbar .search-field { grid-column:auto; }
  .claim-index-row { grid-template-columns:1fr; }
}

/* tasks-1-6 a11y: ink focus on light surfaces (>=3:1); cyan focus on all dark surfaces */
.source-link:focus-visible, .text-link:focus-visible, .button:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 3px;
}
.nav-links a:focus-visible,
.nav-menu-control:focus-visible + .nav-toggle,
.site-header a:focus-visible,
.site-footer a:focus-visible,
.footer-links a:focus-visible,
.hero a:focus-visible,
.page-hero a:focus-visible,
.dark-section a:focus-visible,
.dark-section .text-link:focus-visible,
.hero .button:focus-visible,
.page-hero .button:focus-visible,
.dark-section .button:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 3px;
}
.nav-links a[aria-current="page"] { color: var(--white); font-weight: 700; }
@media (max-width: 720px) {
  .nav-links { gap: 0; }
}

/* v47 product spine */
.home-search{margin-top:1.5rem}.home-search>label{display:block;font-weight:800;margin-bottom:.5rem}.home-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.home-search input{min-height:3.25rem;border:1px solid var(--line-dark);border-radius:.65rem;padding:.75rem 1rem;font:inherit;background:#fff;color:var(--ink)}
.signal-boundary{margin:1rem 1rem 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);font-size:.9rem}.signal-boundary a{color:inherit}.four-up{grid-template-columns:repeat(4,minmax(0,1fr))}
.directory-state-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin:1.25rem 0 1.75rem}.directory-state-grid a{display:flex;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border:1px solid var(--line-dark);border-radius:.55rem;background:var(--paper);text-decoration:none;color:var(--ink);font-size:.9rem}.directory-state-grid a:hover{border-color:var(--cyan)}
.directory-showing{font-size:1rem;margin:.25rem 0 1rem}.directory-results-html{display:grid;gap:.55rem;padding:0;list-style:none}.directory-html-row a{display:grid;grid-template-columns:minmax(16rem,1.6fr) minmax(10rem,1fr) minmax(12rem,1.1fr) minmax(11rem,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--line-dark);border-radius:.55rem;color:var(--ink);text-decoration:none;background:#fff}.directory-html-row a:hover{border-color:var(--cyan);box-shadow:0 4px 16px rgba(0,0,0,.06)}.directory-html-row span,.directory-html-row code{font-size:.875rem;color:var(--muted)}.directory-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin:1.5rem 0}.directory-pagination a,.directory-pagination span{padding:.6rem .85rem;border:1px solid var(--line-dark);border-radius:.45rem;background:#fff}.directory-record{max-width:70rem}
.fact-grid,.state-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.5rem}.fact-grid>div,.state-fact-grid>div{border:1px solid var(--line-dark);border-radius:.65rem;background:#fff;padding:1rem}.fact-grid dt,.state-fact-grid dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.fact-grid dd,.state-fact-grid dd{margin:.45rem 0 0;font-weight:750}.fact-grid small,.state-fact-grid small{display:block;font-size:.85rem;font-weight:500;color:var(--muted)}
.search-status{font-weight:750;margin-bottom:1rem}.search-results>section+section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line-dark)}.search-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:0;list-style:none}.search-result-card{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1rem;border:1px solid var(--line-dark);border-radius:.65rem;background:#fff;color:var(--ink);text-decoration:none}.search-result-card:hover{border-color:var(--cyan)}.search-result-card .directory-warning{font-size:.84rem;color:#8a4b00}.search-result-card .directory-reviewed-link{font-size:.84rem;color:#075f58}
.count-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.5rem}.count-definition-grid>div{display:flex;gap:1rem;align-items:baseline;padding:1rem;border:1px solid var(--line-dark);border-radius:.65rem}.count-definition-grid strong{font-size:2rem}.count-definition-grid span{color:var(--muted)}.definition-list>div{padding:1rem 0;border-bottom:1px solid var(--line-dark)}.definition-list dt{font-weight:850}.definition-list dd{margin:.35rem 0 0}.energy-card{padding:1.5rem;border:1px solid #9fd8d3;border-radius:.75rem;background:#eef9f7}.energy-number{font-size:clamp(1.8rem,4vw,3rem);font-weight:850;margin:.4rem 0}.claims-pilot-status{background:#f7f8f8}.state-at-glance{background:#f6f8f8}
@media(max-width:1050px){.four-up,.directory-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-html-row a{grid-template-columns:minmax(13rem,1.5fr) minmax(9rem,1fr) minmax(10rem,1fr)}.directory-html-row a span:nth-of-type(3),.directory-html-row code{display:none}}
@media(max-width:720px){.home-search>div{grid-template-columns:1fr}.four-up,.directory-state-grid,.fact-grid,.state-fact-grid,.search-result-list,.count-definition-grid{grid-template-columns:1fr}.directory-html-row a{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.directory-html-row a span,.directory-html-row a code{display:block}.directory-pagination{flex-wrap:wrap}.count-definition-grid>div{align-items:flex-start}.count-definition-grid strong{min-width:4rem}}
.correction-form{margin:1.5rem 0 2rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}.form-grid label{display:grid;gap:.45rem;font-weight:700}.form-grid input,.form-grid textarea{width:100%;box-sizing:border-box;border:1px solid var(--line-dark);border-radius:.55rem;padding:.75rem;font:inherit;background:#fff;color:var(--ink)}.form-grid textarea{resize:vertical}.form-wide{grid-column:1/-1}.directory-result-open{display:block;margin:.25rem .75rem .75rem;font-size:.875rem;font-weight:700}.search-more,.search-browse .button.secondary{color:var(--ink)!important;border-color:#7e929f!important}.search-more{margin-top:.75rem}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}}

/* v48 connected discovery graph */
.coverage-hero { padding:40px 0 30px; }
.coverage-hero-grid { grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr); grid-template-areas:"copy map" "meta map"; gap:18px 36px; align-items:start; }
.coverage-hero h1 { font-size:clamp(2.7rem,4.6vw,4.4rem); max-width:720px; }
.coverage-hero .breadcrumbs { margin-bottom:16px; }
.states-hero-search { margin-top:24px; }
.states-hero-search label { display:block; margin-bottom:7px; color:#dce7ef; font-size:.82rem; font-weight:800; }
.states-hero-search > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.states-hero-search input { width:100%; min-height:48px; padding:10px 14px; border:1px solid #668096; border-radius:5px; background:#fff; color:var(--ink); font:inherit; }
.coverage-map-panel { grid-area:map; }
.coverage-map-label { margin:0 0 8px; color:#b9c8d6; font-size:.76rem; font-weight:800; }
.coverage-map-panel details > summary { display:none; }
.coverage-map-panel details:not([open]) > :not(summary) { display:block; }
.coverage-hero-meta .directory-hero-stats { margin-top:6px; }
.directory-hero-stats { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.directory-hero-stats > span { display:inline-flex; align-items:baseline; gap:5px; min-height:38px; padding:8px 11px; border:1px solid #304963; border-radius:6px; background:#0e1d30; color:#c7d5df; font-size:.78rem; }
.directory-hero-stats b { color:#fff; font-size:.94rem; }
.state-grid { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.state-card { display:flex; flex-direction:column; min-height:280px; padding:18px; border-top:4px solid #8fa5b4; }
.state-card[data-published="true"] { border-top-color:var(--cyan); }
.state-card-head h3 { font-size:1.5rem; }
.state-card-directory-count { margin:14px 0 4px!important; font-size:.88rem!important; }
.state-card-directory-count strong { font-family:var(--serif); font-size:2rem; font-weight:500; color:#0b6672; }
.state-card-directory-count small { display:block; color:#687a8a; font-size:.72rem; }
.state-card-statuses { min-height:34px; margin:0 0 12px!important; color:#526477; line-height:1.4; }
.state-card-reviewed { margin:0 0 12px!important; padding-top:10px; border-top:1px solid var(--line-dark); color:#526477; }
.state-card-reviewed span { display:block; color:#315f70; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.state-card-cities { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.state-card-cities a { margin:0!important; padding:5px 8px; border:1px solid #cdd9df; border-radius:99px; background:#f4f8f9; color:#174f5b; text-decoration:none; font-size:.72rem; }
.state-card-cities a:hover { border-color:#397f89; }
.state-card-cities-empty { color:#778898; }
.state-card .state-coverage-label { margin-top:auto; }
.state-card-actions { display:grid; grid-template-columns:1fr; gap:5px; margin-top:12px; }
.state-card-actions a { min-height:38px; display:flex; align-items:center; margin:0!important; font-weight:800; }
.state-card-actions a:first-child { color:#0b6672; }
.directory-subnav { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 22px; }
.directory-subnav a { min-height:38px; display:inline-flex; align-items:center; padding:7px 11px; border:1px solid #3a536c; border-radius:99px; color:#d6e1e9; text-decoration:none; font-size:.8rem; font-weight:750; }
.directory-subnav a[aria-current="page"], .directory-subnav a:hover { border-color:var(--cyan); color:#fff; background:#10283b; }
.directory-hub-hero { padding:34px 0 30px; }
.directory-hub-hero h1 { max-width:1040px; font-size:clamp(2.45rem,4.6vw,4.15rem); }
.directory-hub-hero .dek { max-width:900px; }
.directory-layer-note { margin:0 0 24px; padding:13px 15px; border-left:4px solid #d48418; background:#fff3df; color:#614013; }
.directory-browse-section { padding:18px 0 36px; }
.directory-browse-section .section-head { margin-bottom:18px; }
.directory-hub-grid, .state-city-links { display:flex; flex-wrap:wrap; gap:8px; }
.directory-hub-grid a, .state-city-links a { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:7px 10px; border:1px solid #cbd7de; border-radius:99px; background:#fff; color:#174f5b; text-decoration:none; font-size:.82rem; }
.directory-hub-grid a:hover, .state-city-links a:hover { border-color:#397f89; }
.directory-results.directory-results-html, .directory-results.facility-card-list { display:grid; gap:10px; padding:0; border:0; background:transparent; }
.directory-results .facility-list-card + .facility-list-card { border-top:1px solid var(--line-dark); }
.facility-list-card { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(190px,.75fr) minmax(130px,.35fr); gap:18px; align-items:center; padding:17px 18px; border:1px solid var(--line-dark)!important; border-radius:8px; background:#fff; }
.facility-list-card:hover { border-color:#77b5bd!important; box-shadow:0 6px 18px rgba(13,27,44,.07); }
.facility-list-card a { display:inline!important; grid-template-columns:none!important; gap:0!important; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
.facility-title { color:var(--ink)!important; font-size:1.04rem; font-weight:850; text-decoration:none; }
.facility-title:hover { color:#0b6672!important; text-decoration:underline; text-underline-offset:3px; }
.facility-operator, .facility-location { margin:5px 0 0; color:#526477; font-size:.79rem; }
.facility-operator a, .facility-location a { color:#176674!important; text-decoration:underline; text-underline-offset:2px; }
.facility-list-facts { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.facility-list-facts > span { width:auto; padding:4px 7px; border-radius:4px; background:#eef3f5; color:#405568!important; font-size:max(12px,.72rem)!important; line-height:1.35; }
.facility-list-facts .status-chip { background:#e8f6ef; color:#165e43!important; }
.directory-capacity { background:#eef6ff!important; color:#224f7c!important; }
.directory-capacity.unknown { background:#f1f2f3!important; color:#65727d!important; }
.facility-list-action { display:flex; flex-direction:column; gap:7px; align-items:flex-start; }
.facility-list-action a, .facility-list-action button { font-size:.78rem; font-weight:800; }
.facility-list-action code { color:#6a7b89; font-size:.67rem; overflow-wrap:anywhere; }
.text-button { min-height:34px; padding:5px 9px; border:1px solid #91a7b5; border-radius:4px; background:#fff; color:#174f5b; cursor:pointer; }
.directory-hub-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:26px; align-items:start; }
.directory-context-card { position:sticky; top:88px; padding:20px; border:1px solid var(--line-dark); border-top:4px solid var(--cyan); border-radius:8px; background:#fff; }
.directory-context-card h2 { font-size:1.75rem; margin:5px 0 12px; }
.directory-hub-index { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.directory-hub-index > a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; padding:14px; border:1px solid var(--line-dark); border-radius:7px; background:#fff; color:var(--ink); text-decoration:none; }
.directory-hub-index > a:hover { border-color:#65aeb7; }
.directory-hub-index span { font-weight:800; overflow-wrap:anywhere; }
.directory-hub-index small { grid-column:1; color:#687b8b; }
.directory-hub-index strong { grid-column:2; grid-row:1 / span 2; align-self:center; color:#0b6672; font-size:.76rem; }
.directory-record-hero { padding:34px 0 30px; }
.directory-record-hero h1 { max-width:1060px; margin-bottom:18px; font-size:clamp(2.4rem,4.7vw,4.3rem); }
.record-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:28px; align-items:start; }
.record-hero-operator { margin:12px 0 5px; color:#fff; font-weight:800; }
.record-hero-operator a, .record-hero-location a { color:#c6f7fb; }
.record-hero-location { max-width:730px; margin:0; color:#b9c8d6; }
.record-hero-capacity { display:flex; flex-wrap:wrap; gap:7px; }
.record-hero-capacity > span { padding:7px 9px; border:1px solid #385069; border-radius:5px; background:#0e1d30; color:#d5e0e7; font-size:.77rem; }
.record-boundary { margin:0 0 30px; padding:15px 17px; border-left:4px solid #d48418; background:#fff3df; }
.record-boundary p { margin:4px 0 0; }
.directory-record .fact-grid dd a { color:#146b78; }
.directory-related { margin-top:48px; }
.directory-related .section-head { margin-bottom:20px; }
.directory-related-group + .directory-related-group { margin-top:32px; padding-top:28px; border-top:1px solid #c9d6de; }
.directory-related-group h3 { margin:0; font-size:1.45rem; }
.state-directory-section { background:#eef3f5; }
.state-directory-explorer { margin:0; padding:28px; border:1px solid var(--line-dark); border-top:4px solid var(--cyan); border-radius:8px; background:#eef5f6; }
.state-directory-explorer .section-head { margin-bottom:20px; }
.state-primary-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:0 0 18px; }
.state-primary-actions .button { display:flex; align-items:center; justify-content:center; min-height:48px; text-align:center; }
.state-primary-actions .button.secondary { color:var(--ink); border-color:#78909e; background:#fff; }
.state-directory-stats { margin:0 0 16px; }
.state-directory-stats > span { border-color:#c4d2da; background:#fff; color:#496071; }
.state-directory-stats b { color:#0b6672; }
.state-lifecycle-links { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:0 0 18px; }
.state-lifecycle-links a { display:flex; flex-direction:column; justify-content:center; min-height:64px; padding:10px; border:1px solid #c4d2da; border-radius:6px; background:#fff; color:var(--ink); text-decoration:none; }
.state-lifecycle-links a:hover { border-color:#397f89; }
.state-lifecycle-links b { color:#0b6672; font:500 1.35rem/1 var(--serif); }
.state-lifecycle-links span { margin-top:5px; color:#526477; font-size:.72rem; font-weight:750; }
.state-city-links,.state-operator-links { margin-bottom:18px; }
.state-city-links a,.state-operator-links a { min-height:44px; }
.state-operator-links { display:flex; flex-wrap:wrap; gap:8px; }
.state-operator-links a { display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:7px 10px; border:1px solid #cbd7de; border-radius:99px; background:#fff; color:#174f5b; text-decoration:none; font-size:.82rem; }
.state-operator-links a:hover { border-color:#397f89; }
.state-directory-preview { margin:0 0 18px!important; }
.state-directory-actions { display:flex; flex-wrap:wrap; gap:10px; }
.state-directory-actions .button.secondary { color:var(--ink); border-color:#8097a6; }
.state-glance-body { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:22px; align-items:start; }
.state-glance-body .state-location-plot { margin:0 0 18px; }
.state-glance-body .state-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 18px; }
.directory-activity-map .coverage-map-qualification { margin:0 0 6px; color:#c9d6df; font-size:.76rem; font-weight:800; }
.directory-activity-map .coverage-map-frame { background:#071321; }
.directory-activity-legend { display:flex; flex-wrap:wrap; gap:6px 12px; margin:8px 0 0; padding:0; list-style:none; color:#c9d6df; font-size:.7rem; }
.directory-activity-legend li { display:flex; align-items:center; gap:5px; }
.directory-activity-legend span { width:12px; height:12px; border:1px solid #9fe9ef; }
.directory-activity-legend .v1 { background:#1d4553; }.directory-activity-legend .v2 { background:#22616d; }.directory-activity-legend .v3 { background:#287884; }.directory-activity-legend .v4 { background:#31919b; }.directory-activity-legend .v5 { background:#55c8d1; }
.research-map-details { margin:0 0 28px; border:1px solid var(--line-dark); border-radius:7px; background:#fff; }
.research-map-details > summary { min-height:44px; padding:12px 15px; color:#174f5b; cursor:pointer; font-weight:850; }
.research-map-details .coverage-map { padding:0 15px 15px; }
.research-map-details .coverage-map-qualification,.research-map-details .coverage-map-legend { color:#405568; }
.state-location-plot { margin:18px 0 26px; padding:18px; border:1px solid #b9cdd4; border-radius:8px; background:#fff; }
.state-location-plot .section-head { margin-bottom:12px; }
.state-location-plot h2 { font-size:1.65rem; }
.state-location-frame { position:relative; border-radius:7px; background:#071321; overflow:hidden; }
.state-location-frame svg { display:block; width:100%; height:clamp(240px,35vw,360px); }
.state-location-grid { fill:none; stroke:#274057; stroke-width:.35; vector-effect:non-scaling-stroke; }
.state-location-north { position:absolute; z-index:1; top:8px; right:10px; color:#b9cbd8; font-size:.68rem; font-weight:850; }
.state-map-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:end; margin-bottom:14px; }
.state-map-heading h2 { margin:0 0 6px; }
.state-map-heading p { margin:0; color:#526477; font-size:.82rem; }
.state-map-heading .button.secondary { color:var(--ink); border-color:#78909e; background:#fff; }
.state-outline { fill:#102b3e; stroke:#77dbe3; stroke-width:.6; vector-effect:non-scaling-stroke; }
.state-outline-label { fill:#d8f5f7; opacity:.18; font:800 12px/1 var(--sans); text-anchor:middle; pointer-events:none; }
.state-location-marker circle { fill:#57d2db; stroke:#fff; stroke-width:.35; vector-effect:non-scaling-stroke; }
.state-location-marker.is-approximate circle { fill:#071321; stroke:#65d7df; stroke-width:.65; }
.state-location-marker.is-representative_multi_site circle { fill:#d58b25; stroke:#fff; stroke-width:.55; stroke-dasharray:1 1; }
.state-location-marker.is-derived_locality circle { fill:#d58b25; stroke:#fff; stroke-width:.55; stroke-dasharray:1 1; }
.state-location-offset { pointer-events:none; }
.state-location-offset line { stroke:#f0aa45; stroke-width:.7; stroke-dasharray:1.5 1; vector-effect:non-scaling-stroke; }
.state-location-offset circle { fill:#f0aa45; stroke:#071321; stroke-width:.45; vector-effect:non-scaling-stroke; }
.state-location-marker:hover circle,.state-location-marker:focus-visible circle { fill:#f0aa45; stroke:#fff; stroke-width:1; }
.state-location-marker circle.state-location-hit,.state-location-marker:hover circle.state-location-hit,.state-location-marker:focus-visible circle.state-location-hit { fill:transparent; stroke:none; pointer-events:all; }
.state-location-marker text { fill:#06111d; font:800 2.5px/1 var(--sans); text-anchor:middle; pointer-events:none; }
.state-location-marker.is-approximate text { fill:#fff; }
.state-location-marker.is-derived_locality text { fill:#fff; }
.state-location-plot figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:7px 18px; margin-top:10px; color:#526477; font-size:.74rem; }
.state-location-plot figcaption strong { color:#294555; }
.state-map-offset-note { flex:1 0 100%; }
.state-location-empty { position:absolute; z-index:2; left:50%; bottom:12px; width:min(90%,430px); transform:translateX(-50%); margin:0; padding:9px 12px; border:1px solid #61788b; border-radius:5px; background:#0d1b2c; color:#d4e1e9; text-align:center; font-size:.78rem; }
.state-map-targets,.state-map-method,.state-location-outliers details { margin-top:10px; border:1px solid #ccd9df; border-radius:5px; background:#f7fafb; }
.state-map-targets>summary,.state-map-method>summary,.state-location-outliers summary { min-height:44px; padding:10px 12px; color:#174f5b; cursor:pointer; font-weight:800; }
.state-map-targets ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:0; padding:0 12px 12px; list-style:none; }
.state-map-targets a { display:flex; flex-direction:column; min-height:54px; padding:8px 10px; border:1px solid #d3dfe4; border-radius:5px; background:#fff; color:#174f5b; text-decoration:none; }
.state-map-targets a:hover { border-color:#4d96a0; }
.state-map-targets a span,.state-map-targets a small { margin-top:2px; color:#526477; font-size:.68rem; }
.state-map-targets a small { overflow-wrap:anywhere; }
.state-map-method p { margin:0; padding:0 12px 12px; color:#526477; font-size:.72rem; }
.state-location-outliers { margin-top:10px; padding:10px 12px; border-left:4px solid #d48418; background:#fff3df; color:#614013; font-size:.76rem; }
.state-location-outliers ul { margin:0; padding:0 12px 12px 30px; }
.map-source-attribution { display:block; margin-top:8px; color:#526477; font-size:.72rem; line-height:1.45; }
.directory-activity-map .map-source-attribution,.directory-activity-map .map-source-attribution a { color:#c9d6df; font-size:max(12px,.72rem); }
.location-key { display:inline-block; width:10px; height:10px; margin:0 5px 0 10px; border-radius:50%; vertical-align:-1px; background:#57d2db; border:1px solid #345466; }
.location-key:first-child { margin-left:0; }.location-key.approximate { background:#071321; border-color:#65d7df; }
.location-key.derived { background:#d58b25; border-color:#fff; }
.directory-state-page .directory-hub-hero { padding:24px 0 22px; }
.directory-state-page .directory-hub-hero .breadcrumbs { margin-bottom:13px; }
.directory-state-page .directory-hub-hero .eyebrow { margin-bottom:10px; }
.directory-state-page .directory-hub-hero h1 { margin-bottom:10px; font-size:clamp(2.25rem,4vw,3.55rem); }
.directory-state-page .directory-hub-hero .dek { margin-bottom:0; font-size:.96rem; }
.directory-state-page .directory-hero-stats { margin-top:13px; }
.directory-state-page .hero-actions { margin-top:13px; }
.directory-state-page .compact-section { padding-top:22px; }
.directory-state-page .state-location-plot { margin-top:0; }
.state-research-page .census-hero { padding:28px 0 24px; }
.state-research-page .census-hero .breadcrumbs { margin-bottom:14px; }
.state-research-page .census-hero .eyebrow { margin-bottom:10px; }
.state-research-page .census-hero h1 { margin-bottom:12px; font-size:clamp(2.3rem,4.2vw,3.7rem); }
.state-research-page .census-hero .dek { margin-bottom:0; font-size:.96rem; }
.state-research-page .state-primary-actions { margin-top:16px; }
.state-research-page .census-hero .meta-row { margin-top:13px; }
.state-research-page .state-directory-section { padding:18px 0 30px; }
.state-research-page .state-directory-explorer { padding:18px; }
.state-research-page .state-directory-explorer>.section-head { margin-bottom:10px; }
.state-research-page .state-directory-explorer>.section-head h2 { font-size:2rem; }
.state-research-page .state-directory-explorer>.section-head .section-intro { display:none; }
.state-research-page .state-directory-explorer>.state-location-plot { margin-top:0; }
.state-research-page .state-map-heading { grid-template-columns:1fr; }
.state-research-page .state-location-plot { padding-top:14px; }
.state-research-page .state-map-heading { margin-bottom:10px; }
.state-research-page .state-map-heading .button { display:none; }
.state-research-page .state-map-heading .kicker,.state-research-page .state-map-heading div>p:last-child { display:none; }
.state-research-page .state-location-frame svg { height:206px; }
.state-directory-note { margin:10px 0 14px; color:#526477; font-size:.76rem; }
.search-page-hero { padding:36px 0 34px; }
.search-page-hero h1 { font-size:clamp(2.7rem,5vw,4.5rem); }
.search-page-hero .home-search { max-width:980px; }
.search-entity-results { grid-template-columns:repeat(3,minmax(0,1fr)); }
.search-entity-card { border-top:4px solid var(--cyan); }
.search-result-action { margin-top:auto; padding-top:8px; color:#0b6672; font-weight:850; }
.map-hero { padding:38px 0 34px; }
.map-hero h1 { max-width:940px; font-size:clamp(2.8rem,5vw,4.7rem); }
.map-workspace { background:#eef3f5; }
.map-boundary-note { display:grid; grid-template-columns:190px minmax(0,1fr); gap:18px; margin:0 0 20px; padding:15px 17px; border-left:4px solid #d48418; background:#fff3df; color:#614013; }
.map-filters { display:grid; grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(150px,.75fr)) auto; gap:10px; align-items:end; margin:0 0 12px; }
.map-filters label { display:grid; gap:5px; color:#294252; font-size:.74rem; font-weight:850; }
.map-filters input,.map-filters select { width:100%; min-height:46px; padding:9px 11px; border:1px solid #8fa4b1; border-radius:5px; background:#fff; color:var(--ink); font:inherit; }
.map-filters button { min-height:46px; color:var(--ink); border-color:#8097a6; }
.map-summary { min-height:42px; margin:0 0 12px; padding:10px 13px; border:1px solid #b5c9d2; border-radius:5px; background:#fff; color:#284754; font-weight:800; }
.facility-map-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(310px,.45fr); gap:16px; align-items:start; }
.facility-map-panel,.map-results-panel { border:1px solid #b9cbd3; border-radius:8px; background:#fff; overflow:hidden; }
.facility-map { width:100%; height:min(68vh,720px); min-height:520px; background:#d9e5e8; }
.facility-map:focus { outline:3px solid #f0aa45; outline-offset:2px; }
.map-tile-status { margin:0; padding:11px 14px; border-top:1px solid #d8a45c; background:#fff3df; color:#614013; font-size:.76rem; font-weight:750; }
.map-tile-status[hidden] { display:none; }
.map-legend { display:flex; flex-wrap:wrap; gap:8px 14px; padding:11px 14px; border-top:1px solid #cad7dc; color:#405568; font-size:.72rem; }
.map-legend span { display:flex; align-items:center; gap:5px; }
.map-legend i { width:11px; height:11px; border-radius:50%; background:#64748b; border:1px solid #fff; box-shadow:0 0 0 1px #496170; }
.map-legend .is-operational { background:#087b66; }.map-legend .is-under-construction { background:#d87714; }.map-legend .is-permitted { background:#2670c7; }.map-legend .is-proposed { background:#7657c7; }.map-legend .is-cancelled { background:#aa3d49; }.map-legend .is-approximate { background:#fff; border:1px dashed #1d2d3f; box-shadow:none; }
.map-results-panel { max-height:calc(min(68vh,720px) + 46px); overflow:auto; }
.map-result-head { position:sticky; z-index:2; top:0; padding:15px 16px; border-bottom:1px solid #c9d6dc; background:#fff; }
.map-result-head h2 { margin:0 0 4px; font-size:1.45rem; }
.map-result-head p { margin:0; color:#526477; font-size:.75rem; }
.map-result-list { margin:0; padding:0; list-style:none; }
.map-result-item { display:grid; gap:3px; padding:13px 15px; border-bottom:1px solid #d6e0e4; }
.map-result-item a { color:#0d5361; font-weight:850; text-decoration-thickness:1px; text-underline-offset:3px; }
.map-result-item span,.map-result-item small { color:#526477; font-size:.72rem; }
.map-popup { max-width:280px; font-family:var(--sans); }
.map-popup>a { color:#0b6672; font-weight:850; }
.map-popup p { margin:4px 0 0; color:#405568; font-size:.75rem; }
.leaflet-container { font-family:var(--sans); }
.leaflet-control-attribution { font-size:10px; }

.state-research-page .state-directory-stats { margin-bottom:10px; }
.state-research-page .state-lifecycle-links { margin-bottom:12px; }

@media(max-width:900px){
  .state-glance-body { grid-template-columns:1fr; }
  .coverage-hero-grid { grid-template-columns:1fr; grid-template-areas:"copy" "meta" "map"; }
  .coverage-map-panel details > summary { display:list-item; min-height:44px; padding:11px 0; color:#dce8ef; cursor:pointer; font-weight:800; }
  .coverage-map-panel details:not([open]) > :not(summary) { display:none; }
  .directory-hub-layout, .record-hero-grid { grid-template-columns:1fr; }
  .directory-context-card { position:static; }
  .facility-list-card { grid-template-columns:minmax(0,1fr) minmax(180px,.65fr); }
  .facility-list-action { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; align-items:center; }
  .directory-hub-index, .search-entity-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .map-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .map-filters label:first-child { grid-column:1 / -1; }
  .facility-map-layout { grid-template-columns:1fr; }
  .map-results-panel { max-height:480px; }
}
@media(max-width:620px){
  .states-hero-search > div { grid-template-columns:1fr; }
  .coverage-hero { padding-top:26px; }
  .coverage-hero h1 { font-size:2.6rem; }
  .state-grid { grid-template-columns:1fr; }
  .state-card { min-height:0; }
  .facility-list-card { grid-template-columns:1fr; gap:11px; padding:15px; }
  .facility-list-action { grid-column:auto; }
  .directory-hub-index, .search-entity-results { grid-template-columns:1fr; }
  .directory-hub-hero h1, .directory-record-hero h1 { font-size:2.45rem; }
  .state-directory-explorer { padding:20px 15px; }
  .state-primary-actions { grid-template-columns:1fr; }
  .state-lifecycle-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .state-directory-actions { display:grid; }
  .directory-hero-stats > span { flex:1 1 145px; }
  .state-location-plot { padding:14px 10px; }
  .state-location-frame svg { height:250px; }
  .state-map-heading { grid-template-columns:1fr; gap:10px; }
  .state-map-heading .button { width:100%; }
  .state-map-targets ul { grid-template-columns:1fr; }
  .directory-state-page .directory-hub-hero { padding:18px 0 16px; }
  .directory-state-page .directory-hub-hero h1 { font-size:2.25rem; }
  .directory-state-page .directory-hero-stats > span:nth-child(2),.directory-state-page .directory-hero-stats > span:nth-child(3) { display:none; }
  .directory-state-page .directory-hero-stats > span { flex:1 1 120px; }
  .directory-state-page .compact-section { padding-top:16px; }
  .directory-state-page .state-map-heading .kicker { display:none; }
  .state-research-page .census-hero { padding:16px 0; }
  .state-research-page .census-hero h1 { margin-bottom:0; font-size:2.2rem; }
  .state-research-page .census-hero .dek,.state-research-page .census-hero .meta-row { display:none; }
  .state-research-page .state-primary-actions { display:block; margin:13px 0 0; }
  .state-research-page .state-primary-actions a { display:none; }
  .state-research-page .state-primary-actions a:first-child { display:flex; width:100%; }
  .state-research-page .state-directory-section { padding:16px 0 22px; }
  .state-research-page .state-directory-explorer { padding:14px 10px; }
  .state-research-page .state-directory-explorer>.section-head { display:block; margin-bottom:12px; }
  .state-research-page .state-directory-explorer>.section-head h2 { font-size:1.8rem; }
  .state-research-page .state-directory-explorer>.section-head .section-intro { display:none; }
  .state-research-page .state-directory-explorer>.state-location-plot { width:calc(100% + 20px); margin-left:-10px; padding-right:9px; padding-left:9px; border-right:0; border-left:0; border-radius:0; }
  .state-research-page .state-location-frame svg { height:250px; }
  .map-boundary-note,.map-filters { grid-template-columns:1fr; }
  .map-filters label:first-child { grid-column:auto; }
  .facility-map { height:58vh; min-height:430px; }
  .map-result-head { position:static; }
}
@media(max-width:360px){
  .directory-state-page .directory-hub-hero { padding:12px 0 10px; }
  .directory-state-page .directory-hub-hero h1 { font-size:2rem; }
  .directory-state-page .directory-hero-stats > span:not(:first-child) { display:none; }
}

/* v51 national overview and source-linked answers */
.national-directory-overview { margin:0 0 36px; padding:26px; border:1px solid var(--line-dark); border-top:4px solid var(--cyan); border-radius:8px; background:#fff; }
.national-directory-overview .section-head { margin-bottom:18px; }
.directory-status-cards { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-bottom:24px; }
.directory-status-cards a { display:flex; flex-direction:column; justify-content:center; min-height:88px; padding:13px; border:1px solid #c5d4db; border-radius:7px; background:#f4f8f9; color:var(--ink); text-decoration:none; }
.directory-status-cards a:hover { border-color:#3f8993; }
.directory-status-cards strong { color:#0b6672; font:500 1.9rem/1 var(--serif); }
.directory-status-cards span { margin-top:6px; color:#526477; font-size:.76rem; font-weight:750; }
.directory-ranking-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.directory-ranking-grid>section { min-width:0; padding:17px; border:1px solid #d1dde2; border-radius:7px; }
.directory-ranking-grid h3 { margin:0 0 10px; font-size:1.08rem; }
.directory-ranking { margin:0; padding:0; list-style:none; }
.directory-ranking li { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:center; gap:7px; border-top:1px solid #e0e7ea; }
.directory-ranking li>span { color:#718391; font-size:.7rem; font-weight:850; text-align:center; }
.directory-ranking a { display:flex; justify-content:space-between; gap:10px; min-height:44px; align-items:center; color:#174f5b; text-decoration:none; }
.directory-ranking a:hover span { text-decoration:underline; text-underline-offset:3px; }
.directory-ranking a span { min-width:0; overflow-wrap:anywhere; font-size:.78rem; font-weight:750; }
.directory-ranking a strong { flex:0 0 auto; color:#0b6672; font-size:.78rem; }
.shareable-answers { background:#edf5f6; }
.shareable-answer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.shareable-answer-card { display:flex; flex-direction:column; min-width:0; padding:20px; border:1px solid #bfd1d8; border-top:4px solid var(--cyan); border-radius:8px; background:#fff; }
.shareable-answer-card h3 { margin:5px 0 10px; font:500 1.45rem/1.22 var(--serif); }
.shareable-answer-card h3 a { color:var(--ink); }
.shareable-answer-card .source-meta { margin-top:auto; padding-top:10px; }
.shareable-answer-card-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:start; margin-top:10px; }
.shareable-answer-card-actions>.button { min-height:44px; }
.shareable-answer-card-actions .share-answer-actions { flex:1 1 180px; }
.share-answer-panel { margin:30px 0 22px; padding:24px; border:1px solid #a9c8d0; border-top:5px solid var(--cyan); border-radius:8px; background:#fff; }
.share-answer-heading { display:flex; justify-content:space-between; gap:18px; align-items:start; }
.share-answer-heading h2 { margin:4px 0 0; }
.share-answer-heading .verdict { flex:0 0 auto; }
.share-answer-meta { display:grid; grid-template-columns:2fr 1fr .55fr; gap:9px; margin:18px 0; }
.share-answer-meta>div { padding:12px 13px; border:1px solid #d3dee3; border-radius:6px; background:#f6f9fa; }
.share-answer-meta dt { color:#526477; font-size:.7rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.share-answer-meta dd { margin:4px 0 0; color:var(--ink); font-weight:700; }
.share-answer-finding,.share-answer-unknown { padding:16px 0; border-top:1px solid #d5e0e4; }
.share-answer-finding h3,.share-answer-unknown h3 { margin:0 0 6px; font-size:1.05rem; }
.share-answer-finding p,.share-answer-unknown p { margin:0; }
.share-answer-unknown { padding:15px; border:1px solid #e4c486; border-left:4px solid #d48418; background:#fff7e9; }
.share-answer-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:16px; }
.share-answer-actions button { min-height:44px; }
.share-answer-actions .button.secondary { color:var(--ink); border-color:#718a98; background:#fff; }
.share-answer-status { min-height:1.3em; color:#315b67; font-size:.78rem; font-weight:750; }
.share-answer-fallback { flex:1 0 100%; display:grid; gap:6px; color:#315b67; font-size:.78rem; font-weight:800; }
.share-answer-fallback[hidden] { display:none; }
.share-answer-fallback textarea { width:100%; box-sizing:border-box; padding:10px; border:1px solid #718a98; border-radius:5px; resize:vertical; background:#fff; color:var(--ink); font:inherit; font-size:.78rem; }

/* v52 state-first exploration and scoped answer finder */
.answer-finder-section { background:#f6f8f8; }
.answer-finder-toolbar { display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto auto; gap:10px; align-items:end; margin:0 0 18px; }
.answer-finder-toolbar label { display:grid; gap:5px; color:#3f5668; font-size:.74rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.answer-finder-toolbar select { width:100%; min-height:48px; padding:9px 38px 9px 11px; border:1px solid #8ea3af; border-radius:5px; background:#fff; color:var(--ink); font:inherit; font-size:.88rem; }
.answer-finder-toolbar .filter-reset { min-height:48px; }
.answer-finder-toolbar .result-count { min-height:48px; margin:0; }
.answer-finder-warning { margin:0 0 14px; padding:12px 14px; border-left:4px solid #d48418; background:#fff1d9; color:#71450f; font-weight:750; }
.answer-finder-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.answer-finder-result { display:flex; flex-direction:column; min-width:0; padding:20px; border:1px solid #bfd0d7; border-top:4px solid var(--cyan); border-radius:8px; background:#fff; }
.answer-finder-result-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.answer-finder-result-head .kicker { margin:3px 0 0; }
.answer-finder-result h3 { margin:15px 0 12px; font:500 1.35rem/1.22 var(--serif); }
.answer-finder-result h3 a { color:var(--ink); }
.answer-finder-result dl { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(110px,.4fr); gap:8px; margin:0 0 13px; }
.answer-finder-result dl>div { padding:10px; border:1px solid #d5e0e4; border-radius:5px; background:#f7f9fa; }
.answer-finder-result dt { color:#526477; font-size:.68rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.answer-finder-result dd { margin:4px 0 0; font-size:.8rem; font-weight:700; }
.answer-finder-scope-note { margin:0 0 12px; color:#526477; font-size:.78rem; font-weight:750; }
.answer-finder-finding { color:#3f5668; font-size:.86rem; }
.answer-finder-limit { margin-top:auto; padding:11px; border-left:4px solid #d48418; background:#fff6e8; color:#5f4a2f; font-size:.8rem; }
.answer-finder-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-start; margin-top:12px; }
.answer-finder-actions>.button { min-height:44px; }
.answer-finder-actions .share-answer-actions { margin:0; }
.answer-finder-empty-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.answer-finder-empty-actions .button.secondary { color:var(--ink); border-color:#718a98; background:#fff; }

@media(max-width:960px){
  .directory-status-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .directory-ranking-grid { grid-template-columns:1fr; }
}
@media(max-width:680px){
  .claim-hero { padding:16px 0 14px; }
  .claim-hero .breadcrumbs { margin-bottom:10px; }
  .claim-hero .eyebrow { margin:0 0 7px; }
  .claim-hero h1 { margin-bottom:0; font-size:clamp(1.65rem,8vw,2rem); line-height:1.06; }
  .claim-hero .claim-legend { display:none; }
  .national-directory-overview,.share-answer-panel { padding:18px 14px; }
  .directory-status-cards,.shareable-answer-grid { grid-template-columns:1fr; }
  .directory-status-cards a { min-height:70px; }
  .claim-page .share-answer-panel { margin:14px 0 22px; padding:14px 12px; }
  .share-answer-heading { flex-direction:row; gap:10px; }
  .share-answer-heading h2 { font-size:1.45rem; }
  .share-answer-panel .claimant { margin-top:7px; font-size:.78rem; }
  .share-answer-meta { grid-template-columns:1fr 1fr; gap:6px; margin:10px 0; }
  .share-answer-meta>div { padding:7px 8px; }
  .share-answer-meta>div:first-child { grid-column:1/-1; }
  .share-answer-meta dd { margin-top:2px; font-size:.78rem; }
  .share-answer-finding { padding:10px 0; }
  .share-answer-actions,.shareable-answer-card-actions { display:grid; grid-template-columns:1fr; }
  .share-answer-actions button,.shareable-answer-card-actions>.button { width:100%; }
  .answer-finder-section { padding-top:22px; }
  .answer-finder-section .section-head { margin-bottom:14px; }
  .answer-finder-section .section-head h2 { font-size:1.6rem; }
  .answer-finder-toolbar { grid-template-columns:1fr 1fr; }
  .answer-finder-results { grid-template-columns:1fr; }
  .answer-finder-toolbar { gap:8px; }
  .answer-finder-result { padding:16px 13px; }
  .answer-finder-result dl { grid-template-columns:1fr; }
  .answer-finder-actions,.answer-finder-empty-actions { display:grid; grid-template-columns:1fr; }
  .answer-finder-actions>.button,.answer-finder-empty-actions>.button { width:100%; }
}
