.school-map .maplibregl-canvas:focus-visible,.school-map .maplibregl-ctrl button:focus-visible,.school-map .maplibregl-popup-close-button:focus-visible{outline:3px solid #0b6f70;outline-offset:2px}.school-map .maplibregl-ctrl-group{overflow:hidden;border:1px solid rgba(16,37,44,.18);border-radius:.75rem;box-shadow:0 1px 3px rgba(16,37,44,.12)}.school-map .maplibregl-ctrl-group button{width:44px;height:44px}.school-map .maplibregl-popup-content{width:min(22rem,calc(100vw - 2rem));max-width:none;padding:1.25rem;border:1px solid hsla(0,0%,7%,.12);border-radius:.75rem;color:#111;box-shadow:0 12px 30px rgba(16,37,44,.18)}.school-map .maplibregl-popup-close-button{width:44px;height:44px;font-size:1.25rem}.school-map .school-popup{padding-right:1.5rem}.school-map .school-popup-name{display:block;font-size:1.125rem;line-height:1.35;letter-spacing:-.02em}.school-map .school-popup-location{margin-top:.25rem;color:#666;font-size:.9375rem;line-height:1.45}.school-map .school-popup-precision{display:inline-flex;align-items:center;min-height:1.75rem;margin-top:.75rem;padding:0 .625rem;border-radius:.375rem;background:rgba(11,111,112,.1);color:#0b6f70;font-size:.75rem;font-weight:650}.school-map .school-popup-precision.is-approximate{background:rgba(211,138,34,.12);color:#8a570e}.school-map .school-popup-summary{display:-webkit-box;overflow:hidden;margin-top:.875rem;color:#444;font-size:.875rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.school-map .school-popup-facts{display:grid;gap:.5rem;margin-top:1rem;padding-top:.875rem;border-top:1px solid hsla(0,0%,7%,.1)}.school-map .school-popup-facts div{display:grid;grid-template-columns:4.25rem 1fr;gap:.75rem;font-size:.8125rem;line-height:1.4}.school-map .school-popup-facts dt{color:#737373;font-weight:600}.school-map .school-popup-facts dd{color:#222;font-weight:550}.school-map .school-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem}.school-map .school-popup-actions a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border-radius:.5rem;font-size:.8125rem;font-weight:650;text-align:center}.school-map .school-popup-primary{background:#111;color:#fff}.school-map .school-popup-secondary{border:1px solid hsla(0,0%,7%,.16);color:#333}.school-map .school-popup-actions a:focus-visible{outline:3px solid #0b6f70;outline-offset:2px}.school-map .maplibregl-ctrl-attrib{font-size:.6875rem}.school-map .school-favicon-marker{display:grid;width:26px;height:26px;overflow:hidden;place-items:center;border:3px solid #fff;border-radius:999px;background:#0b6f70;box-shadow:0 1px 4px rgba(0,0,0,.28);color:#fff;font:600 11px/1 system-ui,sans-serif;cursor:pointer}.school-map .school-favicon-marker:focus-visible{outline:3px solid #111;outline-offset:3px}.school-map .school-favicon-marker[hidden]{display:none}.school-map .school-favicon-marker.is-approximate{background:#d38a22;outline:2px solid rgba(211,138,34,.58)}.school-map .school-favicon-marker.is-selected{width:34px;height:34px;border-width:4px;box-shadow:0 2px 8px rgba(0,0,0,.34)}.school-map .school-favicon-fallback,.school-map .school-favicon-marker img{width:100%;height:100%}.school-map .school-favicon-marker img{object-fit:cover;background:#fff}.school-map .school-favicon-fallback{display:grid;place-items:center}@media (prefers-reduced-motion:reduce){.school-map .maplibregl-canvas{scroll-behavior:auto}}