/* Responsive — media queries */

/* Nav collapse — earlier breakpoint for 8 nav items */
@media (max-width: 1100px) {
  .nav-links { display: none; }
  .nav-cta { display: none; }
  .hamburger { display: flex; }
  .floating-cta { bottom: 1.2rem; right: 1.2rem; }
}

/* Tablet and below */
@media (max-width: 900px) {
  .section, .section-sm { padding: 5rem 1.5rem; }
  .hero-content { padding: 0 1.5rem 5rem; }
  .hero-scroll { display: none; }
  .mission-band { padding: 3rem 1.5rem; }
  .service-banner { padding: 1rem 1.5rem; }
  .grid-2 { grid-template-columns: 1fr; gap: 3rem; }
  .credits-grid { grid-template-columns: 1fr; }
  .before-after { grid-template-columns: 1fr; }
  .vanity-feature { grid-template-columns: 1fr; }
  .client-columns { grid-template-columns: 1fr; }
  .client-col { border-right: none; border-bottom: 1px solid rgba(196,154,60,0.12); }
  .services-grid { grid-template-columns: 1fr; }
  .projects-grid { grid-template-columns: 1fr; }
  .project-card.featured { grid-row: auto; }
  .about-badge { bottom: -1rem; left: 0; }
  .cta-content { padding: 0 1.5rem; }
  .area-grid-home { grid-template-columns: 1fr; gap: 3rem; }
  .process-steps { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  footer { padding: 3rem 1.5rem; }
  .footer-bottom { flex-direction: column; gap: 1rem; }
  .page-hero-content { padding: 0 1.5rem 4rem; }
  .post-hero-content { padding: 0 1.5rem 4rem; }
  .cta-section { padding: 6rem 1.5rem; }
  .related-reading { padding: 4rem 1.5rem; }
  .home-types { grid-template-columns: 1fr; }
  .photo-grid { grid-template-columns: 1fr; }
  .photo-card.featured { grid-row: auto; }
  .cost-band { grid-template-columns: 1fr; padding: 3rem 1.5rem; }
  .stat-band { grid-template-columns: 1fr 1fr; padding: 3rem 1.5rem; gap: 2rem; }
  .diff-grid { grid-template-columns: 1fr; gap: 3rem; }
  .quote-band { padding: 3rem 1.5rem; }
  .arch-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .area-grid { grid-template-columns: 1fr 1fr; }
  .pricing-grid { grid-template-columns: 1fr; gap: 2rem; }
  .why-grid { grid-template-columns: 1fr; }
  .reviews-grid { grid-template-columns: 1fr; }
  .about-headshot { max-width: 280px; }
}

@media (max-width: 640px) {
  .footer-grid { grid-template-columns: 1fr; }
  .area-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .contact-modal .form-row { grid-template-columns: 1fr; }
  .contact-modal-inner { padding: 2rem 1.5rem; }
}
