/* Scroll Animations */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  will-change: opacity, transform;
}

.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered delays for grids */
.grid-features .card:nth-child(1) { transition-delay: 0.1s; }
.grid-features .card:nth-child(2) { transition-delay: 0.2s; }
.grid-features .card:nth-child(3) { transition-delay: 0.3s; }
.grid-features .card:nth-child(4) { transition-delay: 0.4s; }
.grid-features .card:nth-child(5) { transition-delay: 0.5s; }
.grid-features .card:nth-child(6) { transition-delay: 0.6s; }

.grid-screens .phone-mockup:nth-child(1) { transition-delay: 0.1s; }
.grid-screens .phone-mockup:nth-child(2) { transition-delay: 0.3s; }
.grid-screens .phone-mockup:nth-child(3) { transition-delay: 0.5s; }
.grid-screens .phone-mockup:nth-child(4) { transition-delay: 0.7s; }

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

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

.animate-float-delayed {
  animation: float 6s ease-in-out infinite;
  animation-delay: 3s;
}
