.heritage-icon {
  flex-shrink: 0;
  overflow: visible;
}
.heritage-icon .signal-inner {
  animation: signalInner 5s ease-in-out infinite;
}
.heritage-icon .signal-outer {
  animation: signalOuter 5s ease-in-out infinite;
}
.heritage-icon .scan-bar {
  animation: scanSweep 3.6s ease-in-out infinite;
}
.heritage-icon .network-node-top {
  animation: networkNodeTop 6s ease-in-out infinite;
}
.heritage-icon .network-stem {
  stroke-dasharray: 1 2;
  animation: networkStemDraw 6s ease-in-out infinite;
}
.heritage-icon .network-branch {
  stroke-dasharray: 1 2;
  animation: networkBranchDraw 6s ease-in-out infinite;
}
.heritage-icon .network-node-side {
  animation: networkNodeSide 6s ease-in-out infinite;
}
.heritage-icon .drone-prop {
  transform-box: view-box;
  animation: droneRotorSpin 2.4s linear infinite;
}
.heritage-icon .drone-prop-a {
  transform-origin: 5.4px 5.4px;
}
.heritage-icon .drone-prop-b {
  transform-origin: 18.6px 5.4px;
  animation-direction: reverse;
}
.heritage-icon .drone-prop-c {
  transform-origin: 5.4px 18.6px;
  animation-direction: reverse;
}
.heritage-icon .drone-prop-d {
  transform-origin: 18.6px 18.6px;
}
.heritage-icon .signal-icon-vessel {
  transform-box: view-box;
  transform-origin: 12px 16px;
  animation: heraVesselRock 3.2s ease-in-out infinite;
}
.heritage-icon .signal-icon-wave {
  animation: heraWaveDrift 3.2s ease-in-out infinite;
}
.heritage-icon .signal-icon-rain path {
  animation: heraRainFall 1.8s ease-in infinite;
}
.heritage-icon .signal-icon-rain .signal-icon-delay-1 {
  animation-delay: -0.6s;
}
.heritage-icon .signal-icon-rain .signal-icon-delay-2 {
  animation-delay: -1.2s;
}
.heritage-icon:not(.is-in-view) * {
  animation-play-state: paused;
}
.reduce-motion .heritage-icon * {
  animation: none !important;
  stroke-dashoffset: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .heritage-icon * {
    animation: none !important;
    stroke-dashoffset: 0 !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
@keyframes signalInner {
  0%,
  6% {
    opacity: 0;
  }
  15%,
  38% {
    opacity: 1;
  }
  47%,
  100% {
    opacity: 0;
  }
}

@keyframes signalOuter {
  0%,
  15% {
    opacity: 0;
  }
  24%,
  50% {
    opacity: 1;
  }
  59%,
  100% {
    opacity: 0;
  }
}

@keyframes scanSweep {
  0% {
    opacity: 0.45;
    transform: translateY(-5px);
  }
  50% {
    opacity: 1;
    transform: translateY(5px);
  }
  100% {
    opacity: 0.45;
    transform: translateY(-5px);
  }
}

@keyframes networkNodeTop {
  0% {
    opacity: 0.2;
  }
  7%,
  86% {
    opacity: 1;
  }
  97%,
  100% {
    opacity: 0.2;
  }
}

@keyframes networkStemDraw {
  0%,
  8% {
    stroke-dashoffset: 1.1;
  }
  17%,
  84% {
    stroke-dashoffset: 0;
  }
  94%,
  100% {
    stroke-dashoffset: 1.1;
  }
}

@keyframes networkBranchDraw {
  0%,
  16% {
    stroke-dashoffset: 1.1;
  }
  31%,
  81% {
    stroke-dashoffset: 0;
  }
  91%,
  100% {
    stroke-dashoffset: 1.1;
  }
}

@keyframes networkNodeSide {
  0%,
  29% {
    opacity: 0.2;
  }
  39%,
  78% {
    opacity: 1;
  }
  88%,
  100% {
    opacity: 0.2;
  }
}

@keyframes droneRotorSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes heraVesselRock {
  0%,
  100% {
    transform: rotate(-2.5deg) translateY(0);
  }
  50% {
    transform: rotate(2.5deg) translateY(-0.6px);
  }
}

@keyframes heraWaveDrift {
  0%,
  100% {
    opacity: 0.55;
    transform: translateX(-0.7px);
  }
  50% {
    opacity: 1;
    transform: translateX(0.9px);
  }
}

@keyframes heraRainFall {
  0% {
    opacity: 0;
    transform: translateY(-1.8px);
  }
  24% {
    opacity: 1;
  }
  100% {
    opacity: 0.12;
    transform: translateY(2.6px);
  }
}

.heritage-motion.is-paused .heritage-icon * {animation-play-state:paused}
