/* City links over the existing homepage map. No tile, boundary, or camera changes. */
.home-map__cities{position:absolute;inset:0;z-index:4;pointer-events:none}
.home-map__city{position:absolute;display:flex;align-items:center;justify-content:center;width:44px;height:44px;transform:translate(-50%,-50%);pointer-events:auto;touch-action:pan-y;text-decoration:none;cursor:pointer;border-radius:50%}
.home-map__city[hidden]{display:none}
.home-map__city-dot{display:block;width:14px;height:14px;border:2px solid #ed4561;border-radius:50%;background:#101012;box-shadow:0 0 0 2px #10101288;position:relative}
.home-map__city-dot:after{content:'';position:absolute;inset:3px;border-radius:50%;background:#ed4561}
.home-map__city-label{position:absolute;bottom:calc(50% + 14px);left:50%;transform:translateX(-50%);padding:5px 9px;border:1px solid hsl(var(--border));border-radius:3px;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12px;line-height:1.4;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0}
.home-map__city:hover,.home-map__city:focus-visible{z-index:1}
.home-map__city:hover .home-map__city-label,.home-map__city:focus-visible .home-map__city-label{opacity:1}
.home-map__city:hover .home-map__city-dot,.home-map__city:focus-visible .home-map__city-dot{border-color:#fff}
.home-map__city:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:0}
.home-map__zoom,.home-map__attr{z-index:5}
/* Desktop, short viewports: tighten the side panel so the map borders and panel fit under the sticky header. */
@media(min-width:1024px) and (max-height:960px){main .home-places a{padding:.2rem 0;line-height:1.35}.home-places{margin-top:.8rem;padding-bottom:.5rem}.home-area__title{font-size:2.25rem}.home-area__cta{padding-top:.75rem;padding-bottom:.75rem}}
