﻿.navbar-toggler { display: none; }

body.menu-open {
  overflow: hidden;
}

@media (max-width: 992px) {
  .navbar-logo {
    height: clamp(38px, 7.6vw, 50px);
    max-width: min(66vw, 300px);
  }
  .hero .container, .about-intro, .contact-grid { grid-template-columns: 1fr; }
  .service-grid, .project-grid, .cert-grid, .counter-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer .container { grid-template-columns: 1fr 1fr; }
  .agency-strip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 1.6rem; }
  .agency-item img { max-height: 56px; }
  .navbar-nav {
    display: flex;
    position: fixed;
    inset: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    background: rgba(7,26,47,.98);
    padding: 6rem 1.5rem 2rem;
    border-radius: 0;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
    pointer-events: none;
    z-index: 1100;
  }
  .navbar-nav.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  .navbar-nav a {
    width: 100%;
    padding: 1rem 0;
    font-size: 1.05rem;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }
  .navbar-nav a:last-child {
    border-bottom: none;
  }
  .navbar-toggler {
    display: inline-flex;
    position: relative;
    z-index: 1200;
  }
}

@media (max-width: 768px) {
  .project-dropdown,
  .page-dropdown { grid-template-columns: 1fr; }
  .contact-form-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .contact-form-actions .btn {
    width: 100%;
  }
  .site-visit-grid {
    grid-template-columns: 1fr;
  }
  .site-visit-dropdown.is-open {
    padding: .9rem;
  }
  section { padding: 80px 0; }
  .hero { min-height: auto; padding: 120px 0 90px; }
  .hero .container { min-height: auto; }
  .hero-copy, .hero-visual { width: 100%; max-width: none; }
  .hero-visual { justify-self: start; margin-top: .75rem; }
  .hero-visual-shell { min-height: 0; }
  .service-grid, .project-grid, .cert-grid, .counter-row, .footer .container { grid-template-columns: 1fr; }
  .agency-strip { padding: 1.9rem 0; }
  .agency-strip-grid { grid-template-columns: 1fr; gap: 1.2rem; }
  .agency-item { min-height: 56px; }
  .agency-item img { max-height: 48px; max-width: 86%; }
  .gallery-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: .5rem; }
  .footer-logo { height: 130px; }
  .page-hero { padding-top: 2rem; }
}



