/* Hero text is visible from the first paint (it is the Largest Contentful Paint); the entrance is a transform-only rise, no JS needed. */
@keyframes osaRise{from{transform:translateY(22px)}to{transform:none}}
.js .hero .reveal,.js .hero--photo .reveal,.js .page-hero .reveal{opacity:1;transform:none;transition:none;animation:osaRise .9s var(--ease) both}
.js .hero .reveal:nth-child(2){animation-delay:.08s}.js .hero .reveal:nth-child(3){animation-delay:.16s}
@media (prefers-reduced-motion:reduce){.js .hero .reveal,.js .hero--photo .reveal,.js .page-hero .reveal{animation:none}}
