/* Country interaction and directional pulses, scoped to the export illustration. */
.export-section .export-map.export-map-interactive {
  pointer-events: auto;
  overflow: hidden;
}

.export-section .export-map-interactive .map-country {
  pointer-events: visiblePainted;
  transition: fill 180ms ease, stroke 180ms ease;
}

.export-section .export-map-interactive .map-country.is-market {
  cursor: default;
  outline: none;
}

.export-section .export-map-interactive .map-country.is-market:is(:hover, :focus, :focus-visible, .is-active) {
  fill: #98a6f8;
  stroke: #596ff2;
  stroke-width: 1.1px;
}

.export-section .export-map-interactive .map-country.is-market:focus-visible {
  fill: #7e90f7;
  stroke: #293ec8;
}

.export-section .export-map-interactive .map-export-routes,
.export-section .export-map-interactive .map-home-label {
  pointer-events: none;
}

.export-section .export-map-interactive .map-route,
.export-section .export-map-interactive .map-route:is(:hover, :focus, .is-active),
.export-section .export-map-interactive .map-export-pulse {
  fill: none;
  stroke: #3f4df5;
  stroke-width: 1.05px;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.export-section .export-map-interactive .map-route {
  opacity: .36;
}

.export-section .export-map-interactive .map-export-pulse {
  stroke-dasharray: .11 .89;
  stroke-dashoffset: .11;
  animation: mx-export-pulse-travel 4.8s linear infinite;
  animation-delay: var(--route-delay, 0s);
}

.export-section .export-map-interactive .map-export-signal {
  fill: #3f4df5;
  stroke: #f9fbff;
  stroke-width: .7px;
  vector-effect: non-scaling-stroke;
}

.export-section .export-map-interactive .map-destination {
  fill: #3f4df5;
  stroke: #fff;
  stroke-width: .7px;
  vector-effect: non-scaling-stroke;
}

.export-section .export-map-interactive .map-origin {
  fill: #3f4df5;
  stroke: #fff;
  stroke-width: 1.2px;
  vector-effect: non-scaling-stroke;
}

.export-section .export-map-interactive .map-export-origin-ring {
  fill: none;
  stroke: #3f4df5;
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
  transform-box: fill-box;
  transform-origin: center;
  animation: mx-export-origin-pulse 2.4s ease-out infinite;
}

.export-section .export-map-interactive .map-home-label {
  font: 750 11px/1 var(--font);
  letter-spacing: .07em;
  fill: #243d56;
  paint-order: stroke fill;
  stroke: #ecf2f8;
  stroke-width: 3px;
}

@keyframes mx-export-pulse-travel {
  0% { stroke-dashoffset: .11; opacity: 0; }
  7% { opacity: 1; }
  90% { opacity: 1; }
  100% { stroke-dashoffset: -.89; opacity: 0; }
}

@keyframes mx-export-origin-pulse {
  0% { transform: scale(.65); opacity: .72; }
  85%, 100% { transform: scale(2.7); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .export-section .export-map-interactive .map-export-pulse,
  .export-section .export-map-interactive .map-export-origin-ring,
  .export-section .export-map-interactive .map-export-signal {
    animation: none;
    display: none;
  }

  .export-section .export-map-interactive .map-route { opacity: .7; }
  .export-section .export-map-interactive .map-country { transition: none; }
}
