/* Build-time city/region relationships; zero runtime map JavaScript. */
[data-map-interaction="city"] a[data-location] { cursor: pointer; }
[data-map-interaction="city"] :is(.sc-geography,.sc-north,.sc-feature,.sp-business-context,.sp-orientation-lenses,.r2-map-water,.r2-map-shore,.r2-map-lake,.r2-map-compass) { pointer-events: none; }
[data-map-interaction="city"] .mi-key { display: inline-flex; align-items: center; gap: 6px; color: #53616a; font-size: 12px; line-height: 1.7; white-space: nowrap; }
[data-map-interaction="city"] .mi-key::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #806331; margin-right: 3px; }
[data-map-interaction="city"] .mi-key > span { display: inline; }
.wave3-service .sp-map-sheet figcaption > .mi-key { display: inline-flex; }
[data-map-interaction="city"] :is(.sc-city,.r2-map-city) { transition: opacity 160ms ease; }
[data-map-interaction="city"] :is(.sc-dot,.r2-map-dot) { fill: #806331; }
[data-map-interaction="city"] :is(.sc-halo,.r2-map-halo) { pointer-events: none; }
[data-map-interaction="city"] .r2-map-overview .r2-map-city[data-emphasis="secondary"] .r2-map-hit { pointer-events: none; }
[data-map-interaction="city"] .sc-dot { r: 5px; }
[data-map-interaction="city"] :is(.sc-city,.r2-map-city):focus-visible { outline: none; }
[data-map-interaction="city"] :is(.sc-city,.r2-map-city):focus-visible :is(.sc-hit,.r2-map-hit) { stroke: #806331; stroke-width: 2px; }
[data-map-interaction="city"] a[data-location]:not(.sc-city,.r2-map-city):focus-visible { outline: 2px solid #806331; outline-offset: 4px; }
/* Overview dots are links too; only labels use progressive disclosure. */
[data-map-interaction="city"] :is(.sl-landscape,.sc-corridor-wide) .sc-city[data-emphasis="secondary"] :is(.sc-label,.sc-leader),
[data-map-interaction="city"] .r2-map-overview .r2-map-city[data-emphasis="secondary"] :is(text,.r2-map-leader) { opacity: 0; pointer-events: none; }
[data-map-interaction="city"] .sc-city[data-emphasis="secondary"] .sc-hit { x: -30px; y: -30px; width: 60px; height: 60px; pointer-events: none; }
[data-map-interaction="city"] :is(.sl-landscape,.sc-corridor-wide) .sc-map:has(.sc-city:is(:hover,:focus-visible)) .sc-city:not(:hover,:focus-visible) .sc-label { opacity: 0; }
[data-map-interaction="city"] .r2-map-overview:has(.r2-map-city:is(:hover,:focus-visible)) .r2-map-city:not(:hover,:focus-visible) text { opacity: 0; }
@media (max-width: 700px) {
 [data-map-interaction="city"] .sl-landscape .sc-label { font-size: 44px; }
 [data-map-interaction="city"] .r2-map-overview .r2-map-dot { r: 5px; }
}
@media (prefers-reduced-motion: reduce) { [data-map-interaction="city"] * { transition: none; animation: none; } }
[data-map-interaction="city"]:has(a[data-interaction-region="gta"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-interaction-region="gta"] :is(.sc-halo,.r2-map-halo) { opacity: .1; }
[data-map-interaction="city"]:has(a[data-interaction-region="halton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-interaction-region="halton"] :is(.sc-halo,.r2-map-halo) { opacity: .1; }
[data-map-interaction="city"]:has(a[data-interaction-region="hamilton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-interaction-region="hamilton"] :is(.sc-halo,.r2-map-halo) { opacity: .1; }
[data-map-interaction="city"]:has(a[data-interaction-region="niagara"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-interaction-region="niagara"] :is(.sc-halo,.r2-map-halo) { opacity: .1; }
[data-map-interaction="city"]:has(a[data-location="vaughan"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="vaughan"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="vaughan"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="vaughan"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="vaughan"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="vaughan"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="vaughan"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="vaughan"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="vaughan"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="vaughan"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="vaughan"]:is(:hover,:focus-visible)) a[data-location="vaughan"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="vaughan"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="vaughan"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="vaughan"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="vaughan"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="markham"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="markham"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="markham"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="markham"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="markham"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="markham"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="markham"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="markham"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="markham"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="markham"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="markham"]:is(:hover,:focus-visible)) a[data-location="markham"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="markham"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="markham"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="markham"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="markham"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="toronto"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="toronto"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="toronto"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="toronto"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="toronto"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="toronto"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="toronto"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="toronto"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="toronto"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="toronto"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="toronto"]:is(:hover,:focus-visible)) a[data-location="toronto"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="toronto"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="toronto"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="toronto"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="toronto"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="mississauga"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="mississauga"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="mississauga"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="mississauga"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="mississauga"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="mississauga"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="mississauga"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="mississauga"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="mississauga"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="mississauga"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="mississauga"]:is(:hover,:focus-visible)) a[data-location="mississauga"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="mississauga"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="mississauga"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="mississauga"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="mississauga"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="milton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="milton"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="milton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="milton"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="milton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="milton"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="milton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="milton"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="milton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="milton"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="milton"]:is(:hover,:focus-visible)) a[data-location="milton"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="milton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="milton"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="milton"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="milton"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="oakville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="oakville"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="oakville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="oakville"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="oakville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="oakville"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="oakville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="oakville"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="oakville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="oakville"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="oakville"]:is(:hover,:focus-visible)) a[data-location="oakville"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="oakville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="oakville"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="oakville"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="oakville"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="burlington"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="burlington"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="burlington"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="burlington"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="burlington"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="burlington"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="burlington"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="burlington"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="burlington"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="burlington"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="burlington"]:is(:hover,:focus-visible)) a[data-location="burlington"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="burlington"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="burlington"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="burlington"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="burlington"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="waterdown"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="waterdown"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="waterdown"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="waterdown"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="waterdown"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="waterdown"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="waterdown"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="waterdown"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="waterdown"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="waterdown"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="waterdown"]:is(:hover,:focus-visible)) a[data-location="waterdown"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="waterdown"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="waterdown"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="waterdown"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="waterdown"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="dundas"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="dundas"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="dundas"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="dundas"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="dundas"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="dundas"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="dundas"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="dundas"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="dundas"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="dundas"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="dundas"]:is(:hover,:focus-visible)) a[data-location="dundas"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="dundas"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="dundas"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="dundas"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="dundas"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="ancaster"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="ancaster"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="ancaster"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="ancaster"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="ancaster"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="ancaster"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="ancaster"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="ancaster"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="ancaster"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="ancaster"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="ancaster"]:is(:hover,:focus-visible)) a[data-location="ancaster"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="ancaster"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="ancaster"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="ancaster"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="ancaster"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="hamilton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="hamilton"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="hamilton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="hamilton"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="hamilton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="hamilton"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="hamilton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="hamilton"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="hamilton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="hamilton"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="hamilton"]:is(:hover,:focus-visible)) a[data-location="hamilton"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="hamilton"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="hamilton"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="hamilton"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="hamilton"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="stoney-creek"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="stoney-creek"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="stoney-creek"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="stoney-creek"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="stoney-creek"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="stoney-creek"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="stoney-creek"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="stoney-creek"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="stoney-creek"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="stoney-creek"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="stoney-creek"]:is(:hover,:focus-visible)) a[data-location="stoney-creek"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="stoney-creek"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="stoney-creek"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="stoney-creek"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="stoney-creek"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="grimsby"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="grimsby"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="grimsby"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="grimsby"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="grimsby"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="grimsby"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="grimsby"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="grimsby"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="grimsby"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="grimsby"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="grimsby"]:is(:hover,:focus-visible)) a[data-location="grimsby"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="grimsby"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="grimsby"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="grimsby"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="grimsby"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="lincoln"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="lincoln"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="lincoln"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="lincoln"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="lincoln"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="lincoln"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="lincoln"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="lincoln"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="lincoln"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="lincoln"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="lincoln"]:is(:hover,:focus-visible)) a[data-location="lincoln"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="lincoln"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="lincoln"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="lincoln"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="lincoln"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="beamsville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="beamsville"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="beamsville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="beamsville"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="beamsville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="beamsville"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="beamsville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="beamsville"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="beamsville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="beamsville"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="beamsville"]:is(:hover,:focus-visible)) a[data-location="beamsville"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="beamsville"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="beamsville"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="beamsville"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="beamsville"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="st-catharines"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="st-catharines"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="st-catharines"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="st-catharines"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="st-catharines"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="st-catharines"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="st-catharines"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="st-catharines"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="st-catharines"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="st-catharines"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="st-catharines"]:is(:hover,:focus-visible)) a[data-location="st-catharines"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="st-catharines"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="st-catharines"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="st-catharines"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="st-catharines"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="niagara-on-the-lake"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="niagara-on-the-lake"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="niagara-on-the-lake"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="niagara-on-the-lake"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="niagara-on-the-lake"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="niagara-on-the-lake"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="niagara-on-the-lake"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="niagara-on-the-lake"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="niagara-on-the-lake"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="niagara-on-the-lake"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="niagara-on-the-lake"]:is(:hover,:focus-visible)) a[data-location="niagara-on-the-lake"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="niagara-on-the-lake"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="niagara-on-the-lake"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="niagara-on-the-lake"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="niagara-on-the-lake"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="thorold"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="thorold"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="thorold"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="thorold"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="thorold"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="thorold"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="thorold"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="thorold"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="thorold"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="thorold"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="thorold"]:is(:hover,:focus-visible)) a[data-location="thorold"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="thorold"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="thorold"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="thorold"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="thorold"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="niagara-falls"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="niagara-falls"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="niagara-falls"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="niagara-falls"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="niagara-falls"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="niagara-falls"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="niagara-falls"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="niagara-falls"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="niagara-falls"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="niagara-falls"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="niagara-falls"]:is(:hover,:focus-visible)) a[data-location="niagara-falls"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="niagara-falls"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="niagara-falls"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="niagara-falls"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="niagara-falls"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="welland"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="welland"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="welland"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="welland"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="welland"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="welland"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="welland"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="welland"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="welland"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="welland"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="welland"]:is(:hover,:focus-visible)) a[data-location="welland"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="welland"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="welland"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="welland"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="welland"]) :is(.sc-label,text) { opacity: 0; }

