/* Homepage hero opening, approved 4 Oct 2026 ("quick", 2 s).
   The photograph starts 10% larger and settles over two seconds; the hero
   text then rises in. The photo's own transform carries the left-locked head
   crop, so the zoom runs on the <picture> wrapper, with its origin on
   Dr Chen's head. The existing page float-up (site-page-float) still runs. */
body.home .cinema .photo-window picture {
  transform-origin: 14% 42%;
  animation: hs-settle 2s cubic-bezier(.22, .7, .2, 1) both;
}
@keyframes hs-settle {
  from { transform: scale(1.1); }
  to   { transform: scale(1); }
}
body.home .cinema .hero-copy > *,
body.home .cinema .hero-stats {
  animation: hs-rise .8s cubic-bezier(.2, .7, .2, 1) both;
}
@keyframes hs-rise {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: none; }
}
body.home .cinema .hero-copy > :nth-child(1) { animation-delay: .8s; }
body.home .cinema .hero-copy > :nth-child(2) { animation-delay: .95s; }
body.home .cinema .hero-copy > :nth-child(3) { animation-delay: 1.15s; }
body.home .cinema .hero-copy > :nth-child(4) { animation-delay: 1.35s; }
body.home .cinema .hero-copy > :nth-child(5) { animation-delay: 1.5s; }
body.home .cinema .hero-stats { animation-delay: 1.7s; }

@media (prefers-reduced-motion: reduce) {
  body.home .cinema .photo-window picture,
  body.home .cinema .hero-copy > *,
  body.home .cinema .hero-stats { animation: none; }
}
