.pulse-glow {
  animation: pulseAura 3.5s ease-in-out infinite;
}

@keyframes pulseAura {
  0%, 100% { transform: scale(1); opacity: 0.85; }
  50% { transform: scale(1.05); opacity: 0.98; }
}

@keyframes floatUp {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-18px); }
  100% { transform: translateY(0px); }
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.shimmer-text {
  background: linear-gradient(90deg, rgba(255,255,255,0.12), rgba(255,255,255,0.34), rgba(255,255,255,0.12));
  background-size: 300% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 2.4s ease infinite;
}

@keyframes fallIn {
  from { transform: translateY(12px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes expand {
  0% { transform: scale(0.95); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

.fade-in {
  animation: fallIn 0.75s ease forwards;
}

.reveal-scale {
  animation: expand 0.7s ease forwards;
}
