/* =========================================================
   responsive.css — breakpoints: 1280, 1024, 768
   ========================================================= */

@media (max-width: 1280px) {
	:root {
		--container: 100%;
		--gutter: 40px;
	}
}

@media (max-width: 1024px) {
	:root {
		--gutter: 32px;
		--space-section: 96px;
	}

	.as-sec-head {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.as-hero__content { grid-column: 1 / -1; }

	.as-footer__grid { grid-template-columns: repeat(2, 1fr); gap: 40px; }

	.as-price { grid-template-columns: 1fr; }
	.as-price__head { padding-left: 0 !important; padding-right: 0; }
	.as-price__head + .as-price__label { margin-top: 16px; }
	.as-price__label, .as-price__cell { padding: 16px 0; }
	.as-price__cta { padding: 24px 0 32px; border-bottom: 1px solid var(--c-line-paper); }

	.as-steps, .as-numbers { grid-template-columns: repeat(2, 1fr); }

	.as-map { grid-template-columns: 1fr; }
	.as-map__embed { height: 320px; }

	.as-quotes-grid { grid-template-columns: 1fr; }
	.as-quotes-grid .as-quote-mini:not(:nth-child(3n)) { border-right: none; }

	.as-case__body { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 768px) {
	:root {
		--header-h: 60px;
		--banner-h: 40px;
		--gutter: var(--gutter-m);
		--space-section: var(--space-section-m);
		--space-block: 48px;
		--space-item: 28px;
	}

	body {
		font-size: 1rem;
	}

	.as-header__inner { padding: 0 var(--gutter-m); }
	.as-header__brand { font-size: 1.375rem; }
	.as-nav { display: none; }
	.as-burger { display: flex; }

	.as-banner-18__inner {
		font-size: 0.75rem;
		padding: 0 var(--gutter-m);
		gap: 12px;
	}
	.as-banner-18__text {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.as-hero__h1 { font-size: clamp(2.5rem, 10vw, 3.5rem); }
	.as-hero { min-height: auto; padding-top: 40px; padding-bottom: 80px; }

	.as-row {
		grid-template-columns: 48px 1fr;
		grid-template-rows: auto auto;
		gap: 20px;
		padding: 28px 0;
	}
	.as-row__arrow {
		grid-column: 2;
		grid-row: 2;
		justify-self: end;
		margin-top: 8px;
	}

	.as-quote { padding: 32px 24px 32px 36px; }
	.as-quote__mark--open { top: 24px; font-size: 3rem; }
	.as-quote__mark--close { bottom: 32px; font-size: 3rem; }
	.as-quote__body { font-size: 1.25rem; }

	.as-quotes-featured { gap: 48px; margin-bottom: 48px; }

	.as-steps, .as-numbers { grid-template-columns: 1fr; }

	.as-form__row--cols { grid-template-columns: 1fr; gap: 32px; }

	.as-footer { padding: 60px 0 32px; }
	.as-footer__grid { grid-template-columns: 1fr; gap: 32px; }
	.as-footer__copy { font-size: 0.8125rem; }

	.as-counter { right: var(--gutter-m); bottom: 24px; }

	.as-sec-head__h { font-size: clamp(2rem, 7vw, 2.5rem); }

	.as-case { padding: 48px 0; }
	.as-case__body { gap: 12px; }
	.as-case__quote { padding-left: 20px; margin: 32px 0; }
}

@media (max-width: 480px) {
	.as-banner-18__text { display: none; }
	.as-hero__h1 { font-size: 2.25rem; }
}
