/* Geographic map: official EPSG:3346 geometry; no tile server or tracking. */
@layer editorial {
 #main-content.home-page .home-hero-visual.home-geographic-map { align-self:center!important; width:100%!important; min-width:0!important; margin:0!important; color:#294536!important; }
 #main-content .home-geographic-map .home-map-title { font:600 18px/1.4 var(--font-body,sans-serif)!important; margin:0 0 8px!important; color:#294536!important; }
 #main-content .home-geographic-map .home-region-map { display:block!important; width:100%!important; height:auto!important; aspect-ratio:1000/680!important; transform:none!important; border:1px solid #d7e1d8!important; border-radius:5px!important; overflow:visible!important; }
 #main-content .home-region-map text { font-family:var(--font-body,sans-serif)!important; fill:#294536!important; paint-order:stroke; stroke:#fafffa; stroke-width:3px; stroke-linejoin:round; }
 #main-content .home-region-map .home-map-region-name { font-size:22px!important; font-weight:700!important; dominant-baseline:middle; }
 #main-content .home-region-map .home-map-city-name { font-size:21px!important; font-weight:500!important; dominant-baseline:middle; }
 #main-content .home-geographic-map .home-map-zoom { display:flex!important; align-items:center!important; width:max-content!important; max-width:100%!important; gap:8px!important; min-height:44px!important; padding:4px 8px!important; margin:0 0 4px!important; color:#294536!important; cursor:pointer!important; font-size:14px!important; }
 #main-content .home-map-zoom input { width:20px!important; height:20px!important; flex:none!important; accent-color:#294536; }
 #main-content .home-geographic-map .home-map-instructions { font:400 13px/1.5 var(--font-body,sans-serif)!important; color:#52665a!important; margin:0 0 8px!important; }
 #main-content .home-geographic-map .home-map-canvas { max-width:100%!important; overflow:auto!important; border:1px solid #d7e1d8!important; touch-action:pan-x pan-y pinch-zoom; }
 #main-content .home-geographic-map:has(.home-map-zoom input:checked) .home-map-canvas { max-height:70dvh!important; }
 #main-content .home-geographic-map:has(.home-map-zoom input:checked) .home-region-map { min-width:1000px!important; }
 #main-content .home-region-map .home-map-name-link,#main-content .home-region-map .home-map-area-link { display:inline!important; cursor:pointer!important; }
 #main-content .home-region-map .home-map-label-target { fill:transparent; stroke:transparent; stroke-width:2px; pointer-events:all; }
 #main-content .home-region-map .home-map-name-link text { text-decoration:underline; text-decoration-thickness:1px; }
 #main-content .home-region-map .home-map-name-link:is(:hover,:focus-visible) .home-map-label-target { fill:#ffffffbd; stroke:#294536; }
 #main-content .home-region-map .home-map-name-link:focus-visible { outline:none!important; }
 #main-content .home-region-map .home-map-area-link:hover .home-map-region { stroke:#173525; stroke-width:3px; }
 #main-content .home-geographic-map .home-map-canvas:focus-visible,#main-content .home-map-zoom:focus-within { outline:3px solid #476c56!important; outline-offset:2px!important; }
 #main-content .home-geographic-map .home-map-regions { display:flex!important; flex-wrap:wrap!important; gap:2px 10px!important; margin:8px 0!important; }
 #main-content .home-geographic-map .home-map-region-link { display:inline-flex!important; align-items:center!important; gap:6px!important; min-height:44px!important; font-size:14px!important; line-height:1.3!important; color:#294536!important; padding:4px 2px!important; }
 #main-content .home-geographic-map .home-map-region-link svg { flex:none!important; }
 #main-content .home-geographic-map figcaption { font:400 13px/1.5 var(--font-body,sans-serif)!important; color:#52665a!important; margin:0!important; padding:0!important; }
 #main-content .home-geographic-map figcaption a { display:inline-flex!important; align-items:center!important; min-height:44px!important; padding:4px 8px!important; }
 #main-content .home-geographic-map .home-map-destinations { margin:8px 0 0!important; border-block:1px solid #d7e1d8!important; background:transparent!important; border-radius:0!important; padding:0!important; }
 #main-content .home-map-destinations summary { min-height:44px!important; padding:10px 4px!important; color:#294536!important; font:600 14px/1.5 var(--font-body,sans-serif)!important; cursor:pointer!important; }
 #main-content .home-map-destinations .home-map-city-links { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:2px!important; padding:0 0 8px!important; }
 #main-content .home-map-city-links a { display:flex!important; align-items:center!important; min-height:44px!important; padding:6px!important; font-size:14px!important; color:#294536!important; }
 #main-content .home-geographic-map .home-map-sources { font:400 11px/1.5 var(--font-body,sans-serif)!important; color:#52665a!important; margin:8px 0 0!important; }
 #main-content .home-geographic-map a:focus-visible,#main-content .home-geographic-map summary:focus-visible { outline:3px solid #476c56!important; outline-offset:2px!important; }
 #main-content .home-geographic-map .home-map-mobile-instruction,#main-content .home-geographic-map .home-map-mobile-guides,#main-content .home-region-map .home-map-city-number-markers { display:none!important; }
 @media(max-width:359px) {
  #main-content .home-geographic-map .home-map-mobile-guides .home-map-mobile-city-links { grid-template-columns:minmax(0,1fr)!important; }
 }
 @media(max-width:1199px) {
  #main-content .home-geographic-map .home-map-mobile-instruction { display:inline!important; }
  #main-content .home-geographic-map .home-map-desktop-instruction { display:none!important; }
  #main-content .home-geographic-map:not(:has(.home-map-zoom input:checked)) .home-map-name-link { display:none!important; }
  #main-content .home-geographic-map:not(:has(.home-map-zoom input:checked)) .home-map-city-number-markers { display:inline!important; }
  #main-content .home-region-map .home-map-city-number { fill:#fff!important; stroke:none!important; font-size:34px!important; font-weight:700!important; dominant-baseline:middle; text-decoration:none!important; }
  #main-content .home-region-map .home-map-city-marker-link { cursor:pointer!important; }
  #main-content .home-geographic-map .home-map-regions { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; margin:12px 0!important; }
  #main-content .home-geographic-map .home-map-region-link { min-width:0!important; min-height:48px!important; padding:10px 8px!important; font-size:16px!important; line-height:1.3!important; border:1px solid #b8caba!important; border-radius:4px!important; background:#f7faf5!important; text-decoration:none!important; overflow-wrap:normal!important; }
  #main-content .home-geographic-map .home-map-mobile-guides { display:block!important; margin:0 0 12px!important; }
  #main-content .home-map-mobile-guides .home-map-mobile-city-title { font:600 16px/1.4 var(--font-body,sans-serif)!important; color:#294536!important; margin:12px 0 8px!important; }
  #main-content .home-map-mobile-guides .home-map-mobile-city-links { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; }
  #main-content .home-map-mobile-city-links .home-map-mobile-city-link { display:flex!important; align-items:center!important; gap:8px!important; min-width:0!important; min-height:48px!important; padding:8px!important; color:#294536!important; background:#fff!important; border:1px solid #b8caba!important; border-radius:4px!important; font:400 16px/1.4 var(--font-body,sans-serif)!important; text-decoration:none!important; overflow-wrap:normal!important; }
  #main-content .home-map-mobile-city-link .home-map-number-key { display:inline-flex!important; justify-content:center!important; align-items:center!important; flex:none!important; width:24px!important; height:24px!important; color:#fff!important; background:#294536!important; border-radius:50%!important; font:600 13px/1 var(--font-body,sans-serif)!important; }
  #main-content .home-map-mobile-city-links .home-map-mobile-city-name { min-width:0!important; }
  #main-content .home-geographic-map .home-map-destinations { display:none!important; }
  #main-content .home-geographic-map :is(.home-map-region-link,.home-map-mobile-city-link):hover { background:#edf4e9!important; }

  #main-content .home-map-destinations .home-map-city-links { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 }
}

/* Green homepage introduction. Scoped so navigation panels and articles keep their own colours. */
@layer editorial {
 #main-content.home-page .home-hero { background:#1a3a2a!important; color:#fff!important; }
 #main-content.home-page .home-hero::before { display:none!important; }
 #main-content.home-page .home-hero .home-hero-copy { background:transparent!important; }
 #main-content .home-hero h1#home-title,#main-content .home-hero h1#home-title * { color:#fff!important; }
 #main-content .home-hero :is(.home-eyebrow,.home-hero-intro,.home-search label) { color:#e1ece4!important; }
 #main-content .home-hero .home-fact-check-promo a { background:#eaf2e7!important; color:#1a3a2a!important; border-color:#b8caba!important; }
 #main-content .home-hero .home-button-primary,#main-content .home-hero .home-search-control button { background:#e2c368!important; color:#1a3a2a!important; border-color:#e2c368!important; }
 #main-content .home-hero .home-button-primary:hover,#main-content .home-hero .home-search-control button:hover { background:#f0d589!important; }
 #main-content .home-hero .home-button-secondary { background:transparent!important; color:#fff!important; border-color:#c2d5c7!important; }
 #main-content .home-hero .home-button-secondary:hover { background:#315440!important; }
 #main-content .home-hero .home-search-control input { background:#fff!important; color:#21352a!important; }
 #main-content .home-hero .home-search-control input::placeholder { color:#52665a!important; opacity:1!important; }
 #main-content .home-hero :is(a,button,summary):focus-visible,#main-content .home-hero .home-search-control:focus-within,#main-content .home-hero .home-map-zoom:focus-within,#main-content .home-hero .home-map-canvas:focus-visible { outline:3px solid #f0d589!important; outline-offset:3px!important; }
 #main-content .home-hero .home-geographic-map :is(.home-map-title,.home-map-zoom,.home-map-mobile-city-title,.home-map-destinations summary) { color:#fff!important; }
 #main-content .home-hero .home-geographic-map :is(.home-map-instructions,figcaption,.home-map-sources) { color:#e1ece4!important; }
 #main-content .home-hero .home-geographic-map :is(.home-map-regions,.home-map-city-links,.home-map-sources) a { color:#fff!important; text-decoration:underline!important; text-underline-offset:3px!important; }
 #main-content .home-hero .home-map-zoom input { accent-color:#e2c368; }
 #main-content .home-hero .home-region-map > rect { fill:#1a3a2a!important; }
 #main-content .home-hero .home-region-map > g:last-child { fill:#e1ece4!important; stroke:#e1ece4!important; }
 #main-content .home-hero .home-region-map > g:last-child text { fill:#e1ece4!important; stroke:none!important; }
 #main-content .home-hero .home-region-map > path[fill="none"] { stroke:#e1ece4!important; }
 #main-content .home-hero .home-geographic-map :is(.home-map-canvas,.home-region-map,.home-map-destinations) { border-color:#7e9e88!important; }
 @media(max-width:1199px) {
  #main-content .home-hero .home-geographic-map .home-map-regions .home-map-region-link { color:#294536!important; }
 }
}
