@media (max-width: 1439px) {
	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

@media (max-width: 1180px) {
	.site-header__inner {
		gap: 16px;
	}

	.primary-menu,
	.menu-fallback {
		gap: 14px;
	}

	.primary-menu a,
	.menu-fallback a {
		font-size: 0.9rem;
	}

	.site-header__phone {
		display: none;
	}
}

@media (max-width: 1023px) {
	.site-header__inner {
		grid-template-columns: auto auto 1fr;
	}

	.menu-toggle {
		display: grid;
		position: relative;
		z-index: 131;
	}

	.site-nav {
		position: fixed;
		inset: 0;
		z-index: 125;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		padding: calc(var(--header-height) + 16px) 18px 18px;
		background: rgba(4, 6, 12, 0.72);
		backdrop-filter: blur(18px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity var(--transition), visibility var(--transition);
	}

	body.menu-open .site-nav {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.primary-menu,
	.menu-fallback {
		flex-direction: column;
		align-items: stretch;
		width: min(100%, 420px);
		max-height: calc(100vh - var(--header-height) - 36px);
		margin-inline: auto;
		overflow-y: auto;
		padding: 16px;
		border-radius: 28px;
		background:
			linear-gradient(180deg, rgba(13, 16, 28, 0.96), rgba(8, 10, 18, 0.94)),
			radial-gradient(circle at top right, rgba(0, 212, 255, 0.14), transparent 34%);
		border: 1px solid rgba(255, 255, 255, 0.08);
		box-shadow: var(--shadow), 0 0 36px rgba(0, 212, 255, 0.08);
		gap: 8px;
		transform: translateY(-14px) scale(0.98);
		opacity: 0;
		transition: transform 260ms ease, opacity 260ms ease;
	}

	body.menu-open .primary-menu,
	body.menu-open .menu-fallback {
		transform: translateY(0) scale(1);
		opacity: 1;
	}

	.primary-menu a,
	.menu-fallback a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 58px;
		padding: 0.95rem 1rem;
		border-radius: 18px;
		background: rgba(255, 255, 255, 0.03);
		border: 1px solid transparent;
		font-size: 1.08rem;
		white-space: normal;
	}

	.primary-menu a::after,
	.menu-fallback a::after {
		display: none;
	}

	.current-menu-item > a,
	.current_page_item > a {
		background: rgba(255, 255, 255, 0.06);
		border-color: rgba(0, 212, 255, 0.22);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 0 20px rgba(0, 212, 255, 0.08);
	}

	.site-header__cta {
		justify-self: end;
	}

	.site-header__phone {
		display: none;
	}

	.floating-contact {
		display: grid;
	}

	.hero-grid,
	.hero-grid--interior,
	.split-layout,
	.contact-layout,
	.article-layout,
	.blog-layout,
	.service-detail,
	.service-detail--reverse,
	.cta-banner__inner {
		grid-template-columns: 1fr;
	}

	.service-detail--reverse .service-detail__content,
	.service-detail--reverse .service-detail__media {
		order: initial;
	}

	.stats-grid,
	.process-grid,
	.cards-grid--services,
	.cards-grid--blog,
	.cards-grid--values,
	.cards-grid--plans {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

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

	.testimonial-card {
		flex-basis: calc(50% - 10px);
	}

	.process-timeline__line {
		display: none;
	}

	.hero--home {
		min-height: auto;
	}
}

@media (max-width: 767px) {
	:root {
		--container: min(100vw - 28px, 100vw);
	}

	body {
		padding-bottom: 124px;
	}

	.section {
		padding: 84px 0;
	}

	.site-header {
		padding: 14px 0;
	}

	.site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 14px;
	}

	.brand-mark__text small,
	.site-header__cta {
		display: none;
	}

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

	.hero-contact-links {
		flex-direction: column;
		align-items: flex-start;
	}

	.brand-mark__logo {
		width: 58px;
	}

	.hero {
		padding-top: calc(var(--header-height) + 10px);
	}

	.hero h1 {
		font-size: clamp(2.35rem, 11vw, 3.4rem);
	}

	.brand-mark__text strong {
		font-size: 0.98rem;
		white-space: normal;
		max-width: 11ch;
	}

	.site-nav {
		padding: calc(var(--header-height) + 10px) 14px 18px;
	}

	.primary-menu,
	.menu-fallback {
		width: 100%;
		border-radius: 24px;
		padding: 14px;
	}

	.primary-menu a,
	.menu-fallback a {
		padding: 0.9rem 0.95rem;
		font-size: 1.02rem;
	}

	.hero-grid {
		gap: 26px;
	}

	.hero-typed {
		display: grid;
		gap: 6px;
	}

	.hero-typed strong {
		min-height: 2.55em;
	}

	.hero-description,
	.hero-description--secondary {
		font-size: 0.98rem;
	}

	.hero-visual__copy h2 {
		font-size: clamp(1.5rem, 8vw, 2rem);
	}

	.stats-grid,
	.process-grid,
	.cards-grid--services,
	.cards-grid--blog,
	.cards-grid--values,
	.cards-grid--plans,
	.partners-grid,
	.footer-grid,
	.form-grid {
		grid-template-columns: 1fr;
	}

	.hero-actions,
	.contact-form__actions,
	.service-detail__footer,
	.footer-bottom__inner,
	.article-share__actions,
	.cta-banner__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hero-tech {
		gap: 10px;
	}

	.hero-visual__card,
	.hero-side-note,
	.service-card,
	.value-card,
	.plan-card,
	.blog-card,
	.stat-card,
	.contact-form-panel,
	.info-card,
	.faq-item,
	.footer-panel,
	.featured-post,
	.article-content {
		padding: 22px;
	}

	.scroll-indicator {
		display: none;
	}

	.testimonial-card {
		flex-basis: 100%;
	}

	.floating-contact {
		right: 14px;
		left: 14px;
		bottom: 12px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.floating-contact__button {
		justify-content: center;
	}
}

@media (max-width: 479px) {
	.button,
	.pricing-tab {
		width: 100%;
	}

	.hero-actions .button {
		width: 100%;
	}

	.hero-typed {
		font-size: 1rem;
	}

	.hero-typed strong {
		font-size: 1.08rem;
	}

	.media-placeholder::after {
		font-size: 0.68rem;
	}

	.hero-visual__media,
	.hero-visual__media img,
	.split-layout__visual--portrait,
	.split-layout__visual--wide,
	.service-detail__visual,
	.post-hero__visual {
		min-height: 260px;
	}

	.contact-list li,
	.hours-list li {
		flex-direction: column;
	}

	.brand-mark__text strong {
		max-width: 9.5ch;
		font-size: 0.92rem;
	}
}
