/*!
 * Construx — responsive overrides.
 * Breakpoints: 1200, 992, 768, 480.
 */

@media (max-width: 1200px) {
	.cx-services-grid, .cx-projects-grid { grid-template-columns: repeat(2, 1fr); }
	.cx-team-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 992px) {
	.cx-section { padding: 70px 0; }
	.cx-hero { min-height: 70vh; padding: 120px 0 80px; }
	.cx-hero--split .cx-hero__inner { grid-template-columns: 1fr; }
	.cx-about-grid { grid-template-columns: 1fr; gap: 40px; }
	.cx-mvv-grid { grid-template-columns: 1fr; }
	.cx-stats-grid { grid-template-columns: repeat(2, 1fr); }
	.cx-team-grid { grid-template-columns: repeat(2, 1fr); }
	.cx-calculator-grid { grid-template-columns: 1fr; gap: 40px; }
	.cx-cta-section__inner { flex-direction: column; text-align: center; }
	.cx-grid--main-sidebar { grid-template-columns: 1fr; }
	.cx-quote-grid { grid-template-columns: 1fr; }
	.cx-contact-grid { grid-template-columns: 1fr; }
	.cx-blog-grid { grid-template-columns: 1fr; }
	.cx-footer__columns--4, .cx-footer__columns--3 { grid-template-columns: repeat(2, 1fr); }
	.cx-topbar__hours { display: none; }
}

@media (max-width: 768px) {
	body { font-size: 15px; }
	.cx-section { padding: 60px 0; }
	.cx-services-grid, .cx-services-grid--large, .cx-projects-grid, .cx-team-grid { grid-template-columns: 1fr; }
	.cx-stats-grid { grid-template-columns: 1fr; gap: 24px; }
	.cx-testimonials__slide { flex: 0 0 100%; }
	.cx-form-row--two, .cx-calculator__row--two, .cx-calculator__checks { grid-template-columns: 1fr; }
	.cx-footer__columns--4, .cx-footer__columns--3 { grid-template-columns: 1fr; }
	.cx-footer__bottom { flex-direction: column; text-align: center; }
	.cx-topbar__inner { flex-direction: column; gap: 8px; text-align: center; }

	/* Mobile nav */
	.cx-nav__toggle { display: inline-flex; }
	.cx-nav__menu { position: fixed; top: 0; right: -100%; width: 80%; max-width: 360px; height: 100vh; background: var(--cx-secondary); flex-direction: column; gap: 0; padding: 80px 24px 32px; transition: right .3s ease; z-index: 1000; box-shadow: var(--cx-shadow-lg); align-items: stretch; overflow-y: auto; }
	.cx-nav__menu.is-open { right: 0; }
	.cx-nav__menu > li { width: 100%; border-bottom: 1px solid rgba(255,255,255,.08); }
	.cx-nav__menu > li > a { display: block; padding: 16px 0; color: #fff; }
	.cx-nav__menu .sub-menu { position: static; box-shadow: none; background: rgba(255,255,255,.05); padding: 0 0 0 16px; display: block; }
	.cx-nav__menu .sub-menu a { color: rgba(255,255,255,.8); }
	.cx-header__cta { display: none; }
	body.cx-menu-open { overflow: hidden; }

	.cx-hero__cta { flex-direction: column; align-items: stretch; }
	.cx-hero__cta .cx-btn { justify-content: center; }
	.cx-cta-section__actions { flex-direction: column; align-items: stretch; }
	.cx-project-single__meta-bar { padding: 20px; }
}

@media (max-width: 480px) {
	.cx-container { padding: 0 16px; }
	h1 { font-size: 32px; }
	h2 { font-size: 26px; }
	.cx-btn { padding: 12px 20px; font-size: 13px; }
	.cx-btn--lg { padding: 14px 24px; font-size: 14px; }
	.cx-hero { min-height: 60vh; padding: 100px 0 60px; }
	.cx-page-header { padding: 60px 0; min-height: 220px; }
	.cx-quote-form, .cx-calculator { padding: 24px; }
	.cx-footer__columns { padding-bottom: 40px; }
	.cx-about__badge { left: 0; bottom: -20px; padding: 16px 22px; }
	.cx-about__badge-num { font-size: 36px; }
	.cx-project-gallery { grid-template-columns: repeat(2, 1fr); }
	.cx-project-card__media { aspect-ratio: 3 / 2; }
	.cx-testimonials__arrow--prev { left: 0; }
	.cx-testimonials__arrow--next { right: 0; }
	.cx-404 { padding: 80px 0; }
}
