/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}:root{--history-positive:#37566d;--history-negative:#9da9b3}:root[data-theme=dark]{--history-positive:#b7cbdc;--history-negative:#465b6c}.comparison-page{max-width:1320px;padding-block:42px 80px}.comparison-page>.ad-slot,.comparison-page>details,.comparison-page>section{margin-top:48px}.comparison-hero{isolation:isolate;padding:20px 0 24px;position:relative}.comparison-hero>.watercolor-wash{opacity:.8;z-index:-1;width:560px;max-width:100%;height:260px;inset:-30px auto auto -70px}.comparison-hero h1{letter-spacing:-.055em;text-wrap:balance;max-width:920px;margin:12px 0 22px;font-size:clamp(2rem,4.2vw,3.8rem);font-weight:650;line-height:1.07}.comparison-hero>p{max-width:720px;color:var(--text-secondary);line-height:1.7}.comparison-page h2{letter-spacing:-.035em;margin:0 0 24px;font-size:clamp(1.35rem,2.1vw,2rem);line-height:1.2}.comparison-page h3{font-size:1rem}.comparison-page .comparison-legend,.comparison-page .method-note{color:var(--text-secondary);font-size:.82rem;line-height:1.75}.year-pair{border-radius:var(--radius-panel);width:fit-content;box-shadow:none;flex-wrap:wrap;align-items:end;gap:18px;margin-top:24px;padding:12px 18px;display:flex}.year-pair.glass{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border);box-shadow:none}.comparison-controls label,.year-pair label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);flex-direction:column;gap:5px;font-size:.68rem;display:flex}.comparison-controls select,.year-pair select{color:var(--text);letter-spacing:0;text-transform:none;border:0;border-bottom:1px solid var(--border);background:0 0;max-width:100%;min-height:34px;font-size:1rem;font-weight:650}.year-pair>span{color:var(--text-secondary);align-self:center}.comparison-page button{color:var(--text);font:inherit;border:1px solid var(--border);background:var(--surface);border-radius:10px;min-height:38px;padding:8px 12px;font-size:.8rem}.comparison-columns,.comparison-map-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;display:grid}.comparison-year{min-width:0;position:relative}.comparison-year>figcaption{flex-wrap:wrap;align-items:baseline;gap:12px;padding-bottom:12px;display:flex}.comparison-year>figcaption .eyebrow{flex-basis:100%}.comparison-year>figcaption strong{letter-spacing:-.05em;font-size:2rem;font-weight:650}.comparison-year>figcaption>span:last-child{color:var(--text-secondary);font-size:.75rem}.year-2022 .watercolor-wash{opacity:.5}.comparison-geometry{position:absolute;overflow:hidden}.comparison-map{width:100%;height:auto;max-height:540px;display:block;overflow:visible}.comparison-map a{cursor:pointer;outline:none}.comparison-map use{transform-box:fill-box;transform-origin:50%;transition:opacity .15s,filter .15s}.comparison-map a:focus-visible use,.comparison-map a[data-selected=true] use{stroke:var(--text);stroke-width:2.4px;filter:drop-shadow(0 4px 4px #162d4926);opacity:.84}.comparison-map a:focus-visible use{stroke-dasharray:4 2}.comparison-map-label{fill:var(--surface);pointer-events:none;text-anchor:middle;paint-order:stroke;stroke:var(--text);stroke-width:2px;font-size:20px;font-weight:800}.comparison-preview{border-radius:18px;min-height:146px;margin:24px 0 12px;padding:20px 24px}.comparison-preview>strong{font-size:.95rem}.comparison-preview>div{grid-template-columns:1fr 1fr;column-gap:30px;display:grid}.comparison-preview p{color:var(--text-secondary);margin:8px 0 0;font-size:.78rem;line-height:1.6}.comparison-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 0 30px;display:flex}.comparison-controls nav{flex-wrap:wrap;gap:6px;display:flex}.comparison-controls nav a{border:1px solid var(--border);border-radius:30px;padding:10px 14px;font-size:.8rem}.comparison-controls nav a[aria-current]{background:var(--text);color:var(--surface)}.comparison-controls form{align-items:end;gap:12px;display:flex}.comparison-hub-grid{grid-template-columns:1fr 1fr;gap:0 54px;margin-bottom:50px;display:grid}.comparison-hub-item{border-top:1px solid var(--border);padding:32px 0;display:block}.comparison-hub-item h2{margin:10px 0 14px}.comparison-hub-item p{color:var(--text-secondary);max-width:440px;font-size:.9rem;line-height:1.7}.comparison-local-links>.history-cta{margin:0 30px 20px 0;display:inline-flex}.comparison-breadcrumb{color:var(--text-secondary);margin-bottom:4px;font-size:.8rem}.comparison-hemicycles h2>span{letter-spacing:0;color:var(--text-secondary);font-size:.8rem;font-weight:400}.comparison-hemicycles .home-arc{margin:0}.comparison-hemicycles .home-arc .hemicycle-art{max-width:100%}.comparison-callout{border-left:3px solid var(--accent);max-width:920px;padding:18px 24px;line-height:1.8}.comparison-gains{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-bottom:32px;display:grid}.comparison-gains>div{border-top:1px solid var(--border);padding-top:12px}.comparison-gains p{border-bottom:1px solid var(--border);justify-content:space-between;margin:0;padding:9px 0;font-size:.86rem;display:flex}.comparison-table-wrap{overscroll-behavior-x:contain;width:100%;margin-top:24px;overflow-x:auto}.comparison-table{border-collapse:collapse;text-align:left;width:100%;font-size:.83rem}.comparison-table caption{text-align:left;color:var(--text-secondary);padding-bottom:14px;font-size:.75rem}.comparison-table td,.comparison-table th{border-bottom:1px solid var(--border);vertical-align:top;padding:15px 12px}.comparison-table th{font-weight:600}.comparison-table small{color:var(--text-secondary);max-width:260px;margin-top:5px;font-size:.7rem;font-weight:400;line-height:1.6;display:block}.comparison-table .party-dot{margin-right:9px}.comparison-candidate{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:15px 0;font-size:.85rem;display:flex}.comparison-candidate>span:nth-child(2){flex:1;min-width:0}.comparison-candidate small{color:var(--text-secondary);margin-top:4px;font-size:.75rem;display:block}.comparison-candidate>b{white-space:nowrap;font-weight:600}.comparison-participation-year{border-top:1px solid var(--border);padding:24px 0}.comparison-participation-year>strong{letter-spacing:-.055em;margin:10px 0 4px;font-size:clamp(2.6rem,4vw,4.2rem);font-weight:600;display:block}.comparison-participation-year>span:last-of-type{color:var(--text-secondary);font-size:.9rem}.comparison-participation-year dl{margin-top:26px;font-size:.8rem}.comparison-participation-year dl>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:20px;padding:10px 0;display:flex}.comparison-participation-year dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.comparison-delta{font-size:1rem;line-height:1.7}.comparison-delta strong{letter-spacing:-.04em;margin-right:8px;font-size:1.8rem}.comparison-sources{border-top:1px solid var(--border);padding-top:32px}.comparison-exterior,.comparison-sources details{border:1px solid var(--border);border-radius:12px;min-width:0;padding:15px}.comparison-sources summary{cursor:pointer;font-size:.85rem;font-weight:600}.comparison-sources li,.comparison-sources p{overflow-wrap:anywhere;font-size:.75rem;line-height:1.7}.comparison-sources ul{padding-left:18px}.comparison-sources li{margin:18px 0}.comparison-sources>p{color:var(--text-secondary);margin-top:24px}.history-home-insights{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-bottom:24px;display:grid}.history-home-insights>div{border-top:1px solid var(--border);padding-top:24px}.history-home-insights strong{letter-spacing:-.05em;font-size:2.6rem;font-weight:600;display:block}.history-home-insights p{max-width:300px;color:var(--text-secondary);font-size:.87rem;line-height:1.7}.history-cta{margin-top:16px}@media (max-width:767px){.comparison-page{padding-top:18px}.comparison-columns,.comparison-hub-grid,.comparison-map-pair{grid-template-columns:1fr;gap:32px}.comparison-map-pair{gap:42px}.comparison-map{max-height:480px}.comparison-preview{min-height:205px;padding:16px}.comparison-preview>div{grid-template-columns:1fr}.comparison-controls form{flex-wrap:wrap}.comparison-controls nav a{padding:9px 10px;font-size:.72rem}.comparison-gains{grid-template-columns:1fr;gap:25px}.comparison-table{font-size:.72rem}.comparison-table td,.comparison-table th{padding:12px 7px}.comparison-table small{font-size:.65rem}.comparison-hero h1{font-size:2.15rem}.comparison-hero>p{font-size:.88rem}.year-pair{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(90px,1.5fr);gap:8px;width:100%;padding:12px;display:grid}.year-pair button{align-self:end;padding-inline:8px;line-height:1.3}.comparison-hero{padding-block:16px}.comparison-controls{gap:12px;margin-bottom:20px}.comparison-participation-year dl>div{gap:12px}.history-home-insights{grid-template-columns:1fr;gap:22px}.history-home-insights strong{font-size:2.2rem}.history-home-insights p{max-width:none}}@media (prefers-reduced-motion:reduce){.comparison-map use{transition:none}}.comparison-page .party-dot{border-radius:50%;flex:0 0 9px;width:9px;height:9px;display:inline-block}.comparison-map a[aria-disabled=true]{cursor:help}.editorial-home .home-editorial-content{max-width:1280px;margin-inline:auto}.home-section{padding-block:var(--space-section);border-bottom:1px solid var(--border-soft);min-width:0;scroll-margin-top:88px;position:relative}.home-section-heading{max-width:840px;margin-bottom:38px}.home-section-heading h2{letter-spacing:-.055em;text-wrap:balance;margin:14px 0 0;font-size:clamp(1.8rem,3.5vw,3.35rem);font-weight:450;line-height:1.12}.home-section .eyebrow{letter-spacing:1.6px;font-size:11px;line-height:1.7}.home-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,88px);display:grid}.home-lead{letter-spacing:-.025em;max-width:580px;margin:0 0 20px;font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.6}.home-note{color:var(--muted-foreground);max-width:640px;margin:16px 0;font-size:.875rem;line-height:1.8}.home-cta{border-bottom:1px solid var(--border);width:fit-content;min-height:44px;color:var(--accent);justify-content:space-between;align-items:center;gap:14px;margin-top:22px;padding:10px 0;font-size:.95rem;font-weight:550;text-decoration:none;display:flex}.home-cta:hover{border-color:var(--accent)}.home-source-link{width:fit-content;color:var(--muted-foreground);text-underline-offset:4px;margin-top:5px;padding-block:12px;font-size:12px;line-height:1.6;display:block}.home-map-return{width:fit-content;color:var(--accent);text-underline-offset:5px;margin-top:20px;padding-block:8px;font-size:.875rem;display:block}.home-number-line{flex-wrap:wrap;gap:28px 36px;margin-bottom:26px;display:flex}.home-number{max-width:210px;position:relative}.home-number strong{letter-spacing:-.065em;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:400;line-height:1.12;display:block}.home-number>span{max-width:170px;color:var(--muted-foreground);margin-top:10px;font-size:.8rem;line-height:1.6;display:block}.home-number .watercolor-wash{opacity:.35;width:180px;left:-15px}.home-chart-label{color:var(--muted-foreground);margin:0 0 26px;font-size:.85rem;font-weight:500}.home-numbers-composition{grid-template-columns:1.1fr 1fr;align-items:center;gap:70px;display:grid}.home-electorate{isolation:isolate;min-width:0;margin:20px 0 48px;position:relative}.home-electorate>.watercolor-wash{z-index:-1;opacity:.8;width:100%;height:220px;position:absolute;inset:-70px -35px auto}.home-metric dt{color:var(--muted-foreground);margin-bottom:12px;font-size:.85rem}.home-metric dd{margin:0}.home-metric .metric-value{letter-spacing:-.06em;color:var(--foreground);font-variant-numeric:tabular-nums;margin:0 0 12px;font-size:clamp(1.5rem,2.5vw,2.3rem);font-weight:400;line-height:1.15}.home-metric--eligibleElectors .metric-value{font-size:clamp(2.3rem,4.25vw,4.1rem)}.home-metric dd>span{color:var(--muted-foreground);font-size:.75rem;line-height:1.7;display:block}.home-participation{grid-template-columns:1fr;gap:26px;margin:0 0 30px;display:grid}.home-vote-strip{border-radius:6px;gap:3px;width:100%;height:9px;margin:16px 0 30px;display:flex;overflow:hidden}.home-vote-segment--valid{background:var(--accent)}.home-vote-segment--blank{background:var(--map-neutral)}.home-vote-segment--null{background:var(--muted-foreground)}.home-vote-numbers{grid-template-columns:1.2fr 1fr 1fr;gap:30px;margin:0 0 28px;display:grid}.home-method{color:var(--muted-foreground);max-width:920px;margin-top:24px;font-size:.8rem;line-height:1.8}.home-method summary{cursor:pointer;text-underline-offset:5px;min-height:44px;padding-block:10px;text-decoration:underline}.home-method p{max-width:800px}.home-presidency{padding-top:70px}.home-bars,.home-presidential-list{margin:0;padding:0;list-style:none}.home-presidential-list>li{border-bottom:1px solid var(--border-soft);padding:22px 0}.home-presidential-row{grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:16px;margin-bottom:18px;display:grid}.home-presidential-row h3{letter-spacing:-.015em;margin:0 0 7px;font-size:.95rem;font-weight:550}.home-presidential-row>strong{letter-spacing:-.04em;white-space:nowrap;font-size:clamp(1.35rem,2.5vw,2rem);font-weight:450;line-height:1}.home-presidential-row>div>span{color:var(--muted-foreground);font-size:.75rem;line-height:1.7}.home-ordinal{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:12px}.home-presidential-list .editorial-track{background:var(--control-background);height:7px}.home-bars>li{padding-block:12px 16px}.home-bar-label{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;font-size:.8rem;line-height:1.7;display:flex}.home-bar-label a{flex:none;align-items:center;gap:9px;font-weight:550;display:flex}.home-bar-label i,.home-member-links i,.home-party-leaders i{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.home-bar-label>span{text-align:right;font-variant-numeric:tabular-nums}.home-bars .editorial-track{background:var(--control-background);height:7px}.home-governors{background:linear-gradient(135deg,var(--wash-blue),transparent 60%);margin-inline:-24px;padding-inline:24px}.home-split--arc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.home-arc{width:100%;min-width:0;margin:0}.home-arc svg[data-home-hemicycle]{width:100%;height:auto;display:block;overflow:visible}.home-arc svg[data-home-hemicycle] path{stroke:var(--background);stroke-width:1.2px}.home-arc svg[data-home-hemicycle] path.home-retained-seats{stroke:var(--muted-foreground);stroke-width:1px;fill-opacity:.35}.home-arc .hemicycle-center{width:60%;bottom:5%}.home-arc .hemicycle-center strong{font-size:clamp(2.1rem,4vw,3.8rem);font-weight:450}.home-arc .hemicycle-center span{margin-top:6px;font-size:.75rem}.home-arc figcaption{color:var(--muted-foreground);text-align:center;max-width:440px;margin:24px auto 0;font-size:.7rem;line-height:1.7}.home-proportional{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:start;gap:60px;margin-top:60px;padding:32px 0 12px;display:grid}.home-proportional h3{letter-spacing:-.035em;margin:12px 0;font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:450;line-height:1.35}.home-proportional ol{margin:0;padding:0;list-style:none}.home-proportional li{border-bottom:1px solid var(--border-soft);gap:8px;padding-block:20px;display:grid}.home-proportional li>span:first-child{font-size:.8rem}.home-proportional li>strong{letter-spacing:-.04em;font-size:1.55rem;font-weight:450}.home-proportional li>span:last-child{color:var(--muted-foreground);font-size:.7rem}.home-interlude-ad{margin-block:60px}.home-party-leaders{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:40px 0 20px;display:grid}.home-party-leaders>div{border-top:1px solid var(--border);padding-top:22px}.home-party-leaders dt{color:var(--muted-foreground);min-height:44px;font-size:.8rem;line-height:1.7}.home-party-leaders dd{margin:0}.home-party-leaders dd a{flex-wrap:wrap;align-items:center;gap:10px;min-height:44px;font-size:1rem;display:flex}.home-party-leaders strong{letter-spacing:-.065em;width:100%;color:var(--foreground);font-size:clamp(3rem,6vw,5rem);font-weight:400;line-height:1.3;display:block}.home-federation-list{margin:36px 0 12px;padding:0;list-style:none}.home-federation-list>li{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:20px;padding-block:24px;display:flex}.home-federation-name{letter-spacing:-.02em;align-items:center;gap:20px;max-width:520px;min-height:44px;font-size:1rem;line-height:1.6;display:flex}.home-federation-name>span{color:var(--muted-foreground);font-size:.8rem}.home-member-links{flex-wrap:wrap}.home-member-links,.home-member-links>span{align-items:center;gap:10px;display:flex}.home-member-links b{color:var(--muted-foreground);font-size:.85rem;font-weight:400}.home-member-links a{border:1px solid var(--border);white-space:nowrap;border-radius:30px;align-items:center;gap:8px;min-height:44px;padding:8px 12px;font-size:.75rem;display:flex}.home-fund-total{isolation:isolate;position:relative}.home-fund-total>.watercolor-wash{z-index:-1;opacity:.7;width:100%;height:220px;position:absolute;inset:-50px -25px auto}.home-fund-total>span{color:var(--muted-foreground);margin-bottom:18px;font-size:.8rem;display:block}.home-fund-total>strong{letter-spacing:-.065em;white-space:nowrap;font-size:clamp(1.5rem,3.15vw,2.6rem);font-weight:400;line-height:1.4;display:block}.home-topic-links{grid-template-columns:1fr 1fr;column-gap:65px;margin-top:30px;display:grid}.home-topic-links .home-cta{width:100%;color:var(--foreground);gap:20px;margin:0;padding:24px 0}.home-topic-links .home-cta>span:nth-child(2){flex:1}.home-topic-links strong{letter-spacing:-.025em;font-size:clamp(1.05rem,2vw,1.4rem);font-weight:450;display:block}.home-topic-links small{color:var(--muted-foreground);margin-top:9px;font-size:.75rem;font-weight:400;line-height:1.7;display:block}.home-city-search{max-width:660px;margin-top:70px;padding:40px 0 20px}.home-city-search h3{letter-spacing:-.035em;margin:12px 0;font-size:clamp(1.5rem,3vw,2rem);font-weight:450;line-height:1.25}.site-search.municipal-search{z-index:25;width:100%;margin:25px 0 16px;position:relative}.municipal-search .search-shell{border:1px solid var(--border);background:var(--surface-glass);height:54px;padding-inline:16px;display:flex;position:relative;inset:auto}.municipal-search .search-shell input{font-size:16px}.municipal-search .search-toggle{display:none}.municipal-search .search-results{width:100%;max-width:100%;position:absolute;top:calc(100% + 8px)}.home-transparency-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:75px;padding-top:35px;display:grid}.home-transparency-layout>.ad-slot{margin-top:88px}.home-source-list{margin:35px 0 0;padding:0;list-style:none}.home-source-list>li{border-top:1px solid var(--border-soft);grid-template-columns:110px minmax(0,1fr);gap:20px;padding-block:20px;scroll-margin-top:100px;display:grid}.home-source-list>li>span{color:var(--muted-foreground);font-size:.75rem;line-height:1.7}.home-source-list a{color:var(--accent);text-underline-offset:4px;font-size:.85rem;line-height:1.7}.home-source-list summary{cursor:pointer;min-height:36px;padding-block:10px}.home-source-list p,.home-source-list summary{color:var(--muted-foreground);font-size:.75rem}.home-source-list p{line-height:1.7}.home-input-hashes{padding:0;list-style:none}.home-input-hashes li{border-top:1px solid var(--border-soft);padding-block:8px}.home-input-hashes code,.home-input-hashes span{overflow-wrap:anywhere;font-size:11px;display:block}.home-feedback-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px;display:grid}.home-feedback-options details{border-top:1px solid var(--border);min-width:0;padding-top:14px}.home-feedback-options summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:44px;font-size:.95rem;display:flex}.home-feedback-options p{color:var(--muted-foreground);font-size:.85rem;line-height:1.8}.site-footer.home-footer{grid-template-columns:1fr auto;gap:24px;padding-block:40px;display:grid}.home-footer nav{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:20px 30px;font-size:.8rem;display:flex}.home-footer nav a{text-underline-offset:4px;align-items:center;min-height:44px;display:flex}.home-footer nav span{color:var(--muted-foreground);font-size:.75rem}.home-footer nav small{margin-left:5px}.home-footer .footer-caption{grid-column:1/-1}@media (min-width:1500px){.home-numbers-composition,.home-participation{grid-template-columns:1fr 1fr}.home-participation{gap:25px}}@media (max-width:1100px){.home-transparency-layout{grid-template-columns:minmax(0,1fr);gap:0}.home-transparency-layout>.ad-slot{justify-self:center;margin:25px 0 45px}.home-numbers-composition,.home-split{gap:35px}.home-party-leaders{gap:25px}.home-federation-list>li{flex-direction:column;align-items:flex-start;gap:12px}}@media (max-width:767px){.home-section{padding-block:44px}.home-section-heading{margin-bottom:28px}.home-numbers-composition,.home-proportional,.home-split,.home-split--arc{grid-template-columns:minmax(0,1fr);gap:32px}.home-senate .home-arc{order:2}.home-arc{max-width:560px;margin-inline:auto}.home-number-line{gap:24px 30px}.home-number{max-width:135px}.home-number strong{font-size:2.8rem}.home-number>span{max-width:140px;font-size:.75rem}.home-electorate{margin:8px 0 10px}.home-electorate>.watercolor-wash{max-width:400px;inset:-60px 0 auto}.home-participation{grid-template-columns:1fr 1fr;gap:18px;margin:0 0 5px}.home-metric .metric-value{font-size:clamp(1.5rem,4.6vw,2.15rem)}.home-metric--eligibleElectors .metric-value{font-size:clamp(2.4rem,7.4vw,3.5rem)}.home-metric dt{font-size:.75rem}.home-metric dd>span{font-size:.7rem}.home-vote-numbers{grid-template-columns:1fr 1fr;gap:26px 20px}.home-metric--validVotes{grid-column:1/-1}.home-governors{margin-inline:-8px;padding-inline:8px}.home-proportional{gap:18px;margin-top:35px}.home-party-leaders{grid-template-columns:minmax(0,1fr);gap:20px}.home-party-leaders>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;display:grid}.home-party-leaders dt{min-height:0}.home-party-leaders dd a{column-gap:8px}.home-party-leaders strong{font-size:3rem}.home-fund-total>strong{font-size:clamp(1.4rem,5vw,2.3rem)}.home-bar-label{gap:10px;font-size:.72rem}.home-presidential-row{grid-template-columns:20px minmax(0,1fr) auto;gap:10px}.home-presidential-row h3{font-size:.8rem}.home-presidential-row>strong{font-size:1.35rem}.home-presidential-row>div>span{font-size:.68rem}.home-topic-links{grid-template-columns:minmax(0,1fr)}.home-city-search{margin-top:40px}.home-transparency-layout{padding-top:0}.home-transparency-layout>.ad-slot{margin-top:10px}.home-source-list>li{grid-template-columns:minmax(0,1fr);gap:8px}.home-feedback-options{grid-template-columns:minmax(0,1fr);gap:15px}.site-footer.home-footer{grid-template-columns:minmax(0,1fr);gap:18px}.home-footer nav{gap:10px 22px}.home-interlude-ad{margin-block:40px}}@media (prefers-reduced-motion:reduce){.editorial-home *{scroll-behavior:auto}}.archive-navigation{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-block:24px;display:flex}.archive-navigation a{text-underline-offset:5px;padding-block:10px}.archive-navigation a[aria-current=page]{font-weight:700;text-decoration:underline}.archive-navigation label{gap:8px;min-width:0;font-size:.875rem;display:grid}.archive-navigation input,.archive-navigation select{border:1px solid var(--border);background:var(--surface);max-width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:8px 12px}.archive-territories{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));column-gap:32px;display:grid}.archive-territories>a,.archive-territories>article{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding-block:20px;display:flex}.archive-territories small,.archive-territories span{color:var(--text-secondary);font-size:.875rem}.archive-campaign-links{gap:16px;margin-top:32px;display:grid}.archive-campaign-links small{color:var(--text-secondary);margin-top:4px;display:block}.archive-ledger{gap:0;padding:0;list-style:none;display:grid}.archive-document,.archive-ledger li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding-block:24px}.archive-ledger li{gap:8px;display:grid}.archive-document code,.source-panel code{overflow-wrap:anywhere;word-break:break-word}.historical-archive>h1{margin-block:24px}.archive-detail .below-map{padding-top:0}.historical-archive .method-note{max-width:80ch}@media (max-width:600px){.archive-navigation{gap:8px 16px}.archive-navigation form,.archive-navigation label{width:100%}}.archive-map-controls{border-radius:8px;width:fit-content;max-width:100%;margin-block:8px;padding:8px 16px}.archive-map-controls summary{cursor:pointer;min-height:28px}.member-detail code{overflow-wrap:anywhere}.archive-comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.archive-comparison-grid>article{border-top:1px solid var(--border);min-width:0;padding-top:24px}.archive-comparison-map-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;display:grid}.archive-navigation fieldset{border:0;flex-wrap:wrap;gap:16px;padding:0;display:flex}.archive-navigation fieldset label{align-items:center;width:auto;min-height:44px;display:flex}@media (max-width:900px){.archive-comparison-grid{grid-template-columns:minmax(0,1fr)}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.col-12{grid-column:12}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.ms-2{margin-inline-start:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.size-full{width:100%;height:100%}.h-100{height:calc(var(--spacing) * 100)}.w-100{width:calc(var(--spacing) * 100)}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.p-0{padding:0}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-start{text-align:start}.lowercase{text-transform:lowercase}.placeholder-background::placeholder{color:var(--bg)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[data-ad-placement\]\:visible:is(data-ad-placement),.\[data-theme-toggle\]\:visible:is(data-theme-toggle){visibility:visible}}:root{--brand-petroleum:#0b2d4a;--brand-blue:#2563eb;--brand-green:#16a34a;--brand-yellow:#f4c430;--brand-gray:#e5eaf2;--background:#f5f8fc;--foreground:#0b2d4a;--surface:#fff;--surface-elevated:#fcfdff;--surface-glass:#fffc;--border:#d7e2ec;--border-soft:#0b2d4a14;--muted:#e5eaf2;--muted-foreground:#52687e;--accent:#174569;--accent-hover:#0b2d4a;--on-accent:#fff;--shadow:0 6px 28px #0b2d4a0d;--glass-border:#ffffffdb;--glass-inner-border:#b2c6d938;--control-background:#e5eaf285;--control-hover:#dce6f1b8;--map-neutral:#d4e0ea;--map-neutral-light:#e5edf4;--map-border:#6f899e;--map-label:#294b65;--map-leader:#738ca0;--map-hover:#eff5fa;--map-selected:#315f83;--map-shadow:#0b2d4a33;--focus-ring:#2563eb;--ad-background:#edf2f7;--ad-border:#c9d7e4;--ad-foreground:#52687e;--metric-foreground:#657f96;--tooltip-shadow:0 12px 38px #0b2d4a1f;--logo-ink:#0b2d4a;--logo-muted:#52687e;--selection:#d7e7fc;--wash-blue:#2563eb12;--wash-green:#16a34a0d;--wash-yellow:#f4c4300a;--placeholder-background:#f0f5fa;--bg:var(--background);--text:var(--foreground);--glass:var(--surface-glass);--text-primary:var(--foreground);--text-secondary:var(--muted-foreground);--neutral-map:var(--map-neutral);--neutral-map-light:var(--map-neutral-light);--hover-map:var(--map-hover);--selected-map:var(--map-selected);color-scheme:light}:root[data-theme=dark]{--background:#07111f;--foreground:#eef4fa;--surface:#0d1c2d;--surface-elevated:#13283d;--surface-glass:#102335d1;--border:#294058;--border-soft:#a6bfd91f;--muted:#1b334b;--muted-foreground:#a4b6c9;--accent:#9cc7f0;--accent-hover:#bedcf7;--on-accent:#07111f;--shadow:0 8px 32px #00000038;--glass-border:#a4bed924;--glass-inner-border:#a4bed90d;--control-background:#263d5485;--control-hover:#304e6ab3;--map-neutral:#18364e;--map-neutral-light:#203e57;--map-border:#678aa7;--map-label:#d8e8f5;--map-leader:#7e9cb5;--map-hover:#294e6c;--map-selected:#9bc7ed;--map-shadow:#00000073;--focus-ring:#91baff;--ad-background:#0d1b2c;--ad-border:#2a4058;--ad-foreground:#a4b6c9;--metric-foreground:#96b0c7;--tooltip-shadow:0 14px 42px #00000057;--logo-ink:#eef4fa;--logo-muted:#a4b6c9;--selection:#25476c;--wash-blue:#2563eb1a;--wash-green:#16a34a0f;--wash-yellow:#f4c43005;--placeholder-background:#0c1d2f;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--background:#07111f;--foreground:#eef4fa;--surface:#0d1c2d;--surface-elevated:#13283d;--surface-glass:#102335d1;--border:#294058;--border-soft:#a6bfd91f;--muted:#1b334b;--muted-foreground:#a4b6c9;--accent:#9cc7f0;--accent-hover:#bedcf7;--on-accent:#07111f;--shadow:0 8px 32px #00000038;--glass-border:#a4bed924;--glass-inner-border:#a4bed90d;--control-background:#263d5485;--control-hover:#304e6ab3;--map-neutral:#18364e;--map-neutral-light:#203e57;--map-border:#678aa7;--map-label:#d8e8f5;--map-leader:#7e9cb5;--map-hover:#294e6c;--map-selected:#9bc7ed;--map-shadow:#00000073;--focus-ring:#91baff;--ad-background:#0d1b2c;--ad-border:#2a4058;--ad-foreground:#a4b6c9;--metric-foreground:#96b0c7;--tooltip-shadow:0 14px 42px #00000057;--logo-ink:#eef4fa;--logo-muted:#a4b6c9;--selection:#25476c;--wash-blue:#2563eb1a;--wash-green:#16a34a0f;--wash-yellow:#f4c43005;--placeholder-background:#0c1d2f;color-scheme:dark}}:root{--radius-control:8px;--radius-panel:12px;--radius-overlay:20px;--space-section:clamp(40px,5vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--bg);color:var(--text);font-family:var(--font-inter),Arial,sans-serif;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,select,summary{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:4px}::selection{background:var(--selection)}.glass{background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--shadow),inset 0 0 0 1px var(--glass-inner-border)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--accent);color:var(--on-accent);z-index:100;border-radius:8px;padding:12px 20px;position:fixed;top:8px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:30;background:var(--surface-glass);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-bottom:1px solid var(--border-soft);position:sticky;top:0}.header-inner{align-items:center;gap:38px;max-width:1600px;height:60px;margin:auto;padding:0 36px;display:flex}.brand{white-space:nowrap;flex:none;display:inline-flex}.brand,.main-nav{align-items:center}.main-nav{gap:24px;display:flex}.main-nav a,.main-nav button{white-space:nowrap;color:var(--muted-foreground);background:0 0;border:0;padding:19px 0;font-size:13px;position:relative}.main-nav button:disabled{opacity:.75}.main-nav .nav-active{color:var(--text);font-weight:600}.main-nav .nav-active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:10px;left:0;right:0}.site-search{width:290px;min-width:0;margin-left:auto;position:relative}.search-shell{background:var(--control-background);border:1px solid var(--border-soft);border-radius:9px;align-items:center;gap:9px;height:36px;padding:0 11px;display:flex;position:relative}.search-shell>svg{color:var(--muted-foreground);flex:none}.search-shell input{background:0 0;border:0;width:100%;min-width:0;font-size:12px}.search-shell input::placeholder{color:var(--muted-foreground);opacity:1}.search-shell input:focus-visible{outline:none}.search-shell:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.header-menu,.search-toggle{display:none}.search-results{z-index:40;border-radius:14px;width:320px;max-width:calc(100vw - 32px);padding:13px;position:absolute;top:calc(100% + 10px);right:0}.search-category{color:var(--muted-foreground);letter-spacing:1.5px;margin:0 0 7px;font-size:10px}.search-results ul{max-height:300px;margin:0;padding:0;list-style:none;overflow-y:auto}.search-results li a{border-radius:7px;justify-content:space-between;gap:10px;padding:9px 7px;font-size:13px;display:flex}.search-results li a:hover{background:var(--control-hover)}.search-empty,.search-note,.search-results li a>span:last-child{color:var(--muted-foreground);font-size:11px}.search-empty,.search-note{margin:10px 0 0}.page-container{width:100%;max-width:1600px;margin:auto;padding-inline:48px}.map-toolbar{z-index:15;justify-content:space-between;gap:20px;height:72px;position:relative}.map-context,.map-toolbar{align-items:center;display:flex}.map-context{gap:10px;font-size:14px}.map-context>svg{color:var(--accent)}.context-separator{background:var(--border);width:1px;height:16px;margin-inline:3px}.context-year{color:var(--muted-foreground);font-size:12px}.election-filters{border-radius:13px;padding:4px}.election-filters,.filter{align-items:center;display:flex}.filter{min-width:0;height:35px;padding-inline:11px;position:relative}.filter+.filter{border-left:1px solid var(--border)}.filter>div{align-items:center;gap:8px;display:flex}.filter select{appearance:none;background:0 0;border:0;width:100%;padding:0 20px 0 0;font-size:13px;line-height:26px}.filter svg{pointer-events:none;color:var(--muted-foreground);position:absolute;right:10px}.filter--year{width:78px}.filter--office{width:140px}.filter--round{width:111px}.map-stage{height:calc(100svh - 133px);min-height:520px;max-height:1080px;position:relative}.map-canvas{position:absolute;inset:0 0 47px}.map-artwork{width:100%;height:100%;display:block;position:relative}.brazil-svg{width:100%;max-width:1150px;height:100%;overflow:visible}.brazil-svg,.map-hover-overlay{margin:auto;position:absolute;inset:0}.map-hover-overlay{pointer-events:none}.state-link{cursor:pointer;outline:none}.state-territory{stroke:var(--map-border);stroke-width:.85px;vector-effect:non-scaling-stroke;transition:stroke .15s,fill .15s}.state-label{text-anchor:middle;dominant-baseline:central;fill:var(--map-label);pointer-events:auto;font-size:18px;font-weight:500}.state-label--coastal{text-anchor:start}.state-leader{fill:none;stroke:var(--map-leader);stroke-width:.75px;vector-effect:non-scaling-stroke;pointer-events:none}.state-link:focus-visible .state-territory,.state-link:hover .state-territory{stroke:var(--selected-map);stroke-width:1.6px}.state-link:focus-visible .state-territory{stroke-dasharray:4 2}.state-link:focus-visible .state-label,.state-link:hover .state-label{fill:var(--text);font-weight:650}.hover-map-path{stroke:var(--selected-map);stroke-width:1.5px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 4px var(--map-shadow));animation:map-appear .16s ease-out}@keyframes map-appear{0%{opacity:.45}to{opacity:1}}.state-tooltip{z-index:50;pointer-events:none;width:250px;max-width:calc(100vw - 24px);box-shadow:var(--tooltip-shadow);border-radius:14px;padding:15px 17px;position:fixed}.state-tooltip>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.state-tooltip strong{font-size:15px;font-weight:600}.tooltip-uf{background:var(--muted);letter-spacing:.6px;border-radius:5px;flex-shrink:0;padding:3px 6px;font-size:10px}.state-tooltip p,.tooltip-uf{color:var(--muted-foreground)}.state-tooltip p{margin:9px 0 12px;font-size:12px}.tooltip-action{color:var(--accent);gap:7px;font-size:12px;font-weight:600}.map-north,.tooltip-action{align-items:center;display:flex}.map-north{color:var(--muted-foreground);pointer-events:none;flex-direction:column;gap:6px;font-size:10px;position:absolute;top:18px;right:8px}.map-north>span{background:var(--map-leader);width:1px;height:24px;position:relative}.map-north>span:before{content:"";border-left:1px solid var(--map-leader);border-top:1px solid var(--map-leader);width:7px;height:7px;position:absolute;top:0;left:-3px;transform:rotate(45deg)}.map-footnotes{color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex;position:absolute;bottom:13px;left:0;right:0}.map-result-status{align-items:center;gap:8px;display:flex}.neutral-key{background:var(--neutral-map);border:1px solid var(--map-border);border-radius:3px;flex:none;width:11px;height:11px}.source-badge{text-underline-offset:4px;white-space:nowrap;align-items:center;gap:6px;text-decoration:underline;display:inline-flex}.source-badge,.source-pending{color:var(--muted-foreground);font-size:12px}.state-list{z-index:12;max-width:100%;color:var(--muted-foreground);font-size:11px;position:absolute;bottom:-29px;left:0}.state-list summary{padding:5px 0}.state-list[open]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:14px}.state-list ul{column-count:3;width:580px;max-width:calc(100vw - 100px);margin:0;padding:8px 0 0;list-style:none}.state-list li{break-inside:avoid}.state-list a{border-radius:5px;justify-content:space-between;gap:14px;padding:7px 8px;font-size:13px;display:flex}.state-list a:hover{background:var(--bg)}.state-list a span{font-size:11px}.below-map{padding-top:72px}.ad-slot{border:1px dashed var(--ad-border);background:var(--ad-background);color:var(--ad-foreground);letter-spacing:2px;text-transform:uppercase;border-radius:9px;justify-content:center;align-items:center;font-size:10px;display:flex}.ad-slot--horizontal{width:100%;min-height:110px}.ad-slot--vertical{width:min(300px,100%);min-height:600px}.ad-slot--rectangle{width:min(300px,100%);min-height:250px}.overview-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:60px;margin:72px 0 84px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:36px;display:flex}.eyebrow{letter-spacing:1.6px;color:var(--muted-foreground);font-size:10px;font-weight:500}.section-heading h2{letter-spacing:-1px;margin:8px 0 0;font-size:32px;font-weight:500;line-height:1.25}.overview-period{color:var(--muted-foreground);white-space:nowrap;font-size:11px}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.overview-item{border-top:1px solid var(--border);min-height:185px;padding:27px 22px 30px}.overview-item:not(:nth-child(3n+1)){border-left:1px solid var(--border)}.overview-item:nth-child(3n+1){padding-left:0}.overview-item h3{margin:0 0 18px;font-size:14px;font-weight:500}.metric-value{color:var(--metric-foreground);margin:0 0 15px;font-size:44px;font-weight:300;line-height:1}.metric-note{margin:0}.metric-note,.site-footer{color:var(--muted-foreground);font-size:11px}.site-footer{border-top:1px solid var(--border);max-width:1600px;justify-content:space-between;align-items:center;gap:24px;margin:auto;padding:28px 48px 32px;display:flex}.footer-brand{color:var(--text);letter-spacing:-.3px;font-size:14px;font-weight:600}.site-footer p{margin:0}.footer-caption{white-space:nowrap}.state-page{min-height:calc(100svh - 151px);padding-bottom:64px}.breadcrumb{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:12px;margin:27px 0 30px;font-size:13px;display:flex}.breadcrumb a:hover{text-decoration:underline}.breadcrumb [aria-current]{color:var(--text)}.state-page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.state-page-heading h1{letter-spacing:-1.5px;margin:9px 0 0;font-size:clamp(30px,4vw,46px);font-weight:500;line-height:1.2}.state-page-heading h1 span{letter-spacing:1px;vertical-align:middle;color:var(--muted-foreground);background:var(--muted);border-radius:6px;margin-left:9px;padding:6px 8px;font-size:12px}.button{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:11px 18px;font-size:13px;font-weight:500;display:inline-flex}.button:hover{background:var(--surface-elevated)}.municipal-placeholder{border:1px solid var(--border);background:var(--placeholder-background);text-align:center;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:480px;padding:38px 22px;display:flex}.placeholder-emblem{background:var(--surface-glass);border:1px solid var(--glass-border);width:70px;height:70px;box-shadow:var(--shadow);color:var(--accent);border-radius:22px;place-items:center;margin-bottom:27px;display:grid}.municipal-placeholder h2{letter-spacing:-.8px;margin:10px 0;font-size:clamp(22px,3vw,30px);font-weight:500}.municipal-placeholder p{color:var(--muted-foreground);margin:0 0 24px;font-size:14px;line-height:1.7}.placeholder-status{border:1px solid var(--border);color:var(--muted-foreground);border-radius:20px;padding:7px 13px;font-size:11px;display:inline-block}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:30px;display:flex}.not-found h1{letter-spacing:-1px;font-size:32px;font-weight:500}.not-found p{color:var(--muted-foreground);margin:0 0 30px}@media (max-width:1380px){.header-inner{gap:25px;padding-inline:32px}.main-nav{gap:19px}.site-search{width:255px}.site-footer{margin-inline:auto}}@media (max-width:1100px){.main-nav{display:none}.brand{margin-right:auto}.site-search{width:320px;margin-left:0}.header-inner{gap:22px}.header-menu{display:block;position:relative}.header-menu>summary{border-radius:8px;place-items:center;width:35px;height:35px;list-style:none;display:grid}.header-menu>summary::-webkit-details-marker{display:none}.mobile-nav{border-radius:14px;flex-direction:column;gap:2px;width:190px;padding:9px;display:flex;position:absolute;top:46px;right:0}.mobile-nav a,.mobile-nav button{text-align:left;background:0 0;border:0;border-radius:7px;padding:11px 13px;font-size:13px}.mobile-nav a:hover{background:var(--control-hover)}.mobile-nav button:disabled{color:var(--muted-foreground)}.overview-layout{gap:36px}}@media (max-width:800px){.page-container{padding-inline:28px}.overview-layout{grid-template-columns:minmax(0,1fr);gap:40px;margin-top:52px}.overview-layout>.ad-slot{justify-self:center}.site-footer{flex-wrap:wrap;margin-inline:auto;padding-inline:28px}.footer-caption{display:none}}@media (max-width:600px){.header-inner{gap:8px;height:56px;padding-inline:16px}.brand{gap:8px;font-size:19px}.site-search{width:36px;position:static}.search-toggle{background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.search-shell{display:none}.site-search.is-open .search-shell{background:var(--surface);height:42px;box-shadow:var(--shadow);display:flex;position:absolute;top:64px;left:16px;right:16px}.search-shell input{font-size:13px}.search-results{width:100%;max-width:100%}.page-container{padding-inline:16px}.map-toolbar{flex-direction:column;justify-content:center;gap:11px;height:96px}.map-context{align-self:flex-start;gap:7px;font-size:12px}.map-context>svg{width:16px}.context-year{font-size:10px}.election-filters{border-radius:12px;max-width:100%;padding:3px}.filter{height:33px;padding-inline:10px}.filter select{padding-right:16px;font-size:12px}.filter svg{width:12px;right:8px}.filter--year{width:70px}.filter--office{width:120px}.filter--round{width:99px}.map-stage{height:calc(100svh - 153px);min-height:430px;max-height:700px}.map-canvas{inset:0 -4px 65px}.state-label{font-size:28px}.map-north{top:13px;right:2px}.map-footnotes{flex-direction:column;align-items:flex-start;gap:8px;font-size:11px;bottom:10px}.source-badge{font-size:11px}.state-list{bottom:-29px}.state-list ul{column-count:2;width:440px;max-width:calc(100vw - 62px)}.state-list a{gap:8px;font-size:12px}.below-map{padding-top:65px}.ad-slot--horizontal{min-height:100px}.overview-layout{margin:48px 0 52px}.section-heading{margin-bottom:27px}.section-heading h2{font-size:27px}.overview-period{display:none}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-item{min-height:180px;padding:24px 16px;border-left:0!important}.overview-item:nth-child(odd){padding-left:0}.overview-item:nth-child(2n){padding-left:16px;border-left:1px solid var(--border)!important}.overview-item h3{font-size:13px}.metric-note{font-size:10px}.site-footer{margin-inline:auto;padding-block:25px;padding-inline:16px;display:block}.site-footer p{margin-top:9px;line-height:1.7}.state-page{padding-bottom:42px}.breadcrumb{margin:22px 0}.state-page-heading{margin-bottom:24px;display:block}.state-page-heading h1{font-size:32px}.state-page-heading .button{margin-top:21px}.state-page-heading .eyebrow{letter-spacing:1px;font-size:10px}.municipal-placeholder{border-radius:16px;min-height:410px}}@media (max-width:350px){.brand{gap:6px;font-size:17px}.filter{padding-inline:8px}.filter--year{width:65px}.filter--office{width:115px}.filter--round{width:95px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:0s!important;animation-duration:0s!important}}.map-hover-overlay .state-label{pointer-events:none}.brand-lockup{align-items:center;gap:9px;display:inline-flex}.theme-toggle{border:1px solid var(--border-soft);background:var(--control-background);width:34px;height:34px;color:var(--muted-foreground);border-radius:10px;flex:none;place-items:center;padding:0;transition:background .16s,color .16s,border-color .16s;display:grid}.theme-toggle:hover{background:var(--control-hover);color:var(--foreground);border-color:var(--border)}.theme-icon{grid-area:1/1;place-items:center;display:grid}.theme-icon--sun,:root[data-theme=dark] .theme-icon--moon{display:none}:root[data-theme=dark] .theme-icon--sun{display:grid}@media (prefers-color-scheme:dark){:root:not([data-theme]) .theme-icon--moon{display:none}:root:not([data-theme]) .theme-icon--sun{display:grid}}.filter{border-radius:8px;transition:background .16s}.filter:hover{background:var(--control-hover)}.filter option{background:var(--surface);color:var(--foreground)}.button,.header-menu>summary,.mobile-nav a,.search-toggle{transition:background .16s,color .16s}.header-menu>summary:hover,.search-toggle:hover{background:var(--control-hover)}.source-badge:hover{color:var(--accent-hover)}.map-stage:before{content:"";pointer-events:none;background:radial-gradient(ellipse 21% 43% at 7% 38%,var(--wash-blue),transparent 75%),radial-gradient(ellipse 20% 38% at 95% 23%,var(--wash-green),transparent 75%),radial-gradient(ellipse 10% 23% at 87% 75%,var(--wash-yellow),transparent 78%);filter:blur(28px);position:absolute;inset:24px 0 72px}.state-tooltip{animation:tooltip-appear .14s ease-out}@keyframes tooltip-appear{0%{opacity:0}to{opacity:1}}.municipal-placeholder{background:radial-gradient(ellipse at 8% 30%,var(--wash-blue),transparent 48%),radial-gradient(ellipse at 92% 72%,var(--wash-green),transparent 45%),var(--placeholder-background)}.metric-value{font-variant-numeric:tabular-nums}@media (max-width:1380px){.header-inner{gap:22px}.site-search{width:250px}}@media (max-width:600px){.header-inner{gap:6px}.brand-lockup{gap:7px}.header-menu>summary,.search-toggle,.theme-toggle{width:32px;height:32px}.site-search{width:32px}.map-stage:before{filter:blur(18px);inset:34px 0 76px}}@media (max-width:350px){.header-inner{gap:4px}.brand-lockup{gap:5px}}:root{--electoral-label:#fff;--electoral-border:#ffffffb8}.map-stage--results .map-canvas{bottom:90px}.map-stage--results .state-territory{stroke:var(--electoral-border)}.state-label--electoral,.state-link--electoral:focus-visible .state-label--electoral,.state-link--electoral:hover .state-label--electoral{fill:var(--electoral-label)}.map-stage--results .hover-map-path{stroke:var(--electoral-label)}.map-footnotes--results{align-items:end}.election-legend{flex-wrap:wrap;gap:7px 18px;max-width:70%;display:flex}.legend-caption{width:100%;font-size:11px}.legend-candidate{align-items:center;gap:7px;font-size:11px;display:inline-flex}.legend-swatch{border-radius:50%;flex:none;width:9px;height:9px}.map-sources{align-items:center;gap:18px;display:flex}.tse-source{color:var(--muted-foreground);font-size:12px;position:relative}.tse-source>summary{text-underline-offset:4px;align-items:center;gap:6px;text-decoration:underline;list-style:none;display:inline-flex}.tse-source>summary::-webkit-details-marker{display:none}.tse-source>summary:hover{color:var(--accent-hover)}.source-panel{z-index:25;border:1px solid var(--border);background:var(--surface-elevated);width:min(360px,100vw - 32px);max-height:min(500px,70svh);box-shadow:var(--tooltip-shadow);color:var(--foreground);overflow-wrap:anywhere;border-radius:14px;padding:20px;font-size:12px;line-height:1.6;position:absolute;bottom:calc(100% + 12px);left:0;overflow:auto}.map-sources .source-panel{left:auto;right:0}.source-panel>strong{font-size:13px}.source-panel p{margin:7px 0 12px}.source-panel dt{color:var(--muted-foreground);margin-top:10px;font-size:10px}.source-panel dd{margin:2px 0}.source-panel a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.source-resource{border-top:1px solid var(--border-soft);margin-top:12px;padding-top:10px}.source-file{font-size:11px}.source-technical{color:var(--muted-foreground);margin:9px 0 14px;font-size:10px}.source-technical code{overflow-wrap:anywhere}.overview-content{min-width:0}.metric-value{color:var(--foreground);letter-spacing:-1px;font-size:clamp(20px,2.7vw,40px);font-weight:400}.brazil-overview>.tse-source{margin-top:12px}.electorate-note{color:var(--muted-foreground);max-width:680px;margin-top:13px;font-size:11px}.electorate-note p{line-height:1.7}.electorate-limitation{max-width:680px;margin-top:14px;line-height:1.7}.candidate-ranking{margin-top:64px}.candidate-list{margin:0;padding:0;list-style:none}.candidate-list li{border-top:1px solid var(--border);gap:18px;padding:22px 0;display:flex}.candidate-position{color:var(--muted-foreground);flex:none;width:14px;padding-top:3px;font-size:11px}.candidate-content{flex:1;min-width:0}.candidate-row{justify-content:space-between;align-items:start;gap:12px;display:flex}.candidate-name{min-width:0}.candidate-name strong{font-size:14px;font-weight:600;display:block}.candidate-name>span{color:var(--muted-foreground);font-size:11px}.candidate-share{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.6px;font-size:21px;font-weight:500}.candidate-bar{background:var(--muted);border-radius:4px;height:5px;margin-top:12px;overflow:hidden}.candidate-bar>span{border-radius:4px;height:100%;display:block}.candidate-votes{color:var(--muted-foreground);font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:11px}.ranking-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:start;gap:16px;padding-top:20px;display:flex}.result-link{color:var(--accent);font-size:12px}.result-scope{color:var(--muted-foreground);margin-top:22px;font-size:11px}.state-results{max-width:960px;margin-bottom:64px}.state-results .candidate-ranking{margin-top:36px}.state-results .brazil-overview{margin-top:64px}.municipal-placeholder--compact{min-height:270px}.municipal-placeholder--compact .placeholder-emblem{border-radius:14px;width:48px;height:48px;margin-bottom:16px}.national-page{max-width:1056px;padding-block:12px 80px}.national-page .candidate-ranking{margin-top:24px}.state-tooltip--result{width:290px}.state-tooltip .tooltip-candidate{margin:17px 0 14px;display:block}.tooltip-caption{color:var(--muted-foreground);margin-bottom:5px;font-size:10px;display:block}.tooltip-candidate strong{font-size:14px;display:block}.tooltip-party{color:var(--muted-foreground);margin-top:2px;font-size:10px;display:block}.tooltip-share{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin-top:9px;font-size:30px;font-weight:500;line-height:1.2;display:block}.tooltip-votes{color:var(--muted-foreground);font-size:11px}.state-tooltip .tooltip-runner{border-top:1px solid var(--border-soft);margin-bottom:15px;padding-top:10px;display:block}.tooltip-runner strong{margin-bottom:4px;font-size:12px;display:block}.tooltip-runner strong span{color:var(--muted-foreground);margin-left:6px;font-size:10px;font-weight:400}.tooltip-runner>span:last-child{font-variant-numeric:tabular-nums;font-size:13px}@media (max-width:800px){.metric-value{font-size:clamp(20px,3.2vw,32px)}.map-footnotes--results{flex-direction:column;align-items:start;gap:12px}.election-legend{max-width:100%}.map-sources{gap:16px}.map-stage--results .map-canvas{bottom:110px}}@media (max-width:600px){.map-stage--results .map-canvas{bottom:126px}.candidate-name strong{font-size:12px}.candidate-share{font-size:18px}.candidate-list li{gap:12px}.ranking-footer{flex-wrap:wrap}.candidate-ranking{margin-top:48px}.metric-value{font-size:22px}}@media (max-width:350px){.overview-grid{grid-template-columns:1fr}.overview-item,.overview-item:not(:nth-child(3n+1)){border-left:0;min-height:145px;padding:22px 0}.metric-value{font-size:30px}}.brand-lockup--approved{width:198px;height:60px;display:block;position:relative}.brand-image{width:100%;height:auto;position:absolute;top:50%;transform:translateY(-50%)}.brand-image--dark,[data-theme=dark] .brand-image--light{display:none}[data-theme=dark] .brand-image--dark{display:block}@media (max-width:600px){.brand-lockup--approved{width:180px;height:56px}}@media (max-width:350px){.brand-lockup--approved{width:176px}}@media (max-width:600px){.source-panel{max-height:min(340px,40svh)}}.territorial-page .breadcrumb{margin:18px 0}.territorial-page .state-page-heading{margin-bottom:16px}.territorial-page .state-page-heading h1{font-size:clamp(28px,3vw,36px)}.watercolor-section{isolation:isolate;position:relative}.watercolor-section:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse 18% 35% at 0 34%,var(--wash-blue),transparent 85%),radial-gradient(ellipse 16% 40% at 100% 58%,var(--wash-green),transparent 80%),radial-gradient(ellipse 9% 20% at 92% 87%,var(--wash-yellow),transparent 80%);filter:blur(22px);position:absolute;inset:0}.municipal-map{padding-bottom:16px}.municipal-map-hint{color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:16px;margin:0 0 10px;font-size:11px;display:flex}.municipal-map-hint span{font-size:10px}.municipal-canvas{height:clamp(330px,100svh - 350px,780px);position:relative}.municipal-artwork{width:100%;height:100%;position:relative}.municipal-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.municipal-overlay{pointer-events:none}.municipal-boundary{stroke:var(--electoral-border);stroke-width:.65px;vector-effect:non-scaling-stroke}.municipal-link{cursor:pointer;outline:none}.municipal-link:focus-visible .municipal-boundary,.municipal-link:hover .municipal-boundary{stroke:var(--electoral-label);stroke-width:1.8px}.municipal-hover{stroke:var(--electoral-label);stroke-width:2px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px var(--map-shadow))}.municipal-link:focus-visible .municipal-boundary{stroke-dasharray:4 2}.municipal-footnotes{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;display:flex}.municipal-list{margin-top:16px}.municipal-list[open] ul{max-height:320px;overflow-y:auto}.municipal-provenance{color:var(--muted-foreground);max-width:100%;margin:16px 0 26px;font-size:11px}.municipal-provenance summary{cursor:pointer;padding-block:6px}.municipal-provenance>div{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:18px}.municipal-provenance p{margin-bottom:12px;line-height:1.7}.municipal-provenance code{overflow-wrap:anywhere}.municipal-provenance a{text-underline-offset:3px;text-decoration:underline}#municipal-tooltip{max-height:calc(100svh - 92px);overflow-y:auto}.municipal-primary{grid-template-columns:minmax(240px,.7fr) minmax(0,1fr);gap:80px;margin:42px 0 64px;display:grid}.municipal-primary:before{height:100px;inset:-30px 0 auto}.municipal-winner h2{letter-spacing:-1.5px;margin:18px 0;font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.15}.municipal-winner>p{color:var(--muted-foreground);flex-direction:column;gap:12px;font-size:12px;display:flex}.municipal-winner>p strong{color:var(--text);letter-spacing:-3px;font-variant-numeric:tabular-nums;font-size:clamp(52px,6vw,80px);font-weight:400}.municipal-winner .map-sources{flex-wrap:wrap;gap:18px;margin-top:32px}.municipal-primary .candidate-ranking{margin:0}.territorial-comparison{margin-top:32px;padding-top:44px}.territorial-comparison:before{width:140px;height:90px;inset:0 auto auto -20px}.comparison-intro{color:var(--muted-foreground);max-width:480px;margin:-16px 0 30px;font-size:13px;line-height:1.7}.comparison-grid{grid-template-columns:1fr 1fr;gap:36px;margin-bottom:24px;display:grid}.comparison-candidate h3{margin:0 0 24px;font-size:14px;font-weight:600}.comparison-candidate h3 span{color:var(--muted-foreground);margin-left:8px;font-size:10px;font-weight:400}.comparison-row{margin-bottom:18px}.comparison-row>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.comparison-row strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.comparison-row .candidate-bar{height:6px}.search-results{max-height:min(65svh,550px);overflow-y:auto}@media (max-width:1000px){.municipal-primary{grid-template-columns:minmax(190px,.65fr) minmax(0,1fr);gap:36px}.municipal-footnotes{flex-direction:column;align-items:flex-start}}@media (max-width:600px){.territorial-page .breadcrumb{margin:16px 0;font-size:11px}.territorial-page .state-page-heading{flex-direction:row;align-items:center;display:flex}.territorial-page .state-page-heading h1{font-size:27px}.territorial-page .state-page-heading .button{white-space:nowrap;padding:10px;font-size:10px}.municipal-canvas{height:clamp(290px,100svh - 370px,540px)}.municipal-map-hint{flex-direction:column;align-items:flex-start;gap:6px}.municipal-map-hint span{max-width:270px;line-height:1.5}.municipal-footnotes{gap:12px;margin-top:12px}.municipal-list[open] ul,.municipal-primary{grid-template-columns:1fr}.municipal-primary{gap:40px;margin:32px 0 40px}.municipal-winner>p strong{font-size:64px}.municipal-page .state-page-heading{align-items:flex-start}.municipal-page .state-page-heading .button{max-width:140px;font-size:10px}.comparison-grid{grid-template-columns:1fr;gap:24px}.comparison-candidate h3{margin-bottom:18px}}.municipality-story{--participation-present:#247e82;--participation-absent:#a3b5c9;--participation-uninstalled:#a47729;--vote-null:#738397}[data-theme=dark] .municipality-story{--participation-present:#73aaa9;--participation-absent:#4c607b;--participation-uninstalled:#b19b66;--vote-null:#8395ac}.municipality-story .breadcrumb{flex-wrap:wrap;margin:28px 0 24px}.municipality-identity{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding-bottom:20px;display:flex}.municipality-identity h1{letter-spacing:-.05em;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.15}.municipality-identity h1 span{color:var(--muted-foreground);white-space:nowrap;font-weight:400}.municipality-identity p{color:var(--muted-foreground);margin:12px 0 0;font-size:.9rem}.municipality-identity p span{margin:0 8px}.municipality-back{color:var(--muted-foreground);font-size:.8rem;text-decoration:none}.election-result-hero{padding:var(--space-section) 0;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,6vw,100px);display:grid}.result-story h2{letter-spacing:-.045em;max-width:450px;margin:16px 0 28px;font-size:clamp(1.45rem,2.3vw,2.1rem);font-weight:500;line-height:1.25}.winner-name{letter-spacing:-.055em;flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:clamp(1.8rem,3.5vw,3.3rem);font-weight:700;line-height:1.1;display:flex}.winner-party{letter-spacing:0;border:1px solid;border-radius:99px;padding:5px 9px;font-size:.75rem;font-weight:500}.watercolor-number{isolation:isolate;position:relative}.winner-number{flex-direction:column;margin:28px 0 18px;display:inline-flex}.winner-number strong{letter-spacing:-.075em;font-variant-numeric:tabular-nums;font-size:clamp(3.6rem,6.6vw,6.7rem);font-weight:650;line-height:1}.winner-number>span{color:var(--muted-foreground);margin-top:12px;font-size:.85rem}.winner-total{margin:6px 0 24px;font-size:1.1rem;font-weight:500}.insight-source{color:var(--muted-foreground);text-underline-offset:4px;font-size:.75rem}.insight-source:hover,.municipality-back:hover{color:var(--text)}.result-ranking>.eyebrow{margin-bottom:22px;display:block}.editorial-votes{gap:20px;margin:0;padding:0;list-style:none;display:grid}.editorial-vote-label{justify-content:space-between;align-items:start;gap:16px;font-size:.86rem;display:flex}.editorial-vote-label>span{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.editorial-vote-label small{color:var(--muted-foreground);font-size:.65rem}.editorial-vote-label>strong{font-variant-numeric:tabular-nums;white-space:nowrap}.editorial-track{background:var(--border);border-radius:99px;height:8px;margin:9px 0 5px;overflow:hidden}.editorial-track>span{border-radius:inherit;height:100%;display:block}.editorial-vote-count{color:var(--muted-foreground);font-size:.7rem}.editorial-details{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.editorial-details>summary{cursor:pointer;color:var(--text);width:fit-content;padding:8px 0;font-size:.8rem}.editorial-details[open]>summary{margin-bottom:20px}.insight-section{padding:var(--space-section) 0;border-bottom:1px solid var(--border);scroll-margin-top:90px}.insight-heading h2,.source-disclosure h2{letter-spacing:-.05em;max-width:700px;margin:14px 0 0;font-size:clamp(1.5rem,2.6vw,2.3rem);font-weight:550;line-height:1.2}.insight-intro{max-width:650px;color:var(--muted-foreground);margin:20px 0 30px;font-size:.88rem;line-height:1.8}.insight-footer{justify-content:space-between;gap:24px;margin-top:28px;display:flex}.municipal-editorial-layout{grid-template-columns:minmax(0,1fr) 300px;gap:64px;display:grid}.municipal-editorial-layout>div{min-width:0}.municipal-ad-rail{padding-top:64px}.municipal-ad-rail .ad-slot{position:sticky;top:100px}.turnout-numbers{grid-template-columns:1fr 1fr;gap:28px;margin:34px 0;display:grid}.turnout-numbers>div{flex-direction:column;align-items:flex-start;display:flex}.turnout-label{align-items:center;gap:7px;font-size:.85rem;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.turnout-numbers strong{letter-spacing:-.07em;font-variant-numeric:tabular-nums;margin:14px 0 10px;font-size:clamp(2rem,3.6vw,3.4rem);font-weight:600;line-height:1.2}.turnout-numbers>div>span:last-child{color:var(--muted-foreground);font-size:.75rem;line-height:1.6}.participation-strip{border-radius:99px;gap:4px;height:26px;display:flex;overflow:hidden}.participation-strip>span{height:100%}.participation-present,.votes-valid{background:var(--participation-present)}.participation-absent,.votes-blank{background:var(--participation-absent)}.participation-uninstalled{background:var(--participation-uninstalled)}.votes-null{background:var(--vote-null)}.denominator-note{color:var(--muted-foreground);margin:18px 0 34px;font-size:.72rem;line-height:1.8}.vote-composition h3{letter-spacing:-.025em;margin:0 0 22px;font-size:1rem;font-weight:500}.vote-composition-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.vote-composition-grid>div{flex-direction:column;display:flex}.vote-composition-grid>div>span:first-child{color:var(--muted-foreground);font-size:.8rem}.vote-composition-grid strong{letter-spacing:-.055em;margin:10px 0 4px;font-size:clamp(1.2rem,2vw,1.8rem)}.vote-composition-grid>div>span:last-child{color:var(--muted-foreground);font-size:.66rem;line-height:1.6}.candidate-chips{flex-wrap:wrap;gap:8px;margin:24px 0 30px;display:flex}.candidate-chips button{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:99px;min-height:44px;padding:10px 16px;font-size:.72rem}.candidate-chips button span{color:var(--muted-foreground);margin-left:8px;font-size:.62rem}.candidate-chips button[aria-pressed=true]{background:var(--text);color:var(--background);border-color:var(--text)}.candidate-chips button[aria-pressed=true] span{color:inherit;opacity:.75}.comparison-chart h3{margin:0 0 24px;font-size:1.1rem}.comparison-chart h3 span{color:var(--muted-foreground);margin-left:8px;font-size:.75rem;font-weight:400}.comparison-chart-row{margin:24px 0}.comparison-chart-row>div:first-child{justify-content:space-between;gap:24px;font-size:.85rem;display:flex}.comparison-chart-row .editorial-track{height:13px;margin-top:11px}.comparison-chart-row:not(.comparison-local) .editorial-track>span{opacity:.6}.comparison-local>div:first-child{font-weight:600}.comparison-deltas{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:24px;margin-top:30px;padding-top:20px;display:grid}.comparison-deltas p{margin:0}.comparison-deltas span{color:var(--muted-foreground);margin-bottom:9px;font-size:.65rem;display:block}.comparison-deltas strong{font-size:.82rem;font-weight:500;line-height:1.6;display:block}.zone-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;display:grid}.zone-result{min-width:0;padding:12px 0 20px}.zone-title{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.zone-title h3{letter-spacing:-.05em;margin:0;font-size:1.8rem;line-height:1}.zone-title h3 span{letter-spacing:0;color:var(--muted-foreground);font-size:.85rem;font-weight:400}.zone-title>span{color:var(--muted-foreground);font-size:.72rem}.zone-detail>summary{font-size:.72rem}.zone-metrics{margin:0 0 24px;font-size:.75rem}.zone-metrics>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.zone-metrics dd{font-variant-numeric:tabular-nums;margin:0}.zone-result h4{color:var(--muted-foreground);margin:24px 0;font-size:.75rem;font-weight:500}.all-zones{margin-top:32px}.all-zones>summary{min-height:44px}.local-insights{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:40px;display:grid}.local-insights article{min-width:0}.local-insights .eyebrow{font-size:.59rem}.local-insights h3{letter-spacing:-.025em;min-height:48px;margin:14px 0 24px;font-size:1rem;font-weight:500;line-height:1.4}.insight-big{letter-spacing:-.06em;margin-bottom:22px;font-size:clamp(2.2rem,3.5vw,3.5rem);font-weight:600;line-height:1;display:block}.insight-big small{letter-spacing:0;color:var(--muted-foreground);margin-top:12px;font-size:.85rem;font-weight:400;display:block}.local-insights p{font-size:.82rem;line-height:1.7}.municipality-story .metric-note{color:var(--muted-foreground);font-size:.72rem;line-height:1.8}.local-insights .metric-note{margin-top:20px}.source-disclosure{border-bottom:0}.source-topics{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:32px 0;display:grid}.source-topics p{margin:0;scroll-margin-top:100px}.source-topics strong{margin-bottom:12px;font-size:.8rem;display:block}.source-topics span{color:var(--muted-foreground);font-size:.74rem;line-height:1.9;display:block}.source-disclosure .tse-source>summary{min-height:44px}.source-disclosure code{overflow-wrap:anywhere}.municipal-return{margin:0 0 48px;display:inline-block}[data-theme=dark] .watercolor-wash{opacity:.28}@media (min-width:1600px){.municipality-story{max-width:1320px}.election-result-hero{padding-top:72px;padding-bottom:76px}}@media (max-width:1100px){.municipal-editorial-layout{grid-template-columns:minmax(0,1fr);gap:0}.municipal-ad-rail{padding:36px 0}.municipal-ad-rail .ad-slot{margin-inline:auto;position:static}.zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.municipality-story .breadcrumb{margin:22px 0;font-size:.7rem}.municipality-identity{padding-bottom:22px;display:block}.municipality-identity h1{font-size:1.7rem}.municipality-back{margin-top:8px;display:inline-block}.election-result-hero{grid-template-columns:1fr;gap:40px;padding:36px 0 40px}.result-story h2{margin-top:14px;margin-bottom:24px;font-size:1.55rem}.winner-name{font-size:2.3rem}.winner-number strong{font-size:4.8rem}.result-ranking .editorial-votes{gap:20px}.insight-section{padding:42px 0}.insight-heading h2,.source-disclosure h2{font-size:1.7rem}.turnout-numbers{gap:18px}.turnout-numbers strong{font-size:clamp(1.8rem,8vw,2.5rem)}.turnout-label{font-size:.75rem}.turnout-numbers>div>span:last-child{font-size:.65rem}.vote-composition-grid{gap:14px}.vote-composition-grid strong{font-size:clamp(1.1rem,5vw,1.6rem)}.comparison-deltas{grid-template-columns:1fr;gap:20px}.local-insights,.source-topics,.zone-grid{grid-template-columns:1fr;gap:32px}.local-insights article,.zone-result{border-bottom:1px solid var(--border);padding-bottom:28px}.local-insights article:last-child{border-bottom:0;padding-bottom:0}.local-insights h3{min-height:0;margin-bottom:20px}.insight-big{font-size:3rem}}.watercolor-wash{z-index:-1;pointer-events:none;width:100%;height:165%;position:absolute;top:-42%;left:0;overflow:hidden}.municipal-election-context{margin-top:14px;scroll-margin-top:90px}.municipal-election-context>summary{color:var(--muted-foreground);cursor:pointer;width:fit-content;padding:8px 0;font-size:.72rem}.municipal-election-context[open]>summary{margin-bottom:16px}.municipal-election-context .election-filters{margin-bottom:0}.editorial-details>summary{min-height:44px}.governor-map-heading{justify-content:space-between;align-items:end;gap:32px;margin:24px 0 0;display:flex}.governor-map-heading h1{letter-spacing:-.045em;margin:12px 0 0;font-size:clamp(1.3rem,2.8vw,2rem);line-height:1.2}.governor-map-heading p{color:var(--muted-foreground);max-width:330px;margin:0;font-size:.8rem;line-height:1.7}.governor-legend{flex-wrap:wrap;align-items:center;gap:12px 18px;max-width:860px;font-size:.7rem;display:flex}.governor-legend .legend-caption{width:100%}.governor-legend details{position:relative}.governor-legend summary{cursor:pointer;padding:10px 0}.governor-legend details[open]{flex-basis:100%}.governor-legend details[open] .legend-candidate{margin:12px 18px 0 0;display:inline-flex}.governor-national .map-footnotes{margin-top:0;position:static}.governor-national .map-stage{height:auto;min-height:0;padding-bottom:28px}.governor-national .map-canvas{height:clamp(440px,62vh,760px)}.governor-national .map-north{top:40px}.governor-summary h2{letter-spacing:-.05em;margin:14px 0 0;font-size:clamp(1.5rem,2.7vw,2.3rem)}.governor-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:30px 0;display:grid}.governor-counts p{flex-direction:column;align-items:flex-start;gap:14px;margin:0;display:flex}.governor-counts strong{letter-spacing:-.07em;font-size:clamp(2.5rem,5vw,4rem);font-weight:600;line-height:1}.governor-counts p>span{color:var(--muted-foreground);max-width:150px;font-size:.75rem;line-height:1.7}.governor-summary .metric-note{color:var(--muted-foreground);max-width:650px;font-size:.75rem;line-height:1.8}.governor-summary h3{letter-spacing:-.04em;max-width:650px;margin:48px 0 0;font-size:1.3rem;font-weight:500;line-height:1.4}.governor-party-chart{gap:20px;max-width:730px;margin:28px 0;padding:0;list-style:none;display:grid}.governor-party-chart li{grid-template-columns:110px minmax(0,1fr) 24px;align-items:center;gap:18px;font-size:.8rem;display:grid}.governor-party-chart .editorial-track{height:14px;margin:0}.governor-teaser{margin-top:28px;padding-top:40px}.governor-teaser .governor-counts strong{font-size:2.7rem}.governor-outcome{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:16px 0;display:flex}.governor-outcome p{max-width:740px;margin:0;font-size:.85rem;line-height:1.7}.candidate-official-status{letter-spacing:.04em;color:var(--muted-foreground);margin-top:8px;font-size:.6rem;display:block}.governor-state .municipality-identity{margin-top:24px}.governor-state .election-result-hero{padding-top:28px}.governor-state .source-disclosure{margin-bottom:40px}.governor-pending h2{letter-spacing:-.045em;max-width:800px;margin:18px 0 28px;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.2}.governor-pending>p{max-width:800px;color:var(--muted-foreground);font-size:.9rem;line-height:1.8}.governor-pending .pending-winner{color:var(--text);letter-spacing:-.04em;font-size:1.8rem;font-weight:600;line-height:1.3}.pending-winner span{font-size:.9rem;font-weight:400}.round-comparison,.runoff-candidates{grid-template-columns:1fr 1fr;gap:48px;margin:36px 0;display:grid}.runoff-candidates article{border-left:2px solid var(--border);padding-left:24px}.runoff-candidates h3{letter-spacing:-.04em;margin:16px 0 10px;font-size:1.6rem}.runoff-candidates p{color:var(--muted-foreground);font-size:.85rem}.round-comparison h3{font-size:1.1rem}.round-comparison h3 small{color:var(--muted-foreground);font-size:.75rem;font-weight:400}.tooltip-note{color:var(--muted-foreground);margin:12px 0 0;font-size:.72rem;line-height:1.7}@media (max-width:767px){.governor-map-heading{margin-top:18px;display:block}.governor-map-heading h1{font-size:1.5rem}.governor-map-heading p{margin-top:14px;font-size:.75rem}.governor-national .map-canvas{height:clamp(340px,55vh,520px)}.governor-legend{gap:12px}.governor-legend .legend-candidate{font-size:.66rem}.governor-counts{gap:16px}.governor-counts strong{font-size:2.8rem}.governor-counts p>span{font-size:.65rem}.governor-party-chart li{grid-template-columns:90px minmax(0,1fr) 20px;gap:10px;font-size:.69rem}.governor-outcome{display:block}.governor-outcome .button{margin-top:20px}.round-comparison,.runoff-candidates{grid-template-columns:1fr;gap:32px}}.governor-national .map-canvas{position:relative;inset:auto}.governor-national .map-stage{max-height:none}.governor-national .state-list{margin-top:18px;position:relative;bottom:auto}.governor-national .map-footnotes{align-items:flex-start}.governor-teaser-links{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.governor-national .municipal-provenance p,.governor-state .municipal-provenance p{overflow-wrap:anywhere}.senate-opening{max-width:1080px;margin:0 auto;padding:38px 0 42px}.senate-opening h1{letter-spacing:-.045em;text-wrap:balance;max-width:850px;margin:16px 0;font-size:clamp(2.15rem,4.3vw,3.8rem);line-height:1.08}.senate-lead{color:var(--muted-foreground);max-width:640px;font-size:1.05rem;line-height:1.7}.senate-hemicycle{max-width:900px;margin:20px auto 0}.hemicycle-art{isolation:isolate;max-width:760px;margin:auto;position:relative}.hemicycle-art>.watercolor-wash{opacity:.18;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.hemicycle-art>svg[data-hemicycle]{width:100%;height:auto;display:block;overflow:visible}.senate-seat{stroke:var(--background);stroke-width:1.5px}.senate-seat--retained{fill:var(--neutral-map);fill-opacity:.45;stroke:var(--muted-foreground);stroke-opacity:.85;stroke-width:1px}.hemicycle-center{text-align:center;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.hemicycle-center strong{letter-spacing:-.06em;font-size:clamp(2rem,5.5vw,4rem);line-height:1;display:block}.hemicycle-center span{color:var(--muted-foreground);margin-top:8px;font-size:.84rem;line-height:1.4;display:block}.senate-hemicycle figcaption{color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;gap:12px 22px;font-size:.76rem;line-height:1.5;display:flex}.senate-hemicycle figcaption>span{align-items:center;gap:8px;display:inline-flex}.seat-key{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.seat-key--new{background:var(--foreground)}.seat-key--retained{background:var(--neutral-map);border:1px solid var(--muted-foreground);opacity:.65}.senate-party-legend{flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:24px 0 0;padding:0;list-style:none;display:flex}.senate-party-legend li{align-items:center;gap:7px;font-size:.76rem;display:inline-flex}.senate-party-legend strong{font-variant-numeric:tabular-nums}.senate-composition-note{border-top:1px solid var(--border);grid-template-columns:140px 1fr;gap:32px;max-width:810px;margin:34px auto 0;padding-top:24px;display:grid}.senate-composition-note>div strong{letter-spacing:-.06em;font-size:2.8rem;font-weight:600;display:block}.senate-composition-note>div span{color:var(--muted-foreground);font-size:.78rem}.senate-composition-note p{color:var(--muted-foreground);margin:0;font-size:.83rem;line-height:1.8}.senate-composition-note b{color:var(--foreground);font-weight:600}.senate-source-links{max-width:810px;color:var(--muted-foreground);flex-wrap:wrap;gap:12px 24px;margin:22px auto 0;font-size:.75rem;display:flex}.senate-party-bars{grid-template-columns:1fr 1fr;gap:20px 38px;margin:30px 0 0;padding:0;list-style:none;display:grid}.senate-party-bars li>div:first-child{justify-content:space-between;gap:16px;margin-bottom:9px;font-size:.86rem;display:flex}.senate-party-bars li>div:first-child span{color:var(--muted-foreground);font-variant-numeric:tabular-nums}.senate-map-section{border-top:1px solid var(--border);padding-top:40px}.senate-map-section>.insight-heading p{max-width:670px;color:var(--muted-foreground);font-size:.9rem;line-height:1.7}.senate-national .map-stage{height:auto;min-height:0;max-height:none;padding-bottom:28px}.senate-national .map-canvas{height:clamp(440px,62vh,760px);position:relative;inset:auto}.senate-national .map-footnotes{align-items:flex-start;margin-top:0;position:static}.senate-national .state-list{margin-top:18px;position:relative;bottom:auto}.senate-national .map-north{top:50px}.state-tooltip>.tooltip-elected{padding-top:14px;display:block}.tooltip-senator{border-bottom:1px solid var(--border);flex-direction:column;gap:5px;padding:12px 0;font-size:.78rem;display:flex}.tooltip-senator strong{overflow-wrap:anywhere;font-size:.88rem;line-height:1.4}.tooltip-senator>span:last-child{color:var(--muted-foreground)}.senate-elected-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;margin-top:34px;display:grid}.senate-elected-card{min-width:0;padding:12px 0 20px}.senate-elected-badge{letter-spacing:.13em;align-items:center;gap:8px;font-size:.7rem;font-weight:700;display:flex}.senate-elected-badge i{border-radius:50%;width:12px;height:12px}.senate-elected-card h3{letter-spacing:-.04em;overflow-wrap:anywhere;margin:17px 0 7px;font-size:clamp(1.35rem,2.5vw,2.15rem);line-height:1.2}.senate-elected-card>p{color:var(--muted-foreground);font-size:.86rem}.senate-elected-share{letter-spacing:-.06em;font-variant-numeric:tabular-nums;width:fit-content;margin-top:22px;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.2;display:block}.senate-elected-votes{font-variant-numeric:tabular-nums;margin:5px 0 22px}.senate-profile{color:var(--muted-foreground);border-top:1px solid var(--border);padding-top:13px;font-size:.78rem;line-height:1.6}.senate-profile summary{cursor:pointer;color:var(--foreground)}.senate-profile p{overflow-wrap:anywhere}.senate-state .editorial-votes [data-elected=true]{border-left:2px solid var(--foreground);padding-left:18px}.senate-state .candidate-official-status{font-weight:600}.senate-cut-candidates{grid-template-columns:1fr 1fr;gap:30px;margin-top:30px;display:grid}.senate-cut-candidates span{color:var(--muted-foreground);font-size:.74rem}.senate-cut-candidates h3{margin:14px 0 8px;font-size:1.15rem;line-height:1.4}.senate-cut-candidates p{color:var(--muted-foreground);font-size:.82rem}.senate-cut-difference{border-top:1px solid var(--border);margin-top:25px;padding-top:25px}.senate-cut-difference strong{letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-size:clamp(2.1rem,4vw,3.5rem);display:block}.senate-cut-difference span{color:var(--muted-foreground);font-size:.82rem}.senate-sources{max-width:1080px}.senate-sources>h2{letter-spacing:-.045em;font-size:clamp(1.7rem,3vw,2.3rem)}.senate-sources>div{margin:18px 0}.senate-source-method{color:var(--muted-foreground);margin-top:25px;font-size:.8rem;line-height:1.8}.senate-source-method summary{cursor:pointer;color:var(--foreground)}.senate-source-method code,.senate-sources .source-file,.senate-sources .source-panel{overflow-wrap:anywhere;word-break:break-word}.senate-teaser{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;margin-top:16px;padding:36px 0;display:flex}.senate-teaser h2{letter-spacing:-.04em;margin:9px 0;font-size:1.5rem}.senate-teaser p{color:var(--muted-foreground);font-size:.85rem;line-height:1.7}@media (max-width:767px){.senate-opening{padding-top:28px}.senate-lead{font-size:.9rem}.senate-hemicycle{margin:32px 0 0}.hemicycle-center span{margin-top:5px;font-size:.67rem}.senate-hemicycle figcaption{justify-content:flex-start;gap:8px 15px;font-size:.68rem}.senate-party-legend{justify-content:flex-start;gap:12px 16px}.senate-party-legend li{font-size:.72rem}.senate-composition-note{grid-template-columns:1fr;gap:16px;margin-top:27px}.senate-composition-note>div{align-items:baseline;gap:12px;display:flex}.senate-source-links{gap:12px}.senate-party-bars{grid-template-columns:1fr}.senate-national .map-canvas{height:clamp(320px,54vh,520px)}.senate-national .map-north{display:none}.senate-elected-grid{grid-template-columns:1fr;gap:20px;margin-top:20px}.senate-elected-card+.senate-elected-card{border-top:1px solid var(--border);padding-top:28px}.senate-cut-candidates{grid-template-columns:1fr;gap:12px}.senate-teaser{flex-direction:column;align-items:flex-start;gap:10px}}.chamber-opening{padding:40px 0 46px}.chamber-opening h1{letter-spacing:-.05em;margin:12px 0;font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.1}.chamber-opening h2{letter-spacing:-.035em;margin:20px 0 10px;font-size:clamp(1.2rem,2.3vw,1.8rem);font-weight:500}.chamber-lead{max-width:620px;color:var(--muted-foreground);font-size:.95rem;line-height:1.7}.chamber-hemicycle{max-width:920px;margin:24px auto 0}.chamber-hemicycle .hemicycle-art{max-width:790px}.hemicycle-art>svg[data-chamber-hemicycle]{width:100%;height:auto;display:block;overflow:visible}.chamber-seat-group{cursor:pointer;outline:none;transition:opacity .18s}.chamber-seat-group circle{stroke:var(--background);stroke-width:.75px}.chamber-seat-group.is-muted{opacity:.28}.chamber-seat-group:focus-visible circle{stroke:var(--foreground);stroke-width:1.8px}.chamber-seat-group.is-active circle{stroke:var(--foreground);stroke-width:1.1px}.chamber-party-detail{text-align:center;width:fit-content;max-width:100%;min-height:48px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin:0 auto 18px;padding:10px 18px;font-size:.8rem;display:flex}.chamber-party-detail>i{border-radius:50%;flex-shrink:0;width:9px;height:9px}.chamber-party-detail>span{color:var(--muted-foreground)}.chamber-hemicycle figcaption{text-align:center;color:var(--muted-foreground);max-width:650px;margin:auto;font-size:.74rem;line-height:1.7}.chamber-party-legend{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 26px;margin:26px 0;padding:0;list-style:none;display:grid}.chamber-party-legend li{grid-template-columns:10px 1fr auto;align-items:center;gap:6px;font-size:.76rem;display:grid}.chamber-party-legend li>span:last-child{color:var(--muted-foreground);grid-column:2/4;margin-top:-4px;font-size:.68rem}.chamber-party-legend strong{font-variant-numeric:tabular-nums}.chamber-national-facts{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:20px 42px;max-width:920px;margin:30px auto 0;padding-top:22px;font-size:.9rem;line-height:1.7;display:grid}.chamber-national-facts p{color:var(--muted-foreground);margin:0}.chamber-national-facts b,.chamber-national-facts strong{color:var(--foreground)}.chamber-national-facts strong{font-variant-numeric:tabular-nums}.chamber-party-bars{grid-template-columns:1fr 1fr;gap:22px 36px;margin:28px 0;padding:0;list-style:none;display:grid}.chamber-party-bars li>div:first-child{justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.83rem;display:flex}.chamber-party-bars li span{color:var(--muted-foreground);font-variant-numeric:tabular-nums}.chamber-map-section{border-top:1px solid var(--border);padding-top:36px}.chamber-map-section>.insight-heading p{max-width:660px;color:var(--muted-foreground);font-size:.9rem;line-height:1.7}.chamber-national .map-stage{height:auto;min-height:0;max-height:none;padding-bottom:24px}.chamber-national .map-canvas{height:clamp(440px,65vh,780px);position:relative;inset:auto}.chamber-national .map-footnotes{align-items:flex-start;position:static}.chamber-national .state-list{margin-top:20px;position:relative;bottom:auto}.chamber-national .map-north{top:50px}.state-tooltip>.tooltip-chamber{padding-top:10px;font-size:.78rem;display:block}.tooltip-chamber p{margin:8px 0;line-height:1.6}.tooltip-chamber ul{gap:5px;margin:10px 0;padding:0;list-style:none;display:grid}.tooltip-chamber li{justify-content:space-between;gap:12px;display:flex}.chamber-caucus{grid-template-columns:1fr 1fr;gap:23px 42px;margin:28px 0;padding:0;list-style:none;display:grid}.chamber-caucus li>div:first-child{justify-content:space-between;gap:12px;margin-bottom:10px;font-size:.85rem;display:flex}.chamber-caucus li span{color:var(--muted-foreground)}.chamber-caucus-dots{flex-wrap:wrap;gap:5px;min-height:12px;display:flex}.chamber-caucus-dots i{border-radius:50%;flex-shrink:0;width:12px;height:12px}.chamber-proportional-intro{color:var(--muted-foreground);border-top:1px solid var(--border);padding:22px 0 0;font-size:.85rem;line-height:1.85}.chamber-proportional-intro b{color:var(--foreground);font-weight:500}.chamber-controls{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.chamber-controls a{border:1px solid var(--border);border-radius:999px;padding:10px 16px;font-size:.79rem}.chamber-controls a[aria-current]{background:var(--foreground);color:var(--background)}.chamber-elected-list{margin:0;padding:0;list-style:none}.chamber-elected-list>li{border-bottom:1px solid var(--border);grid-template-columns:126px minmax(0,1fr);gap:20px;padding:19px 0;display:grid}.chamber-elected-party{overflow-wrap:anywhere;align-self:start;align-items:center;gap:8px;padding-top:4px;font-size:.78rem;display:flex}.chamber-elected-party i{border-radius:50%;flex-shrink:0;width:9px;height:9px}.chamber-elected-list h3{overflow-wrap:anywhere;margin:0 0 7px;font-size:1rem;font-weight:550;line-height:1.45}.chamber-elected-list p{color:var(--muted-foreground);margin:0;font-size:.78rem;line-height:1.7}.chamber-candidate-details{color:var(--muted-foreground);margin-top:8px;font-size:.74rem}.chamber-candidate-details summary{cursor:pointer;width:fit-content;padding:4px 0}.chamber-candidate-details p{overflow-wrap:anywhere;margin:8px 0}.chamber-state .editorial-votes [data-elected=true]{border-left:2px solid var(--brand-green);padding-left:14px}.chamber-top-candidate{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:22px 0 24px;line-height:1.6;display:flex}.chamber-top-candidate>span:first-child{text-transform:uppercase;letter-spacing:.07em;color:var(--muted-foreground);font-size:.73rem}.chamber-top-candidate strong{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:1.4rem}.chamber-top-candidate small,.chamber-top-candidate span{color:var(--muted-foreground);font-size:.8rem}.chamber-pagination{justify-content:space-between;align-items:center;gap:8px;margin:24px 0;font-size:.77rem;display:flex}.chamber-pagination a{text-underline-offset:4px;padding:12px 0;text-decoration:underline}.chamber-method{overflow-wrap:anywhere;margin:22px 0;font-size:.83rem;line-height:1.85}.chamber-method summary{cursor:pointer;padding:12px 0;font-weight:550}.chamber-method p{color:var(--muted-foreground)}.chamber-proportional-numbers{grid-template-columns:1fr 1fr;gap:20px 24px;margin:24px 0;display:grid}.chamber-proportional-numbers dt{color:var(--muted-foreground);font-size:.75rem}.chamber-proportional-numbers dd{font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin:4px 0;font-size:1.4rem;font-weight:550}.chamber-group-list{padding:0;list-style:none}.chamber-group-list li{border-top:1px solid var(--border);padding:16px 0}.chamber-group-list h3{margin:0;font-size:.9rem;line-height:1.5}.chamber-group-list p{margin:5px 0}.chamber-sources>h2{letter-spacing:-.03em;margin-top:12px}.chamber-sources>div{margin:18px 0}.chamber-sources .source-panel,.chamber-sources code{overflow-wrap:anywhere;word-break:break-word}.chamber-sources .source-technical{padding-top:10px}@media (max-width:767px){.chamber-opening{padding-top:24px}.chamber-hemicycle{margin-top:26px}.chamber-hemicycle .hemicycle-center strong{font-size:clamp(1.6rem,7vw,3rem)}.chamber-hemicycle .hemicycle-center span{margin-top:4px;font-size:.65rem}.chamber-hemicycle .hemicycle-center{bottom:11%}.chamber-party-detail{min-height:64px;margin-bottom:16px;padding:10px 12px;font-size:.74rem}.chamber-party-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px}.chamber-caucus,.chamber-national-facts,.chamber-party-bars{grid-template-columns:1fr}.chamber-national-facts{gap:14px;font-size:.85rem}.chamber-national .map-canvas{height:410px}.chamber-national .map-north{display:none}.chamber-elected-list>li{grid-template-columns:1fr;gap:8px}.chamber-elected-party{padding-top:0}.chamber-proportional-numbers{gap:16px 12px}.chamber-proportional-numbers dd{font-size:1.2rem}}@media (prefers-reduced-motion:reduce){.chamber-seat-group{transition:none}}.election-filters--chamber .filter--office{width:215px}.chamber-party-legend li{display:block}.chamber-party-legend button{text-align:left;width:100%;min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px;display:grid}.chamber-party-legend button>span{overflow-wrap:anywhere}.chamber-party-legend button>span:last-child{color:var(--muted-foreground);grid-column:2/4;margin-top:-4px;font-size:.68rem}.chamber-party-legend button[aria-pressed=true]{border-color:var(--border);background:var(--surface)}@media (max-width:767px){.election-filters--chamber .filter--office{width:206px}}.political-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:26px 0;font-size:.81rem;display:flex}.political-nav>span{letter-spacing:.08em;color:var(--muted-foreground);margin-right:auto;font-size:.68rem}.political-nav a{color:var(--muted-foreground);padding:8px 0}.political-nav a[aria-current]{color:var(--foreground);text-underline-offset:8px;text-decoration:underline}.political-opening{padding:32px 0 24px}.political-opening h1{letter-spacing:-.045em;text-wrap:balance;overflow-wrap:anywhere;max-width:1000px;margin:14px 0;font-size:clamp(2rem,4.1vw,3.8rem);line-height:1.12}.political-opening>p{max-width:710px;color:var(--muted-foreground);font-size:.98rem;line-height:1.8}.political-opening>.insight-source{margin-top:22px;display:inline-block}.political-facts{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 12px;padding:20px 0 0;display:grid}.political-number{min-width:0;max-width:100%;position:relative}.political-number>strong{letter-spacing:-.06em;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(2.4rem,4.8vw,4.3rem);line-height:1.15;display:block}.political-number>span{color:var(--muted-foreground);max-width:260px;margin-top:10px;font-size:.8rem;line-height:1.65;display:block}.political-bars{gap:22px;margin:28px 0;padding:0;list-style:none;display:grid}.political-bars li>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;font-size:.85rem;display:flex}.political-bars li a{overflow-wrap:anywhere;align-items:center;gap:9px;min-height:28px;display:inline-flex}.federation-members i,.fund-share-list i,.party-fund-amount>i,.political-bars li a i{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.political-bars li>div:first-child>span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-align:right;font-size:.79rem}.political-expand{overflow-wrap:anywhere;margin:24px 0;font-size:.82rem;line-height:1.85}.political-expand>summary{cursor:pointer;width:fit-content;min-height:44px;padding:10px 0;font-weight:550;display:list-item}.political-expand li,.political-expand p{color:var(--muted-foreground)}.political-fund-preview{letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(1.5rem,3vw,2.8rem);font-weight:550}.federation-groups{display:grid}.federation-group{border-bottom:1px solid var(--border);padding:26px 0}.federation-group h3{letter-spacing:-.02em;margin:0;font-size:1.1rem;line-height:1.5}.federation-group p{color:var(--muted-foreground);margin:8px 0;font-size:.81rem;line-height:1.7}.federation-group>.result-link{margin-top:18px;display:inline-block}.federation-members{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.federation-members>span{align-items:center;gap:12px;display:inline-flex}.federation-members a{border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:9px 13px;font-size:.8rem;display:inline-flex}.federation-members b{color:var(--muted-foreground);font-weight:400}.political-comparison{margin:28px 0}.political-comparison li,.political-comparison-head{grid-template-columns:minmax(180px,1.6fr) repeat(3,minmax(70px,.55fr)) minmax(175px,1fr);align-items:center;gap:16px;display:grid}.political-comparison-head{letter-spacing:.025em;color:var(--muted-foreground);padding:12px 0;font-size:.7rem}.political-comparison ul{margin:0;padding:0;list-style:none}.political-comparison li{border-top:1px solid var(--border);min-width:0;padding:18px 0;font-size:.8rem}.political-comparison li>*{overflow-wrap:anywhere;min-width:0}.political-comparison li>a{flex-direction:column;gap:6px;display:flex}.political-comparison li>a strong{font-size:.85rem}.political-comparison li>a span{color:var(--muted-foreground);font-size:.64rem;line-height:1.6}.political-comparison li>span{font-variant-numeric:tabular-nums}.political-comparison li small{display:none}.party-opening h1{font-size:clamp(2.2rem,6vw,5.8rem)}.party-opening h2{letter-spacing:-.025em;margin:10px 0;font-size:clamp(1rem,2.3vw,1.55rem);font-weight:450;line-height:1.6}.political-elected-list{margin:24px 0;padding:0;list-style:none}.political-elected-list li{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:18px;padding:18px 0;display:grid}.political-uf{color:var(--muted-foreground);padding-top:3px;font-size:.73rem}.political-elected-list strong{overflow-wrap:anywhere;font-size:.91rem;font-weight:550;line-height:1.5;display:block}.political-elected-list li>div>span{color:var(--muted-foreground);margin-top:5px;font-size:.74rem;line-height:1.7;display:block}.political-elected-list li>a{padding:5px 0 12px;font-size:.72rem}.party-presidency-list{margin:25px 0;padding:0;list-style:none}.party-presidency-list li{border-bottom:1px solid var(--border);padding:18px 0}.party-presidency-list h3{letter-spacing:-.02em;margin:0;font-size:1.25rem;line-height:1.5}.party-presidency-list p{color:var(--muted-foreground);font-size:.85rem;line-height:1.8}.party-presidency-list strong{color:var(--foreground)}.party-territories{grid-template-columns:1fr 1fr;gap:0 26px;margin:24px 0;padding:0;list-style:none;display:grid}.party-territories li{border-bottom:1px solid var(--border);grid-template-columns:32px 1fr;gap:7px 12px;padding:16px 0;font-size:.77rem;display:grid}.party-territories li strong{grid-row:1/4}.party-territories li span{color:var(--muted-foreground)}.party-fund-amount{grid-template-columns:9px minmax(0,1fr);align-items:center;gap:14px;margin:28px 0;display:grid}.party-fund-amount strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(1.4rem,3vw,2.4rem)}.party-fund-amount>a,.party-fund-amount>span{grid-column:2}.party-fund-amount>span{color:var(--muted-foreground);font-size:.84rem;line-height:1.7}.fund-total{margin:40px 0 0}.fund-total>span{color:var(--muted-foreground);margin-bottom:12px;font-size:.81rem;display:block}.fund-total strong{letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;width:fit-content;max-width:100%;font-size:clamp(1.45rem,4.8vw,3.8rem);line-height:1.4;display:block}.fund-share-figure{margin:26px 0}.fund-share-strip{border-radius:6px;width:100%;height:30px;display:flex;overflow:hidden}.fund-share-strip>span{flex-shrink:0;height:100%;display:block}.fund-share-figure figcaption{color:var(--muted-foreground);margin-top:12px;font-size:.75rem;line-height:1.8}.fund-share-list{grid-template-columns:1fr 1fr;gap:0 28px;margin:24px 0;padding:0;list-style:none;display:grid}.fund-share-list li{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:15px 0;font-size:.77rem;display:grid}.fund-share-list li>span:first-child{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.fund-share-list li>span:last-child{color:var(--muted-foreground);font-variant-numeric:tabular-nums;grid-column:1/3}.fund-share-list strong{font-variant-numeric:tabular-nums;font-weight:500}.fund-definitions{gap:20px;margin:26px 0;display:grid}.fund-definitions>div{border-bottom:1px solid var(--border);padding-bottom:18px}.fund-definitions h3{margin:0 0 8px;font-size:1rem;font-weight:550;line-height:1.6}.fund-definitions p{color:var(--muted-foreground);margin:0;font-size:.85rem;line-height:1.9}.political-sources h2{letter-spacing:-.03em;margin-top:12px}.political-sources>details{margin:18px 0}.political-sources .source-panel,.political-sources code{overflow-wrap:anywhere;word-break:break-word}@media (max-width:1100px){.political-comparison-head{display:none}.political-comparison li{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;font-size:.88rem}.political-comparison li>a{grid-column:1/4}.political-comparison li>a span{font-size:.7rem}.political-comparison li>.political-comparison-money{grid-column:1/4}.political-comparison li small{color:var(--muted-foreground);margin-bottom:6px;font-size:.66rem;display:block}}@media (max-width:767px){.political-nav{gap:8px 20px;padding:18px 0}.political-nav>span{width:100%;margin-bottom:5px}.political-opening{padding:24px 0 16px}.political-opening>p{font-size:.89rem}.political-facts{gap:16px;padding-top:16px}.political-number>strong{font-size:clamp(1.8rem,8vw,2.6rem)}.political-facts:has(>:only-child){grid-template-columns:minmax(0,1fr)}.political-number>span{max-width:210px;font-size:.76rem}.political-bars li>div:first-child{flex-wrap:wrap;gap:4px 12px;font-size:.79rem}.political-bars li>div:first-child>span{text-align:left;font-size:.75rem}.political-elected-list li{grid-template-columns:28px minmax(0,1fr);gap:8px 12px}.political-elected-list li>a{grid-column:2;width:fit-content}.fund-share-list,.party-territories{grid-template-columns:1fr}.political-comparison li{gap:13px 10px}.political-comparison li small{font-size:.61rem}.fund-share-strip{height:26px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}