/* Hero cinematic drift */
@keyframes heroDrift{
  0%{ transform:scale(1.06) translateY(0); }
  100%{ transform:scale(1.14) translateY(-14px); }
}
.hero-media{ animation:heroDrift 22s ease-in-out infinite alternate; }

/* Floating satellite icon */
.floating-dish{
  position:absolute;
  animation:floatDish 7s ease-in-out infinite;
}
@keyframes floatDish{
  0%,100%{ transform:translateY(0) rotate(0deg); }
  50%{ transform:translateY(-14px) rotate(2deg); }
}

/* Orbit ring rotation used on hero + coverage map */
.orbit-ring{
  transform-origin:center;
  animation:orbitSpin 40s linear infinite;
}
@keyframes orbitSpin{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }

/* Fade up utility, staggered via inline delay style */
@keyframes fadeUp{
  from{ opacity:0; transform:translateY(24px); }
  to{ opacity:1; transform:translateY(0); }
}

/* Radar sweep behind hero content, subtle */
.radar-sweep{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(168,212,60,0.18);
  pointer-events:none;
}
@keyframes radarPulseA{
  0%{ transform:scale(0.8); opacity:0.5; }
  100%{ transform:scale(1.4); opacity:0; }
}

/* Nav underline / link hover already in style.css transitions */

/* Button press */
.btn:active{ transform:translateY(0) scale(0.98); }

/* Counter pop */
.stat-num.counted{ animation:countPop .5s var(--ease); }
@keyframes countPop{
  0%{ transform:scale(0.9); opacity:0.4; }
  100%{ transform:scale(1); opacity:1; }
}
