.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.in-view {
  opacity: 1;
  transform: translateY(0);
}

.delay-1 {
  transition-delay: 0.12s;
}

.delay-2 {
  transition-delay: 0.24s;
}

.nav-cta,
.btn-primary,
.package-card.featured,
.pulse-dot,
.quote-icon,
.icon-wrap,
.hud-card,
.mission-statement {
  animation: glowPulse 4s ease-in-out infinite;
}

.rocket-scene::after {
  content: "";
  position: absolute;
  inset: auto 6% -18% 55%;
  height: 42%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 140, 50, 0.16), transparent 70%);
  filter: blur(30px);
  animation: engineGlow 3.6s ease-in-out infinite;
}

.info-card:hover,
.package-card:hover,
.promo-card:hover,
.payment-card:hover,
.review-card:hover,
.metric:hover,
.btn-secondary:hover,
.nav-cta:hover,
.brand:hover {
  transform: translateY(-6px);
}

.info-card,
.package-card,
.promo-card,
.payment-card,
.review-card,
.metric,
.btn-secondary,
.nav-cta,
.brand {
  transition: transform 0.3s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.info-card:hover,
.package-card:hover,
.promo-card:hover,
.payment-card:hover,
.review-card:hover,
.metric:hover {
  border-color: rgba(92, 168, 255, 0.34);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.46), 0 0 0 1px rgba(92, 168, 255, 0.14) inset;
}

.scene-image {
  animation: sceneFloat 10s ease-in-out infinite;
}

.section-heading h2,
.hero-subtitle,
.metric,
.info-card,
.package-card,
.review-card,
.payment-card,
.promo-card,
.important-note,
.cta-panel,
.mission-card {
  will-change: transform;
}

@keyframes glowPulse {
  0%, 100% {
    box-shadow: 0 0 0 rgba(92, 168, 255, 0), 0 0 0 rgba(255, 140, 50, 0);
  }
  50% {
    box-shadow: 0 0 22px rgba(92, 168, 255, 0.18), 0 0 34px rgba(255, 140, 50, 0.12);
  }
}

@keyframes engineGlow {
  0%, 100% {
    opacity: 0.45;
    transform: scale(0.95);
  }
  50% {
    opacity: 0.95;
    transform: scale(1.06);
  }
}

@keyframes sceneFloat {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-10px) scale(1.012);
  }
}

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