@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-floating,
.promo-card,
.newsletter-card {
  animation: float 6s ease-in-out infinite;
}

.reveal-up {
  opacity: 0;
  transform: translateY(18px);
}

.reveal-up.is-visible {
  animation: fadeUp 480ms ease forwards;
}

.hover-lift {
  transition: transform var(--transition), box-shadow var(--transition);
}

.hover-lift:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
}
