@media (max-width: 1200px) {
	.stats-grid,
	.certificate-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.site-header__inner {
		min-height: var(--header-height-mobile);
	}

	.mobile-menu-toggle {
		display: inline-flex;
		margin-left: auto;
	}

	.main-navigation {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: none;
		margin: 0;
		padding: 1rem;
		background: var(--header-background);
		border-top: 1px solid var(--color-border);
		box-shadow: 0 20px 30px rgba(0, 0, 0, 0.08);
	}

	.main-navigation.is-open {
		display: block;
	}

	.menu--primary,
	.main-navigation .menu {
		display: grid;
		gap: 0.25rem;
	}

	.main-navigation .menu > .menu-item {
		position: static;
	}

	.main-navigation .menu a {
		width: 100%;
		padding: 0.3rem 0;
	}

	.main-navigation .sub-menu,
	.main-navigation .sub-menu .sub-menu {
		position: static;
		display: none;
		min-width: 0;
		padding: 0.15rem 0 0.35rem 1rem;
		border: 0;
		border-left: 3px solid var(--color-primary);
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		visibility: visible;
	}

	.main-navigation li:hover > .sub-menu,
	.main-navigation li:focus-within > .sub-menu {
		display: grid;
	}

	.main-navigation .sub-menu a {
		min-height: 38px;
		padding: 0.25rem 0;
		background: transparent;
	}

	.main-navigation .sub-menu .menu-item-has-children > a::after {
		transform: translateY(-0.12rem) rotate(45deg);
	}

	.header-cta {
		display: none;
	}

	.service-grid,
	.project-grid,
	.news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.content-layout,
	.project-single,
	.contact-page__grid {
		grid-template-columns: 1fr;
	}

	.project-single__meta {
		position: static;
	}

	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.container {
		width: min(100% - 1.25rem, var(--container-width, 1200px));
	}

	.hero {
		min-height: var(--hero-height-mobile, 70vh);
	}

	.hero__content {
		padding-block: 4.5rem;
	}

	.hero__actions,
	.bim-cta__actions {
		display: grid;
		align-items: stretch;
	}

	.hero__actions .btn,
	.bim-cta__actions .btn {
		width: 100%;
	}

	.section {
		padding-block: 3.5rem;
	}

	.entry-hero {
		height: 300px;
		min-height: 300px;
	}

	.entry-hero__overlay {
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.76));
	}

	.entry-hero__title {
		font-size: clamp(1.55rem, 8vw, 2.55rem);
	}

	.text-image,
	.text-image--reverse .text-image__media,
	.contact-cta__inner {
		grid-template-columns: 1fr;
	}

	.text-image--reverse .text-image__media {
		order: initial;
	}

	.service-grid,
	.project-grid,
	.news-grid,
	.stats-grid,
	.certificate-grid,
	.project-gallery {
		grid-template-columns: 1fr;
	}

	.contact-cta__actions {
		justify-items: stretch;
	}

	.footer-grid {
		grid-template-columns: 1fr;
	}

	.site-footer__bottom-inner {
		display: grid;
	}
}

@media (max-width: 480px) {
	body {
		overflow-wrap: anywhere;
	}

	.custom-logo-link img {
		max-width: 190px;
	}

	.site-branding__name {
		font-size: 1rem;
	}

	.service-card,
	.project-card__body,
	.news-card__body,
	.contact-card {
		padding: 1.15rem;
	}

	.fact-strip {
		display: grid;
	}
}
