/* Homepage motion is progressive enhancement. Content is visible without JavaScript. */
body.home {
  --tpc-motion-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --tpc-motion-duration: 500ms;
}
@media (prefers-reduced-motion: no-preference) {
  body.home .tpc-hero-enter {
    animation: tpc-hero-arrive var(--tpc-motion-duration) var(--tpc-motion-ease-out) both;
    animation-delay: var(--tpc-motion-delay, 0ms);
  }
  body.home .tpc-hero-enter.tpc-motion-soft {
    animation: tpc-content-arrive var(--tpc-motion-duration) var(--tpc-motion-ease-out) both;
    animation-delay: var(--tpc-motion-delay, 0ms);
  }
}
@media (prefers-reduced-motion: no-preference) {
  body.home .tpc-scroll-pending { opacity: 0; transform: translateY(28px); }
  body.home .tpc-reveal-in { animation: tpc-scroll-arrive 700ms var(--tpc-motion-ease-out) both; }
}
@keyframes tpc-scroll-arrive {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}
/* The main headline and lead image stay painted during their entrance. */
@keyframes tpc-hero-arrive {
  from { transform: translateY(16px); }
  to { transform: translateY(0); }
}
@keyframes tpc-content-arrive {
  from { opacity: .35; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  body.home .tpc-hero-enter,
  body.home .tpc-reveal-in,
  body.home .tpc-scroll-pending { animation: none !important; opacity: 1 !important; transform: none !important; }
}
@media print {
  body.home .tpc-hero-enter,
  body.home .tpc-reveal-in,
  body.home .tpc-scroll-pending { animation: none !important; opacity: 1 !important; transform: none !important; }
}
