.municipal-profile{background:#e9d6ab;color:#27332c}
.profile-shell{max-width:1360px;padding:0 30px}
.local-opening{position:relative;gap:32px;padding:55px 36px 48px;margin:28px 0 0;background:linear-gradient(115deg,rgba(248,239,213,.95),rgba(239,221,180,.82)),url('/caatinga-seca.jpg') center/cover;border:1px solid #8e785367;box-shadow:0 18px 55px #553c1921}
.local-opening h1{font-size:clamp(72px,8vw,116px);line-height:.85;letter-spacing:-.025em}
.local-opening .intro{max-width:570px}
.opening-reference{align-self:stretch;padding:22px 26px;background:rgba(39,57,47,.91);color:#fff0d6;border:1px solid #ffffff4a;backdrop-filter:blur(14px);display:flex;flex-direction:column;justify-content:center}
.opening-reference>strong{font-family:'Barlow Condensed',sans-serif;font-size:42px;margin:8px 0}
.opening-reference a{color:#f1d393}
.opening-reference p{margin:5px 0}
.opening-reference .profile-save{margin-top:18px;color:#f5deb5;border-color:#e8c58a}
.profile-jump{position:sticky;top:0;z-index:12;display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;background:rgba(31,48,39,.94);backdrop-filter:blur(18px);padding:10px 12px;margin:0 0 22px;border-bottom:2px solid #b7834f}
.municipal-profile nav.profile-jump{flex-wrap:nowrap}
.profile-jump a{flex:none;color:#fff0d6;padding:9px 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border:1px solid transparent}
.profile-jump a:hover,.profile-jump a:focus-visible,.profile-jump a[aria-current=location]{background:#e8d2a0;color:#20362b;border-color:#e8d2a0}
.municipal-section{scroll-margin-top:76px;margin:20px 0;border:0;background:rgba(250,242,220,.79);padding:32px 35px 38px;box-shadow:0 2px 0 #674b2d1e}
.municipal-section:nth-of-type(4n+1){background:rgba(245,228,188,.86)}
.section-heading{display:flex;align-items:end;gap:12px 28px;flex-wrap:wrap;border-bottom:1px solid #9279516b;padding-bottom:17px;margin-bottom:22px}
.section-heading>span{min-width:160px;color:#8b5136;font-weight:800}
.section-heading h2,.municipal-section>h2{font-size:clamp(39px,4vw,58px);line-height:.95;margin:0}
.municipal-section h3{font-size:26px}
.local-map-layout{grid-template-columns:minmax(0,1fr) 260px}
.map-surface{box-shadow:0 15px 30px #1c33201b}
.map-sidebar{background:rgba(35,55,45,.93);color:#f8ead0;padding:24px}
.map-sidebar a{color:#f1ce8e}
.weather-layout article,.indicator-grid>article,.distance-references li{background:rgba(255,250,234,.86);border:1px solid #a3906f8a;box-shadow:0 8px 25px #674b2d12;padding:22px}
.indicator-grid>article{border-top:3px solid #b36a45}
.local-cards{gap:16px;align-items:stretch}
.local-cards article{padding:25px 26px;background:rgba(255,250,234,.88);border:1px solid #ab916d90;border-left:4px solid #916b4b;box-shadow:0 10px 28px #3c2d1617;min-width:0;transition:transform .2s,box-shadow .2s}
.local-cards article:hover,.local-cards article:focus-within{transform:translateY(-3px);box-shadow:0 18px 34px #3c2d162b}
.local-cards article p{text-align:justify;hyphens:auto;max-width:65ch}
.local-cards article a{display:inline-block;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.institutional-links{gap:12px}
.institutional-links li{background:#fff8e5;padding:16px 18px;border:1px solid #ab916d90}
.changes-panel{background:#ead7ac;border-left:4px solid #875238;padding:20px 25px}
.climate-calendar{gap:4px}
.day-cell{border-radius:2px;transition:filter .15s,transform .15s}
.day-cell:hover{filter:contrast(1.18);transform:scale(1.06)}
.portrait-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(230px,.88fr);gap:0;background:#fff9e8;border:1px solid #ac936c;box-shadow:0 16px 36px #583d181c;overflow:hidden}
.portrait-dashboard .indicator-grid{display:contents}
.portrait-dashboard .indicator-grid>article{padding:20px 24px;border:0;border-bottom:1px solid #b9a27a80;min-width:0}
.portrait-dashboard .indicator-grid>article strong{display:block;font:700 clamp(28px,3vw,43px)/.98 'Barlow Condensed',sans-serif;margin:7px 0 4px;overflow-wrap:anywhere}
.portrait-dashboard .indicator-grid>article>span:first-child{font-size:11px;font-weight:800;letter-spacing:.06em;color:#765b3e}
.portrait-dashboard .indicator-grid>article>span:nth-of-type(2){font-size:12px}
.portrait-dashboard [data-metric=population_census]{grid-column:1;grid-row:1;background:#fff9e8}
.portrait-dashboard [data-metric=population_estimate]{grid-column:2;grid-row:1;background:#fff9e8}
.portrait-dashboard [data-metric=area_km2]{grid-column:3;grid-row:1;background:#e9d5a9}
.portrait-dashboard [data-metric=density_2010]{grid-column:3;grid-row:2;background:#e9d5a9}
.portrait-dashboard [data-metric=mayor]{grid-column:3;grid-row:3;background:#e9d5a9}
.portrait-dashboard [data-metric=mayor] strong{font-size:24px;line-height:1.07}
.portrait-dashboard .provenance{margin-top:6px}
.portrait-dashboard .bar-chart{grid-column:1/3;grid-row:2/4;margin:0;padding:24px 28px;background:#fff9e8}
.portrait-dashboard .bar-chart>strong{font:700 24px 'Barlow Condensed',sans-serif;display:block;margin-bottom:16px}
.portrait-dashboard .bar-row{grid-template-columns:118px minmax(0,1fr) 82px;margin:15px 0}
.portrait-dashboard .bar-track{height:20px;background:#e3d4b6}
.portrait-dashboard .bar-row:nth-of-type(2) .bar-fill{background:#a9573b}
.portrait-dashboard .bar-row:nth-of-type(3) .bar-fill{background:#416955}
.portrait-dashboard>.data-note{grid-column:1/-1;grid-row:4;margin:0;padding:14px 25px;background:#f0e2c4;border:0;font-size:12px}
.monthly-climate{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 28px}
.monthly-panel{min-width:0;margin:0;padding:22px 20px;background:#fff9e8;border:1px solid #b29a71;box-shadow:0 10px 25px #5c47151a}
.monthly-panel figcaption{display:grid;gap:2px;margin-bottom:15px}
.monthly-panel figcaption strong{font:700 29px/.95 'Barlow Condensed',sans-serif}
.monthly-panel figcaption span{font-size:11px;color:#69563e}
.monthly-scroll{overflow-x:auto;padding-bottom:4px}
.monthly-bars,.monthly-line-wrap{min-width:475px}
.monthly-bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;align-items:end}
.monthly-bar{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:0 1px;background:transparent;border:0;color:#2a352d;cursor:pointer}
.monthly-value,.monthly-label{font-size:10px;font-weight:800}
.monthly-bar-track{height:105px;width:100%;display:flex;align-items:flex-end;background:#e8e3d4}
.monthly-bar-fill{display:block;width:100%;background:#367a9b;min-height:0;transition:height .25s}
.monthly-bar:hover .monthly-bar-fill,.monthly-bar:focus-visible .monthly-bar-fill{background:#1e5574}
.monthly-line{display:block;width:100%;height:115px;overflow:visible}
.monthly-guide{stroke:#d5c6a5;stroke-width:1}
.monthly-path{fill:none;stroke:#ab5034;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.monthly-dot{fill:#ab5034;stroke:#fff9e8;stroke-width:2}
.monthly-temp-key{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px}
.monthly-temp-month{padding:4px 1px;border:0;background:transparent;color:#28352d;cursor:pointer;text-align:center}
.monthly-temp-month span,.monthly-temp-month strong{display:block;font-size:10px;line-height:1.2}
.monthly-temp-month:hover,.monthly-temp-month:focus-visible{background:#eed8b0}
.monthly-source{grid-column:1/-1;margin:0!important;font-size:11px;line-height:1.45}
.monthly-source a{text-decoration:underline}
@media(max-width:950px){.local-opening{grid-template-columns:1fr}.opening-reference{display:block}.local-map-layout{grid-template-columns:1fr}.profile-jump{margin:0 -16px 14px}}
@media(max-width:620px){.profile-shell{padding:0 14px}.local-opening{margin:12px 0 0;padding:29px 20px}.local-opening h1{font-size:67px}.local-opening p{text-align:left}.opening-reference{padding:18px 20px}.municipal-section{margin:12px 0;padding:24px 18px 28px}.local-cards{grid-template-columns:1fr}.local-cards article{padding:20px}.local-cards article p{text-align:left}.section-heading h2,.municipal-section>h2{font-size:38px}.profile-jump{margin-left:-14px;margin-right:-14px}.profile-jump a{padding:9px 11px}.weather-layout article,.indicator-grid>article{padding:18px}}
@media(prefers-reduced-motion:reduce){.local-cards article,.day-cell{transition:none}.local-cards article:hover,.day-cell:hover{transform:none}}
@media(max-width:950px){.monthly-climate{grid-template-columns:1fr}.portrait-dashboard{grid-template-columns:1fr 1fr}.portrait-dashboard [data-metric=population_census]{grid-column:1;grid-row:1}.portrait-dashboard [data-metric=population_estimate]{grid-column:2;grid-row:1}.portrait-dashboard .bar-chart{grid-column:1/-1;grid-row:2}.portrait-dashboard [data-metric=area_km2]{grid-column:1;grid-row:3}.portrait-dashboard [data-metric=density_2010]{grid-column:2;grid-row:3}.portrait-dashboard [data-metric=mayor]{grid-column:1/-1;grid-row:4}.portrait-dashboard>.data-note{grid-row:5}}
@media(max-width:620px){.portrait-dashboard .indicator-grid>article{padding:16px}.portrait-dashboard .indicator-grid>article strong{font-size:29px}.portrait-dashboard [data-metric=mayor] strong{font-size:22px}.portrait-dashboard .bar-chart{padding:20px 16px}.portrait-dashboard .bar-row{grid-template-columns:82px minmax(0,1fr) 70px;gap:8px;font-size:11px}.monthly-panel{padding:18px 14px}.monthly-panel figcaption strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){.monthly-bar-fill{transition:none}}
.monthly-mobile{display:none}
.daily-detail>summary{cursor:pointer;list-style:revert;padding:12px 16px;margin:12px 0;background:#e7d3a9;border:1px solid #a88d62;font-weight:700}
.daily-detail>summary:focus-visible{outline:3px solid #244e6b;outline-offset:2px}
.opening-reference .provenance summary{color:#ffe0a4}
.opening-reference .provenance p,.opening-reference .provenance a{color:#fff0d6}
@media(max-width:620px){
 .municipal-profile nav.profile-jump{position:sticky;top:0;left:auto;right:auto;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;overflow-x:auto;width:auto;max-width:none;padding:8px 10px;margin:0 -14px 14px;white-space:nowrap;min-height:50px;z-index:12}
 .municipal-profile nav.profile-jump a{padding:9px 11px}
 .monthly-mobile{display:block;grid-column:1/-1;padding:17px;background:#fff9e8;border:1px solid #b29a71}
 .monthly-mobile h3{font-size:25px;margin:0 0 12px}
 .monthly-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .monthly-mobile-month{display:grid;align-content:center;gap:2px;min-height:62px;padding:8px 10px;text-align:left;border:1px solid #c7ae80;background:#f7edda;color:#28352d}
 .monthly-mobile-month strong{font-size:14px}.monthly-mobile-month span{font-size:12px}
 .monthly-climate>.monthly-panel{display:none}
 .climate-calendar{grid-template-columns:38px repeat(31,42px);min-width:1380px}
 .day-cell{height:44px;font-size:12px}
 .monthly-mobile-month:focus-visible{outline:3px solid #244e6b;outline-offset:2px}
}
