/**
 * Adaptive motion layer.
 *
 * The visual identity remains animated, while expensive paint effects are
 * kept static and motion is paused whenever its section is outside viewport.
 */

/* The hero keeps its floating mark; large blurred layers no longer repaint. */
.rn-adaptive-motion .rn-front-page .rn-legacy-logo-stage::before,
.rn-adaptive-motion .rn-front-page .rn-legacy-logo-stage::after {
  animation: none !important;
  will-change: auto !important;
}

.rn-adaptive-motion .rn-front-page .rn-legacy-logo-float {
  animation-duration: 9.5s !important;
  will-change: transform;
}

.rn-adaptive-motion .rn-front-page .rn-legacy-logo-mark {
  animation-duration: 11s !important;
  will-change: transform;
}

.rn-adaptive-motion .rn-front-page .rn-legacy-logo-shine,
.rn-adaptive-motion .rn-front-page .rn-legacy-logo-edge {
  animation-duration: 10s !important;
  will-change: opacity, transform;
}

/* Paused scenes release compositor layers instead of only freezing time. */
.rn-adaptive-motion .rn-front-hero.is-motion-paused .rn-legacy-logo-float,
.rn-adaptive-motion .rn-front-hero.is-motion-paused .rn-legacy-logo-mark,
.rn-adaptive-motion .rn-front-hero.is-motion-paused .rn-legacy-logo-shine,
.rn-adaptive-motion .rn-front-hero.is-motion-paused .rn-legacy-logo-edge,
.rn-adaptive-motion .rn-front-hero.is-motion-paused .rn-front-hero-point {
  will-change: auto !important;
}

/* Keep the map alive without animating every priority marker forever. */
.rn-adaptive-motion .rn-coverage-map-hero .rn-map-marker.is-priority .rn-map-marker-dot::after {
  animation: none !important;
  opacity: .48;
}

.rn-adaptive-motion .rn-coverage-map-hero .rn-map-marker.is-priority:nth-of-type(9n + 1) .rn-map-marker-dot::after,
.rn-adaptive-motion .rn-coverage-map-hero .rn-map-marker:hover .rn-map-marker-dot::after,
.rn-adaptive-motion .rn-coverage-map-hero .rn-map-marker:focus-visible .rn-map-marker-dot::after {
  animation: rnCoverageNodePulse 4.8s ease-out infinite !important;
}

.rn-adaptive-motion .rn-coverage-inline-map.is-motion-paused *,
.rn-adaptive-motion .rn-coverage-inline-map.is-motion-paused *::before,
.rn-adaptive-motion .rn-coverage-inline-map.is-motion-paused *::after {
  animation-play-state: paused !important;
}

/* Low-power mode retains movement but removes costly secondary layers. */
.rn-low-power-motion .rn-front-page .rn-front-hero-point:nth-child(n + 9),
.rn-low-power-motion .rn-front-page .rn-legacy-logo-shine,
.rn-low-power-motion .rn-front-page .rn-legacy-logo-edge {
  display: none !important;
}

.rn-low-power-motion .rn-front-page .rn-legacy-logo-float {
  animation-duration: 13s !important;
}

.rn-low-power-motion .rn-front-page .rn-legacy-logo-mark {
  animation: none !important;
  transform: translateZ(18px) rotate(-1deg);
}

.rn-low-power-motion .rn-coverage-map-hero .rn-map-marker-dot::after,
.rn-low-power-motion .rn-header::before,
.rn-low-power-motion .rn-footer::before,
.rn-low-power-motion .rn-footer::after {
  animation: none !important;
}

@media (max-width: 760px), (update: slow) {
  .rn-adaptive-motion .rn-front-page .rn-legacy-logo-stage::before,
  .rn-adaptive-motion .rn-front-page .rn-legacy-logo-stage::after {
    filter: none !important;
  }
}

.rn-coverage-option.is-keyboard-active,
.rn-coverage-option:focus-visible {
  outline: 2px solid var(--rn-blue, #377fbe);
  outline-offset: 2px;
}

.rn-coverage-picker.is-navigating {
  pointer-events: none;
  cursor: progress;
}

/* The redundant confirmation column was removed; search now uses full width. */
.rn-coverage-picker-layout-clean {
  grid-template-columns: minmax(0, 1fr);
}
