.map-stage{display:flex;flex-direction:column;padding-top:.5rem}
.map-heading{order:0}.map-quick-areas{order:1}.map-shell{order:2}.map-search{order:3}.map-search-feedback{order:4}.map-legend{order:5}.place-map-key{order:6}.map-explainer{order:7}
.map-heading h1{max-width:62rem;font-size:clamp(2.8rem,4.2vw,4.35rem);margin:.3rem 0 .5rem}
.map-heading p{max-width:52rem}
.map-quick-areas{display:flex;align-items:center;gap:.45rem;overflow-x:auto;overscroll-behavior-inline:contain;padding:.35rem 0 .6rem;scrollbar-width:thin}
.map-quick-areas .map-quick-label{flex:none;font:800 .77rem Arial;letter-spacing:.05em;text-transform:uppercase;color:#34525d;margin-right:.25rem}
.map-quick-areas button{flex:none;min-height:2.75rem;padding:.5rem .75rem;border:1px solid #a9c3c9;border-radius:2rem;background:#fff;color:#0b354d;font:700 .84rem Arial;cursor:pointer}
.map-quick-areas button[aria-pressed=true]{background:#0b354d;color:#fff;border-color:#0b354d}
.map-quick-areas button:focus-visible{outline:3px solid #b64032;outline-offset:2px}
.map-quick-areas small{font-weight:500;opacity:.78}
.map-explainer{margin:.4rem 0 1rem;color:#425d65;font-size:.88rem}
.map-explainer summary{cursor:pointer;font-weight:700}
.map-explainer p{max-width:65rem}
.map-canvas{min-height:36rem}.map-canvas svg{height:36rem}
.map-stage .map-search{margin:1.3rem 0 .35rem}
@media(max-width:640px){
  .map-stage{display:flex;flex-direction:column;padding-top:.55rem}
  .map-heading{order:0}.map-heading h1{font-size:clamp(2.15rem,8vw,3.15rem);line-height:1.06;margin:.25rem 0 .45rem}
  .map-heading p{font-size:.94rem;line-height:1.35;margin:.3rem 0 .45rem}
  .map-quick-areas{order:1;margin:.15rem -.25rem .2rem;padding:.35rem .25rem .65rem}
  .map-shell{order:2}.map-search{order:3;margin:1.1rem 0 .35rem!important}.map-search-feedback{order:4}.map-legend{order:5}.place-map-key{order:6}.map-explainer{order:7}
  .map-canvas,.map-canvas svg{min-height:21rem;height:21rem}.map-canvas svg{padding:.2rem}
  .map-canvas:before{top:.55rem;left:.7rem}.map-note{bottom:.45rem;left:.45rem;right:.45rem;max-width:none;padding:.38rem .55rem;font-size:.68rem}
  .map-panel{padding:1.15rem}.map-side{gap:.7rem}
  .map-quick-areas button{min-height:2.85rem}
}
@media(max-width:360px){.map-stage{padding-left:.75rem;padding-right:.75rem}.map-canvas,.map-canvas svg{min-height:20rem;height:20rem}.map-heading h1{font-size:2.15rem}}
@media(prefers-reduced-motion:reduce){.map-quick-areas{scroll-behavior:auto}}
