.brazil-election{--br-green:#176447;--br-yellow:#eddb75;--br-blue:#2462aa;--br-red:#c94347}.brazil-election .br-desk{max-width:1360px;padding-top:38px}.brazil-election h1,.brazil-election h2,.brazil-election h3{font-family:var(--serif,'Libre Caslon Display',Georgia,serif);font-weight:400}.br-cover{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:center;padding-bottom:36px}.brazil-election .br-cover h1{font-size:clamp(65px,6.5vw,100px);letter-spacing:-3px;line-height:1.02;margin:25px 0}.br-cover h1 em{color:var(--br-green);font-weight:400}.br-cover>div>p{max-width:550px;font-size:14px;line-height:1.9;color:var(--muted)}.br-cover-actions{display:flex;gap:24px;margin-top:25px;flex-wrap:wrap}.br-cover-actions a{font-size:11px;font-weight:600;padding:14px 0;border-bottom:1px solid var(--ink)}.br-cover-actions a:first-child{background:var(--br-green);color:#fff;padding:14px 18px;border-color:var(--br-green)}.br-countdown{background:var(--br-green);color:#fff;padding:30px}.brazil-election .br-countdown .eyebrow{color:var(--br-yellow);font-size:9px}.br-timer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:26px 0}.br-timer>div{border-right:1px solid #ffffff45;padding:0 12px}.br-timer>div:first-child{padding-left:0}.br-timer>div:last-child{border:0;padding-right:0}.br-timer strong{display:block;font:48px/1 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-1px}.br-timer span{display:block;text-transform:uppercase;font-size:8px;letter-spacing:1px;margin-top:10px;color:#d6e2d9}.br-countdown p{color:#e7eee8;font-size:11px;line-height:1.9}.br-countdown a{color:var(--br-yellow);font-size:10px}.br-jumps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block:1px solid var(--ink);margin:0 0 32px}.br-jumps a{font-size:10px;padding:17px 12px;border-right:1px solid var(--line)}.br-jumps a:first-child{padding-left:0}.br-jumps a:last-child{border:0}.br-jumps a:hover{color:var(--br-green)}.br-score-caption{display:flex;justify-content:space-between;gap:20px;text-transform:uppercase;font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:15px}.br-finalists{display:grid;grid-template-columns:1fr 1fr;gap:28px}.br-finalist{display:flex;gap:26px;padding:28px;background:#fffef9;border-top:4px solid var(--candidate);min-width:0}.br-portrait{width:105px;flex-shrink:0;align-self:flex-start;background:#e8e8df}.br-portrait img{width:100%;height:auto;display:block;object-fit:cover}.br-finalist-copy{min-width:0}.br-party{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted);letter-spacing:1px}.br-party img{object-fit:contain;max-width:42px;max-height:40px}.brazil-election .br-finalist h2{font-size:40px;letter-spacing:-1px;line-height:1.15;margin:12px 0 5px}.br-role{font-size:11px;color:var(--muted)}.br-finalist-score{font:67px/1 var(--serif);letter-spacing:-2px;color:var(--candidate);margin-top:20px}.br-finalist-score span{font-size:28px;margin-left:3px}.br-finalist p{font-size:11px;margin:8px 0}.br-finalist small{font-size:9px;color:var(--muted);line-height:1.7;display:block}.br-stakes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin-top:26px}.br-stakes>div{padding:23px;border-right:1px solid var(--line)}.br-stakes>div:first-child{padding-left:0}.br-stakes>div:last-child{border:0}.br-stakes strong{display:block;font:34px/1.2 var(--serif);font-variant-numeric:tabular-nums}.br-stakes span{display:block;font-size:10px;color:var(--muted);margin-top:8px}.br-section{margin-top:56px;scroll-margin-top:20px}.br-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:22px}.brazil-election .br-section h2{font-size:49px;letter-spacing:-1px;line-height:1.1;margin:12px 0 0}.br-map-toggle{display:flex;gap:6px;flex-shrink:0}.br-map-toggle button{font-size:10px;border-radius:0;background:transparent;padding:11px}.br-map-toggle button[aria-pressed=true]{background:var(--br-green);border-color:var(--br-green);color:#fff}.br-feed-status{font-size:11px;line-height:1.8;padding:12px 16px;border-left:3px solid var(--br-green);background:#eaf0e4;margin-bottom:22px}.br-feed-status[data-state=delayed],.br-feed-status[data-state=unavailable]{border-color:#a67c2b;background:#f3edd9}.br-map-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:35px;align-items:start}.br-map-wrap{min-width:0}.br-map-controls{display:flex;gap:6px;flex-wrap:wrap}.br-map-controls select{flex:1;min-width:150px}.br-map-controls button,.br-map-controls select{font-size:11px;border-radius:0;background:transparent;min-height:42px}.br-map-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:9px;margin:20px 0 8px;color:var(--muted)}.br-map-legend>span{display:flex;align-items:center;gap:6px}.br-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;flex-shrink:0}#br-map{width:100%;display:block;max-height:650px;height:auto;background:#eef0e7}#br-map path{stroke:var(--paper,#f7f6f1);stroke-width:1.6;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .25s,filter .2s}#br-map path:hover,#br-map path:focus-visible,#br-map path[aria-pressed=true]{filter:brightness(1.16);stroke:#172f25;stroke-width:2.8;outline:none}.br-fine{font-size:10px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.br-detail{border-top:3px solid var(--br-green);padding:21px;background:#fffef9;min-width:0;scroll-margin-top:16px}.br-detail-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.br-detail-top .eyebrow{font-size:9px}.br-detail-top button{padding:6px 10px;font-size:10px;min-height:36px;border:0;background:transparent}.brazil-election .br-detail h3{font-size:40px;line-height:1.15;letter-spacing:-1px;margin:18px 0 12px}.br-detail-lead{font-size:12px;line-height:1.8;color:var(--muted)}.br-detail-meta{display:flex;flex-direction:column;gap:7px;font-size:10px;color:var(--muted);padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:14px}.br-results-table,.br-state-ledger table,.br-poll-table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.br-results-table caption,.br-poll-table caption,.br-state-ledger caption{text-align:left;font-size:10px;color:var(--muted);line-height:1.8;padding:12px 0}.br-results-table th,.br-results-table td,.br-state-ledger th,.br-state-ledger td,.br-poll-table th,.br-poll-table td{padding:13px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.br-results-table th:first-child,.br-state-ledger th:first-child,.br-poll-table th:first-child{padding-left:0}.br-results-table thead th,.br-poll-table thead th,.br-state-ledger thead th{font-size:9px;text-transform:uppercase;letter-spacing:.5px}.br-results-table tbody th{font-weight:400;width:49%}.br-results-table td{text-align:right;white-space:nowrap}.br-results-table small,.br-poll-table small{display:block;color:var(--muted);font-size:9px;line-height:1.6;margin-top:4px;font-weight:400}.br-row-name{font-weight:600}.br-vote-track{display:block;width:100%;min-width:56px;height:3px;margin-top:8px;background:#e4e7df}.br-vote-track i{display:block;height:100%}.br-source-link{font-size:11px;color:var(--br-green)}.br-state-ledger,.br-method{border-block:1px solid var(--line);margin-top:25px}.br-state-ledger summary,.br-method summary{padding:20px 0;cursor:pointer;font-size:12px;font-weight:600}.br-state-ledger summary>span{font-weight:400;font-size:10px;color:var(--muted);margin-left:12px}.br-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.br-state-ledger table{min-width:650px}.br-state-ledger tbody button{font:inherit;padding:0;background:transparent;border:0;border-radius:0;min-height:28px;text-align:left;color:var(--br-green)}.br-state-ledger button>span{padding-left:7px}.br-link-button{font-size:11px;background:transparent;margin:10px 0 20px;border-radius:0}.br-date-stamp{font-size:9px;letter-spacing:.8px;color:var(--muted)}.br-outlook-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}.br-poll-summary{padding:25px;background:#ecefe4;border-top:3px solid var(--br-green)}.brazil-election .br-poll-summary .eyebrow{font-size:9px;color:var(--br-green)}.br-poll-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0 18px}.br-poll-pair>div>span{font-size:10px;display:block;color:var(--muted)}.br-poll-pair strong{font:70px/1 var(--serif);display:block;margin-top:12px;letter-spacing:-2px}.br-poll-pair strong small{font-size:24px}.br-pl{color:var(--br-blue)}.br-pt{color:var(--br-red)}.br-poll-summary p{font-size:12px;line-height:1.9;color:var(--muted);margin:20px 0}.br-poll-summary a{font-size:10px;color:var(--br-green)}.br-snapshot-bar,.br-scenario-bar{height:10px;display:flex;position:relative}.br-snapshot-bar:after,.br-scenario-bar:after{content:'';height:20px;width:2px;background:#132b23;position:absolute;left:50%;top:-5px}.br-snapshot-bar i:first-child,.br-scenario-bar i:first-child{background:var(--br-blue)}.br-snapshot-bar i:last-child,.br-scenario-bar i:last-child{background:var(--br-red)}.br-poll-chart{min-width:0}.brazil-election .br-poll-chart h3{font-size:29px;margin:0 0 8px}.br-poll-chart p{font-size:10px;color:var(--muted);line-height:1.7}.br-poll-chart svg{width:100%;height:auto;display:block}.br-poll-chart svg text{font-family:'DM Sans',Arial,sans-serif;font-size:13px;fill:var(--muted)}.br-ledger-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:30px}.brazil-election .br-ledger-heading h3{font-size:31px;margin:0}.br-ledger-heading label{font-size:10px}.br-ledger-heading select{border-radius:0;background:transparent;font-size:11px;margin-left:8px}.br-poll-table{min-width:930px}.br-poll-table tbody th{width:23%;font-weight:600}.br-poll-table tbody a{color:var(--br-green)}.br-poll-table td:nth-child(4),.br-poll-table td:nth-child(5){font-weight:600;font-size:16px;white-space:nowrap}.br-poll-table td:last-child{max-width:210px}.br-method p{font-size:11px;line-height:1.9;color:var(--muted);max-width:900px}.br-scenario{background:#f1e7a9;padding:34px}.br-scenario-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.brazil-election .br-scenario h2{margin-top:15px;font-size:53px}.br-scenario p{font-size:12px;line-height:1.9;max-width:500px}.br-scenario-label{display:inline-block;font-size:9px;letter-spacing:.8px;font-weight:700;border-block:1px solid #9b925d;padding:10px 0;margin:12px 0}.br-scenario label{display:block;font-size:11px;line-height:1.8;margin:16px 0 3px}.br-scenario output{font-weight:700;white-space:nowrap;margin-left:10px}.br-scenario input[type=range]{width:100%;padding:0;background:transparent;border:0;accent-color:var(--br-green);cursor:pointer;min-height:30px}.br-retention{display:grid;grid-template-columns:1fr 1fr;gap:20px}.br-scenario button{background:transparent;border-color:#b4a86c;border-radius:0;font-size:11px;margin-top:13px}.br-scenario-result{background:#faf5d9;padding:25px}.br-scenario-result>.eyebrow{font-size:9px}#br-scenario-scores{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}#br-scenario-scores span{font-size:10px;display:block}#br-scenario-scores strong{font:55px/1 var(--serif);display:block;margin:10px 0}#br-scenario-verdict{font-size:15px;border-bottom:1px solid #c1b780;padding:20px 0;margin:0}.br-sources>div{display:grid;grid-template-columns:1fr 1fr;gap:50px}.brazil-election .br-sources h3{font-size:28px;margin:25px 0 12px}.br-sources p{font-size:11px;line-height:1.9;color:var(--muted)}.br-sources a{font-size:10px;color:var(--br-green)}.br-tooltip{position:fixed;pointer-events:none;z-index:1000;max-width:270px;padding:18px;background:#fffef8f5;backdrop-filter:blur(16px);border:1px solid #c7cec1;box-shadow:0 8px 30px #1d302f20;font-size:11px;line-height:1.8}.br-tooltip[hidden]{display:none}.br-tooltip strong{display:block;font:25px/1.3 var(--serif);margin-bottom:6px}.br-tooltip span{display:block}.brazil-election button:focus-visible,.brazil-election a:focus-visible,.brazil-election select:focus-visible{outline:2px solid var(--br-green);outline-offset:4px}.br-map-controls button:hover,.br-scenario button:hover{background:#e4eadf}.br-home-card{border-top:3px solid #176447!important}.br-home-card strong{color:#176447}
@media(max-width:1050px){.br-cover{gap:30px;grid-template-columns:1.3fr 1fr}.brazil-election .br-cover h1{font-size:72px}.br-map-layout{grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:20px}.br-finalist{gap:16px;padding:20px}.br-portrait{width:80px}.brazil-election .br-finalist h2{font-size:32px}.br-scenario-grid{gap:30px}.br-timer strong{font-size:39px}.br-timer>div{padding-inline:8px}}
@media(max-width:760px){.br-cover,.br-map-layout,.br-outlook-grid,.br-scenario-grid{grid-template-columns:1fr}.brazil-election .br-desk{padding-top:28px}.br-cover{gap:25px}.brazil-election .br-cover h1{font-size:clamp(56px,10vw,76px);letter-spacing:-1.8px;margin:20px 0}.br-cover>div>p{font-size:12px}.br-countdown{padding:23px}.br-timer{margin:20px 0}.br-timer strong{font-size:46px}.br-countdown p{font-size:10px}.br-finalists{gap:14px}.br-finalist{display:block;padding:18px}.br-portrait{width:72px;margin-bottom:14px}.br-party{gap:8px;font-size:9px}.br-party img{width:30px;height:30px}.brazil-election .br-finalist h2{font-size:30px}.br-role{font-size:9px}.br-finalist-score{font-size:48px;margin-top:15px}.br-finalist-score span{font-size:20px}.br-finalist p{font-size:10px;line-height:1.7}.br-finalist small{font-size:8px}.br-stakes>div{padding:17px 12px}.br-stakes strong{font-size:26px}.br-stakes span{font-size:9px;line-height:1.7}.br-section{margin-top:36px}.br-section-head{display:block}.brazil-election .br-section h2{font-size:38px}.br-map-toggle{margin-top:20px}.br-map-toggle button{flex:1}.br-feed-status{font-size:10px}.br-detail{padding:18px}.brazil-election .br-detail h3{font-size:35px}.br-jumps{grid-template-columns:1fr 1fr;margin-bottom:25px}.br-jumps a{padding:15px 10px;font-size:9px}.br-jumps a:nth-child(2){border-right:0}.br-jumps a:nth-child(n+3){border-top:1px solid var(--line)}.br-jumps a:nth-child(3){padding-left:0}.br-score-caption{font-size:8px;line-height:1.7}.br-date-stamp{display:block;margin-top:14px}.br-poll-pair strong{font-size:64px}.br-ledger-heading{display:block}.br-ledger-heading label{display:block;margin:15px 0}.br-scenario{padding:24px 18px;margin-inline:-5px}.brazil-election .br-scenario h2{font-size:43px}.br-scenario-result{padding:20px}.br-sources>div{grid-template-columns:1fr;gap:0}.br-state-ledger summary>span{display:block;margin:8px 0 0}.br-state-ledger summary{font-size:11px}.brazil-election footer{gap:15px;font-size:10px}.brazil-election .navigation>a:nth-last-child(2){grid-column:auto}.brazil-election .navigation>a:last-child{grid-column:auto}}
@media(max-width:380px){.br-finalist{padding:14px}.brazil-election .br-finalist h2{font-size:26px}.br-finalist-score{font-size:42px}.br-stakes strong{font-size:21px}.br-timer strong{font-size:39px}.br-scenario-result{padding:16px}#br-scenario-scores strong{font-size:45px}.br-map-controls button,.br-map-controls select{font-size:10px}.br-map-controls select{width:100%;flex-basis:100%}.br-poll-summary{padding:20px}.br-poll-pair strong{font-size:54px}}
@media(prefers-reduced-motion:reduce){#br-map path{transition:none}}

@media(max-width:760px){.br-poll-chart{overflow-x:auto}.br-poll-chart svg{min-width:620px}}
/* Compact desk: isolate these tables from the legacy election-table column rules. */
.brazil-election :is(.br-results-table,.br-poll-table,.br-state-table){table-layout:fixed;border-spacing:0;border-collapse:collapse;width:100%;height:auto}
.brazil-election :is(.br-results-table,.br-poll-table,.br-state-table) :is(th,td){width:auto;height:auto;min-width:0;white-space:normal;word-break:normal;overflow-wrap:normal;letter-spacing:0;line-height:1.5;vertical-align:middle;background:transparent}
.brazil-election :is(.br-results-table,.br-poll-table,.br-state-table) thead th{height:auto;font-size:9px;letter-spacing:.35px;line-height:1.5;padding:10px 10px;background:#eef0e8;color:var(--muted);font-weight:600}
.brazil-election :is(.br-results-table,.br-poll-table,.br-state-table) tbody th{font-weight:400;color:var(--ink);background:transparent}
.br-results-table col.br-candidate-col{width:46%}.br-results-table col.br-votes-col{width:29%}.br-results-table col.br-share-col{width:25%}
.brazil-election .br-results-table :is(th,td){padding:12px 9px;font-size:12px}
.brazil-election .br-results-table th:first-child{padding-left:0}
.brazil-election .br-results-table tbody th{width:auto;text-align:left}
.brazil-election .br-results-table thead th:nth-child(n+2){text-align:right;white-space:nowrap}
.brazil-election .br-results-table td{white-space:nowrap;text-align:right}
.br-results-table .br-row-name{display:block;font-size:12px;letter-spacing:0;font-weight:600;line-height:1.5}
.br-results-table small{font-size:9px;line-height:1.5;letter-spacing:0;display:flex;align-items:center;gap:5px;margin-top:4px}
.br-results-table .br-dot{background:var(--candidate);height:6px;width:6px;margin:0}
.br-results-table td strong{font-size:12px;font-weight:600;color:var(--candidate)}
.br-vote-track{min-width:0;margin-top:6px;height:3px}
.br-other-candidates{border-bottom:1px solid var(--line)}
.br-other-candidates summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;font-size:11px;color:var(--ink);cursor:pointer;list-style:none}
.br-other-candidates summary::-webkit-details-marker{display:none}.br-other-candidates summary span{font-size:9px;color:var(--br-green)}
.br-other-candidates[open] summary{font-weight:600}.br-other-candidates[open] summary span{font-size:0}.br-other-candidates[open] summary span:after{content:'Hide results ↑';font-size:9px}
.br-detail{padding:20px;border-top-width:3px}
.brazil-election .br-detail h3{font-size:34px;letter-spacing:-.5px;margin:13px 0 8px}
.br-detail-lead{font-size:11px;line-height:1.7;margin:0 0 15px}
.br-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;padding:16px 0;margin:0;border-bottom:1px solid var(--line)}
.br-detail-meta>div{min-width:0}.br-detail-meta span{display:block;font-size:9px;color:var(--muted);line-height:1.5}.br-detail-meta strong{display:block;font-size:12px;font-weight:600;line-height:1.6;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:3px}
.br-detail-provenance{margin-top:0}.br-detail-provenance summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;font-size:10px;color:var(--muted);padding:13px 0 0;list-style:none}.br-detail-provenance summary::-webkit-details-marker{display:none}.br-detail-provenance[open] summary{margin-bottom:10px}.br-detail-provenance .br-fine{margin-top:0}.br-detail>.br-fine{font-size:9px;margin:10px 0 0}
.br-poll-table col.br-poll-firm-col{width:25%}.br-poll-table col.br-poll-date-col{width:13%}.br-poll-table col.br-poll-sample-col{width:13%}.br-poll-table col.br-poll-number-col{width:10%}.br-poll-table col.br-poll-base-col{width:29%}
.brazil-election .br-poll-table tbody :is(th,td){font-size:11px;padding:13px 12px;line-height:1.5}
.brazil-election .br-poll-table tbody th{width:auto;padding-left:0}
.brazil-election .br-poll-table tbody th>a{font-size:12px;font-weight:600;letter-spacing:0}
.brazil-election .br-poll-table small{font-size:9px;line-height:1.5;margin-top:4px;letter-spacing:0;overflow-wrap:normal}
.brazil-election .br-poll-table tbody td:nth-child(4),.brazil-election .br-poll-table tbody td:nth-child(5){font-size:18px;font-weight:600;text-align:right;white-space:nowrap}
.brazil-election .br-poll-table thead th:nth-child(4),.brazil-election .br-poll-table thead th:nth-child(5){text-align:right;white-space:nowrap}
.brazil-election .br-poll-table tbody td:last-child{max-width:none;padding-left:22px}
.brazil-election .br-poll-table tbody tr:hover{background:#e9eddf70}
.br-poll-table{min-width:900px}
.br-ledger-heading{margin-top:24px}.br-ledger-heading select{min-height:38px;padding:8px 12px}
.br-outlook-grid{gap:26px}.br-poll-summary{padding:22px}.br-poll-pair{margin:20px 0 16px}.br-poll-pair strong{font-size:62px}.br-poll-summary p{margin:17px 0;font-size:11px;line-height:1.8}
.br-poll-chart svg text{font-size:16px}
.br-section{margin-top:40px}.br-section-head{margin-bottom:18px}.brazil-election .br-section h2{font-size:43px}
.br-cover{gap:45px;padding-bottom:26px;grid-template-columns:1.6fr 1fr}.brazil-election .br-cover h1{font-size:clamp(60px,6vw,88px);margin:20px 0;letter-spacing:-2px}.br-cover>div>p{font-size:13px;line-height:1.8}.br-cover-actions{margin-top:20px}.br-countdown{padding:25px}.br-timer{margin:22px 0}.br-jumps{margin-bottom:24px}
.br-finalists{gap:20px}.br-finalist{padding:22px;gap:20px}.br-portrait{width:88px}.brazil-election .br-finalist h2{font-size:34px}.br-finalist-score{font-size:56px;margin-top:15px}.br-stakes{margin-top:20px}.br-stakes>div{padding:18px 20px}.br-stakes strong{font-size:30px}
.br-map-layout{grid-template-columns:minmax(0,1.2fr) minmax(330px,1fr);gap:25px}#br-map{max-height:590px}
.br-scenario{padding:28px}.br-scenario-grid{gap:40px}.brazil-election .br-scenario h2{font-size:46px}
@media(max-width:1050px){.br-map-layout{grid-template-columns:minmax(0,1fr) minmax(310px,1fr);gap:20px}.br-finalist{padding:18px;gap:15px}.br-portrait{width:74px}.brazil-election .br-finalist h2{font-size:30px}.br-outlook-grid{grid-template-columns:1fr}.br-poll-chart svg{max-height:300px}.br-cover{gap:25px;grid-template-columns:1.3fr 1fr}.brazil-election .br-cover h1{font-size:65px}}
@media(max-width:760px){.br-cover,.br-map-layout{grid-template-columns:1fr}.br-cover{gap:20px}.brazil-election .br-cover h1{font-size:clamp(53px,10vw,72px)}.br-cover>div>p{font-size:12px}.br-finalists{gap:12px}.br-finalist{padding:16px}.br-portrait{width:68px}.brazil-election .br-finalist h2{font-size:28px}.br-finalist-score{font-size:45px}.br-stakes>div{padding:15px 10px}.br-stakes strong{font-size:24px}.br-section{margin-top:30px}.brazil-election .br-section h2{font-size:35px}.br-detail{padding:18px}.brazil-election .br-detail h3{font-size:31px}.br-map-controls select{font-size:12px}.br-scenario{padding:22px 18px}.br-scenario-grid{gap:25px}.brazil-election .br-scenario h2{font-size:40px}.br-poll-chart svg{max-height:none}.br-countdown{padding:23px}.br-state-ledger{margin-top:18px}}
@media(max-width:380px){.br-finalist{padding:13px}.brazil-election .br-finalist h2{font-size:25px}.br-finalist-score{font-size:40px}.br-stakes strong{font-size:20px}.brazil-election .br-results-table :is(th,td){padding-inline:5px;font-size:11px}.br-results-table .br-row-name,.br-results-table td strong{font-size:11px}.br-results-table small{font-size:8px}.br-detail-meta{gap:12px}.br-detail-meta strong{font-size:11px}}
.brazil-election .visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
