.municipality-page{--municipal:#0756a5;--municipal-dark:#12313d;--municipal-ink:#15212a;--municipal-muted:#62717d;--municipal-line:#dce4ea;color:var(--municipal-ink);background:#f5f7f8}.municipality-shell{width:min(100% - 40px,1240px);margin-inline:auto}.municipality-breadcrumbs{color:#687783;align-items:center;gap:7px;min-height:54px;font-size:12px;display:flex}.municipality-breadcrumbs a{color:var(--municipal);font-weight:800}.municipality-breadcrumbs svg{width:14px}.municipality-hero{border:1px solid var(--municipal-line);background:#fff;border-radius:8px;grid-template-columns:290px minmax(0,1fr) 250px;min-height:390px;display:grid;overflow:hidden}.municipality-identity,.municipality-mayor{min-width:0;padding:26px}.municipality-identity{flex-direction:column;align-items:flex-start;display:flex}.municipality-logo{object-fit:contain;object-position:left center;width:180px;height:92px;margin-bottom:22px}.municipality-logo-placeholder{width:76px;height:76px;color:var(--municipal);background:#e9f3fb;border-radius:8px;place-items:center;margin-bottom:22px;display:grid}.municipality-logo-placeholder svg{width:36px;height:36px}.municipality-identity>p,.municipality-mayor>p{color:var(--municipal);text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:900}.municipality-identity h1{margin:0 0 12px;font-size:29px;line-height:1.06}.municipality-identity>span{color:var(--municipal-muted);align-items:center;gap:6px;font-size:13px;display:flex}.municipality-identity>span svg{color:#e31b36;width:15px}.municipality-identity-actions{gap:7px;width:100%;margin-top:auto;padding-top:24px;display:grid}.municipality-identity-actions a{border:1px solid #c9d5de;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:42px;font-size:12px;font-weight:850;display:flex}.municipality-identity-actions .municipality-primary-action{color:#fff;background:var(--municipal);border-color:var(--municipal)}.municipality-identity-actions svg{width:16px}.municipality-cover{background:#e7edf1;min-width:0;min-height:390px;overflow:hidden}.municipality-cover img{object-fit:cover;width:100%;height:100%}.municipality-cover>div{color:#7c8b95;place-items:center;height:100%;display:grid}.municipality-cover svg{width:52px;height:52px}.municipality-mayor{background:var(--municipal-dark);color:#fff;flex-direction:column;align-items:flex-start;display:flex}.mayor-photo-link{display:block}.municipality-mayor img{aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:6px;width:100%;margin-bottom:18px}.municipality-mayor>p{color:#8ec8f5}.municipality-mayor h2{margin:0 0 4px;font-size:22px;line-height:1.1}.municipality-mayor>span{color:#bfd0d8;font-size:12px}.mayor-bio{color:#fff;border-top:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-top:auto;padding-top:18px;font-size:12px;font-weight:850;display:flex}.mayor-bio svg{width:16px}.municipality-tabs{z-index:12;border-block:1px solid var(--municipal-line);background:#fff;margin-top:18px;position:sticky;top:0}.municipality-tabs>div{display:flex;overflow-x:auto}.municipality-tabs a{color:#53616c;white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:7px;min-height:54px;padding:0 19px;font-size:12px;font-weight:800;display:flex}.municipality-tabs a:first-child{color:var(--municipal);border-color:var(--municipal)}.municipality-tabs svg{width:15px}.municipality-content{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;padding-top:24px;padding-bottom:80px;display:grid}.municipality-main,.municipality-sidebar{gap:18px;display:grid}.municipality-section,.municipality-sidebar>section{border:1px solid var(--municipal-line);background:#fff;border-radius:8px;padding:24px;scroll-margin-top:70px}.municipality-kicker{text-transform:uppercase;color:var(--municipal)!important;margin:0 0 5px!important;font-size:10px!important;font-weight:900!important}.municipality-section h2,.municipality-sidebar h2{margin:0;font-size:21px}.municipality-presentation{grid-template-columns:minmax(0,1fr) 230px;gap:28px;display:grid}.municipality-presentation>div>p:last-child{color:#52616d;margin:14px 0 0;line-height:1.65}.municipality-presentation img{object-fit:cover;border-radius:6px;width:230px;height:150px}.municipality-section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:17px;display:flex}.municipality-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.municipality-service-grid>a,.municipality-service-grid>span{background:#f7f9fa;border:1px solid #e2e7eb;border-radius:6px;grid-template-columns:26px minmax(0,1fr) 15px;align-items:start;gap:10px;min-height:96px;padding:15px;display:grid}.municipality-service-grid>a>svg:first-child,.municipality-service-grid>span>svg:first-child{color:var(--municipal)}.municipality-service-grid>a>svg:last-child,.municipality-service-grid>span>svg:last-child{color:#8b969f;width:14px}.municipality-service-grid strong{font-size:13px;line-height:1.3}.municipality-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.municipality-project-grid article{border:1px solid #e0e6ea;border-radius:6px;overflow:hidden}.municipality-project-grid img{aspect-ratio:16/10;object-fit:cover;width:100%}.municipality-project-grid article>div{padding:13px}.municipality-project-grid span,.municipality-opportunity-list span{color:#168259;text-transform:uppercase;font-size:10px;font-weight:900}.municipality-project-grid h3,.municipality-opportunity-list h3{margin:5px 0 8px;font-size:14px;line-height:1.3}.municipality-project-grid a{color:var(--municipal);align-items:center;gap:4px;font-size:11px;font-weight:850;display:flex}.municipality-project-grid a svg{width:13px}.municipality-opportunity-list{border-top:1px solid #e3e8ec}.municipality-opportunity-list article{border-bottom:1px solid #e3e8ec;justify-content:space-between;align-items:center;gap:18px;min-height:82px;padding:13px 0;display:flex}.municipality-opportunity-list article:last-child{border-bottom:0}.municipality-opportunity-list small{color:var(--municipal-muted);font-size:11px}.municipality-opportunity-list a{color:var(--municipal);border:1px solid #a9c8e3;border-radius:5px;flex:none;padding:8px 12px;font-size:11px;font-weight:850}.municipality-sidebar>section{padding:20px}.municipality-sidebar dl{margin:15px 0 0}.municipality-sidebar dl>div{border-top:1px solid #e3e8ec;padding:11px 0}.municipality-sidebar dt{color:#73808a;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:850;display:flex}.municipality-sidebar dt svg{width:14px;color:var(--municipal)}.municipality-sidebar dd{color:#26333d;overflow-wrap:anywhere;margin:5px 0 0;font-size:12px;line-height:1.45}.municipality-sidebar dd a{color:var(--municipal);font-weight:750}.municipality-facts>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.municipality-facts dd{margin:0;font-weight:850}.municipality-quick-links{margin-top:12px;display:grid}.municipality-quick-links>a,.municipality-quick-links>span{color:#34434e;border-top:1px solid #e3e8ec;grid-template-columns:18px minmax(0,1fr) 15px;align-items:center;gap:7px;min-height:38px;padding:8px 0;font-size:11px;font-weight:750;display:grid}.municipality-quick-links>a>svg:first-child,.municipality-quick-links>span>svg:first-child{color:var(--municipal)}.municipality-quick-links>a>svg:last-child,.municipality-quick-links>span>svg:last-child{color:#8b969f;width:13px}@media (width<=1050px){.municipality-hero{grid-template-columns:250px minmax(0,1fr)}.municipality-mayor{grid-column:1/-1;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.municipality-mayor img{width:110px;margin:0}.municipality-mayor>p,.municipality-mayor h2,.municipality-mayor>span{grid-column:2}.municipality-mayor>p{align-self:end}.municipality-mayor h2{align-self:center}.municipality-mayor>span{align-self:start}.mayor-photo-link{grid-row:1/4}.mayor-bio{border:1px solid #fff3;border-radius:5px;grid-area:1/3/4;width:auto;margin:0;padding:12px}.municipality-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.municipality-content{grid-template-columns:1fr}.municipality-sidebar,.municipality-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.municipality-shell{width:min(100% - 24px,1240px)}.municipality-hero{grid-template-columns:1fr}.municipality-identity{min-height:310px}.municipality-cover{min-height:260px}.municipality-mayor{grid-column:auto;grid-template-columns:88px minmax(0,1fr);padding:20px}.municipality-mayor img{width:88px}.mayor-bio{grid-area:auto/1/auto/-1;width:100%}.municipality-tabs{top:0}.municipality-presentation{grid-template-columns:1fr}.municipality-presentation img{width:100%;height:190px}.municipality-service-grid,.municipality-project-grid,.municipality-sidebar{grid-template-columns:1fr}.municipality-opportunity-list article{flex-direction:column;align-items:flex-start}.municipality-opportunity-list a{text-align:center;width:100%}}.municipality-table-actions{align-items:center;gap:7px;display:flex}.municipality-create-panel{max-width:760px}.municipality-admin-form,.municipality-editor{gap:18px;display:grid}.municipality-admin-form{grid-template-columns:minmax(0,1fr) 240px auto;align-items:end}.municipality-admin-form label,.municipality-editor label,.municipality-provision-form label,.municipality-row label{color:#4f5d67;gap:5px;font-size:11px;font-weight:800;display:grid}.municipality-admin-form input,.municipality-admin-form select,.municipality-editor input:not([type=file]):not([type=checkbox]),.municipality-editor textarea,.municipality-provision-form input,.municipality-row input{width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd4db;border-radius:6px;padding:9px 10px}.municipality-admin-form small,.municipality-editor label>small{color:#73808a;font-size:10px;font-weight:600}.municipality-editor-note{color:#176a4f;background:#e8f7f0;border:1px solid #bfe6d5;border-radius:8px;align-items:center;gap:11px;padding:14px 16px;display:flex}.municipality-editor-note svg{flex:none}.municipality-editor-note strong,.municipality-editor-note span{display:block}.municipality-editor-note span{margin-top:2px;font-size:12px}.municipality-access-panel{border-color:#b9d8f1}.municipality-owner{align-items:center;gap:11px;display:flex}.municipality-owner>svg{color:#087a55;background:#e4f6ed;border-radius:7px;width:38px;height:38px;padding:8px}.municipality-owner strong,.municipality-owner span{display:block}.municipality-owner span{color:#687681;margin-top:3px;font-size:12px}.municipality-provision-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:9px;display:grid}.municipality-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.municipality-editor-grid .full{grid-column:1/-1}.municipality-editor textarea{resize:vertical}.municipality-editor input[type=file]{background:#f8fafb;border:1px dashed #aebdc8;border-radius:6px;min-height:42px;padding:8px}.municipality-editor-preview{object-fit:cover;border:1px solid #dce4ea;border-radius:6px;width:100%;height:170px;margin-top:7px}.municipality-editor-preview.logo{object-fit:contain}.municipality-editor-preview.mayor{object-position:center top;width:160px;height:160px}.mayor-editor-panel{border-top:3px solid #0756a5}.municipality-active-switch{background:#f7f9fa;border:1px solid #dde5ea;border-radius:6px;align-self:end;align-items:flex-start;gap:9px;padding:11px;display:flex!important}.municipality-active-switch input[type=checkbox]{width:18px;height:18px}.municipality-active-switch strong,.municipality-active-switch small{display:block}.municipality-active-switch small{margin-top:3px}.municipality-row-list{gap:8px;display:grid}.municipality-row{background:#f7f9fa;border:1px solid #e2e8ec;border-radius:7px;grid-template-columns:28px minmax(0,1fr);gap:9px;padding:10px;display:grid}.municipality-row>span{color:#0756a5;background:#e7f2fb;border-radius:5px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:900;display:grid}.municipality-row-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.municipality-row input{min-height:38px;padding:7px 8px}.municipality-save-bar{z-index:15;color:#fff;background:#102a36;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:12px 14px;display:flex;position:sticky;bottom:12px;box-shadow:0 14px 34px #0f27323d}.municipality-save-bar>span{color:#c9d8df;align-items:center;gap:7px;font-size:11px;display:flex}.municipality-save-bar svg{width:16px}@media (width<=1050px){.municipality-provision-form{grid-template-columns:repeat(2,minmax(0,1fr))}.municipality-provision-form .button{grid-column:1/-1}.municipality-admin-form{grid-template-columns:1fr 1fr}.municipality-admin-form .button{grid-column:1/-1}}@media (width<=720px){.municipality-admin-form,.municipality-provision-form,.municipality-editor-grid{grid-template-columns:1fr}.municipality-editor-grid .full{grid-column:auto}.municipality-row-fields{grid-template-columns:1fr}.municipality-save-bar{flex-direction:column;align-items:stretch}.municipality-save-bar .button{width:100%}}.municipality-identity h1{text-wrap:balance;margin-bottom:9px;font-size:25px;line-height:1.08}.municipality-empty-state{color:var(--municipal-muted);margin:0;padding:18px 0;font-size:13px}.municipality-service-grid>a,.municipality-service-grid>span{align-items:center;min-height:64px;padding:11px 13px}.municipality-heading-link{color:var(--municipal);align-items:center;gap:5px;font-size:11px;font-weight:850;display:flex}.municipality-heading-link svg{width:14px}.municipality-field-gallery{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.municipality-field-gallery>button{aspect-ratio:4/5;cursor:zoom-in;background:#dfe7ec;border:0;border-radius:6px;min-width:0;padding:0;position:relative;overflow:hidden}.municipality-field-gallery img{object-fit:cover;width:100%;height:100%;transition:transform .2s}.municipality-field-gallery button:hover img,.municipality-field-gallery button:focus-visible img{transform:scale(1.025)}.municipality-field-gallery button:focus-visible{outline-offset:2px;outline:3px solid #72b7ef}.municipality-field-gallery span{color:#fff;text-align:left;background:#0d222be0;padding:8px;font-size:10px;line-height:1.3;position:absolute;inset:auto 0 0}.municipality-gallery-dialog{color:#fff;background:#102a36;border:0;border-radius:8px;width:min(100% - 32px,900px);max-height:92vh;padding:0;box-shadow:0 24px 70px #0000006b}.municipality-gallery-dialog::backdrop{background:#081218c7}.municipality-gallery-dialog figure{place-items:center;margin:0;padding:44px 18px 12px;display:grid}.municipality-gallery-dialog figure img{object-fit:contain;max-width:100%;max-height:72vh}.municipality-gallery-dialog figcaption{color:#d8e4e9;text-align:center;min-height:34px;padding:10px 0 0;font-size:12px}.municipality-gallery-close{z-index:2;color:#fff;background:#0006;border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;top:10px;right:10px}.municipality-gallery-close svg,.municipality-gallery-controls svg{width:18px}.municipality-gallery-controls{justify-content:center;align-items:center;gap:16px;padding:0 18px 16px;display:flex}.municipality-gallery-controls button{color:#fff;background:#17475a;border:1px solid #fff3;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.municipality-gallery-controls span{color:#cbd9df;text-align:center;min-width:48px;font-size:11px}.municipality-gallery-editor{gap:8px;margin-top:16px;display:grid}.municipality-gallery-editor-row{background:#f7f9fa;border:1px solid #e2e8ec;border-radius:7px;grid-template-columns:28px 100px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.municipality-gallery-editor-row>span{color:#0756a5;background:#e7f2fb;border-radius:5px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:900;display:grid}.municipality-gallery-editor-row>img,.municipality-gallery-editor-placeholder{aspect-ratio:4/5;object-fit:cover;border-radius:5px;width:100px}.municipality-gallery-editor-placeholder{color:#7b8b95;background:#e4eaee;place-items:center;display:grid}.municipality-gallery-editor-placeholder svg{width:28px}.municipality-gallery-editor-row>div:last-child{grid-template-columns:1fr 1fr;gap:8px;display:grid}.municipality-gallery-editor-row>div:last-child label:first-child{grid-column:1/-1}.municipality-gallery-editor-row input{width:100%;min-height:38px;font:inherit;background:#fff;border:1px solid #cbd4db;border-radius:6px;padding:7px 8px}@media (width<=680px){.municipality-field-gallery{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:68%;grid-auto-flow:column;padding-bottom:5px;overflow-x:auto}.municipality-field-gallery>button{scroll-snap-align:start}.municipality-gallery-editor-row{grid-template-columns:28px 72px minmax(0,1fr)}.municipality-gallery-editor-row>img,.municipality-gallery-editor-placeholder{width:72px}.municipality-gallery-editor-row>div:last-child{grid-template-columns:1fr}.municipality-gallery-editor-row>div:last-child label:first-child{grid-column:auto}}.municipality-gallery-dialog[open]{margin:0;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}
