/* 
 * Cinematic Animations 
 */

/* Initial hide states for intersection observer */
.reveal-up {
  opacity: 0;
  transform: translateY(40px) scale(0.98);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-fade {
  opacity: 0;
  transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity;
}

/* Active states class added by JS */
.reveal-up.in-view {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.reveal-fade.in-view {
  opacity: 1;
}

/* Delicate Delays */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }

/* Remove delays on mobile for faster perception */
@media (max-width: 768px) {
  .delay-1, .delay-2, .delay-3, .delay-4, .delay-5 {
    transition-delay: 0s;
  }
}
