/* Geographic position comes from the native Leaflet marker, never from viewport percentages. */
.mg-contact-map .mg9816-map-pulse {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  z-index: 0;
  pointer-events: none;
}
.mg-contact-map .mg9816-map-pulse > span {
  position: absolute;
  left: -36px;
  top: -36px;
  width: 72px;
  height: 72px;
  box-sizing: border-box;
  border: 2px solid rgba(18,61,96,.48);
  border-radius: 50%;
  background: rgba(18,61,96,.08);
  box-shadow: 0 0 0 4px rgba(18,61,96,.045);
  pointer-events: none;
  opacity: 0;
  transform: scale(.18);
  transform-origin: center;
  animation: mg9816-location-pulse 4.4s cubic-bezier(.2,.55,.35,1) infinite;
  animation-play-state: paused;
}
.mg-contact-map .mg9816-map-pulse > span + span { animation-delay: -2.2s; }
.mg-contact-map.mg9816-pulse-live .mg9816-map-pulse > span { animation-play-state: running; }
@keyframes mg9816-location-pulse {
  0% { transform: scale(.18); opacity: 0; }
  12% { opacity: .64; }
  72% { opacity: .24; }
  100% { transform: scale(1.15); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .mg-contact-map .mg9816-map-pulse { display: none; }
  .mg-contact-map .mg9816-map-pulse > span { animation: none; }
}
