/* ============================================================
   GZJ SHARED MOBILE NAV
   Loaded by all pages that include the mobile nav overlay.
   ============================================================ */

@media (max-width: 900px) {
  /* fixed top bar: always at viewport top */
  .section-3.section-5.section-6 { display: block !important; top: 0; left: 0; }

  /* nav overlay: pin to viewport top, full height */
  .mobile-index { top: 0 !important; height: 100dvh !important; }
  .mobile-index.open { display: block !important; animation: mobile-nav-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
  @keyframes mobile-nav-in {
    from { opacity: 0; transform: translateY(-12px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* hamburger ↔ X swap (instant) */
  .section-3.section-5.section-6 .x_container { display: block !important; opacity: 0; pointer-events: none; }
  .section-3.section-5.section-6.nav-open .hamburger_container { opacity: 0; pointer-events: none; }
  .section-3.section-5.section-6.nav-open .x_container { opacity: 1; pointer-events: auto; }

  /* hide logo, add top clearance for fixed 40px header */
  .image-3 { display: none !important; }
  .mobile-index-intermediate { padding-top: 80px !important; }

  /* nav items: single column, bigger text, tighter spacing, underline for current */
  .index-item.primary { display: block; }
  .index-item.primary > div:first-child { display: none; }
  .index-item { padding-top: 2px !important; padding-bottom: 2px !important; font-size: 22px !important; line-height: 28px !important; }
  .index-item.w--current { background-color: transparent !important; text-decoration: underline; }
}
