.spark-connectivity{max-width:1320px;margin:70px auto;padding:32px 24px;color:#fff}
.spark-connectivity h2{font-size:clamp(28px,3vw,44px);margin-bottom:14px}
.connectivity-map{position:relative;margin-top:28px;background:transparent!important;border:0;border-radius:0;overflow:visible}
.connectivity-map>img{display:block;width:100%;height:auto}
.connectivity-point{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:50%;z-index:1}
.connectivity-point:before{content:'';position:absolute;inset:12px;border:2px solid #fff;outline:2px solid #244c7c;background:#244c7c;border-radius:50%}
.connectivity-point[aria-pressed=true]:before,.connectivity-point:hover:before{background:#80b841;outline-color:#80b841;box-shadow:0 0 0 7px #80b84135}
.connectivity-point[data-location="0"]:before{background:#80b841;outline-color:#80b841}
.connectivity-point[data-location="0"]:after,.connectivity-point[data-location="0"] .connectivity-pulse{content:'';position:absolute;inset:10px;border:2px solid #80b841;border-radius:50%;pointer-events:none;animation:connectivity-broadcast 2.8s ease-out infinite}
.connectivity-point[data-location="0"] .connectivity-pulse{animation-delay:1.4s}
@keyframes connectivity-broadcast{0%{transform:scale(.8);opacity:.85}85%,100%{transform:scale(2.5);opacity:0}}
@media(prefers-reduced-motion:reduce){.connectivity-point[data-location="0"]:after,.connectivity-point[data-location="0"] .connectivity-pulse{animation:none;opacity:.35;transform:scale(1.3)}}
.connectivity-tooltip{display:none;position:absolute;bottom:45px;left:50%;transform:translateX(-50%);background:#0b263d;color:#fff;padding:8px 12px;border-radius:6px;white-space:nowrap;font-size:14px;pointer-events:none}
.connectivity-point:hover,.connectivity-point:focus-visible{z-index:3}
.connectivity-point:hover .connectivity-tooltip,.connectivity-point:focus-visible .connectivity-tooltip{display:block}
.connectivity-locations{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.connectivity-locations button{min-height:44px;padding:10px 16px;border:1px solid #8ba4b866;border-radius:6px;color:inherit;background:transparent;cursor:pointer;font:inherit;font-size:14px}
.connectivity-locations button[aria-pressed=true]{background:#80b841;color:#081e30;border-color:#80b841}
.spark-connectivity button:focus-visible{outline:3px solid #80b841;outline-offset:4px}
.connectivity-status{margin-top:18px;font-size:15px}
html[data-color-mode=dark] body .connectivity-map>img{filter:none!important;opacity:1}
html[data-color-mode=light] body .connectivity-map>img{content:url('../assets/images/spark-connectivity-clean-20261022.png');filter:none!important;opacity:1}
.connectivity-tooltip{min-width:210px;padding:18px 20px;border:1px solid #b5cad64d;border-radius:12px;box-shadow:0 12px 32px #0003;text-align:start;white-space:normal;line-height:1.4}
.connectivity-tooltip .hub-name{display:block;font-size:21px;font-weight:700;color:#fff}
.connectivity-tooltip .hub-country{display:block;font-size:15px;color:#d2dfeb;margin-top:4px}
.connectivity-tooltip .hub-distance-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #b5cad64d;margin-top:14px;padding-top:12px;font-size:13px;color:#d2dfeb}
.connectivity-tooltip .hub-distance{font-size:17px;color:#a4d363;font-variant-numeric:tabular-nums;white-space:nowrap}
.connectivity-tooltip .hub-distance-row>span{white-space:nowrap}
html[data-color-mode=light] .connectivity-tooltip{background:#fff;border-color:#ccd8e0;box-shadow:0 12px 32px #12345224}
html[data-color-mode=light] .connectivity-tooltip .hub-name{color:#123452}
html[data-color-mode=light] .connectivity-tooltip :is(.hub-country,.hub-distance-row){color:#415b70}
html[data-color-mode=light] .connectivity-tooltip .hub-distance{color:#507f20}
.connectivity-point[aria-pressed=true]{z-index:4}
.connectivity-point[aria-pressed=true] .connectivity-tooltip{display:block!important}
.hub-distances{margin-top:24px;text-align:start}
.hub-distances summary{cursor:pointer;color:var(--ws-green);font-size:14px;font-weight:700;letter-spacing:.08em;padding:12px 0}
.hub-distance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:36vh;overflow:auto;padding:3px}
.hub-distance-item{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:1px solid var(--ws-line);border-radius:8px;color:var(--ws-ink);font:inherit;font-size:13px;text-align:start;padding:12px;cursor:pointer}
.hub-distance-item strong{white-space:nowrap;color:var(--ws-green);font-variant-numeric:tabular-nums}
.hub-distance-item:after{content:'';position:absolute;bottom:0;inset-inline-start:0;height:3px;background:#80b841;width:var(--distance);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.hub-distance-item:hover:after,.hub-distance-item:focus-visible:after{transform:scaleX(1)}
.hub-distance-item:focus-visible{outline:2px solid #80b841;outline-offset:1px}
@media(max-width:600px){.hub-distance-grid{grid-template-columns:1fr;max-height:320px}}
@media(prefers-reduced-motion:reduce){.hub-distance-item:after{transition:none}}
html[data-color-mode=light] .spark-connectivity{color:#123452}
html[data-color-mode=dark] .connectivity-map{background:#081e30}
@media(max-width:600px){.spark-connectivity{padding:20px 16px;margin:36px auto}.connectivity-point{width:24px;height:24px}.connectivity-point:before{inset:6px;border-width:1px}.connectivity-locations{display:grid;grid-template-columns:1fr 1fr;gap:8px}.connectivity-locations button{text-align:start}.connectivity-tooltip{display:none!important}}
