/* ========== animation.css ========== */
/* Global fade-in and subtle motion for the entire site */

* {
  animation-duration: 0.8s;
  animation-fill-mode: both;
  animation-timing-function: ease-out;
}

/* Base animation: hidden by default */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(20px);
}

/* Keyframes */
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* When element is visible */
.animate-on-scroll.visible {
  animation-name: fadeUp;
}

/* Optional subtle floating animation for hero images or icons */
.float {
  animation: floatUpDown 4s ease-in-out infinite;
}

@keyframes floatUpDown {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
