/* Custom Floating & Entrance Animations */

@keyframes floatSlow {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-15px) rotate(3deg); }
}

@keyframes pulseGlow {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 0.9; transform: scale(1.05); }
}

.floating-element {
  animation: floatSlow 6s ease-in-out infinite;
}

.floating-element-delay-1 {
  animation: floatSlow 7s ease-in-out 1s infinite;
}

.floating-element-delay-2 {
  animation: floatSlow 5s ease-in-out 2s infinite;
}

/* IntersectionObserver reveal classes */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}