animation-play-state: пауза hero-анимации вне viewport
paused при document.hidden и Intersection Observer.
`animation-play-state: paused` останавливает бесконечный фоновый loop без удаления animation — вкладка в фоне не тратит CPU.
В JS: `element.style.animationPlayState = document.hidden ? "paused" : "running"`.
- animation-play-state — MDN — running и paused.
- Page Visibility API — MDN — document.hidden.
Видео
Для `<video>` используйте `.pause()` — play-state относится к CSS-анимациям.