
/* =========================================================
   V5.3.4 — MOBILE MENU + PERFORMANCE
   ========================================================= */

@media (max-width: 760px) {
  /* Prevent expensive effects during normal scrolling on mobile Safari */
  .site-header,
  .ep-master-service-nav,
  .ep-master-footer,
  .v5-focus,
  .v5-home-card,
  .ep-detail-focus,
  .ep-contact-drawer,
  .ep-master-partner-popover,
  .ep-home-partner-popover {
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .v5-home-right,
  .service-hub-v47-panel,
  .hub-card-v47,
  .v5-home-card,
  .ep-detail-point {
    transform:none !important;
    animation:none !important;
    transition:background-color .16s ease,border-color .16s ease,color .16s ease !important;
  }

  .v5-home-screen::before,
  .v5-home-orbit,
  .service-hub-v47::before {
    display:none !important;
  }

  html {
    scroll-behavior:auto !important;
  }

  body {
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:auto;
  }

  /* Mobile menu as a real overlay panel */
  .site-header {
    position:relative !important;
    z-index:300 !important;
  }

  .menu-button {
    display:inline-flex !important;
    position:relative !important;
    z-index:320 !important;
    min-width:112px;
    min-height:54px;
    align-items:center;
    justify-content:center;
  }

  .main-nav {
    display:none !important;
    position:absolute !important;
    top:calc(100% + 1px) !important;
    left:18px !important;
    right:18px !important;
    width:auto !important;
    max-height:calc(100vh - 130px);
    overflow-y:auto !important;
    padding:12px !important;
    margin:0 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;
    background:#08170f !important;
    border:1px solid rgba(213,170,80,.22) !important;
    border-radius:18px !important;
    box-shadow:0 18px 50px rgba(0,0,0,.42) !important;
    z-index:310 !important;
  }

  .main-nav.open {
    display:flex !important;
  }

  .main-nav a,
  .main-nav .nav-contact {
    width:100% !important;
    min-height:50px !important;
    padding:0 14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    border-radius:11px !important;
    font-size:1rem !important;
    color:#d6ddd8 !important;
  }

  .main-nav a:hover,
  .main-nav a:active,
  .main-nav a.active-page {
    background:rgba(213,170,80,.07) !important;
    color:#e7d7a8 !important;
  }

  body.mobile-menu-open::after {
    content:"";
    position:fixed;
    inset:0;
    background:rgba(2,8,5,.34);
    z-index:250;
    pointer-events:none;
  }

  /* Let long mobile content flow naturally */
  .v5-home-main,
  .v5-home-screen,
  .v5-home-shell,
  .ep-detail-main,
  .ep-detail-screen,
  .ep-detail-grid {
    contain:none !important;
    will-change:auto !important;
  }
}

@media (prefers-reduced-motion: reduce), (max-width:760px) {
  *, *::before, *::after {
    scroll-behavior:auto !important;
  }
}