[data-map-interaction="city"]:has(a[data-location="fort-erie"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="fort-erie"] { opacity: 1; }
[data-map-interaction="city"]:has(a[data-location="fort-erie"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="fort-erie"] :is(.sc-label,text,.sc-leader,.r2-map-leader) { opacity: 1; fill: #725421; }
[data-map-interaction="city"]:has(a[data-location="fort-erie"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="fort-erie"] :is(.sc-label,text) { pointer-events: auto; text-decoration: underline; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="fort-erie"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="fort-erie"] :is(.sc-halo,.r2-map-halo) { opacity: .4; }
[data-map-interaction="city"]:has(a[data-location="fort-erie"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city)[data-location="fort-erie"] :is(.sc-dot,.r2-map-dot) { r: 7px; }
[data-map-interaction="city"]:has(a[data-location="fort-erie"]:is(:hover,:focus-visible)) a[data-location="fort-erie"]:not(.sc-city,.r2-map-city) { color: #725421; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
[data-map-interaction="city"]:has(a[data-location="fort-erie"]:is(:hover,:focus-visible)) :is(.sc-city,.r2-map-city):not([data-location="fort-erie"]) { opacity: .7; }
[data-map-interaction="city"]:has(a[data-location="fort-erie"]:is(:hover,:focus-visible)) :is(.sp-map-sheet,.sl-landscape,.sc-corridor-wide,.r2-map-overview) :is(.sc-city,.r2-map-city):not([data-location="fort-erie"]) :is(.sc-label,text) { opacity: 0; }

/* Permanent service standard: one named overview / three open regional maps.
   These opt-in roots do not change the approved homepage desktop drawing. */
[data-cartography-standard] { --cs-paper: #f8f7f2; --cs-water: #e5eae7; --cs-ink: #162c3e; --cs-point: #887447; background: var(--cs-paper); }
.cs-cartography { padding: clamp(64px, 7vw, 104px) 0; }
.cs-cartography .cs-container { width: calc(100% - 80px); max-width: 1240px; margin-inline: auto; }
.cs-cartography .cs-heading { max-width: 850px; margin-bottom: 30px; }
.cs-cartography .cs-eyebrow { display: block; margin-bottom: 22px; color: #6c654f; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.cs-cartography h2 { font-size: clamp(32px, 3.4vw, 48px); font-weight: 400; line-height: 1.22; margin: 0 0 24px; color: var(--cs-ink); }
.cs-cartography .cs-lead { color: var(--cs-ink); font-size: 22px; line-height: 1.55; margin-bottom: 16px; }
.cs-cartography .cs-heading > p:last-child { max-width: 780px; color: #53616a; font-size: 15px; line-height: 1.8; }
[data-cartography-standard] :is(.cs-desktop,.cs-regional-sheet) { margin: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
[data-cartography-standard] .cs-mobile { display: none; }
[data-cartography-standard] .cs-sheet-title { color: #53616a; font-size: 14px; margin-bottom: 18px; }
[data-cartography-standard] .cs-map { display: block; width: 100%; height: auto; overflow: visible; }
[data-cartography-standard] .cs-geography, [data-cartography-standard] .cs-north { pointer-events: none; }
[data-cartography-standard] .cs-water { fill: var(--cs-water); }
[data-cartography-standard] .cs-shore { fill: none; stroke: #8d9f9e; stroke-width: 1.25; }
[data-cartography-standard] .cs-feature-line { fill: none; stroke: #a4b1ac; stroke-width: 1.5; }
[data-cartography-standard] .cs-canal { stroke-dasharray: 4 4; }
[data-cartography-standard] .cs-feature { fill: #536760; font: 14px var(--font-main, Montserrat, sans-serif); letter-spacing: .08em; }
[data-cartography-standard] .cs-north { fill: #536760; font: 12px var(--font-main, Montserrat, sans-serif); }
[data-cartography-standard] .cs-north path { fill: none; stroke: currentColor; stroke-width: 1; }
[data-cartography-standard] .cs-region { outline: none; transition: opacity 220ms ease-in-out; }
[data-cartography-standard] .cs-region-name { fill: #61706a; font: 15px var(--font-main, Montserrat, sans-serif); letter-spacing: .12em; }
[data-cartography-standard] .sc-city { cursor: pointer; color: var(--cs-ink); outline: none; text-decoration: none; transition: opacity 220ms ease-in-out; }
[data-cartography-standard] .cs-label { opacity: 1; visibility: visible; fill: var(--cs-ink); font: 20px var(--font-main, Montserrat, sans-serif); paint-order: stroke; stroke: var(--cs-paper); stroke-width: 5; stroke-linejoin: round; transition: fill 220ms ease-in-out; }
[data-cartography-standard] .cs-dot { fill: var(--cs-point); transition: fill 220ms ease-in-out; }
[data-cartography-standard] .cs-hit { fill: transparent; stroke: transparent; stroke-width: 1.2; }
[data-cartography-standard] .cs-leader { fill: none; stroke: #b2aa97; stroke-width: 1; pointer-events: none; }
[data-cartography-standard] .cs-region:focus-visible .cs-region-name { text-decoration: underline; text-underline-offset: 5px; fill: #58451e; }
[data-cartography-standard] .cs-map:has(.cs-region:is(:hover,:focus-visible,:focus-within)) .cs-region:not(:hover,:focus-visible,:focus-within) { opacity: .78; }
[data-cartography-standard] .cs-region:is(:hover,:focus-visible,:focus-within) .cs-dot { fill: #74592b; }
[data-cartography-standard] .cs-region:is(:hover,:focus-visible,:focus-within) .cs-label { fill: #10273c; }
[data-cartography-standard] .sc-city:is(:hover,:focus-visible) .cs-label { fill: #58451e; text-decoration: underline; text-underline-offset: 5px; }
[data-cartography-standard] .sc-city:is(:hover,:focus-visible) .cs-dot { fill: #58451e; }
[data-cartography-standard] .sc-city:focus-visible .cs-hit { stroke: #806331; }
[data-cartography-standard] .cs-closing { display: flex; flex-wrap: wrap; gap: 18px 32px; margin: 30px 0 0; padding-top: 24px; border-top: 1px solid #d9ddd6; font-size: 14px; }
[data-cartography-standard] .cs-closing a { display: inline-flex; align-items: center; min-height: 44px; color: #58451e; text-underline-offset: 5px; }
[data-cartography-standard] .cs-closing a:focus-visible { outline: 2px solid #806331; outline-offset: 4px; }
.cs-theme--residential { --cs-paper: #f3f5ef; --cs-water: #e4ebe4; }
.cs-theme--project { --cs-paper: #f6f5f0; --cs-water: #e3e9e7; }
.cs-theme--handover { --cs-paper: #f8f5ee; --cs-water: #e4e9e6; }
.cs-theme--textile { --cs-paper: #f5f6f2; --cs-water: #e5eae7; }
.cs-theme--luxury { --cs-paper: #f9f8f3; --cs-water: #e7ebe7; --cs-point: #85794f; }
.cs-theme--office { --cs-paper: #f3f5f4; --cs-water: #e1e8e8; }
/* A 21-name overview needs ~1100px of content width; tablets get regional detail. */
@media (max-width: 1179px) {
 [data-cartography-standard] .cs-desktop { display: none; }
 [data-cartography-standard] .cs-mobile { display: block; }
 [data-cartography-standard] .cs-regional-sheet { max-width: 680px; margin-inline: auto; padding: 34px 0; border-top: 1px solid #d9ddd6; }
 [data-cartography-standard] .cs-regional-sheet h3 { display: flex; gap: 18px; align-items: baseline; margin: 0 0 10px; font-size: 24px; font-weight: 400; color: var(--cs-ink); }
 [data-cartography-standard] .cs-regional-sheet h3 > span { font-size: 11px; letter-spacing: .08em; color: #6b725f; }
 [data-cartography-standard] .cs-regional-sheet .cs-label { font-size: 26px; }
 [data-cartography-standard] .cs-regional-sheet .cs-feature { font-size: 18px; }
}
@media (max-width: 700px) {
 .cs-cartography .cs-container { width: calc(100% - 40px); }
 .cs-cartography .cs-heading { margin-bottom: 24px; }
 [data-cartography-standard] .cs-regional-sheet h3 { font-size: 22px; }
 [data-cartography-standard] .cs-regional-sheet { padding-block: 28px; }
}
@media (prefers-reduced-motion: reduce) {
 [data-cartography-standard] * { transition: none; animation: none; }
}
/* Homepage exception: desktop identity is preserved; only responsive content changes. */
@media (max-width: 1179px) {
 .page-home .r2-areas .r2-map-scroll { display: none; }
 .page-home .r2-areas .r2-mobile-map-group { display: block; }
 .page-home .r2-areas .r2-region-grid { display: none; }
 .page-home .r2-areas .r2-map-pan-note, .page-home .r2-areas .r2-map-region-note { display: none; }
 .page-home [data-cartography-standard="home-regions"] { --cs-paper: #f2efe6; background: transparent; }
}
