/* ---- Scroll-reveal & float animations ---- */
@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0;
    transform: translateY(14px);
    transition:
      opacity 0.7s ease,
      transform 0.7s ease;
  }
  .reveal.in {
    opacity: 1;
    transform: none;
  }
  .float-y {
    animation: float 6s ease-in-out infinite;
  }
  .float-y.delayed {
    animation-delay: 1.5s;
  }
}
@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
