.congress-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:64px;align-items:center;padding:52px 0 36px}.congress-intro h1{font-size:clamp(2.65rem,4.8vw,4.25rem);color:var(--navy);margin-bottom:18px}.congress-intro .lede{color:var(--muted);font-size:18px;margin-bottom:16px}.congress-intro .review-label{margin:0;font-size:14px}.congress-intro .eyebrow{font-size:14px}.federal-ballot-note{background:var(--navy);color:#fff;padding:28px 30px;border-top:4px solid var(--gold-strong);border-radius:4px}.federal-ballot-note h2{font-family:Georgia,serif;font-weight:400;font-size:28px;line-height:1.2;margin-bottom:16px}.federal-ballot-note p{color:#d2dce7;margin-bottom:16px}.federal-ballot-note .eyebrow{color:var(--gold);font-size:14px}.federal-ballot-note a{color:var(--gold);font-weight:700}.federal-ballot-note .federal-help{font-size:14px;line-height:1.5;margin:12px 0 0;color:#bac9d8}.congress-content{padding-bottom:58px}.federal-race-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);background:#fff;border-radius:4px;overflow:hidden}.federal-race-nav a{padding:15px 20px;text-decoration:none;color:var(--navy);font-weight:750;border-right:1px solid var(--line)}.federal-race-nav a:last-child{border:0}.federal-race-nav a span{display:block;font-size:14px;letter-spacing:.08em;color:var(--muted);font-weight:600}.federal-race-nav a:hover{background:#edf2f7}.federal-race-nav a:focus-visible{outline-offset:-4px}.federal-source-line{font-size:14px;color:var(--muted);line-height:1.6;margin:16px 0 0;max-width:990px}.federal-race{padding:36px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}.federal-race-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.federal-race-identity{display:flex;align-items:center;gap:22px;min-width:0}.federal-race-code{align-self:stretch;display:grid;place-items:center;padding-right:22px;border-right:2px solid var(--gold-strong);font-size:14px;letter-spacing:.04em;min-width:86px;color:#526478;font-weight:750}.federal-race-scope{font-size:14px;color:var(--muted);margin:0 0 7px}.federal-race-heading h2{font-family:Georgia,serif;font-size:35px;font-weight:400;color:var(--navy);margin:0}.federal-seat-status{font-size:14px;background:#eaf0f5;border:1px solid #d8e2ec;border-radius:3px;color:#3b536b;padding:5px 11px;white-space:nowrap}.federal-context{max-width:830px;color:var(--muted);margin-bottom:22px}.federal-counties{margin:-6px 0 22px;max-width:920px;font-size:14px}.federal-counties summary{font-size:14px;font-weight:650;cursor:pointer;color:var(--navy);width:fit-content;min-height:32px}.federal-counties summary:focus-visible{outline:3px solid var(--gold-strong);outline-offset:4px}.federal-counties[open]{background:#eff3f6;border-left:3px solid #9aaec1;padding:16px 20px;margin-top:0}.federal-counties p{margin:10px 0 0;font-size:15px;line-height:1.7}.federal-counties .source-note{font-size:14px}.federal-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.federal-candidates.federal-three{grid-template-columns:repeat(3,minmax(0,1fr))}.federal-candidate{display:flex;flex-direction:column;padding:24px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:3px;min-width:0}.federal-candidate.democratic{border-top-color:var(--blue)}.federal-candidate.libertarian{border-top-color:#997323}.federal-candidate.independent{border-top-color:#6e7987}.federal-candidate .federal-party{font-size:14px;text-transform:uppercase;font-weight:750;letter-spacing:.08em;color:var(--red);margin:0 0 12px}.federal-candidate.democratic .federal-party{color:#245c8e}.federal-candidate.libertarian .federal-party{color:#755514}.federal-candidate.independent .federal-party{color:#546171}.federal-candidate h3{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.15;margin-bottom:14px;color:var(--navy);overflow-wrap:anywhere}.federal-candidate>p:not(.federal-party){font-size:16px;color:var(--muted);line-height:1.6;margin-bottom:20px}.federal-candidate-links{font-size:14px;font-weight:650;margin-top:auto;line-height:1.7}.federal-race .source-note{font-size:14px;margin-top:16px}.federal-explainer{padding:44px 0}.federal-section-title{max-width:830px}.federal-section-title h2,.federal-vote-callout h2{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.2;margin-bottom:15px}.federal-section-title>p:last-child{color:var(--muted);margin-bottom:26px}.federal-section-title .eyebrow{font-size:14px}.federal-powers-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.federal-powers-grid article{border-top:2px solid var(--gold-strong);padding-top:20px}.federal-term{font-size:14px;font-weight:750;color:#5a6877;letter-spacing:.08em}.federal-powers-grid h3{font-size:22px;margin:9px 0 12px}.federal-powers-grid p{color:var(--muted)}.federal-powers-grid a{font-size:14px;font-weight:650}.federal-vote-callout{display:flex;align-items:center;justify-content:space-between;gap:36px;background:var(--navy);color:#fff;border-radius:4px;padding:32px}.federal-vote-callout p{max-width:720px;color:#cbd7e3;margin-bottom:0}.federal-vote-callout .eyebrow{color:var(--gold);font-size:14px;margin-bottom:12px}.federal-vote-callout h2{font-size:29px}.federal-vote-callout .button{flex-shrink:0}.federal-editorial{padding-top:34px;max-width:950px}.federal-editorial h2{font-size:19px;margin-bottom:12px}.federal-editorial p{color:var(--muted);font-size:14px}.federal-resource-links{display:flex;gap:12px 24px;flex-wrap:wrap;font-size:14px;font-weight:650}
@media(max-width:1000px){.congress-intro{gap:30px}.federal-candidates.federal-three{grid-template-columns:repeat(2,minmax(0,1fr))}.federal-candidates.federal-three .federal-candidate:last-child{grid-column:1/-1}.federal-race-nav a{padding:14px 12px}.federal-vote-callout{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:700px){.congress-intro{grid-template-columns:1fr;padding:30px 0 24px;gap:23px}.congress-intro h1{font-size:44px}.congress-intro .lede{font-size:17px}.federal-ballot-note{padding:23px}.federal-ballot-note h2{font-size:25px}.federal-race-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.federal-race-nav a{border-bottom:1px solid var(--line);padding:12px 16px}.federal-race-nav a:first-child{grid-column:1/-1}.federal-race-nav a:nth-child(3){border-right:0}.federal-race-nav a:nth-child(4){border-bottom:0}.federal-race-nav a span{font-size:14px}.federal-race-heading{display:block}.federal-race-identity{gap:14px}.federal-race-code{min-width:66px;padding-right:14px;font-size:14px}.federal-race-heading h2{font-size:30px}.federal-seat-status{display:inline-block;margin-top:14px}.federal-candidates,.federal-candidates.federal-three,.federal-powers-grid{grid-template-columns:1fr}.federal-candidates.federal-three .federal-candidate:last-child{grid-column:auto}.federal-candidate{padding:22px}.federal-race{padding:28px 0}.federal-candidate h3{font-size:29px}.federal-powers-grid{gap:26px}.federal-vote-callout{padding:25px}.federal-vote-callout h2{font-size:28px}.federal-vote-callout .button{width:100%}.federal-section-title h2{font-size:31px}.federal-explainer{padding:32px 0}}
@media print{.federal-race-nav,.federal-vote-callout{display:none}.congress-intro{grid-template-columns:1fr}.federal-ballot-note{background:none;color:#172333}.federal-candidates.federal-three{grid-template-columns:repeat(2,minmax(0,1fr))}.federal-candidate{break-inside:avoid}.federal-race{padding:20px 0}}
/* Official neutral district map; links work without JavaScript. */
.congress-map-panel{margin:26px 0;padding:24px;border:1px solid #dce1e6;border-radius:5px;background:#fffdf8}.congress-map-heading h2{font:400 30px/1.2 Georgia,serif;color:#10243e;margin:0 0 10px}.congress-map-heading>p{color:#596879;margin:0 0 18px}.congress-map-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);align-items:center;gap:24px}.congress-map-canvas{min-width:0;background:#f3f6f8;border:1px solid #dce1e6;border-radius:4px;padding:12px}#congress-district-map{display:block;width:100%;height:auto;overflow:visible}#congress-district-map a{cursor:pointer;outline:none}#congress-district-map path{fill:#d0dce5;stroke:#52677b;stroke-width:1.2;vector-effect:non-scaling-stroke;transition:fill .12s}#congress-district-map text{fill:#203b53;font:bold 25px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;pointer-events:none;paint-order:stroke;stroke:#fffdf8;stroke-width:3px}#congress-district-map a:hover path,#congress-district-map a:focus path,#congress-district-map a.is-active path{fill:#ead8ad;stroke:#10243e;stroke-width:2.2}#congress-district-map a:focus-visible path{stroke:#10243e;stroke-width:4}.congress-map-status{color:#29465f;font-size:15px;line-height:1.5;min-height:68px;margin:0 0 12px}.congress-district-links{display:grid;gap:8px}.congress-district-links a{display:flex;align-items:center;gap:15px;min-height:46px;padding:10px 13px;background:white;border:1px solid #bbcbd7;border-radius:4px;color:#10243e;text-decoration:none;font-size:14px}.congress-district-links a:hover,.congress-district-links a.is-active{background:#f2e6c9;border-color:#c9a45e}.congress-district-links strong{white-space:nowrap}.congress-map-neutral{font-size:14px;color:#596879;line-height:1.5;margin:14px 0 0}.congress-map-panel>.source-note{margin-top:18px;font-size:14px}
@media(max-width:700px){.congress-map-panel{padding:16px;margin:20px 0}.congress-map-heading h2{font-size:26px}.congress-map-layout{grid-template-columns:1fr;gap:16px}.congress-map-canvas{padding:6px}#congress-district-map text{font-size:38px}.congress-map-status{min-height:0;margin-bottom:12px}.congress-district-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.congress-district-links a{display:block;padding:10px;min-height:68px}.congress-district-links span{display:block;font-size:13px;margin-top:3px}}
@media(prefers-reduced-motion:reduce){#congress-district-map path{transition:none}}
@media print{.congress-map-panel{break-inside:avoid}.congress-map-layout{grid-template-columns:2fr 1fr}}
/* Editorial map refinement: one coherent explorer, original geography intact. */
.editorial-map{padding:30px 30px 0;margin:30px 0;border-color:#cdd5d9;background:#fffdf8;overflow:hidden}.editorial-map .congress-map-heading{margin-bottom:24px;max-width:780px}.editorial-map .map-eyebrow{font-size:12px;letter-spacing:.15em;font-weight:750;color:#6e644e;margin:0 0 10px}.editorial-map .congress-map-heading h2{font-size:34px;letter-spacing:-.025em;line-height:1.15;margin-bottom:12px}.editorial-map .congress-map-heading>p:last-child{font-size:15px;margin:0;color:#596879}.editorial-map .congress-map-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:30px;align-items:start}.editorial-map .congress-map-canvas{background:#f3f1ea;border:0;border-radius:3px;padding:14px 10px 10px;min-width:0}.editorial-map #congress-district-map{margin:10px 0;overflow:visible}.editorial-map #congress-district-map .congress-district-shape{fill:#a9b8c2;stroke:#fffdf8;stroke-width:1.3;vector-effect:non-scaling-stroke;transition:fill .16s}.editorial-map #congress-district-map .congress-state-outline{fill:none;stroke:#536674;stroke-width:1.2;vector-effect:non-scaling-stroke;pointer-events:none}.editorial-map #congress-district-map a:hover .congress-district-shape,.editorial-map #congress-district-map a:focus .congress-district-shape,.editorial-map #congress-district-map a.is-active .congress-district-shape{fill:#e5d2a0;stroke:#9b8050;stroke-width:1.5}.editorial-map #congress-district-map a:focus-visible .congress-district-shape{stroke:#10243e;stroke-width:3}.editorial-map .congress-map-label{pointer-events:none}.editorial-map .congress-map-label circle{fill:#203b53;stroke:#fffdf8;stroke-width:2;vector-effect:non-scaling-stroke}.editorial-map #congress-district-map .congress-map-label text{font:600 28px Georgia,serif;fill:#fffdf8;stroke:none}.editorial-map #congress-district-map a.is-active .congress-map-label circle{fill:#fffdf8;stroke:#856c3e}.editorial-map #congress-district-map a.is-active .congress-map-label text{fill:#203b53}.map-geography-note{display:flex;justify-content:center;align-items:center;gap:8px;font-size:12px;letter-spacing:.025em;color:#536674;margin:5px 0 0;padding:9px 0 0;border-top:1px solid #dadbd4}.map-geography-note span{width:9px;height:9px;background:#a9b8c2;border:1px solid #718493;border-radius:50%}.editorial-map .congress-map-side{display:grid;gap:14px}.editorial-map .congress-district-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editorial-map .congress-district-links a{display:flex;align-items:flex-start;gap:9px;min-height:74px;padding:11px 10px;background:#fff;border:1px solid #c7d1d8;border-radius:3px;transition:background .16s,border-color .16s}.editorial-map .congress-district-links a.is-active,.editorial-map .congress-district-links a:hover{background:#f5ecd9;border-color:#b29b6a}.map-selector-number{font:400 23px/1.1 Georgia,serif;color:#687e8e;flex-shrink:0}.editorial-map .congress-district-links a.is-active .map-selector-number{color:#795f2f}.editorial-map .congress-district-links strong{font-size:12px;line-height:1.35;display:block}.editorial-map .congress-district-links small{font-size:11px;line-height:1.35;display:block;color:#66727b;margin-top:3px}.map-district-preview{padding:24px 23px;background:#10243e;color:#fffdf8;border-radius:4px;min-height:330px}.map-preview-code{font-size:11px;font-weight:750;letter-spacing:.13em;color:#ead8ad;margin:0 0 10px}.map-district-preview h3{font:400 28px/1.14 Georgia,serif;letter-spacing:-.015em;margin:0 0 22px;min-height:64px}.map-ballot-label{font-size:10px;font-weight:700;letter-spacing:.13em;color:#aebfce;margin:0 0 7px}.map-district-preview ul{list-style:none;margin:0 0 20px;padding:0;min-height:101px}.map-district-preview li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #35475e;padding:10px 0;font-size:13px;line-height:1.35}.map-district-preview li strong{font-weight:550}.map-district-preview li span{font-size:11px;color:#bbcbd8;text-align:right;flex-shrink:0}.map-district-preview>a{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#ead8ad;font-size:13px;font-weight:650;padding-top:12px;border-top:1px solid #536078;text-decoration:none}.map-district-preview>a:hover{text-decoration:underline}.map-source-footer{background:transparent;color:#69737c;display:flex;justify-content:space-between;gap:16px;border-top:1px solid #dce1e6;margin-top:24px;padding:15px 0;font-size:11px;line-height:1.5}.map-source-footer p{margin:0;max-width:62%}.map-source-footer p:first-child{max-width:28%}.map-source-footer a{color:#52677b}.editorial-map .visually-hidden{position:absolute!important}
@media(max-width:1000px){.editorial-map{padding:24px 22px 0}.editorial-map .congress-map-layout{grid-template-columns:minmax(0,1.3fr) minmax(285px,1fr);gap:20px}.map-district-preview{padding:22px 20px}.map-district-preview h3{font-size:26px}}
@media(max-width:760px){.editorial-map{padding:22px 16px 0}.editorial-map .congress-map-heading h2{font-size:28px}.editorial-map .congress-map-layout{grid-template-columns:1fr;gap:18px}.editorial-map .congress-map-canvas{padding:10px 6px}.editorial-map .congress-map-label circle{r:34}.editorial-map #congress-district-map .congress-map-label text{font-size:36px}.editorial-map .congress-district-links a{min-height:72px;padding:12px}.editorial-map .congress-district-links small{font-size:12px}.editorial-map .congress-district-links strong{font-size:13px}.map-district-preview{min-height:0;padding:23px}.map-district-preview h3{min-height:0;font-size:29px;margin-bottom:23px}.map-district-preview ul{min-height:0}.map-district-preview li{font-size:15px}.map-district-preview li span{font-size:12px}.map-district-preview>a{font-size:14px}.map-source-footer{display:block;font-size:12px}.map-source-footer p,.map-source-footer p:first-child{max-width:none;margin:0 0 8px}}
@media(prefers-reduced-motion:reduce){.editorial-map #congress-district-map .congress-district-shape,.editorial-map .congress-district-links a{transition:none}}
