/* parallax — connective scroll tissue between sections.
   Namespace: px-
   Applies only to the safelisted section roots (.logos .whynow .results
   .compare .stack .close) via inline transform/opacity written by parallax.js.
   This file only provides:
   1) a will-change hint while a section is actively being animated (JS toggles
      the px-live class on/off so the hint is not held permanently), and
   2) a hard reduced-motion / no-JS-failure safety net.
   Never selects .hero, .loop or .memory — those run their own scroll-scrubbed
   animations and must not be touched. */

.logos.px-live,
.whynow.px-live,
.results.px-live,
.compare.px-live,
.stack.px-live,
.close.px-live {
  will-change: transform, opacity;
}

/* Safety net: if parallax.js ever leaves an inline transform/opacity behind
   after reduced-motion is requested, this wins over the inline style because
   it is !important — naming the rule it overrides: the `style="transform:...;
   opacity:...` attribute parallax.js writes on these same six section roots. */
@media (prefers-reduced-motion: reduce) {
  .logos,
  .whynow,
  .results,
  .compare,
  .stack,
  .close {
    transform: none !important;
    opacity: 1 !important;
    will-change: auto !important;
  }
}
