@media (max-width: 1199.98px) {
  .nav-menu { gap: .75rem; }
  .nav-menu a { font-size: .86rem; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991.98px) {
  .section { padding: 78px 0; }
  .site-header { background: rgba(255,255,255,.94); backdrop-filter: blur(16px); padding: 10px 0; }
  .nav-shell { justify-content: flex-start; }
  .brand, .site-header.header-light .brand { color: var(--brand-navy-dark); }
  .mobile-call { display: inline-flex; margin-left: auto; }
  .nav-toggle { display: inline-grid; place-items: center; color: var(--brand-navy); border-color: var(--line); margin-left: .65rem; }
  .nav-menu {
    position: fixed;
    top: 68px;
    left: 16px;
    right: 16px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: .75rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-14px) scale(.98);
    transform-origin: top right;
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  }
  .nav-menu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }
  .nav-menu a {
    display: block;
    padding: .8rem .9rem;
    color: var(--ink);
    border-radius: var(--radius);
  }
  .nav-menu a:hover { background: var(--soft); }
  .hero { min-height: auto; padding: 130px 0 56px; }
  .image-stack { min-height: 440px; margin-top: 2rem; }
  .image-main { inset: 0 0 70px 0; width: 88%; }
  .gallery-item { height: 300px; }
  .interlock-visual {
    height: 360px;
    min-height: 360px;
  }
  .cta-action { justify-content: flex-start; }
}

@media (max-width: 767.98px) {
  .container-wide { width: min(100% - 24px, 1360px); }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .btn-premium, .btn-outline-light { width: 100%; }
  .hero-stats { grid-template-columns: 1fr; }
  .stat { padding: 1rem; }
  .page-hero { min-height: 430px; padding: 120px 0 48px; }
  .image-stack { min-height: 380px; }
  .image-main { width: 100%; height: 300px; }
  .image-float { width: 58%; height: 170px; border-width: 6px; }
  .glass-note { left: 12px; bottom: 14px; max-width: 220px; padding: .8rem; }
  .service-card p { min-height: 0; }
  .gallery-item { height: 260px; }
  .interlock-visual {
    height: 300px;
    min-height: 300px;
  }
}

@media (max-width: 575.98px) {
  h1 { font-size: 2.55rem; }
  h2 { font-size: 2rem; }
  .brand span { font-size: .94rem; }
  .brand small { font-size: .56rem; }
  .brand-logo { width: 96px; max-height: 46px; padding: 6px 8px; }
  .mobile-call { width: 40px; height: 40px; }
  .hero { padding-top: 118px; }
  .lead-copy { font-size: 1rem; }
  .split-band-inner, .cta-banner { border-radius: var(--radius); }
}
