/**
 * HB-189 — compositor-friendly motion (theme-freeze overlay)
 * Prefer transform/opacity; avoid layout-thrashing animated props.
 * Never touches index-C7BUmI7G.js / index-BN2ZtJyR.css.
 */
@media (prefers-reduced-motion: no-preference) {
  html.storefront-root .brand-scroll-track,
  html.storefront-root .brand-partners-track,
  html.storefront-root [class*="scroll-left"],
  html.storefront-root [class*="scroll-right"],
  html.storefront-root [class*="scrollLeft"],
  html.storefront-root [class*="scrollRight"],
  html.storefront-root .animate-marquee,
  html.storefront-root .marquee-track {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
  }

  /* Soften infinite opacity pulses that force main-thread style recalc */
  html.storefront-root .animate-pulse,
  html.storefront-root .animate-pulse-soft {
    animation-duration: 2.4s !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.storefront-root .brand-scroll-track,
  html.storefront-root .brand-partners-track,
  html.storefront-root [class*="scroll-left"],
  html.storefront-root [class*="scroll-right"],
  html.storefront-root .animate-marquee,
  html.storefront-root .marquee-track,
  html.storefront-root .animate-pulse,
  html.storefront-root .animate-pulse-soft {
    animation: none !important;
    transform: none !important;
  }
}

/* Below-fold images: skip rendering work until near viewport */
html.storefront-root main img[loading="lazy"],
html.storefront-root #root img[loading="lazy"] {
  content-visibility: auto;
  contain-intrinsic-size: 240px 180px;
}
