/**
 * Mobile — scroll reveal helpers (legacy mobile forks hidden in offmarket-overrides.css)
 */

@media (max-width: 979px) {
  [data-om-mobile-reveal] {
    opacity: 0;
    transform: translate3d(0, 26px, 0);
    filter: blur(5px);
    transition:
      opacity 0.82s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.82s cubic-bezier(0.22, 1, 0.36, 1),
      filter 0.82s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--om-m-reveal-delay, 0ms);
    will-change: opacity, transform, filter;
  }

  [data-om-mobile-reveal].om-m-inview {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

/* Pure-CSS time failsafe: the mobile reveal hides ALL sections until scrolled,
   so if om-mobile-reveal.js is slow/blocked the page can stay blank. Fade any
   still-hidden element in after a grace period. The scroll reveal wins when JS
   runs (adding .om-m-inview drops this selector match). */
@media (max-width: 979px) and (prefers-reduced-motion: no-preference) {
  @keyframes omMobileRevealFailsafe {
    from {
      opacity: 0;
      transform: translate3d(0, 26px, 0);
      filter: blur(5px);
    }
    to {
      opacity: 1;
      transform: translate3d(0, 0, 0);
      filter: blur(0);
    }
  }
  [data-om-mobile-reveal]:not(.om-m-inview) {
    animation: omMobileRevealFailsafe 820ms cubic-bezier(0.22, 1, 0.36, 1) 2200ms
      forwards;
  }
}

@media (prefers-reduced-motion: reduce) {
  @media (max-width: 979px) {
    [data-om-mobile-reveal] {
      opacity: 1 !important;
      transform: none !important;
      filter: none !important;
      transition: none !important;
    }
  }
}
