/* Scroll reveal — slower, softer than before */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
              transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}
.reveal--visible { opacity: 1; transform: translateY(0); }
.reveal--stagger-1 { transition-delay: 0.12s; }
.reveal--stagger-2 { transition-delay: 0.24s; }
.reveal--stagger-3 { transition-delay: 0.36s; }

/* Hero slow scale-in */
@keyframes heroScale {
  from { transform: scale(1.08); }
  to   { transform: scale(1); }
}
.hero__media {
  animation: heroScale 6s ease-out forwards;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .hero__media { animation: none; }
}
