@media (max-width: 1200px) {
  .main-nav__list { gap: 1.4rem; }
  .about { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .about__quote { grid-column: 1 / -1; min-height: 200px; }
  .site-footer__grid { grid-template-columns: 1fr 1fr 1.4fr; }
  .site-footer__motto { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--color-border-soft); padding: 2.5rem 1rem 1rem; }
}

@media (max-width: 1200px) {
  .feature-row li { padding-inline: .75rem; }
}

@media (max-width: 992px) {
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.5rem; }
  .step:nth-child(3)::before { display: none; }
  .feature-row { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2rem; }
  .feature-row li:nth-child(4) { border-left: 0; }
  .results-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cta-band__inner, .cta-band--large .cta-band__inner { grid-template-columns: 1fr; }
  .price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .price-grid > li, .price-grid > li.price-grid__wide { grid-column: span 1; }
  .price-grid > li.price-grid__wide { grid-column: 1 / -1; }
  .includes__grid { grid-template-columns: 1fr; }
  .faq { grid-template-columns: 1fr; }
  .feature-split { grid-template-columns: 1fr; }
  .contact-details__grid { grid-template-columns: 1fr 1fr; }
  .contact-details__image { grid-row: 2; grid-column: 1 / -1; min-height: 320px; }
  .contact-form-section__grid { grid-template-columns: 1fr; }
  .contact-form-section__image { display: none; }
  .arrival-grid { grid-template-columns: 1fr; max-width: 640px; }
  .feature-split--reverse .feature-split__media { order: 0; }
  .feature-split--reverse .feature-split__media::after { background: linear-gradient(0deg, var(--color-bg-soft) 0%, rgba(14,13,12,0) 40%); }
  .results-strip--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cta-band--tall::before { background: linear-gradient(90deg, rgba(8,8,8,.95), rgba(8,8,8,.7)); }
  .feature-split__media::after { background: linear-gradient(0deg, var(--color-bg-soft) 0%, rgba(14,13,12,0) 40%); }
  .hero__script { display: none; }
  :root { --header-h: 72px; }
  .nav-toggle { display: grid; }
  .main-nav { position: fixed; inset: var(--header-h) 0 auto 0; flex-direction: column; align-items: stretch; gap: 1.5rem; padding: 1.5rem var(--container-pad) 2rem; background: rgba(8,8,8,.98); border-bottom: 1px solid var(--color-border-soft); transform: translateY(-8px); opacity: 0; visibility: hidden; transition: opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast); }
  .main-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .main-nav__list { flex-direction: column; gap: 0; }
  .main-nav__list a { display: block; padding-block: .9rem; border-bottom: 1px solid var(--color-line); font-size: .9rem; }
  .main-nav__list a::after { display: none; }
  .no-js .main-nav { position: static; opacity: 1; visibility: visible; transform: none; }
  .brand img { width: 64px; height: 64px; margin-top: 0; }

  .grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid--3 { grid-template-columns: 1fr; max-width: 640px; margin-inline: auto; }

  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: 200px; grid-template-areas: "a b" "c c" "d e" "f e" "g h"; }

  .reviews__head { grid-template-columns: 1fr; justify-items: center; }
  .reviews__head .section-heading { grid-column: 1; }
  .rating-summary { justify-self: center; }

  .contact__grid { grid-template-columns: 1fr 1fr; }
  .map { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
  .hero { min-height: auto; }
  .hero__media img { object-position: 62% top; }
  .hero::before { background: linear-gradient(0deg, rgba(8,8,8,1) 0%, rgba(8,8,8,.85) 45%, rgba(8,8,8,.35) 75%, rgba(8,8,8,.6) 100%); }
  .hero__content { padding-top: calc(var(--header-h) + 14rem); }
  .hero__features { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1.5rem; }
  .hero__features li:nth-child(4) { border-left: 0; }

  .about { grid-template-columns: 1fr; }
  .hero__features--inline { grid-template-columns: 1fr; row-gap: .9rem; }
  .hero__features--inline li { padding: 0; border-left: 0 !important; }
  .hero--page .hero__content { padding-top: calc(var(--header-h) + 12rem); }
  .about__media { min-height: 420px; }

  .section-heading--split { flex-direction: column; align-items: center; text-align: center; }

  .contact__grid { grid-template-columns: 1fr; }
  .contact__hours { border-left: 0; padding-left: 0; border-top: 1px solid var(--color-border-soft); padding-top: 2rem; }

  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer__logo { grid-column: 1 / -1; }
}

@media (max-width: 576px) {
  .grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid--5 > :last-child { grid-column: 1 / -1; }
  .grid--4 { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .price-grid { grid-template-columns: 1fr; }
  .price-grid > li { grid-column: 1 / -1 !important; }
  .price-card--row { flex-direction: column; }
  .price-card--row .price-card__media { width: 100%; aspect-ratio: 16 / 8; border-right: 0; border-bottom: 1px solid var(--color-border-soft); }
  .icon-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .icon-tiles li { border-top: 1px solid var(--color-border-soft); }
  .icon-tiles li:nth-child(odd) { border-left: 0; }
  .icon-tiles li:nth-child(-n+2) { border-top: 0; }
  .step::before { display: none; }
  .feature-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-row li { border-left: 0 !important; }
  .feature-row li:last-child { grid-column: 1 / -1; }
  .results-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-quick-links { grid-template-columns: 1fr; }
  .contact-details__grid { grid-template-columns: 1fr; }
  .contact-details__image { grid-row: auto; min-height: 260px; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-map { min-height: 340px; }
  .location-card { position: relative; left: auto; top: auto; max-width: none; margin-bottom: 1rem; }
  .location-section .contact-map-wrap { display: flex; flex-direction: column-reverse; }
  .masonry { --row-h: 150px; }
  .filter-btn { min-width: 0; flex: 1 1 auto; }
  .lightbox__prev { left: 8px; } .lightbox__next { right: 8px; } .lightbox__close { top: 8px; right: 8px; }
  .service-card__body { padding-inline: .75rem; }
  .service-card h3 { font-size: 1.05rem; }

  .hero__actions .btn, .error-page__actions .btn { flex: 1 1 100%; }
  .hero__features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero__features li:nth-child(odd) { border-left: 0; }
  .hero__features li:nth-child(4) { border-left: 1px solid var(--color-border); }
  .hero__features li:last-child { grid-column: 1 / -1; }

  .gallery-grid { grid-auto-rows: 150px; }
  .map__pin { white-space: normal; max-width: 85%; }

  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__motto p { font-size: 1.6rem; white-space: normal; max-width: 100%; }
  .site-footer__bottom { flex-direction: column; }
}
