/* Municipal pages only. Shared chrome, data and other page compositions stay intact. */
.city-page .page-hero{margin:0 0 40px;border-bottom-left-radius:42px;}
.city-page .page-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:40px;min-height:0;padding-block:24px 34px;align-items:center;}
.city-page .page-hero-copy{display:block;min-width:0;}
.city-page .breadcrumb{padding:0 0 14px;font-size:var(--t-small);line-height:1.8;}
.city-page main .eyebrow{font-size:var(--t-small);line-height:1.8;letter-spacing:.07em;margin:0 0 9px;}
.city-page .municipal-location{font-size:var(--t-ui);line-height:1.75;margin-bottom:10px;color:#38647a;}
.city-page .municipal-location a{text-underline-offset:4px;text-decoration:underline;}
.city-page .page-hero h1{font-size:var(--t-title);line-height:1.55;letter-spacing:0;max-width:none;margin:0;text-wrap:pretty;overflow-wrap:break-word;}
.city-page .page-hero h1>span,.city-page .page-hero h1>em{display:block;max-width:100%;}
.city-page .page-hero h1>.municipal-name-parent{font-size:var(--t-body);font-weight:600;line-height:1.8;margin-bottom:3px;}
.city-page .page-lead{font-size:var(--t-body);line-height:1.9;max-width:none;margin:16px 0 0;color:#2b5065;}
.city-page .page-lead>.copy-unit{display:block;}
.city-page .municipal-intro{font-size:var(--t-copy);line-height:1.9;max-width:33em;margin-top:13px;color:#4d697a;}
.city-page main .page-actions{gap:8px 22px;margin-top:21px;}
.city-page main .button{min-height:48px;font-size:var(--t-ui);line-height:1.75;min-width:0;padding:12px 19px;white-space:normal;max-width:100%;}
.city-page main .text-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;max-width:100%;font-size:var(--t-ui);line-height:1.75;}
.city-page main .button>.icon,.city-page main .text-link>.icon{flex:0 0 18px;width:18px;height:18px;}
.city-page .municipal-facts{display:flex;flex-wrap:wrap;gap:14px 32px;margin:22px 0 0;}
.city-page .municipal-facts>div{display:flex;align-items:baseline;gap:12px;}
.city-page .municipal-facts dt{font-size:var(--t-ui);line-height:1.75;color:#4d697a;}
.city-page .municipal-facts dd{font-size:var(--t-small-head);line-height:1.6;font-weight:700;color:#24536d;margin:0;}
.city-page .municipal-facts dd>span{font-size:var(--t-ui);font-weight:500;margin-left:4px;}
.city-page .municipal-source-help{font-size:var(--t-small);line-height:1.8;color:#4d697a;margin-top:9px;}
.city-page .municipal-hero-photo{min-width:0;width:100%;margin:0;align-self:center;}
.city-page .municipal-hero-photo>a{display:block;border-radius:10px 30px 10px 10px;overflow:hidden;background:#eef4f3;}
.city-page .municipal-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;transform:none;}
.city-page .municipal-hero-photo figcaption{font-size:var(--t-small);line-height:1.8;margin-top:12px;color:#4d697a;}
.city-page .municipal-hero-photo figcaption>strong,.city-page .municipal-hero-photo figcaption>span{display:block;}
.city-page .municipal-hero-photo figcaption>strong{font-size:var(--t-small);line-height:1.8;color:#24536d;font-weight:600;overflow-wrap:break-word;}
.city-page .municipal-hero-photo figcaption>a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:var(--t-small);color:#0866a8;}
.city-page .municipal-hero-photo figcaption .icon{width:17px;height:17px;flex-shrink:0;}
.city-page .municipal-list-section{margin-block:42px 48px;scroll-margin-top:116px;}
.city-page .municipal-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:22px;}
.city-page main h2{font-size:var(--t-section);line-height:1.6;letter-spacing:0;margin:0;text-wrap:pretty;}
.city-page main h2>.copy-unit{display:block;}
.city-page .municipal-section-heading>p,.city-page .municipal-basic-note{font-size:var(--t-small);line-height:1.8;color:#4d697a;max-width:36em;}
.city-page .municipal-basic-note{max-width:none;padding:17px 20px;background:#f2f8fa;border-radius:6px;}
.city-page .municipal-basic-note a{color:#0866a8;text-decoration:underline;text-underline-offset:3px;}
.city-page .municipal-filters{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(160px,1fr);gap:16px 24px;padding:23px;background:#f2f8fa;border:1px solid #cfdee7;border-radius:9px;margin-top:23px;}
.city-page .municipal-filters>div{min-width:0;}
.city-page .municipal-filters label{display:block;font-size:var(--t-label);line-height:1.75;font-weight:700;color:#24536d;}
.city-page .municipal-filters input,.city-page .municipal-filters select{display:block;width:100%;max-width:100%;min-width:0;min-height:50px;margin-top:8px;padding:10px 12px;font:var(--t-input)/1.7 var(--sans);background:#fff;color:#173b52;border:1px solid #a8c5d5;border-radius:5px;}
.city-page .municipal-filters p{font-size:var(--t-ui);line-height:1.75;color:#4d697a;margin-top:7px;}
.city-page .municipal-filter-note{grid-column:1/-1;margin-top:0!important;}
.city-page .municipal-filter-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;}
.city-page .municipal-filter-actions .button{justify-content:center;}
.city-page .municipal-result-count{font-size:var(--t-small);font-weight:600;line-height:1.8;color:#24536d;margin:22px 0;}
.city-page .municipal-results{scroll-margin-top:116px;}
.city-page .municipal-empty{padding:25px;border:1px solid #c5dbe5;border-radius:8px;background:#f7fbfc;margin-block:16px 28px;}
.city-page .municipal-empty h3{font-size:var(--t-small-head);line-height:1.6;margin-bottom:10px;}
.city-page .municipal-empty p{font-size:var(--t-body);line-height:1.9;margin-bottom:17px;max-width:46em;}
.city-page .municipal-empty .text-link{margin:8px 0 0 20px;}
.city-page .municipal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 25px;}
.city-page .municipal-card{border-top:2px solid #b5d6e7;padding-top:16px;min-width:0;break-inside:avoid;}
.city-page .municipal-card>a{display:flex;flex-direction:column;min-height:100%;color:inherit;}
.city-page .municipal-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:8px;background:#f1f5f6;}
.city-page .city-scope{font-size:var(--t-ui);line-height:1.75;color:#4d697a;margin-top:8px;}
.city-page .municipal-card-ap{font-size:var(--t-ui);line-height:1.75;color:#4d697a;margin:8px 0 3px;}
.city-page .municipal-card h3{font-size:var(--t-card);line-height:1.6;letter-spacing:0;margin:0 0 8px;color:#244c63;text-wrap:pretty;overflow-wrap:break-word;word-break:normal;}
.city-page .municipal-card h3>span{display:inline-block;max-width:100%;}
.city-page .city-address{font-size:var(--t-copy);line-height:1.9;color:#4d697a;margin:0 0 6px;overflow-wrap:anywhere;}
.city-page .city-spec{font-size:var(--t-copy);line-height:1.9;color:#33596e;margin-bottom:10px;text-wrap:pretty;overflow-wrap:break-word;}
.city-page .city-card-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:var(--t-copy);line-height:1.8;font-weight:600;color:#0866a8;margin-top:auto;padding-top:7px;}
.city-page .municipal-list-note{font-size:var(--t-small);line-height:1.8;color:#4d697a;max-width:64em;margin-top:26px;}
.city-page .municipal-refine{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;align-items:center;background:#f0f8f3;border-radius:12px;padding:30px 32px;margin-block:45px;}
.city-page .municipal-refine p:not(.eyebrow){font-size:var(--t-small);line-height:1.8;color:#4d697a;margin-top:10px;max-width:31em;}
.city-page .municipal-refine nav{display:flex;flex-wrap:wrap;gap:11px;}
.city-page .municipal-refine nav>a{display:inline-flex;gap:15px;align-items:center;justify-content:space-between;min-height:46px;padding:9px 14px;border:1px solid #94bea9;background:#fff;border-radius:5px;font-size:var(--t-ui);line-height:1.75;color:#215b48;min-width:110px;}
.city-page .municipal-refine nav .icon{width:17px;height:17px;flex:0 0 17px;}
.city-page .municipal-checks{margin-block:48px;}
.city-page .municipal-checks>ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;margin:25px 0 0;}
.city-page .municipal-checks li{display:flex;align-items:start;gap:14px;padding-top:20px;border-top:1px solid #bdd7e3;min-width:0;}
.city-page .municipal-checks li>.icon{width:24px;height:24px;flex:0 0 24px;color:#348b73;margin-top:5px;}
.city-page .municipal-checks li>div{min-width:0;}
.city-page .municipal-checks h3{font-size:var(--t-small-head);line-height:1.6;margin:0 0 8px;text-wrap:pretty;}
.city-page .municipal-checks li p{font-size:var(--t-body);line-height:1.9;color:#4d697a;margin-bottom:8px;}
.city-page .municipal-checks .text-link{font-size:var(--t-ui);}
.city-page .municipal-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,330px);gap:35px;align-items:center;padding:30px 32px;background:#edf6fb;border-radius:12px 32px 12px 12px;margin-block:46px 23px;}
.city-page .municipal-next p:not(.eyebrow){font-size:var(--t-small);line-height:1.8;color:#4d697a;margin-top:12px;max-width:36em;}
.city-page .municipal-next .button{justify-content:space-between;text-align:left;justify-self:stretch;}
.city-page .municipal-backlinks{display:flex;flex-wrap:wrap;gap:6px 28px;margin-block:20px;}
.city-page .municipal-backlinks>a{display:inline-flex;align-items:center;gap:11px;font-size:var(--t-copy);line-height:1.9;min-height:44px;color:#0866a8;}
.city-page .municipal-backlinks .icon{width:18px;height:18px;flex-shrink:0;}
.city-page .municipal-source{font-size:var(--t-small);line-height:1.8;color:#4d697a;margin-block:22px 40px;max-width:1160px;}
.city-page main a:focus-visible,.city-page main button:focus-visible,.city-page main input:focus-visible,.city-page main select:focus-visible,.city-page .municipal-results:focus-visible{outline:3px solid #b75b10;outline-offset:4px;}
.city-page main [hidden]{display:none!important;}
@media(hover:hover){.city-page .municipal-card>a:hover h3,.city-page .municipal-card>a:hover .city-card-link{color:#075c94;text-decoration:underline;text-underline-offset:4px;}.city-page .municipal-refine a:hover{background:#e2f2e9;}.city-page .municipal-location a:hover,.city-page .municipal-backlinks a:hover{text-decoration:underline;text-underline-offset:4px;}}
@media(max-width:1120px){.city-page .page-hero-inner{grid-template-columns:minmax(0,1fr) 330px;gap:30px;}.city-page .page-hero h1{font-size:var(--t-title);}.city-page .municipal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px;}.city-page .municipal-checks>ol{gap:22px;}.city-page .municipal-checks li{gap:10px;}.city-page .municipal-next{grid-template-columns:minmax(0,1fr) 280px;gap:25px;}}
@media(max-width:960px){.city-page .page-hero-inner{grid-template-columns:minmax(0,1fr);gap:26px;padding-block:24px 30px;}.city-page .municipal-hero-photo{max-width:640px;justify-self:center;}.city-page .municipal-intro{max-width:40em;}.city-page .municipal-facts{gap:12px 32px;}.city-page .municipal-checks>ol{grid-template-columns:minmax(0,1fr);}.city-page .municipal-checks li{gap:16px;}.city-page .municipal-section-heading,.city-page .municipal-refine,.city-page .municipal-next{grid-template-columns:minmax(0,1fr);gap:20px;}.city-page .municipal-section-heading>p{max-width:48em;}.city-page .municipal-next .button{justify-self:start;max-width:100%;}}
@media(max-width:767px){.city-page .page-hero{border-bottom-left-radius:30px;margin-bottom:32px;}.city-page .page-hero-copy{display:block;}.city-page .page-hero-inner{gap:22px;padding-block:21px 28px;}.city-page .page-hero h1{font-size:var(--t-title);line-height:1.55;}.city-page .page-lead{font-size:var(--t-body);line-height:1.9;margin-top:14px;}.city-page .municipal-facts dd{font-size:var(--t-small-head);}.city-page .municipal-hero-photo>a{border-radius:8px 24px 8px 8px;}.city-page main h2{font-size:var(--t-compact-head);}.city-page .municipal-filters{grid-template-columns:minmax(0,1fr);padding:19px;gap:17px;}.city-page .municipal-filter-actions{gap:7px 20px;}.city-page .municipal-list-section{margin-block:32px 38px;}.city-page .municipal-card h3{font-size:var(--t-card);}.city-page .municipal-refine,.city-page .municipal-next{padding:24px;margin-block:35px;}.city-page .municipal-checks{margin-block:38px;}.city-page .municipal-checks>ol{gap:20px;margin-top:20px;}.city-page .municipal-next .button{justify-self:stretch;}.city-page .municipal-source{margin-block:20px 32px;}.city-page .municipal-empty{padding:20px;}.city-page .municipal-empty .text-link{display:flex;margin-left:0;}}
@media(max-width:620px){.city-page .municipal-grid{grid-template-columns:minmax(0,1fr);gap:27px;}.city-page .municipal-hero-photo{max-width:500px;}.city-page .municipal-card img{max-height:none;}.city-page .municipal-card h3{font-size:var(--t-card);}.city-page .city-card-link{margin-top:0;}.city-page .municipal-refine nav>a{min-width:100px;}}
@media(max-width:480px){.city-page main .page-actions>.button{width:auto;justify-content:center;}.city-page main .page-actions{display:flex;align-items:center;}.city-page .municipal-facts{gap:10px 26px;}.city-page .municipal-hero-photo figcaption>a{font-size:var(--t-small);}.city-page .municipal-refine,.city-page .municipal-next{padding:22px 20px;}.city-page .municipal-filter-actions .button{width:100%;}.city-page .municipal-filters{padding:17px;}.city-page .city-spec{font-size:var(--t-copy);}}
@media(max-width:359px){.city-page .page-hero h1{font-size:var(--t-title);}.city-page .municipal-facts>div{gap:9px;}.city-page .municipal-facts{gap:8px 19px;}.city-page main h2{font-size:var(--t-compact-head);}.city-page .municipal-card h3{font-size:var(--t-card);}}
@media(prefers-reduced-motion:reduce){.city-page main *{scroll-behavior:auto;transition:none;animation:none;}}
@media print{.city-page .municipal-filters,.city-page .municipal-backlinks{display:none!important;}.city-page .municipal-card[hidden]{display:none!important;}.city-page .municipal-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.city-page .page-hero-inner{display:block;}.city-page .municipal-hero-photo{max-width:300px;}.city-page .municipal-next,.city-page .municipal-refine{background:transparent;border:1px solid #ccc;}}
