/* SP Clients Map — ported from the design's clients-map.html */
.sp-map{position:relative;width:100%;height:665px;background:#FFFFFF;border:1px solid rgba(1,24,66,0.14);border-radius:15px;overflow:hidden;font-family:var(--sp-font);color:#011842}
.sp-map__svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.sp-map__svg.is-grabbing{cursor:grabbing}
.sp-map .lbl text{font-family:inherit;font-weight:700;fill:#011842;paint-order:stroke;stroke:#FFFFFF;stroke-width:3px;stroke-linejoin:round;pointer-events:none;text-anchor:middle}
.sp-map .lbl.basin text{font-size:10.5px;letter-spacing:0.01em}
.sp-map .lbl.intl text{font-size:12px;letter-spacing:0.06em;text-transform:uppercase}
.sp-map .lbl.intl text.note{font-size:10px;font-weight:400;letter-spacing:0;text-transform:none;fill:rgba(1,24,66,0.7)}
.sp-map .hq text{font-family:inherit;font-size:11px;font-weight:700;fill:#011842;paint-order:stroke;stroke:#FFFFFF;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.sp-map .hq text.note{font-weight:400;font-size:10px;fill:rgba(1,24,66,0.65)}
@keyframes sp-map-pulse{0%{r:8;opacity:0.55}100%{r:26;opacity:0}}
.sp-map .pulse{animation:sp-map-pulse 2600ms cubic-bezier(0.2,0.6,0.4,1) infinite}
.sp-map .basin{cursor:pointer;transition:fill-opacity 140ms ease-out}
.sp-map__tip{position:absolute;pointer-events:none;opacity:0;transition:opacity 120ms ease-out;background:#011842;color:#fff;padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.35;white-space:nowrap;transform:translate(-50%,-140%);z-index:3}
.sp-map__tip b{display:block;font-size:13px;letter-spacing:-0.01em;font-weight:700}
.sp-map__tip span{color:rgba(255,255,255,0.7);font-size:11px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase}
.sp-map__legend{position:absolute;left:20px;right:72px;bottom:18px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11.5px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:rgba(1,24,66,0.62);pointer-events:none}
.sp-map__legend div{display:flex;align-items:center;gap:8px}
.sp-map__legend i{width:12px;height:12px;display:block;box-sizing:border-box;border-radius:2px}
.sp-map__zoom{position:absolute;right:16px;bottom:16px;display:flex;flex-direction:column;gap:6px}
.sp-map .sp-map__zoom button,.sp-map .sp-map__zoom button:hover,.sp-map .sp-map__zoom button:focus{box-shadow:none;text-transform:none;letter-spacing:0;width:34px;height:34px;border:1px solid rgba(1,24,66,0.18);background:#fff;color:#011842;font-size:20px;font-weight:400;line-height:1;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;padding:0 0 2px;min-height:0;letter-spacing:0;text-transform:none}
.sp-map .sp-map__zoom button:hover{border-color:#F15A24;color:#F15A24}
.sp-map__regions{position:absolute;left:16px;top:16px;display:flex;flex-wrap:wrap;gap:8px}
.sp-map .sp-map__regions button,.sp-map .sp-map__regions button:hover,.sp-map .sp-map__regions button:focus{box-shadow:none;border:1px solid rgba(1,24,66,0.18);background:#fff;color:#011842;font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;padding:9px 14px;border-radius:999px;cursor:pointer;line-height:1}
.sp-map .sp-map__regions button:hover,.sp-map .sp-map__regions button.is-on{border-color:#F15A24;color:#F15A24}
.sp-map__hint{position:absolute;left:50%;bottom:60px;transform:translateX(-50%);pointer-events:none;opacity:0;transition:opacity 180ms ease-out;background:#011842;color:#fff;padding:8px 14px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;white-space:nowrap;z-index:3}
.sp-map__hint.is-show{opacity:1}
@media (max-width:767px){
  .sp-map__legend{display:none}
  .sp-map__regions{gap:6px}
  .sp-map .sp-map__regions button,.sp-map .sp-map__regions button:hover,.sp-map .sp-map__regions button:focus{box-shadow:none;font-size:10px;padding:7px 10px}
}
