@media (max-width: 1080px) {
	.header-actions {
		display: none;
	}

	.hero-visual {
		min-height: 520px;
	}

	.card-grid,
	.service-grid,
	.answer-grid,
	.project-grid,
	.testimonial-grid,
	.office-grid,
	.footer-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 820px) {
	body {
		font-size: 16px;
	}

	.container,
	.container.narrow {
		width: min(100% - 28px, var(--container));
	}

	.header-inner {
		min-height: 72px;
	}

	.menu-toggle {
		display: inline-flex;
	}

	.primary-nav {
		position: absolute;
		top: 72px;
		left: 14px;
		right: 14px;
		display: none;
		padding: 18px;
		border: 1px solid var(--color-line);
		border-radius: 18px;
		background: #fff;
		box-shadow: var(--shadow-soft);
	}

	.primary-nav.is-open {
		display: block;
	}

	.primary-nav .menu {
		display: grid;
		gap: 14px;
	}

	.primary-nav .sub-menu {
		position: static;
		min-width: 0;
		margin-top: 8px;
		padding: 8px 0 0 14px;
		border: 0;
		border-left: 1px solid var(--color-line);
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.hero {
		min-height: auto;
		padding-top: 96px;
	}

	.hero-shell {
		grid-template-columns: 1fr;
	}

	.page-hero-grid {
		grid-template-columns: 1fr;
	}

	.page-hero-carousel {
		min-height: 380px;
	}

	.hero-visual {
		min-height: 420px;
		margin-top: 34px;
	}

	.hero-project-panel {
		right: 14px;
		bottom: 14px;
		max-width: calc(100% - 28px);
	}

	.metrics-grid,
	.card-grid,
	.service-grid,
	.answer-grid,
	.value-grid,
	.process-grid,
	.portfolio-empty-grid,
	.project-grid,
	.testimonial-grid,
	.office-grid,
	.split-grid,
	.cta-grid,
	.contact-grid,
	.content-sidebar,
	.project-layout,
	.footer-grid {
		grid-template-columns: 1fr;
	}

	.visual-carousel-track {
		min-height: 520px;
	}

	.visual-slide::after {
		background: linear-gradient(180deg, rgba(7, 28, 42, 0.12), rgba(7, 28, 42, 0.68));
	}

	.metrics-grid div,
	.metrics-grid div:last-child {
		border-right: 0;
		border-left: 0;
		border-bottom: 1px solid var(--color-line);
	}

	.inline-heading,
	.footer-bottom {
		display: grid;
		align-items: start;
	}

	.sidebar,
	.blog-sidebar,
	.project-meta,
	.service-sidebar {
		position: static;
	}
}

@media (max-width: 560px) {
	h1 {
		font-size: clamp(2.65rem, 14vw, 4rem);
	}

	.section {
		padding: 64px 0;
	}

	.hero-actions,
	.filter-bar {
		display: grid;
	}

	.btn,
	.filter-bar button {
		width: 100%;
	}

	.whatsapp-float {
		right: 14px;
		bottom: 14px;
		width: 54px;
		height: 54px;
	}

	.page-hero-carousel {
		min-height: 320px;
		border-width: 6px;
		border-radius: 22px;
	}

	.page-hero-slide figcaption {
		left: 14px;
		right: 14px;
		bottom: 14px;
	}

	.visual-carousel-track {
		min-height: 560px;
	}

	.visual-slide-panel {
		left: 16px;
		right: 16px;
		bottom: 16px;
	}
}

