/* A transparent dotted map balances the three regional coverage cards. */
.coverage{align-items:start;padding-block:52px}
.coverage-map{width:100%;max-width:620px;margin:28px auto 0;pointer-events:none}
.coverage-map img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;opacity:.8}
.coverage .regions{align-self:center}
.coverage .regions article:last-child{margin-bottom:0}
@media(max-width:700px){.coverage{padding-block:36px}.coverage-map{max-width:480px;margin-top:22px}}

/* Directional routes follow the map's native proportions in every viewport. */
.coverage-map{position:relative;isolation:isolate}
.coverage-map img{aspect-ratio:1767/890;opacity:.57}
.coverage-routes{position:absolute;inset:0;width:100%;height:100%;overflow:visible;direction:ltr}
.route-glow{stroke:#004afd;stroke-width:12;opacity:.15;filter:blur(5px)}
.route-line{stroke:url(#coverage-route-blue);stroke-width:2.2;opacity:.72;stroke-linecap:round}
.route-flow{stroke:#e1f0ff;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:2 98;animation:coverage-route-travel 6s ease-in-out infinite alternate}
.route-hub-halo{fill:#004afd;fill-opacity:.18;stroke:#65a3ff;stroke-width:1.5;stroke-opacity:.6}
.route-hub{fill:#e0efff;stroke:#4e91ff;stroke-width:2}
@keyframes coverage-route-travel{from{stroke-dashoffset:98}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.route-flow{animation:none;display:none}}
