@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(32px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes heroGlow {
  0%,
  100% {
    opacity: 0.4;
    transform: scale(1);
  }
  50% {
    opacity: 0.7;
    transform: scale(1.05);
  }
}

.hero__label {
  animation: fadeUp 0.8s ease both;
}

.hero__title {
  animation: fadeUp 0.8s ease 0.15s both;
}

.hero__subtitle {
  animation: fadeUp 0.8s ease 0.3s both;
}

.hero__actions {
  animation: fadeUp 0.8s ease 0.45s both;
}

.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity var(--transition-slow),
    transform var(--transition-slow);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  transition:
    opacity var(--transition-slow),
    transform var(--transition-slow);
}

.reveal-scale.is-visible {
  opacity: 1;
  transform: scale(1);
}

.badge-strip__item {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}

.badge-strip__item.is-visible {
  opacity: 1;
  transform: translateY(0);
}
