/* Global Performance & Stability — beyondthereef.mx */

html {
  scroll-behavior: smooth;
  overscroll-behavior-y: none;
  -webkit-overflow-scrolling: touch;
}
body {
  overscroll-behavior-y: none;
  overflow-x: hidden;
}

/* Promote fixed floating buttons & nav to GPU compositor layers */
.float-ig,
.float-wa {
  will-change: transform;
  transform: translateZ(0);
}

.nav,
.mob-menu {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Scroll-reveal: keep on GPU, release hint once visible */
.rv {
  will-change: opacity, transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.rv.vis {
  will-change: auto;
}

/* Prevent the wide flex-track from causing layout recalculations
   outside .ps; also isolates the repaint/composite zone */
.ps {
  contain: layout;
}

/* Stable height for the arrow bar — prevents CLS during font-swap */
.ps-nav {
  min-height: 64px;
}

.sl-track,
.ps-track {
  touch-action: pan-y pinch-zoom;
}

/* Reduced motion */
@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;
  }
}
