/* ============================================================
   WEDDING-15 | animations.css
   Bouncy reveal + confetti-ready keyframes
   ============================================================ */

.reveal {
  opacity: 0;
  transform: translateY(20px) scale(0.98);
  transition:
    opacity 0.5s var(--ease-bounce),
    transform 0.5s var(--ease-bounce);
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}

@keyframes heroIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero-guest {
  animation: heroIn 0.6s var(--ease-bounce) 0.05s both;
}
.starburst {
  animation: heroIn 0.7s var(--ease-bounce) 0.15s both;
}
.hero-title {
  animation: heroIn 0.7s var(--ease-bounce) 0.28s both;
}
.hero-tagline {
  animation: heroIn 0.6s var(--ease-bounce) 0.4s both;
}
.hero-meta {
  animation: heroIn 0.6s var(--ease-bounce) 0.52s both;
}
.hero-actions {
  animation: heroIn 0.6s var(--ease-bounce) 0.64s both;
}

@keyframes wiggle {
  0%,
  100% {
    transform: rotate(var(--r, -3deg));
  }
  50% {
    transform: rotate(calc(var(--r, -3deg) * -1));
  }
}
.tag-sticker:hover {
  animation: wiggle 0.5s ease-in-out;
}
