.brasil-explorer{--map-green:#005b38;--map-yellow:#ffd024;background:#faf8ef;border-top:4px solid var(--map-green);border-bottom:1px solid #e3dfd5;margin:28px 0 32px;padding:28px;border-radius:0 0 12px 12px;color:#202020}
.brasil-explorer-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.brasil-eyebrow{font:700 11px/1.4 Arial,sans-serif;letter-spacing:.1em;color:var(--map-green);margin:0 0 10px}.brasil-explorer-heading h2{font:700 clamp(28px,3vw,40px)/1.1 Georgia,serif;margin:0 0 10px}.brasil-explorer-heading>div>p:last-child{font:14px/1.5 Arial,sans-serif;color:#666a62;margin:0}.brasil-all{white-space:nowrap;font:700 12px Arial,sans-serif;padding-bottom:6px;border-bottom:2px solid var(--map-yellow)}
.brasil-explorer-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:30px;align-items:start}.brasil-geography{min-width:0}.brasil-region-filters{display:flex;flex-wrap:wrap;gap:8px}.brasil-region-filters button{display:flex;align-items:center;gap:6px;border:1px solid #ded8c3;background:#fffdf6;border-radius:20px;padding:9px 12px;min-height:40px;font:600 11px Arial,sans-serif;cursor:pointer;color:#31372f}.brasil-region-filters button:hover,.brasil-region-filters button[aria-pressed=true]{background:#005b38;color:#fff;border-color:#005b38}.region-dot{width:9px;height:9px;border-radius:50%;background:#f9d851}.brasil-region-filters [data-map-region=nordeste] .region-dot{background:#ffe79b}.brasil-region-filters [data-map-region=centro-oeste] .region-dot{background:#e7b72c}.brasil-region-filters [data-map-region=sudeste] .region-dot{background:#f1cb6b}.brasil-region-filters [data-map-region=sul] .region-dot{background:#d6bd50}
.brasil-map-canvas{margin:12px auto 0;max-width:590px}.brasil-map-svg{display:block;width:100%;height:auto;max-height:440px;overflow:visible}.brasil-state{fill:#f9d851;stroke:#faf8ef;stroke-width:2;stroke-linejoin:round;transition:fill 140ms,opacity 140ms}.brasil-map-svg [data-region=nordeste] .brasil-state{fill:#ffe79b}.brasil-map-svg [data-region=centro-oeste] .brasil-state{fill:#e7b72c}.brasil-map-svg [data-region=sudeste] .brasil-state{fill:#f1cb6b}.brasil-map-svg [data-region=sul] .brasil-state{fill:#d6bd50}.brasil-map-svg a:hover .brasil-state,.brasil-map-svg a:focus .brasil-state,.brasil-map-svg a[aria-current=true] .brasil-state,.brasil-map-svg a.is-region-selected .brasil-state{fill:#005b38}.brasil-map-svg a{cursor:pointer;outline:none}.brasil-map-svg a:focus-visible .brasil-state{stroke:#171f18;stroke-width:4}.brasil-map-svg a.is-muted .brasil-state{opacity:.34}.brasil-state-label{fill:#253e2b;font:700 18px Arial,sans-serif;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:#fff9e5;stroke-width:3px;stroke-linejoin:round}.brasil-label-line{stroke:#75816c;stroke-width:1;pointer-events:none}.brasil-df-target{fill:transparent;stroke:#005b38;stroke-width:1.5}.brasil-map-hint{text-align:center;color:#526451;font:12px/1.5 Arial,sans-serif;margin:4px 0 0}.brasil-map-credit{text-align:center;font:10px/1.5 Arial,sans-serif;color:#858276;margin:6px 0 0}.brasil-map-credit a{text-decoration:underline}
.brasil-map-panel{padding:24px;background:#fff;border:1px solid #e6e0cd;border-radius:10px}.brasil-map-panel>label{display:block;font:700 12px Arial,sans-serif;margin-bottom:10px}.brasil-map-panel select{display:block;width:100%;max-width:100%;min-height:46px;padding:11px 36px 11px 12px;border:1px solid #d7dccf;border-radius:4px;background:#fff;color:#202020;font:14px Arial,sans-serif}.brasil-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:24px}.brasil-selection-kicker{font:700 10px Arial,sans-serif;letter-spacing:.08em;color:#687164;margin:0 0 7px}.brasil-selection-heading h3{font:700 29px/1.15 Georgia,serif;margin:0;color:#005b38}.brasil-reset{border:0;background:transparent;font:12px Arial,sans-serif;color:#62705d;text-decoration:underline;cursor:pointer;min-height:44px;flex-shrink:0}.brasil-reset[hidden]{display:none}.brasil-selection-status{font:12px/1.5 Arial,sans-serif;color:#687164;margin:10px 0 0}.brasil-map-stories article{padding:18px 0;border-bottom:1px solid #ebe8dd}.brasil-map-stories article:last-child{border-bottom:0}.brasil-map-stories h4{font:700 19px/1.25 Georgia,serif;margin:6px 0 0;overflow-wrap:anywhere}.brasil-story-meta{font:700 10px/1.5 Arial,sans-serif;color:#677160;margin:0}.brasil-story-meta span{font-weight:400}.brasil-map-stories>p{font:14px/1.6 Arial,sans-serif;color:#687164;margin:24px 0}.brasil-map-more{display:flex;justify-content:space-between;gap:16px;background:#fff5cc;border-bottom:2px solid #ffd024;padding:13px 15px;margin-top:16px;font:700 13px Arial,sans-serif;min-height:44px}.brasil-map-more:hover{background:#ffedab;text-decoration:none}.brasil-map-panel[aria-busy=true] .brasil-map-stories{opacity:.55}
@media(max-width:800px){.brasil-explorer{padding:22px}.brasil-explorer-layout{gap:20px;grid-template-columns:minmax(0,1fr) minmax(260px,1fr)}.brasil-map-panel{padding:18px}.brasil-region-filters{gap:6px}.brasil-region-filters button{padding:8px 10px;min-height:44px}.brasil-selection-heading h3{font-size:25px}}
@media(max-width:640px){.brasil-explorer{padding:20px 16px;margin:24px -4px;border-radius:0 0 10px 10px}.brasil-explorer-heading{align-items:start;gap:14px;margin-bottom:20px}.brasil-explorer-heading h2{font-size:29px}.brasil-explorer-heading>div>p:last-child{font-size:13px}.brasil-all{font-size:11px}.brasil-explorer-layout{display:block}.brasil-region-filters{justify-content:center;gap:6px}.brasil-region-filters button{font-size:11px;padding:8px 10px}.brasil-map-svg{max-height:360px}.brasil-map-panel{margin-top:18px;padding:20px 16px}.brasil-selection-heading{padding-top:20px}.brasil-map-stories h4{font-size:20px}.brasil-map-hint{font-size:11px}.brasil-map-credit{font-size:9px}}
@media(prefers-reduced-motion:reduce){.brasil-state{transition:none}}
@media(hover:hover){.brasil-region-filters button:not([aria-pressed=true]):hover{background:#edf3e8;color:#005b38;border-color:#a6b69e}}
@media(hover:none){.brasil-region-filters button:not([aria-pressed=true]):hover{background:#fffdf6;color:#31372f;border-color:#ded8c3}}
