
/* ECOTECH PERFORMANCE — smooth desktop + mobile, visuals kept */
html{
  scroll-behavior:auto !important;
  overflow-x:clip !important;
  overflow-y:scroll !important;
  height:100% !important;
  -webkit-text-size-adjust:100%;
}
body{
  overflow-x:clip !important;
  overflow-y:visible !important;
  height:auto !important;
  min-height:100% !important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a, button, .btn, .eco-nav-v23__trigger, .eco-nav-v23__mobile{ touch-action:manipulation; }
img{ max-width:100%; height:auto; }
main section:not(:first-of-type){
  content-visibility:auto;
  contain-intrinsic-size:auto 480px;
}
#photonCanvas{
  pointer-events:none !important;
  transform:translateZ(0);
  backface-visibility:hidden;
}
@media (max-width:900px){
  .home-page-v3 .v3-hero::before,
  .home-page-v3 .v3-hero::after,
  .home-page-v3 .hp7-tech-depth::before{
    filter:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    transition-duration:0.01ms !important;
  }
  #photonCanvas{ display:none !important; }
}
.eco-nav-v23:not(.mobile-open) .eco-nav-v23__sheet,
.eco-nav-v23__sheet[aria-hidden="true"]{
  display:none !important;
  pointer-events:none !important;
}
.eco-mobile-nav-backdrop{ pointer-events:none !important; }
.eco-nav-v23.mobile-open + .eco-mobile-nav-backdrop{ pointer-events:auto !important; }
/* Do not override .eco-nav-v23 transform — it uses translateX(-50%) to center */
.topbar{ transform:translateZ(0); }

/* NAV REPAIR — keep bar functional after performance layer */
.eco-nav-v23{
  /* preserve centering from core: transform:translateX(-50%) */
  transform: translateX(-50%) !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  display: grid !important;
}
.eco-nav-v23__links{
  pointer-events: auto !important;
}
.eco-nav-v23__logo{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (min-width: 901px){
  .eco-nav-v23__links{ display: flex !important; }
  .eco-nav-v23__mobile{ display: none !important; }
  .eco-nav-v23__sheet{ display: none !important; }
}
@media (max-width: 900px){
  .eco-nav-v23__mobile{ display: flex !important; }
}

/* Contact form — mobile layout safety + no GPU blur */
@media (max-width: 900px) {
  .contact-panel-v2 {
    grid-template-columns: minmax(0, 1fr) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .contact-form-v2,
  .contact-context-v2 {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .contact-form-v2 .input,
  .contact-form-v2 .textarea {
    font-size: 16px !important; /* iOS: avoid zoom-on-focus */
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .interest-grid-v2 input {
    /* Keep custom chips, but ensure label remains the hit target */
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    pointer-events: none !important;
  }
  .interest-grid-v2 label {
    display: inline-flex !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent;
  }
  .interest-grid-v2 span {
    min-height: 44px !important;
    touch-action: manipulation !important;
  }
}

/* =========================================================
   HOMEPAGE + MOBILE NAV FREEZE FIX
   Root cause: .eco-nav-v23 backdrop-filter:blur(16px) on the
   floating bar + continuous photon canvas + sheet opacity
   transitions. Kill blur on mobile; solid bar; pause effects
   when menu is open.
   ========================================================= */

@media (max-width: 900px) {
  /* Nav bar: solid, no GPU blur sampling the page behind it */
  .eco-nav-v23 {
    background: #E9E7DF !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    /* isolation + continuous blur is a known mobile compositor killer */
    isolation: auto !important;
  }
  .eco-nav-v23.is-scrolled {
    background: #E9E7DF !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Sheet: solid panel, no blur, no animated opacity */
  .eco-nav-v23__sheet {
    background: #F5F3EC !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    transition: none !important;
    opacity: 1 !important; /* visibility controlled by display rules elsewhere */
  }

  .eco-mobile-nav-backdrop {
    background: rgba(23, 37, 43, 0.32) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    transition: none !important;
  }

  /* While menu is open: stop expensive homepage layers from compositing */
  body:has(.eco-nav-v23.mobile-open) #photonCanvas,
  body.nav-open #photonCanvas,
  .eco-nav-v23.mobile-open ~ #photonCanvas {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body:has(.eco-nav-v23.mobile-open) .v3-system__wash,
  body:has(.eco-nav-v23.mobile-open) .hp7-marquee__track,
  body.nav-open .v3-system__wash,
  body.nav-open .hp7-marquee__track {
    animation-play-state: paused !important;
  }

}

/* Desktop can keep soft blur; mobile never should */
@supports (backdrop-filter: blur(1px)) {
  @media (max-width: 900px) {
    .eco-nav-v23,
    .eco-nav-v23.is-scrolled,
    .eco-nav-v23__sheet,
    .eco-mobile-nav-backdrop {
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
    }
  }
}
