@media (max-width: 1120px) {
  .topbar { display: none; }
  .menu-toggle { display: block; }
  .nav-wrap { flex-direction: row; padding: 0 20px; min-height: 74px; }
  .brand { margin-left: 0; }
  .brand img { width: 150px; }
  .nav-links {
    position: fixed;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 22px;
    padding: 110px 34px 40px;
    background: radial-gradient(circle at 80% 15%, rgba(185,122,80,.28), transparent 26%), rgba(13,16,14,.98);
    transform: translateX(100%);
    transition: transform .36s ease;
  }
  .menu-open .nav-links { transform: translateX(0); }
  .nav-links a { font-family: var(--serif); font-size: clamp(2rem, 8vw, 4rem); text-transform: none; letter-spacing: 0; }
  .nav-links .btn { margin-top: 12px; font-family: var(--sans); font-size: .82rem; }
  .grid-12, .form-shell, .service-detail { grid-template-columns: 1fr; }
  .span-5, .span-6, .span-7 { grid-column: auto; }
  .contact-intro { grid-template-columns: 1fr; align-items: start; }
  .contact-intro .lead { margin-bottom: 0; }
  .services-mosaic { grid-template-columns: 1fr 1fr; }
  .process-grid, .contact-strip, .footer-grid { grid-template-columns: 1fr 1fr; }
  .service-detail:nth-child(even) .service-media { order: 0; }
}

@media (max-width: 760px) {
  .container { width: min(calc(100% - 32px), var(--max)); }
  .section { padding: 76px 0; }
  .hero { min-height: 94vh; }
  .hero .container { padding-top: 132px; }
  h1 { font-size: clamp(3.1rem, 17vw, 5.2rem); }
  .hero h1 { font-size: clamp(2.75rem, 14vw, 4.65rem); margin-bottom: 24px; }
  h2 { font-size: clamp(2.35rem, 12vw, 3.8rem); }
  .btn-row, .btn { width: 100%; }
  .btn-row { gap: 10px; }
  .image-stack { min-height: auto; display: grid; gap: 16px; }
  .image-stack .large, .image-stack .small { position: relative; width: 100%; height: auto; min-height: 340px; right: auto; bottom: auto; border-width: 1px; }
  .services-mosaic, .process-grid, .contact-strip, .footer-grid, .field-grid { grid-template-columns: 1fr; }
  .service-panel.featured { min-height: 460px; }
  .contact-section { padding: 78px 0 86px; }
  .contact-intro { margin-bottom: 30px; }
  .contact-card { min-height: 250px; padding: 28px; }
  .trust-banner { padding: 17px 0; }
  .trust-banner-track { gap: 22px; }
  .trust-banner span { font-size: .78rem; letter-spacing: .13em; }
  .gallery-rail { grid-auto-columns: minmax(250px, 82vw); }
  #home-gallery { grid-auto-columns: minmax(270px, 88vw); }
  .gallery-card, .gallery-card:nth-child(2n) { min-height: 410px; }
  .page-hero { min-height: 58vh; padding: 135px 0 56px; }
  .form-card, .info-panel { padding: 22px; }
  .lightbox-prev, .lightbox-next { top: auto; bottom: 18px; }
  .footer-bottom { display: grid; }
  .faq-section { padding-top: 70px; }
  .faq-layout .info-panel { position: static; }
  .faq-list .accordion button { padding: 15px 0; }
}
