/* ==========================================================================
   chp-device.css — invisible mobile memory hardening for the rich routes
   --------------------------------------------------------------------------
   The full React + WebGL experience is KEPT. This file only removes the
   things that get low-end phones killed, none of which change how the
   design looks:

     • will-change — the hero promotes ~40 elements and the services/3D
       sections ~94. Each promoted layer is a GPU texture; on a phone the
       renderer is then OOM-killed and the tab reloads ("crashing on
       devices"). will-change is only a hint, so dropping it cuts memory
       while every GSAP/WebGL animation still runs.

     • prefers-reduced-motion — honoured, as it should be.

   Nothing here alters color, layout, type or motion on a healthy device.
   ========================================================================== */

@media (max-width: 1199px) {
  /* will-change is a hint, never a behaviour — capping it everywhere on
     phones/tablets removes the hundreds of promoted GPU layers that OOM
     low-end devices, while every GSAP/WebGL animation keeps running. */
  * {
    will-change: auto !important;
  }
}

/* Honour reduced motion (does not affect normal visitors). */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  * {
    will-change: auto !important;
  }
}
