/* Mobile paint budget. iOS Safari composites every backdrop-filter / blur / drop-shadow element as its own GPU
   layer at 3x resolution; past the device budget it paints those layers black (menu survives, content doesn't).
   On touch and small screens we drop the GPU-only decoration and keep layout, copy and motion identical.
   Desktop is untouched. Loaded last so the !important rules win over inline styles set by GSAP. */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  *, *::before, *::after { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }

  /* glass surfaces sit on black, so a slightly denser base keeps the same look without the blur */
  .nav-container, .ot-foot, .cap-card, .rs-card, .rl-who, .pj, .vp-hud, .ws-stage .vp-hud, .eng2-x,
  .ow-person figcaption, .vw-tile figcaption, .ck-main, .rl-trial #apply, .glass, .service-card, .case-card,
  .stat-item, .clients-bar, .audit-stack .audit-card { background-color: rgba(10, 10, 10, .88); }
  .nav-pill, .nav-right { background-color: transparent; }
  /* the "See all services" card is lighter by design; without the blur behind it it reads flat grey, so same base as its siblings */
  .cap-more-card, .el-wrap .cap-more-card { background: linear-gradient(160deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 40%, rgba(255,255,255,.02) 62%, rgba(255,255,255,.08) 100%), rgba(10,10,10,.88) !important; }

  /* blur / glow filters on text and cards: the reveal still runs on opacity + transform */
  .hero-title, .hero-title-reveal, .hero-tagline, .hero-badge, .hero-ctas, .hero-stats, .hero-content > *,
  .cap-seq .cap-card, .seq .pcard, .fs-step, .cv-intro .cv-title, .cv-w, .nav .nav-logo,
  .reveal-char, .title-line { filter: none !important; will-change: auto !important; }

  /* SVG glows and the section grids: keep the strokes, drop the shadow filter */
  .sec-grid b, .ot-ring-fill, .fc-line, .fc-dot, .fs-layer.cur, .fs-funnel, .el-line, .el-pulse,
  .eng2-path, .trk-dot, .form-success:not([hidden]) svg, .pt-timeline *, .hpanel * { filter: none !important; }

  /* fixed full-screen blurred blobs: a soft gradient costs nothing and reads the same */
  .ambient-blob { filter: none !important; animation: none !important;
    background: radial-gradient(circle, rgba(255, 122, 61, .55) 0%, rgba(255, 122, 61, 0) 70%) !important; }
  .vp-amb { filter: none !important; opacity: .35; }
  .fin-glow { animation: none !important; }
  .aurora-canvas, .hero-glow-follow, #custom-cursor, #cursor-trail { display: none !important; }

  /* breathing box-shadows repaint the whole card every frame */
  .cap-card.cap-main, .pcard.main, .pcard.warm { animation: warm-float 5s cubic-bezier(.45, 0, .55, 1) infinite !important; will-change: transform !important; }
  .nav { will-change: auto !important; }
}
