/* City directory only: native links remain usable before filtering is ready. */
.cities-page .page-hero{margin-bottom:0;}
.cities-page .page-hero-inner{grid-template-columns:minmax(0,1fr) 300px;gap:42px;min-height:0;padding-block:32px 36px;}
.cities-page .page-hero-copy{display:block;grid-column:1;grid-row:1;min-width:0;}
.cities-page .page-hero-art{grid-column:2;grid-row:1;width:100%;max-height:250px;object-fit:contain;}
.cities-page .page-hero h1{margin-top:16px;}
.cities-page .page-hero h1>em{display:block;}
.cities-page .page-hero .page-lead{max-width:43em;margin-top:18px;line-height:2.05;}
.cities-page .page-hero .page-actions{margin-top:22px;}
.cities-page .button{font-size:var(--t-ui);line-height:1.75;min-width:0;max-width:100%;}
.cities-page main .button.blue{background:linear-gradient(115deg,#0667b6,#0871bc);border-color:#0667b6;}
.cities-page main .button.blue:hover,.cities-page main .button.blue:focus-visible{background:linear-gradient(115deg,#005aa3,#0667b6);border-color:#005aa3;}
.cities-page main .button.blue:before{display:none;}
.cities-page .text-link{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:44px;font-size:var(--t-ui);line-height:1.75;text-wrap:pretty;}
.cities-page .text-link>.icon{width:20px;height:20px;flex:0 0 20px;}
.cities-page .cities-scope-note{border-block:1px solid var(--line);padding-block:18px 20px;margin-bottom:34px;font-size:var(--t-small);line-height:1.8;}
.cities-page .cities-scope-note p{max-width:48em;text-wrap:pretty;line-break:strict;}
.cities-page .cities-scope-note p+p{margin-top:8px;}
.cities-page .cities-scope-note strong{display:block;font-weight:600;margin-bottom:4px;}
.cities-page .city-finder,.cities-page .city-region-group,.cities-page .city-results-heading,.cities-page .city-how-to{scroll-margin-top:120px;}
.cities-page .city-finder-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 30px;margin-bottom:22px;}
.cities-page .city-finder-heading h2,.cities-page .city-how-to h2,.cities-page .city-next h2{font-size:var(--t-section);line-height:1.6;margin:8px 0 0;text-wrap:pretty;}
.cities-page .city-region-jumps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px 12px;margin-bottom:24px;}
.cities-page .city-region-jumps>a{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:11px 13px;background:#eef6fb;border:1px solid #d6e6ef;border-radius:5px;font-size:var(--t-copy);line-height:1.8;}
.cities-page .city-region-index{font-size:var(--t-ui);font-weight:600;color:#3d6177;flex:0 0 auto;}
.cities-page .city-region-jumps>a:hover{background:#e4f3ed;border-color:#b4d6c4;}
.cities-page .city-region-jumps>a>span:last-child{min-width:0;}
.cities-page .city-basic-note{font-size:var(--t-small);line-height:1.8;margin:18px 0 24px;max-width:52em;}
.cities-page .city-search-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:start;gap:18px 24px;padding:24px 26px;background:#f2f8fc;border-block:1px solid #d5e6f0;}
.cities-page .city-search-form[hidden]{display:none;}
.cities-page .city-search-form:not([hidden])+.city-region-jumps{margin-top:24px;}
.cities-page .city-search-form>div{min-width:0;}
.cities-page .city-search-form label{display:block;font-size:var(--t-label);font-weight:600;line-height:1.75;margin-bottom:9px;}
.cities-page .city-query-input{display:flex;align-items:center;gap:10px;border:1px solid #b9d2e0;border-radius:5px;background:#fff;min-height:52px;padding-inline:14px;}
.cities-page .city-query-input>.icon{width:20px;height:20px;color:#417c9c;}
.cities-page .city-query-input input{border:0;width:100%;min-width:0;font-size:var(--t-input);line-height:1.75;padding:11px 0;min-height:50px;background:#fff;}
.cities-page .city-query-input:focus-within{outline:2px solid #3e8d6e;outline-offset:2px;}
.cities-page .city-query-input input:focus-visible{outline:0;}
.cities-page .city-query-field>p{font-size:var(--t-small);line-height:1.8;margin-top:8px;color:#4e6d7f;}
.cities-page .city-region-field select{width:100%;min-height:52px;padding:11px 12px;font-size:var(--t-input);line-height:1.75;border:1px solid #b9d2e0;background:#fff;}
.cities-page .city-filter-actions{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding-top:38px;}
.cities-page .city-filter-actions .button{padding:11px 18px;gap:12px;}
.cities-page .city-filter-actions .text-link{font-weight:500;}
.cities-page .city-results-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:7px 24px;margin-block:25px 24px;}
.cities-page #city-result-count{font-size:var(--t-small);font-weight:600;line-height:1.8;font-variant-numeric:tabular-nums;}
.cities-page .city-results-heading>p:last-child{font-size:var(--t-ui);line-height:1.75;color:#4e6d7f;}
.cities-page .city-region-group{margin-top:34px;padding-top:20px;border-top:2px solid #b9d7e8;}
.cities-page .city-region-group:first-child{margin-top:0;}
.cities-page .city-region-heading{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:12px 18px;margin-bottom:14px;}
.cities-page .city-region-heading>div{min-width:0;}
.cities-page .city-region-number{font-size:var(--t-copy);line-height:1.8;color:#547a91;font-weight:600;align-self:start;padding-top:5px;}
.cities-page .city-region-heading h3{font-size:var(--t-subhead);line-height:1.6;margin:0 0 3px;}
.cities-page .city-region-heading p{font-size:var(--t-ui);line-height:1.75;color:#526c7c;}
.cities-page .municipality-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;margin:0;padding:0;border-top:1px solid var(--line);}
.cities-page .municipality-list>li{min-width:0;border-bottom:1px solid var(--line);margin:0;padding:0;}
.cities-page .municipality-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 12px;min-height:79px;max-width:100%;transition:background .18s,color .18s;}
.cities-page .municipality-list a:hover{background:#f0f8f4;color:#17694f;}
.cities-page .municipality-label{min-width:0;display:block;}
.cities-page .municipality-name{display:block;font-size:var(--t-small-head);font-weight:600;line-height:1.6;overflow-wrap:break-word;line-break:strict;}
.cities-page .municipality-parent{display:block;font-size:var(--t-ui);line-height:1.75;color:#526f81;}
.cities-page .municipality-link-end{display:flex;align-items:center;gap:9px;flex:0 0 auto;color:#356d8c;}
.cities-page .municipality-count{font-size:var(--t-small);line-height:1.8;font-variant-numeric:tabular-nums;}
.cities-page .municipality-count strong{font-size:var(--t-body);font-weight:600;margin-right:2px;}
.cities-page .municipality-link-end>.icon{width:18px;height:18px;}
.cities-page .city-region-empty{display:flex;align-items:center;justify-content:space-between;gap:16px 30px;background:#fbf7ed;padding:20px 24px;}
.cities-page .city-region-empty p{max-width:46em;font-size:var(--t-body);line-height:1.9;min-width:0;text-wrap:pretty;}
.cities-page .city-region-empty strong{display:block;font-weight:600;margin-bottom:5px;}
.cities-page .city-region-empty .text-link{flex:0 0 auto;}
.cities-page .city-no-results{padding:30px 26px;background:#f3f9fc;border:1px solid #d8e8f1;border-radius:7px;}
.cities-page .city-no-results>.icon{width:30px;height:30px;color:#4383a4;margin-bottom:9px;}
.cities-page .city-no-results h3{font-size:var(--t-small-head);line-height:1.6;margin-bottom:12px;text-wrap:pretty;}
.cities-page .city-no-results p{max-width:46em;font-size:var(--t-body);line-height:1.9;text-wrap:pretty;}
.cities-page .city-no-results p+p{margin-top:9px;}
.cities-page .city-no-results .button{margin-top:20px;}
.cities-page .city-directory-source{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:var(--t-small);line-height:1.8;color:#526c7c;}
.cities-page .city-directory-source p{max-width:58em;}
.cities-page .city-directory-source p+p{margin-top:8px;}
.cities-page .city-directory-source a{text-decoration:underline;text-underline-offset:4px;}
.cities-page .city-how-to{margin-block:52px 40px;}
.cities-page .city-choice-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 34px;margin:24px 0 0;padding:24px 0;border-block:1px solid var(--line);}
.cities-page .city-choice-steps>li{min-width:0;margin:0;padding:0;}
.cities-page .city-step-art{display:block;width:86px;height:auto;aspect-ratio:96/80;margin-bottom:12px;}
.cities-page .city-choice-steps h3{font-size:var(--t-small-head);line-height:1.6;margin:0 0 9px;}
.cities-page .city-choice-steps p{font-size:var(--t-body);line-height:1.9;text-wrap:pretty;}
.cities-page .city-choice-steps p+p{margin-top:10px;}
.cities-page .city-next{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 40px;padding-block:28px;margin-bottom:64px;}
.cities-page .city-next>div{min-width:0;}
.cities-page .city-next p:not(.eyebrow){font-size:var(--t-small);line-height:1.8;max-width:45em;margin-top:15px;text-wrap:pretty;}
.cities-page .city-next p+p:not(.eyebrow){margin-top:9px;}
.cities-page .city-next-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.cities-page .city-finder:focus-visible,.cities-page .city-region-group:focus-visible,.cities-page .city-results-heading:focus-visible,.cities-page a:focus-visible,.cities-page button:focus-visible,.cities-page select:focus-visible{outline:3px solid #208660;outline-offset:4px;}
@media(max-width:1120px){
 .cities-page .page-hero-inner{grid-template-columns:minmax(0,1fr) 240px;gap:30px;}
 .cities-page .city-finder-heading{align-items:flex-start;flex-direction:column;gap:6px;}
 .cities-page .city-region-jumps{grid-template-columns:repeat(3,minmax(0,1fr));}
 .cities-page .city-search-form{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px 22px;}
 .cities-page .city-filter-actions{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px 24px;padding:0;}
 .cities-page .city-next{grid-template-columns:minmax(0,1fr);gap:20px;}
 .cities-page .city-next-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px 24px;}
}
@media(max-width:960px){
 .cities-page .page-hero-inner{grid-template-columns:minmax(0,1fr) 200px;gap:26px;}
 .cities-page .municipality-list{grid-template-columns:repeat(2,minmax(0,1fr));}
 .cities-page .city-region-empty{flex-wrap:wrap;gap:10px 24px;}
}
@media(max-width:767px){
 .cities-page .page-hero-inner{grid-template-columns:minmax(0,1fr) 128px;gap:16px;padding-block:24px 28px;}
 .cities-page .page-hero-copy{display:contents;}
 .cities-page .page-hero .page-hero-meta{grid-column:1;grid-row:1;}
 .cities-page .page-hero-art{grid-column:2;grid-row:1;max-height:112px;}
 .cities-page .page-hero h1{grid-column:1/-1;grid-row:2;margin:0;}
 .cities-page .page-hero .page-lead{grid-column:1/-1;grid-row:3;max-width:none;margin:0;}
 .cities-page .page-hero .page-actions{grid-column:1/-1;grid-row:4;margin:2px 0 0;}
 .cities-page .cities-scope-note{margin-bottom:28px;padding-block:17px;}
 .cities-page .city-finder,.cities-page .city-region-group,.cities-page .city-results-heading,.cities-page .city-how-to{scroll-margin-top:100px;}
 .cities-page .city-finder-heading h2,.cities-page .city-how-to h2,.cities-page .city-next h2{font-size:var(--t-section);}
 .cities-page .city-region-jumps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-bottom:21px;}
 .cities-page .city-search-form{padding:21px 20px;gap:17px 20px;}
 .cities-page .city-region-group{margin-top:30px;padding-top:17px;}
 .cities-page .city-region-heading{grid-template-columns:28px minmax(0,1fr);gap:5px 12px;}
 .cities-page .city-region-number{grid-column:1;grid-row:1/3;padding-top:3px;}
 .cities-page .city-region-heading>div{grid-column:2;grid-row:1;}
 .cities-page .city-region-heading>.text-link{grid-column:2;grid-row:2;min-height:44px;}
 .cities-page .city-region-heading h3{font-size:var(--t-small-head);}
 .cities-page .city-how-to{margin-block:38px 26px;}
 .cities-page .city-choice-steps{grid-template-columns:minmax(0,1fr);gap:0;padding:0;}
 .cities-page .city-choice-steps>li{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:13px 20px;padding-block:22px;}
 .cities-page .city-choice-steps>li+li{border-top:1px solid var(--line);}
 .cities-page .city-step-art{grid-column:1;grid-row:1;width:70px;margin:0;}
 .cities-page .city-choice-steps h3{grid-column:2;grid-row:1;font-size:var(--t-small-head);margin:0;}
 .cities-page .city-choice-steps p{grid-column:1/-1;grid-row:auto;}
 .cities-page .city-choice-steps p+p{margin-top:0;}
 .cities-page .city-next{margin-bottom:48px;padding-block:22px;}
}
@media(max-width:620px){
 .cities-page .city-search-form{grid-template-columns:minmax(0,1fr);}
 .cities-page .municipality-list{grid-template-columns:minmax(0,1fr);}
 .cities-page .municipality-list a{padding:14px 12px;min-height:74px;}
 .cities-page .city-region-empty{padding:19px 20px;}
}
@media(max-width:480px){
 .cities-page .page-hero-inner{grid-template-columns:minmax(0,1fr) 108px;column-gap:14px;}
 .cities-page .page-hero-art{max-height:100px;}
 .cities-page .city-region-jumps>a{padding:10px 11px;gap:8px;}
 .cities-page .city-next-actions{align-items:stretch;flex-direction:column;}
 .cities-page .city-next-actions .button,.cities-page .city-filter-actions .button,.cities-page .city-no-results .button{width:100%;justify-content:space-between;text-align:left;padding-inline:17px;}
 .cities-page .city-filter-actions{align-items:stretch;flex-direction:column;gap:7px;}
 .cities-page .city-filter-actions>.text-link{align-self:flex-start;}
}
@media(max-width:359px){
 .cities-page .page-hero-inner{grid-template-columns:minmax(0,1fr) 96px;column-gap:12px;}
 .cities-page .page-hero-art{max-height:92px;}
 .cities-page .city-region-jumps>a{padding-inline:9px;gap:7px;}
 .cities-page .city-region-index{display:none;}
 .cities-page .city-search-form,.cities-page .city-no-results{padding:18px 16px;}
 .cities-page .city-region-empty{padding:18px;}
 .cities-page .municipality-list a{padding-inline:10px;}
}
@media print{
 .cities-page .page-hero-inner,.cities-page .page-hero-copy,.cities-page .city-next{display:block;}
 .cities-page .page-hero-art,.cities-page .city-search-form,.cities-page .city-region-jumps{display:none;}
 .cities-page .city-region-group{break-inside:avoid;}
 .cities-page .city-choice-steps{grid-template-columns:repeat(3,minmax(0,1fr));}
 .cities-page .city-choice-steps>li{display:block;}
 .cities-page .city-step-art{width:86px;margin-bottom:12px;}
 .cities-page .city-choice-steps h3{margin-bottom:9px;}
 .cities-page .city-next-actions{margin-top:20px;}
}
