@font-face{font-family:Qanelas;src:url(./qanelas-semibold.otf) format("opentype");font-weight:600;font-display:swap}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#100d18;color:#fff;font-family:Qanelas,Arial,sans-serif}
.fallback,#map{position:absolute;inset:0}
.fallback img{width:100%;height:100%;object-fit:cover}
.fallback-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%)}
#map{opacity:0;pointer-events:none}
[data-map-state=ready] #map{opacity:1;pointer-events:auto}
[data-map-state=ready] .fallback{visibility:hidden}
.office{position:absolute;left:20px;bottom:38px;max-width:calc(100% - 40px);padding:18px 20px;background:#17121fee;border:1px solid #986cff33;border-radius:14px;box-shadow:0 8px 28px #0003}
.office strong{display:block;font-size:20px;line-height:1.25}
.office span{display:block;margin-top:6px;font-size:14px;color:#c4b7d4}
.office a{display:inline-block;margin-top:14px;color:#cab4ff;font-size:15px;text-decoration:none}
.attribution{position:absolute;right:0;bottom:0;padding:3px 8px;border-radius:6px 0 0 0;background:#100d18dd;color:#a99bbd;font:11px/18px Arial,sans-serif}
.attribution a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible{outline:2px solid #986cff;outline-offset:3px}
.pin{position:relative;width:28px;height:28px;background:#986cff;border:3px solid #dac8ff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 10px #986cff22,0 5px 22px #0008}
.pin:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}
.maplibregl-ctrl-group{background:#211a2e;border:1px solid #443452;border-radius:10px;overflow:hidden;box-shadow:none}
.maplibregl-ctrl-group button+button{border-color:#443452}
.maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(1)}
.maplibregl-canvas:focus-visible{outline:2px solid #986cff;outline-offset:-2px}
@media(max-width:480px){.office{left:16px;padding:16px}.office strong{font-size:18px}}
@media(max-height:300px){.office{left:12px;bottom:30px;padding:10px 12px}.office strong{font-size:15px}.office span{display:none}.office a{margin-top:6px;font-size:13px}}
