/* =========================================================
   LA PAIX MOBILE NATIVE SCROLL — v0.2.174
   iOS / Chrome iOS stabilization layer.
   Mobile scrolling uses the document's native path: no persistent fixed UI,
   no backdrop blur, no reveal transforms and no root overflow clipping.
   Desktop presentation and QUIET MOTION are intentionally untouched.
========================================================= */
@media (max-width: 900px) {
  html {
    scroll-behavior: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: visible !important;
  }
  body,
  .site-main,
  .brand-site-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: visible !important;
  }

  /* iOS 26 WebKit is especially sensitive to viewport-fixed/sticky layers
     combined with clipping, shadows and backdrop filtering. Keep the header
     in ordinary page flow on mobile. The menu is fixed only while actually open. */
  .site-header,
  body.home .site-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    mix-blend-mode: normal !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    box-shadow: none !important;
  }
  body:not(.home) .site-header {
    background: rgba(255,253,248,.985) !important;
  }

  .site-nav:not(.is-open) {
    display: none !important;
    transform: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
  }
  .site-nav.is-open {
    display: block !important;
    position: fixed !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
  }
  body.home .site-nav.is-open {
    display: flex !important;
    inset: 0 !important;
  }

  /* Persistent conversion bars are removed from the mobile compositor.
     Each page already contains an inline CONTACT / consultation route, so
     conversion remains available without an always-on fixed layer. */
  .mobile-sticky-cta {
    display: none !important;
  }
  .site-footer {
    padding-bottom: max(72px, calc(env(safe-area-inset-bottom) + 52px)) !important;
  }

  /* Sticky content cards are useful on desktop but unnecessary on a narrow
     viewport, and can trigger expensive re-composition in WebKit. */
  .contact-form-section__intro,
  .labo-offer__card {
    position: static !important;
    top: auto !important;
  }

  /* Mobile content is fully visible from first paint. No scroll-triggered
     opacity/translate/clip-path/scan-line layer is allowed to enter or exit
     while the user's finger is moving. */
  html.has-js main .js-reveal,
  html.has-js main .js-reveal.is-visible,
  html.qm-enabled main .qm-title,
  html.qm-enabled main .qm-title.qm-in,
  html.qm-enabled main .qm-media,
  html.qm-enabled main .qm-media.qm-in,
  html.qm-enabled main .qm-step,
  html.qm-enabled main .qm-step.qm-in,
  html.qm-enabled main .qm-step > *,
  html.qm-enabled main .qm-mobile-title-line,
  html.qm-enabled main .qm-title--single,
  html.qm-enabled main .qm-mobile-portfolio,
  main .js-image-drift > img {
    opacity: 1 !important;
    transform: none !important;
    translate: 0 0 !important;
    scale: 1 !important;
    clip-path: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
    will-change: auto !important;
  }
  html.qm-enabled main .qm-mobile-curtain {
    contain: none !important;
    isolation: auto !important;
  }
  html.qm-enabled main .qm-mobile-curtain::after {
    display: none !important;
  }

  /* Remove mobile blur/filter surfaces even if an older page-specific rule
     survives in legacy CSS. */
  .site-main *,
  .site-footer * {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-group(lapaix-brand),
  ::view-transition-group(lapaix-menu) {
    animation: none !important;
  }
}
