/* Bright, self-contained UAE service network for [data-coverage-map]. */
.coverage-map {
  --map-navy: #0b2b59;
  --map-blue: #1769c8;
  --map-aqua: #5aa1e7;
  --map-line: #bdd7f3;
  --map-white: #f9fcff;
  color: var(--map-navy);
  font-family: inherit;
}
.coverage-map, .coverage-map * { box-sizing: border-box; }
.coverage-map__figure {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  border: 1px solid #b9d4f1;
  border-radius: 30px;
  background: linear-gradient(155deg, #f8fbff 0%, #eaf3ff 50%, #dceafd 100%);
  box-shadow: 0 30px 75px rgb(24 84 159 / 13%);
}
.coverage-map__figure::before {
  position: absolute;
  z-index: -1;
  top: -190px;
  right: -170px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(255 253 232 / 92%), rgb(225 239 255 / 38%) 55%, transparent 75%);
  content: "";
  pointer-events: none;
}
.coverage-map__heading {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  padding: clamp(24px, 4vw, 42px) clamp(24px, 4vw, 45px) 0;
}
.coverage-map__heading h3 {
  max-width: 660px;
  margin: 0;
  color: #0b2b59;
  font-size: clamp(1.8rem, 3.5vw, 3.35rem);
  font-weight: 750;
  line-height: 1.06;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.coverage-map__heading h3 span { color: var(--map-blue); }
.coverage-map__eyebrow {
  margin: 0 0 12px;
  color: #1769c8;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .22em;
}
.coverage-map__count {
  flex: none;
  margin-top: 2px;
  padding: 10px 14px;
  border: 1px solid #9cc4ed;
  border-radius: 999px;
  background: rgb(255 255 255 / 72%);
  color: #214a80;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .13em;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.coverage-map__swipe-hint { display: none; }
.coverage-map__canvas {
  position: relative;
  z-index: 1;
  overflow-x: auto;
  overflow-y: hidden;
  margin-top: -30px;
  scrollbar-color: #a6c9ed transparent;
  scrollbar-width: thin;
}
.coverage-map__svg { display: block; width: 100%; height: auto; min-width: 690px; }
.coverage-map__light-bands { stroke-opacity: .48; }
.coverage-map__contours { stroke: #5aa1e7; stroke-opacity: .16; }
.coverage-map__route-group {
  opacity: .9;
  transition: opacity .25s ease;
}
.coverage-map__route-group.is-muted { opacity: .16; }
.coverage-map__route-track {
  stroke: #5aa1e7;
  stroke-opacity: .19;
  stroke-width: 12;
  transition: stroke-opacity .25s ease, stroke-width .25s ease;
}
.coverage-map__route-flow {
  stroke: #1769c8;
  stroke-width: 2.2;
  stroke-dasharray: 6 12;
  animation: coverage-map-flow 7s linear infinite;
  transition: stroke-width .25s ease, stroke .25s ease;
}
.coverage-map__route-group.is-active .coverage-map__route-track { stroke-opacity: .5; stroke-width: 17; }
.coverage-map__route-group.is-active .coverage-map__route-flow { stroke: #0b4da6; stroke-width: 3.5; }
.coverage-map__traveler {
  fill: #fff;
  stroke: #1769c8;
  stroke-width: 2;
  opacity: .82;
  filter: drop-shadow(0 0 4px #79b4f0);
}
.coverage-map__route-group.is-active .coverage-map__traveler { opacity: 1; }
.coverage-map__route-hit { fill: none; stroke: transparent; stroke-width: 24; pointer-events: stroke; cursor: pointer; }
.coverage-map__hub,
.coverage-map__marker { cursor: pointer; }
.coverage-map__hub-halo {
  fill: #5aa1e7;
  opacity: .24;
  transform-box: fill-box;
  transform-origin: center;
  animation: coverage-map-hub 4.8s ease-in-out infinite;
}
.coverage-map__hub-ring { fill: #fff; stroke: #1769c8; stroke-width: 2; }
.coverage-map__hub-core { fill: #1769c8; }
.coverage-map__hub-label {
  fill: #0b2b59;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 2.1px;
}
.coverage-map__hub-sub {
  fill: #3e6594;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 1.6px;
}
.coverage-map__marker-hit { fill: transparent; }
.coverage-map__marker-ring { fill: #fff; stroke: #4e94da; stroke-width: 1.5; transition: fill .25s ease, stroke-width .25s ease; }
.coverage-map__marker-core { fill: #1769c8; transition: fill .25s ease; }
.coverage-map__marker text { fill: #0b2b59; font-size: 14px; font-weight: 700; transition: fill .25s ease; }
.coverage-map__marker.is-active .coverage-map__marker-ring { fill: #d7eaff; stroke-width: 3; }
.coverage-map__marker.is-active .coverage-map__marker-core { fill: #0b4da6; }
.coverage-map__marker.is-active text { fill: #0b4da6; }
.coverage-map__hub.is-active .coverage-map__hub-halo { opacity: .44; }
.coverage-map__hub:focus-visible .coverage-map__hub-ring,
.coverage-map__marker:focus-visible .coverage-map__marker-ring { stroke: #0b2b59; stroke-width: 4; }
.coverage-map__scale-note { fill: #496b99; font-size: 11px; font-weight: 600; letter-spacing: .7px; }
.coverage-map__footer {
  position: relative;
  z-index: 2;
  padding: 20px clamp(24px, 4vw, 45px) 25px;
  border-top: 1px solid rgb(94 149 211 / 36%);
  background: rgb(255 255 255 / 55%);
}
.coverage-map__status {
  min-height: 1.35em;
  margin: 0 0 16px;
  color: #24558f;
  font-size: .88rem;
  font-weight: 750;
}
.coverage-map__choices {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.coverage-map__choice {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid #c4d9f2;
  border-radius: 999px;
  background: rgb(255 255 255 / 78%);
  color: #294b7a;
  font: inherit;
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.coverage-map__choice:hover,
.coverage-map__choice:focus-visible,
.coverage-map__choice[aria-pressed="true"] {
  border-color: #5aa1e7;
  background: #e6f1ff;
  box-shadow: 0 4px 12px rgb(36 99 180 / 13%);
  color: #0b2b59;
}
.coverage-map__choice:hover { transform: translateY(-2px); }
.coverage-map__choice:focus-visible { outline: 3px solid #5aa1e7; outline-offset: 2px; }
.coverage-map__choice-dot { width: 7px; height: 7px; flex: none; border-radius: 50%; background: #1769c8; }
.coverage-map__choice[aria-pressed="true"] .coverage-map__choice-dot { background: #0b4da6; box-shadow: 0 0 0 3px #bdd7f3; }
.coverage-map__hub-tag { color: #627ca2; font-size: .66rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.coverage-map__note { margin: 14px 0 0; color: #5b7398; font-size: .72rem; line-height: 1.4; }
@keyframes coverage-map-flow { to { stroke-dashoffset: -72; } }
@keyframes coverage-map-hub { 50% { opacity: .14; transform: scale(1.22); } }
.coverage-map[data-motion="off"] .coverage-map__route-flow,
.coverage-map[data-motion="off"] .coverage-map__hub-halo,
.editor-section[data-motion="none"] .coverage-map__route-flow,
.editor-section[data-motion="none"] .coverage-map__hub-halo { animation-play-state: paused; }
.coverage-map[data-motion="off"] .coverage-map__traveler { opacity: 0; }
.editor-section[data-motion="none"] .coverage-map__traveler { opacity: 0; }
.coverage-map__heading h3,.coverage-map__status,.coverage-map__note,.coverage-map__choice { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .coverage-map__figure { border-radius: 20px; }
  .coverage-map__heading { display: block; padding: 24px 23px 0; }
  .coverage-map__heading h3 { font-size: clamp(1.72rem, 8vw, 2.55rem); }
  .coverage-map__count { display: inline-block; margin-top: 17px; }
  .coverage-map__swipe-hint { display: block; margin: 12px 0 0; color: #1769c8; font-size: .72rem; font-weight: 750; letter-spacing: .03em; }
  .coverage-map__canvas { margin-top: 0; }
  .coverage-map__svg { width: 760px; min-width: 760px; }
  .coverage-map__footer { padding: 19px 22px 22px; }
  .coverage-map__choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .coverage-map__choice { width: 100%; min-height: 42px; text-align: left; border-radius: 12px; white-space: normal; }
}
@media (max-width: 385px) {
  .coverage-map__choices { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .coverage-map__route-flow,
  .coverage-map__hub-halo { animation: none !important; }
  .coverage-map__traveler { display: none; }
  .coverage-map__choice,
  .coverage-map__route-group,
  .coverage-map__marker-ring { transition: none; }
}
