
/* =========================================================
   SCROLL ARCHITECTURE FIX
   Problem: html AND body both had overflow-y scroll/auto
   → nested scroll containers → wheel/touch feels "stuck"
   Solution: only ONE scroll root (document / html)
   Photon canvas + animations intentionally untouched
   ========================================================= */

html{
  scroll-behavior: auto !important;
  overflow-x: clip !important;
  overflow-y: scroll !important;   /* single scroll root */
  height: 100% !important;
  overscroll-behavior-y: auto !important;
}

body{
  overflow-x: clip !important;
  overflow-y: visible !important;  /* NOT a scroll container */
  height: auto !important;
  min-height: 100% !important;
  position: relative !important;
  overscroll-behavior-y: auto !important;
  touch-action: manipulation !important;
}

/* Menu-open lock only */
body.nav-open,
body:has(.eco-nav-v23.mobile-open){
  overflow: hidden !important;
}
html:has(.eco-nav-v23.mobile-open){
  overflow: hidden !important;
}

/* Closed mobile sheet — out of hit testing completely */
.eco-nav-v23:not(.mobile-open) .eco-nav-v23__sheet,
.eco-nav-v23__sheet[aria-hidden="true"]{
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  z-index: -1 !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}
.eco-nav-v23.mobile-open .eco-nav-v23__sheet,
.eco-nav-v23__sheet[aria-hidden="false"]{
  display: flex !important;
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.eco-mobile-nav-backdrop{
  display: none !important;
  pointer-events: none !important;
}
.eco-nav-v23.mobile-open + .eco-mobile-nav-backdrop{
  display: block !important;
  pointer-events: auto !important;
}

/* Photon never captures input — do not change visibility/animation */
#photonCanvas,
.photon-canvas,
.photons-canvas,
canvas[aria-hidden="true"]{
  pointer-events: none !important;
}

/* Main must not become a nested scroller */
main,
#main-content,
.home-page-v3,
body.home-page-v3 main{
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* Remove earlier contain:content (can interfere with scroll/paint) */
.home-page-v3 .v3-hero,
.home-page-v3 .hp7-tech-depth,
.home-page-v3 .v3-signal{
  contain: none !important;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto !important; }
}

/* NAV REPAIR */
.eco-nav-v23{
  transform: translateX(-50%) !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}
