#map{touch-action:pan-y;cursor:grab;overflow:hidden}
#map:active{cursor:grabbing}
.pin{cursor:pointer}.pin.cluster .base{r:17px;stroke-width:2}.pin .hit{r:22px}.cluster-count{font-size:12px}
.map-tools{flex-wrap:wrap}.map-tools>p{flex:1 1 150px}.map-tools #map-expand{margin-left:auto;font-weight:650}
.map-sheet{margin-top:14px;padding:14px 0 0;border-top:1px solid var(--border);max-height:42vh;overflow:auto;overscroll-behavior:contain}
.map-sheet>button{display:block;margin:0 0 10px auto;padding:8px 12px;min-height:44px;background:var(--blue);color:white;border:0;border-radius:8px}
.map-sheet .card{margin:0;box-shadow:none;padding:16px;border-radius:8px}.map-sheet .address{margin-bottom:0}
.map-panel.expanded{position:fixed;z-index:1000;inset:0;top:0;width:100%;height:100dvh;border:0;border-radius:0;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;background:var(--paper)}
.map-panel.expanded .map-tools{flex:none;padding-bottom:10px;border-bottom:1px solid var(--border)}
.map-panel.expanded #map{flex:1 1 auto;min-height:120px;max-height:none;height:0;touch-action:none}
.map-panel.expanded #map-choice,.map-panel.expanded .map-sheet{flex:0 1 auto;max-height:38dvh}
.map-panel.expanded #map-choice{padding-bottom:8px}.map-panel.expanded .map-sheet .card{max-width:700px;margin:auto}
@media(max-width:600px){#map-expand{font-size:.78rem}.map-tools>p{flex-basis:100%}.map-panel.expanded .map-tools>p{display:none}.map-panel.expanded{padding-top:max(12px,env(safe-area-inset-top))}.map-sheet{max-height:38dvh}}
@media(prefers-reduced-motion:reduce){.map-panel,.map-sheet{scroll-behavior:auto}}
/* Geographic reading levels */
.site-label{margin:7px 0 0;font-size:.82rem;font-weight:600;color:#625872}
.atlas{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}
.map-panel{min-width:0}
#geo-map{width:100%;height:clamp(360px,62vh,640px);background:#eceaf1;border:1px solid var(--border);border-radius:9px;z-index:0;font-family:inherit}
#geo-map:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
#geo-map .leaflet-tile-pane{filter:saturate(.62)}
.map-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;margin:14px 0 0}
.map-navigation label{grid-column:1/-1;font-size:.73rem;color:#625872}
.map-navigation select,.map-navigation button{min-height:44px;border:1px solid #cfc3dc;border-radius:6px;background:var(--paper);color:var(--blue);font-size:.8rem;padding:8px 10px;min-width:0}
.map-navigation button:disabled,.map-tools button:disabled{opacity:.45;cursor:default}
#map-sector{font-size:.84rem;font-weight:700;margin:12px 0 10px;line-height:1.4}
.geo-marker{display:flex!important;align-items:center;justify-content:center;background:none;border:0}
.geo-symbol{display:grid;place-items:center;width:34px;height:34px;background:#fff;color:var(--category);border:2px solid var(--category);border-radius:50%;box-shadow:0 2px 6px #231e4e33}
.geo-symbol svg{display:block;width:22px;height:22px;pointer-events:none}
.geo-cluster{width:36px;height:36px;background:#29235f;display:grid;place-items:center;color:white;font-size:13px;font-weight:750;border:2px solid white}
.geo-marker:hover .geo-symbol,.geo-marker:focus .geo-symbol,.geo-symbol.is-selected{outline:3px solid var(--category,#29235f);outline-offset:3px;box-shadow:0 2px 8px #29235f88}
.leaflet-tooltip{font:600 .78rem/1.4 system-ui,sans-serif;color:var(--blue);white-space:normal;max-width:260px}
.leaflet-control-attribution{font-size:10px!important;max-width:85%;line-height:1.4!important}
.leaflet-control-scale-line{font-size:10px}
.results{gap:10px}
.results .card,.map-sheet .card{display:block;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;background:var(--paper);border-radius:12px;box-shadow:0 3px 10px #29235f05}
.card:has(>.card-content){display:grid}
.results .card:hover{border-color:#bcb2cc;box-shadow:0 5px 16px #29235f0b}
.results .card.selected,.map-sheet .card.selected{border-color:var(--category);box-shadow:0 0 0 1px var(--category);background:color-mix(in srgb,var(--category) 3%,var(--paper))}
.card-content h2{font-size:1.15rem;line-height:1.25;margin:0}
.results .card .eyebrow,.map-sheet .card .eyebrow{font-size:.75rem;font-weight:600;margin:0 0 4px;line-height:1.4}
.results .card .address,.map-sheet .card .address{font-size:.75rem;line-height:1.4;margin:5px 0 0;color:#625872}
.card-content .site-label{font-size:.76rem;line-height:1.35;margin:5px 0 0;font-weight:500}
.card-content .distance{font-size:.7rem;line-height:1.4;margin:5px 0 0;padding:0;background:none;color:#625872;font-weight:500}
.view-on-map{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:48px;min-height:52px;padding:6px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--blue);font-size:.66rem;line-height:1.2;font-weight:600;text-decoration:none}
.view-on-map svg{width:19px;height:19px}
.view-on-map:hover{background:#f0eaf6;border-color:#b6a9c7}
.map-sheet .card{grid-template-columns:38px minmax(0,1fr)}
.tile-status{font-size:.78rem;color:#85223e;background:#f9e5ec;padding:8px 12px;border-radius:6px;margin:8px 0}
.map-panel.expanded #geo-map{flex:1 1 auto;min-height:120px;max-height:none;height:0}
.map-panel.expanded .map-navigation,.map-panel.expanded #map-sector{flex:none}
.map-panel.expanded .map-navigation{grid-template-columns:minmax(180px,380px) auto;justify-content:start}
.map-panel.expanded .map-tools{border:0;padding-bottom:0}
.map-panel.expanded .tile-status{flex:none;margin:6px 0}
@media(max-width:900px){.atlas{display:flex}.map-panel{width:100%}#geo-map{height:400px;max-height:60svh;min-height:300px}.results .card{padding:14px}.map-navigation{grid-template-columns:1fr auto}.map-navigation select,.map-navigation button{font-size:.75rem}.map-panel.expanded .map-navigation{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch}.map-panel.expanded .map-navigation label{display:none}.map-panel.expanded #geo-map{min-height:100px;max-height:none}.map-panel.expanded #map-sector{margin:8px 0}.map-panel.expanded .map-sheet{margin-top:8px;padding-top:8px}}
@media(max-width:600px){.results .card,.map-sheet .card{grid-template-columns:30px minmax(0,1fr) auto;gap:10px;padding:13px 12px}.card-glyph{width:30px;height:34px;background:transparent}.card-glyph svg{width:25px;height:25px}.card-content h2{font-size:1.12rem}.view-on-map{min-width:44px;min-height:48px;font-size:.68rem}.map-sheet .card{grid-template-columns:30px minmax(0,1fr)}}
@media(max-width:360px){.map-navigation{grid-template-columns:1fr}.map-panel.expanded .map-navigation{grid-template-columns:1fr auto}.map-navigation button{justify-self:start}.map-panel.expanded .map-navigation button{font-size:.65rem;padding:6px}}
