/* Animations */
@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-8px);
  }
  100% {
    transform: translateY(0px);
  }
}

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

/* Scroll Reveal Animations */
.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 500ms cubic-bezier(0.16, 1, 0.32, 1), 
              transform 500ms cubic-bezier(0.16, 1, 0.32, 1);
  /* Stagger delay based on CSS variable set in inline style */
  transition-delay: calc(var(--stagger, 0) * 100ms);
}

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