@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .header-cta { margin-left: auto; }
  .menu-toggle { display: block; }
  .hero h1 { font-size: clamp(4rem,11vw,7rem); }
  .service-card, .service-card:nth-child(2), .service-card:nth-child(4), .service-card-wide, .service-card-wide:nth-child(5) { grid-column: span 6; }
  .service-card:last-child { grid-column: 1/-1; }
  .why-layout, .contact-layout { gap: 4rem; }
}

@media (max-width: 820px) {
  :root { --section: clamp(4.5rem,14vw,7rem); }
  .hero { min-height: 52rem; padding-bottom: 8rem; }
  .hero-image { object-position: 66% center; }
  .hero-overlay { background: linear-gradient(90deg,rgba(8,8,8,.9),rgba(8,8,8,.38)),linear-gradient(0deg,rgba(8,8,8,.9),transparent 70%); }
  .hero-bottom { grid-template-columns: 1fr; }
  .hero-proof { display: none; }
  .trust-strip .container { grid-template-columns: 1fr 1fr; padding-block: .65rem; }
  .trust-strip span { padding: .35rem .5rem; border: 0; font-size: .62rem; }
  .intro-layout, .section-heading, .results-heading, .why-layout, .contact-layout, .faq-layout { grid-template-columns: 1fr; }
  .intro h2, .section-heading h2, .why-sticky h2, .contact-info h2, .faq h2 { max-width: 13ch; }
  .section-heading { gap: 1.5rem; }
  .service-card, .service-card:nth-child(2), .service-card:nth-child(4), .service-card-wide, .service-card-wide:nth-child(5), .service-card:last-child { min-height: 31rem; grid-column: span 12; }
  .results-heading .eyebrow { grid-column: auto; }
  .comparison-grid { grid-template-columns: 1fr; }
  .comparison-card-main { grid-column: auto; }
  .before-after, .comparison-card:not(.comparison-card-main) .before-after { aspect-ratio: 4/3; }
  .why-sticky, .contact-info, .faq-layout > div:first-child { position: static; }
  .process-list { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .process-list::before { display: none; }
  .process-list li { padding: 1.5rem 1rem 0 2rem; border-left: 1px solid var(--line); }
  .process-list li::before { top: 2rem; left: -.45rem; }
  .project-grid { grid-auto-rows: 22rem; }
  .project, .project-tall { grid-column: span 6; grid-row: auto; }
  .project-wide { grid-column: span 12; height: auto; }
  .review-grid { grid-template-columns: 1fr; }
  .review-grid blockquote { min-height: 18rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .review-grid blockquote:last-child { border-bottom: 0; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-main > div:first-child { grid-column: 1/-1; }
}

@media (max-width: 580px) {
  :root { --gutter: 1.15rem; --radius: .7rem; }
  h2 { font-size: clamp(2.55rem,13vw,4.2rem); }
  .site-header { height: 4.6rem; }
  .header-cta { display: none; }
  .logo { font-size: .92rem; }
  .logo-mark { width: 1.55rem; }
  .menu-toggle { margin-left: auto; }
  .mobile-menu { padding-top: 1.1rem; }
  .mobile-menu nav a { font-size: clamp(1.8rem,10vw,3rem); }
  .mobile-menu-footer { align-items: stretch; flex-direction: column; }
  .mobile-menu-footer p { display: none; }
  .hero { min-height: 46rem; padding: 8rem 0 9rem; }
  .hero-grid { background-size: 5rem 5rem; }
  .hero h1 { font-size: clamp(3.25rem,16vw,5rem); }
  .hero-copy { font-size: 1rem; }
  .button-row { align-items: stretch; flex-direction: column; }
  .button-row .button { width: 100%; }
  .trust-strip span:nth-child(n+3) { display: none; }
  .intro-layout { gap: 2.5rem; }
  .service-card, .service-card:nth-child(2), .service-card:nth-child(4), .service-card-wide, .service-card-wide:nth-child(5), .service-card:last-child { min-height: 28rem; }
  .service-content { grid-template-columns: 2rem 1fr; }
  .results-heading { gap: 0; }
  .comparison-grid { margin-inline: calc(-1 * var(--gutter)); }
  .comparison-card { padding-inline: var(--gutter); }
  .before-after, .comparison-card:not(.comparison-card-main) .before-after { aspect-ratio: 3/4; }
  .comparison-caption { display: block; }
  .comparison-caption > p { margin-top: .8rem; }
  .ba-divider span { width: 2.8rem; height: 2.8rem; }
  .why-list li { grid-template-columns: 2.5rem 1fr; }
  .process-list { grid-template-columns: 1fr; gap: .5rem; }
  .process-list li { padding-bottom: 1rem; }
  .business { min-height: 45rem; align-items: flex-end; }
  .business-overlay { background: linear-gradient(0deg,rgba(8,8,8,.97),rgba(8,8,8,.35)); }
  .business ul { display: grid; grid-template-columns: 1fr 1fr; }
  .project-grid { display: block; }
  .project, .project-wide { height: 27rem; margin-bottom: 1rem; }
  .project-wide { height: 22rem; }
  .cta-line { width: 120%; }
  .form-grid { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .quote-form { margin-inline: calc(-1 * var(--gutter)); border-radius: 0; }
  .file-field label { flex-direction: column; gap: .2rem; }
  .contact-info dl > div { grid-template-columns: 6.5rem 1fr; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-main > div:first-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}

@media (min-width: 1600px) {
  .hero h1 { font-size: 9.5rem; }
  .hero-content { padding-bottom: 1rem; }
}
