@media (max-width: 980px){
  .hero-content{ padding: calc(4.6rem + var(--header-h)) 0 2.0rem; max-width: 760px; }
  .grid-2{ grid-template-columns: 1fr; }
  .team-grid{ grid-template-columns: 1fr; }
  .gallery{ grid-template-columns: repeat(2,1fr); }
  .contact-grid{ grid-template-columns: 1fr; }
  .map-frame{ min-height: 280px; aspect-ratio: 16/11; }
  .lightbox-dialog{ grid-template-columns: 1fr; height: min(92vh, 900px); }
  .lightbox-nav{ display:none; }
  .lightbox-close{ right: .3rem; }
  .media-video--portrait{ max-width: 480px; }
}

@media (max-width: 920px){
  .header-actions{ display:none; }
}

@media (max-width: 860px){
  .nav-desktop{ display:none; }
  .menu-toggle{ display:inline-flex; }
  .hero-actions-social{ display:inline-flex; }

  .menu-overlay{
    height: 100svh;
    height: 100dvh;
    height: 100vh;
  }

  .menu-panel{
    height: 100svh;
    height: 100dvh;
    height: 100vh;
    max-height: 100svh;
    max-height: 100dvh;
    max-height: 100vh;
    padding-bottom: calc(16px + env(safe-area-inset-bottom));
    overflow: hidden;
  }

  .menu-links{
    max-height: calc(100svh - 220px - env(safe-area-inset-bottom));
    max-height: calc(100dvh - 220px - env(safe-area-inset-bottom));
    max-height: calc(100vh - 220px - env(safe-area-inset-bottom));
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .menu-links::-webkit-scrollbar{ width: 0; height: 0; }

  .menu-links a{
    font-size: 1.02rem;
    line-height: 1.14;
    padding: .72rem .68rem;
  }
}

@media (max-width: 520px){
  .menu-panel{
    padding-top: 14px;
    padding-bottom: calc(18px + env(safe-area-inset-bottom));
  }

  .menu-title{ font-size: 1.22rem; }
  .menu-sub{ font-size: .76rem; letter-spacing: .11em; }

  .menu-links{
    max-height: calc(100svh - 198px - env(safe-area-inset-bottom));
    max-height: calc(100dvh - 198px - env(safe-area-inset-bottom));
    max-height: calc(100vh - 198px - env(safe-area-inset-bottom));
  }

  .menu-links a{
    font-size: .92rem;
    padding: .64rem .62rem;
  }

  .menu-actions{ gap: .65rem; }

  .menu-cta-grid{
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
  }
  .menu-cta-grid .btn{
    width: 100%;
    justify-content: center;
    padding: .60rem .62rem;
    font-size: .86rem;
    subdivisions: 0;
  }

  .sticky-actions{
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    flex-direction:row;
    justify-content:space-between;
    gap:.55rem;
  }
  .sticky-btn{
    width: 33.333%;
    justify-content:center;
    padding:.68rem .6rem;
  }
  .sticky-btn span{ display:none; }
  .brand-strip img{ height: 36px; }
}

@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior:auto !important; transition:none !important; }
  .hero-bg{ position: relative; height: auto; }
  .hero--pinned,
  .hero--fullbleed{ min-height: calc(100vh + var(--header-h)); }
}
