/* ============================================================
   animations.css — Scroll-triggered & keyframe animations
   ============================================================ */

/* Fade-in up on scroll */
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children */
.stagger > * { transition-delay: calc(var(--i, 0) * 80ms); }

/* Pulse glow on hover */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(108, 99, 255, 0.4); }
  50%       { box-shadow: 0 0 20px 8px rgba(108, 99, 255, 0.15); }
}

/* Floating animation */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}

.float { animation: float 4s ease-in-out infinite; }
