/* Dropstone — Where We Work map */
.ds-map{--gap:clamp(20px,3vw,40px);position:relative}
.ds-map__stage{position:relative;background:linear-gradient(180deg,#f4f7f7 0%,var(--ds-stone) 100%);border:1px solid var(--ds-line);border-radius:var(--ds-radius-lg);padding:clamp(12px,3vw,40px);overflow:hidden}
.ds-map__stage::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(12,107,120,.09) 1px,transparent 1px);background-size:18px 18px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}
.ds-map__canvas{position:relative;aspect-ratio:1000/435;width:100%}
.ds-map__canvas svg{display:block;width:100%;height:100%;overflow:visible}
.ds-map__loading{position:absolute;inset:0;border-radius:12px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent) var(--ds-sand);background-size:200% 100%;animation:ds-sh 1.4s infinite linear;opacity:.5}
@keyframes ds-sh{to{background-position:-200% 0}}
.ds-map svg path,.ds-map svg circle{fill:var(--ds-map-land);stroke:#fff;stroke-width:.5;vector-effect:non-scaling-stroke;transition:fill .25s var(--ds-ease)}
.ds-map svg .is-active{fill:var(--ds-map-active);cursor:pointer;outline:none}
.ds-map svg .is-active:hover,.ds-map svg .is-active:focus-visible{fill:var(--ds-map-hover)}
.ds-map svg .is-active:focus-visible{stroke:var(--ds-ink);stroke-width:1.5}
.ds-map svg .is-selected,.ds-map svg .is-selected:hover{fill:var(--ds-map-selected)}
.ds-map svg .ds-map__dot{stroke:#fff;stroke-width:1.5}
.ds-map__tooltip{position:absolute;left:0;top:0;z-index:3;pointer-events:none;background:var(--ds-ink);color:#fff;border-radius:10px;padding:.55rem .8rem;font-size:.82rem;line-height:1.35;white-space:nowrap;box-shadow:var(--ds-shadow-lg);display:flex;flex-direction:column}
.ds-map__tooltip strong{font-weight:600}.ds-map__tooltip span{opacity:.7;font-size:.75rem}
.ds-map__tooltip::after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:var(--ds-ink);transform:translateX(-50%) rotate(45deg)}
.ds-map__legend{position:relative;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:1rem;font-size:.8rem;color:var(--ds-muted)}
.ds-map__legend span{display:inline-flex;align-items:center;gap:.5rem}
.ds-map__legend i{width:12px;height:12px;border-radius:3px;background:var(--ds-map-land)}.ds-map__legend i.is-active{background:var(--ds-map-active)}
.ds-map__picker{margin-top:var(--gap);display:grid;gap:1rem}
.ds-map__label{font-size:var(--ds-fs-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ds-muted)}
.ds-map__select-wrap{display:none}
.ds-map__select{width:100%}
.ds-map__chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.ds-map__results{margin-top:clamp(40px,6vw,80px);scroll-margin-top:calc(var(--ds-header-h) + 20px);outline:none;min-height:140px}
.ds-map__empty{border:1px dashed var(--ds-line-2);border-radius:var(--ds-radius);padding:clamp(28px,4vw,48px);text-align:center;display:flex;flex-direction:column;align-items:center}
.ds-map__empty .ds-eyebrow::before{display:none}
.ds-map__hint{font-family:var(--ds-serif);font-size:var(--ds-fs-h4);color:var(--ds-ink);margin:0;max-width:36ch}
.ds-map__rhead{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.2rem 1rem;padding-bottom:1.4rem;margin-bottom:2rem;border-bottom:1px solid var(--ds-line)}
.ds-map__rhead .ds-eyebrow{grid-column:1/-1}
.ds-map__rtitle{font-size:clamp(2.2rem,1.4rem + 3.4vw,4.4rem);text-transform:uppercase;letter-spacing:.02em;margin:0;line-height:1}
.ds-map__rcount{grid-column:1;margin:.6rem 0 0;color:var(--ds-muted);font-size:.95rem}
.ds-map__clear{grid-column:2;grid-row:2/4;align-self:end}
.ds-map__none{color:var(--ds-muted)}
.ds-map .ds-grid--cards{animation:ds-in .5s var(--ds-ease) both}
@keyframes ds-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:767px){
  .ds-map__stage{padding:10px;border-radius:var(--ds-radius)}
  .ds-map__legend{font-size:.75rem}
  .ds-map__select-wrap{display:block}
  .ds-map__chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--ds-gutter)*-1);padding:0 var(--ds-gutter) 4px;scrollbar-width:none}
  .ds-map__chips::-webkit-scrollbar{display:none}.ds-map__chips li{flex:none}
  .ds-map__rhead{grid-template-columns:1fr}.ds-map__clear{grid-column:1;grid-row:auto;justify-self:start;margin-top:1rem}
  .ds-map__tooltip{display:none}
}
.ds-map.is-nomap .ds-map__stage{display:none}.ds-map.is-nomap .ds-map__select-wrap{display:block}
.ds-map__tooltip[hidden]{display:none}
