/* Only visible landing demonstrations need an animation clock. Keep their
   current frame when scrolling away, including animations on pseudo-elements. */
body.is-landing main > section:not(.motion-visible),
body.is-landing main > section:not(.motion-visible) *,
body.is-landing main > section:not(.motion-visible) *::before,
body.is-landing main > section:not(.motion-visible) *::after,
body.is-landing .footer:not(.motion-visible) *,
body.is-landing.motion-hidden *,
body.is-landing.motion-hidden *::before,
body.is-landing.motion-hidden *::after {
  animation-play-state: paused !important;
}

/* These full-screen blurred layers used to be resampled continuously. Their
   existing gradients already fade smoothly; retain the palette as a still. */
body.is-landing .backdrop .aurora {
  animation: none !important;
  filter: none !important;
  translate: none !important;
  will-change: auto;
}

/* scene.js rotates the actual particle sphere, with independent cursor easing. */
body.is-landing #hero3d {
  --landing-motion-duration: 2.25;
  animation: none;
  transform: none;
  transform-origin: 50% 50%;
}
@media (prefers-reduced-motion: reduce) {
  body.is-landing *, body.is-landing *::before, body.is-landing *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
