/* Municipal area finder: restrained colours, real boundaries, no map service dependency. */
.area-search{margin:42px 0 58px;color:#272d2b;scroll-margin-top:125px}
.area-search-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.area-search-heading .eyebrow{margin:0 0 10px;font-size:10px;letter-spacing:.16em}
.area-search-heading h3{margin:0;font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.5}
.area-search-heading>p{margin:0;font-size:12px;line-height:1.9;color:#707671}
.area-search-heading>p span{display:block}
.area-search-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;align-items:start}
.area-map-shell{position:relative;min-width:0;background:#f2f4f1;padding:18px 18px 12px}
.area-map-legend{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#5f6761;letter-spacing:.07em}
.area-map-legend i{display:inline-block;width:12px;height:12px;vertical-align:-2px;margin-right:8px;background:#d8eaf3;border:1px solid #9bb8c8}
.map-compass{font-size:13px;letter-spacing:.1em}
.area-map-viewport{width:100%;aspect-ratio:775/724;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aeb4ae transparent;touch-action:pan-x pan-y}
.area-map{display:block;width:100%;max-width:none;height:auto;overflow:hidden}
.map-region path{fill:#fafbf8;stroke:#8f9991;stroke-width:.8;stroke-linejoin:round;transition:fill .2s,stroke .2s}
.map-region.has-listings path{fill:#d8eaf3}
.map-region:is(:hover,:focus-visible,.is-highlighted,.is-selected) path{fill:var(--sakura);stroke:var(--hover-focus);stroke-width:1.7}
.map-region:focus-visible{outline:none}
.map-place{text-decoration:none!important;color:#353d36}
.map-place>text{font-family:inherit;font-weight:600;font-size:14px;fill:#353d36;stroke:#fff;stroke-width:3px;paint-order:stroke;stroke-linejoin:round;transition:fill .2s}
.map-place:is(:hover,.is-highlighted,.is-selected)>text{fill:var(--sakura-ink)}
.map-count rect{fill:#fff;stroke:#bfac94;stroke-width:.7}
.map-count text{font:600 12px Arial,sans-serif;fill:#453e34}
.map-water-label{font:11px Arial,sans-serif;letter-spacing:4px;fill:#94a29b}
.area-map-tools{display:flex;align-items:center;gap:7px;justify-content:flex-end;padding-top:12px}
.area-map-tools[hidden]{display:none}
.area-map-tools>span{font-size:10px;color:#6c746e;margin-right:auto}
.area-map-tools button{display:grid;place-items:center;min-width:36px;height:36px;padding:0 9px;border:1px solid #b7bfb8;background:#fff;color:#333c36;font:inherit;font-size:13px;cursor:pointer}
.area-map-tools button:is(:hover,:focus-visible):not(:disabled){background:#272d2b;color:#fff}
.area-map-tools button:disabled{opacity:.35;cursor:default}
.map-source{font-size:9px;line-height:1.6;color:#747c76;margin:12px 0 0}
.map-source a{text-decoration:underline;text-underline-offset:2px}
.area-picker-title{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.06em}
.area-group{border-top:1px solid #d4d9d4}
.area-group summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:49px;font-size:13px;font-weight:600;list-style:none}
.area-group summary::-webkit-details-marker{display:none}
.area-group summary span{font-size:17px;font-weight:400;transition:transform .2s}
.area-group[open] summary span{transform:rotate(45deg)}
.area-links{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;padding:0 0 18px}
.area-links a{display:flex;align-items:center;justify-content:space-between;min-height:32px;gap:4px;padding:3px 4px;font-size:12px;text-decoration:none;color:#4a524c;border-bottom:1px solid #edf0eb;transition:background .2s,color .2s}
.area-links a small{font-size:10px;min-width:17px;text-align:center;color:#80887f}
.area-links a:is(:hover,:focus-visible,.is-selected,.is-highlighted){background:var(--sakura-wash);color:var(--sakura-ink)}
.area-links a.is-selected small{color:var(--sakura-ink)}
.area-show-all{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding:15px 0;border-block:1px solid #d4d9d4;font-size:12px;font-weight:600}
.area-show-all span{white-space:nowrap}
.area-picker-note{font-size:11px;line-height:1.9;color:#747b76;margin:22px 0 10px}
.area-picker .under-link{font-size:11px}
.area-map-section{padding-top:0;padding-bottom:0}
.area-map-section+.listing-section{padding-top:20px}
.property-results-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:28px;scroll-margin-top:140px}
.property-results-heading:focus{outline:none}
.property-results-heading h2{margin:0;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.5}
.property-results-heading p{margin:0;font-size:12px;white-space:nowrap}
.listing-section .property-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.listing-section .property-filters .reset-link{align-self:end;min-height:44px}
.home-section>.area-search{margin-bottom:46px}
.home-properties-label{font-size:12px;letter-spacing:.04em;margin:28px 0 20px;color:#666e67}
@media(min-width:1400px){.area-search-grid{grid-template-columns:minmax(0,1fr) 310px;gap:50px}.area-links a{min-height:36px;font-size:13px}}
@media(max-width:850px){.area-search-grid{grid-template-columns:minmax(0,1fr) 232px;gap:20px}.area-map-shell{padding:14px 8px 10px}.area-links{column-gap:8px}.area-links a{font-size:11px}.map-place>text{font-size:15px}}
@media(max-width:680px){
 .area-search{margin:28px 0 40px}.area-search-heading{display:block;margin-bottom:20px}.area-search-heading>p{margin-top:12px;font-size:11px}.area-search-heading>p span{display:inline;margin-left:7px}
 .area-search-grid{grid-template-columns:1fr;gap:24px}.area-map-shell{margin:0 -8px;padding:14px 8px 10px}.area-map-legend{font-size:9px;padding:0 6px}.area-map-tools{padding:8px 6px 0}.map-source{padding:0 6px;font-size:8px}
 .map-place>text{font-size:15px;stroke-width:3.5}.map-count text{font-size:13px}.area-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 12px}.area-links a{font-size:12px;min-height:38px}.area-group summary{min-height:52px}.area-picker-title{margin-bottom:8px}
 .area-picker-note{margin-top:18px}.listing-section .property-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.property-results-heading{display:block}.property-results-heading p{margin-top:10px}
}
@media(prefers-reduced-motion:reduce){.area-search *{transition:none!important;scroll-behavior:auto!important}}
