/* ===== TABLET (768-1023) ===== */
@media (max-width: 1023px) {
  .hero__inner { grid-template-columns: 1fr; gap: var(--space-lg); }
  .hero-headline { font-size: 64px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .site-footer__grid { grid-template-columns: repeat(2, 1fr); }
  .compare-card.open .compare-card__body { grid-template-columns: 1fr; }
  .about-stats { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .service-section__body { grid-template-columns: 1fr; }
  .site-header__nav { gap: var(--space-md); }
  .site-header__nav a { font-size: 14px; letter-spacing: 0.06em; }
}

/* ===== MOBILE (<768) ===== */
@media (max-width: 767px) {
  :root { --header-h: 60px; --tool-belt-h: 72px; }
  .site-header { height: var(--header-h); }
  .site-header__nav { display: none; }
  .site-header__phone span { display: none; }
  .site-header__phone::before { content: '\1F4DE'; font-size: 18px; }
  .site-header__hamburger { display: inline-flex; }

  .tool-belt { overflow-x: auto; justify-content: flex-start; padding: 0 var(--space-sm); scrollbar-width: none; }
  .tool-belt::-webkit-scrollbar { display: none; }
  .tool-belt__row { gap: var(--space-md); }
  .tool-belt__btn { flex: 0 0 auto; min-width: 64px; }

  .tool-drawer { width: 100%; max-width: none; }

  .hero { min-height: auto; padding-top: calc(var(--header-h) + var(--tool-belt-h)); padding-bottom: 0; }
  .hero__inner { padding: 0; gap: 0; }
  .hero-right { order: -1; min-height: 0; padding: var(--space-lg) var(--space-md) 0; }
  .hero-logo-frame img { max-width: 320px; }
  .hero-photo-frame { aspect-ratio: 4/3; max-height: 280px; }
  .hero-left { background: var(--bg-cream); color: var(--brand-black); padding: var(--space-lg) var(--space-md); }
  .hero-headline { font-size: 52px; color: var(--brand-black); }
  .hero-subhead { font-size: 16px; color: var(--shadow-gray); }
  .hero-cta-row { flex-direction: column; }
  .hero-cta-row .btn { width: 100%; }
  .hero-trust-strip { flex-direction: column; gap: 8px; margin-top: var(--space-md); color: var(--shadow-gray); }

  .services-grid, .gallery-grid, .trust-grid, .testimonials, .site-footer__grid { grid-template-columns: 1fr; }
  .about-stats { grid-template-columns: 1fr; }
  .town-list { grid-template-columns: 1fr; }
  .cta-band h2 { font-size: 28px; }
  .about-body h2 { font-size: 32px; }
  .error-page h1 { font-size: 40px; }

  .section { padding: var(--space-lg) 0; }
  .container { padding: 0 var(--space-md); }
}
