/* Breakpoints checked: 1440, 1280, 1024, 768, 480, 375 (per CLAUDE.md §24) */

@media (max-width: 1280px) {
	.apart-grid__list { grid-template-columns: repeat(3, 1fr); }
	.additional-services__grid { grid-template-columns: repeat(4, 1fr); }

	/* 8 nav items + logo + 2 CTA buttons don't comfortably fit above this —
	   below 1024px it was collapsing to the mobile menu correctly, but
	   between 1024-1280px the desktop nav was still forced to render and
	   would squeeze until "About Us" / "Contact Us" (the only two-word
	   labels) wrapped onto a second line inside their own item, throwing
	   them out of alignment with the single-word items next to them. */
	.site-header__nav { display: none; }
	.site-header__cta { display: none; }
	.site-header__menu-toggle { display: flex; }
}

@media (max-width: 1024px) {
	.hero { min-height: auto; padding: 40px 0; }
	.hero::before { background: linear-gradient(180deg, rgba(28,24,21,0.55) 0%, rgba(28,24,21,0.85) 55%, rgba(28,24,21,0.92) 100%); }
	.hero__inner { grid-template-columns: 1fr; }
	.hero__form { order: -1; }
	.lead-form { max-width: 100%; }

	.core-expertise__block,
	.core-expertise__block--dark,
	.service-detail__block { grid-template-columns: 1fr; margin-left: 0; margin-right: 0; padding: 24px; }
	.service-detail__block--reverse .service-detail__text { order: 0; }

	.referral-banner__inner { flex-direction: column; text-align: center; }
	.referral-banner__hero-frame { flex-basis: auto; width: 100%; max-width: 320px; }

	.process-steps__list,
	.testimonials__track { grid-template-columns: 1fr; }

	.additional-services__grid { grid-template-columns: repeat(2, 1fr); }
	.apart-grid__list { grid-template-columns: repeat(2, 1fr); }

	.contact-block__inner { grid-template-columns: 1fr; }

	.site-footer__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
	.container { padding: 0 20px; }
	.section { padding: 56px 0; }

	h1 { line-height: 1.2; }

	.promo-bar { flex-direction: column; gap: 8px; padding: 10px 16px; }
	.promo-bar__contact { gap: 12px; font-size: 12px; }

	.take-first-step-cta__image img { height: 440px; }
	.take-first-step-cta__content { padding-bottom: 28px; }
	.take-first-step-cta__card { max-width: 100%; }

	.final-cta__content { padding: 64px 20px; }
}

@media (max-width: 480px) {
	.apart-grid__list,
	.additional-services__grid { grid-template-columns: 1fr; }

	.hero-slides__slide { padding: 32px 24px; }

	.hero__cta,
	.mobile-menu__cta { flex-direction: column; }

	.site-footer__inner { grid-template-columns: 1fr; text-align: center; }
	.site-footer__social { margin: 0 auto; }
	.site-footer__bottom-inner { flex-direction: column; text-align: center; }
	.contact-block__form { padding: 24px; }

	.popup__panel { padding: 24px; }
}
