/* Breakpoints: desktop 1440, laptop 1200, tablet 768, mobile 390 */

img,
svg,
video,
iframe {
	max-width: 100%;
}

@media (max-width: 1440px) {
	.hero__content {
		margin-left: auto;
		margin-right: auto;
		width: min(100% - (var(--space-md) * 2), var(--wide-max));
	}
}

@media (max-width: 1200px) {
	:root {
		--space-xxl: 88px;
		--space-xl: 56px;
	}

	.process-steps {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-lg);
	}

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

	.industry-list {
		grid-template-columns: repeat(2, 1fr);
	}

	.industry-list--two {
		grid-template-columns: repeat(2, 1fr);
	}

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

	.section-media--wide img {
		aspect-ratio: 16 / 9;
		max-height: 280px;
	}
}

@media (max-width: 768px) {
	:root {
		--header-height: 76px;
		--space-xl: 48px;
		--space-xxl: 64px;
	}

	html,
	body {
		overflow-x: hidden;
	}

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

	.site-header__inner {
		flex-wrap: nowrap;
		gap: var(--space-sm);
	}

	.site-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--color-ivory);
		border-bottom: 1px solid rgba(11, 29, 51, 0.1);
		padding: var(--space-sm) var(--space-md) var(--space-md);
		display: none;
		z-index: 1001;
		box-shadow: 0 12px 28px rgba(11, 29, 51, 0.12);
	}

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

	.site-nav ul {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.site-nav li {
		border-top: 1px solid rgba(11, 29, 51, 0.08);
	}

	.site-nav a {
		display: block;
		padding: 0.9rem 0;
	}

	.site-nav .menu-item-cta a {
		margin-top: var(--space-sm);
		width: 100%;
		text-align: center;
	}

	.site-wordmark__svg {
		width: min(210px, 62vw);
	}

	.section--split,
	.page-hero__grid,
	.contact-layout,
	.site-footer__grid {
		grid-template-columns: 1fr;
		gap: var(--space-md);
	}

	.page-hero__media img {
		max-height: 260px;
		aspect-ratio: 16 / 9;
	}

	.footer-nav ul {
		justify-content: flex-start;
	}

	.value-band__grid {
		grid-template-columns: 1fr;
		gap: var(--space-md);
	}

	.service-grid,
	.industry-detail-grid {
		grid-template-columns: 1fr;
	}

	.process-steps,
	.process-steps--two {
		grid-template-columns: 1fr;
	}

	.industry-list,
	.industry-list--two {
		grid-template-columns: 1fr;
	}

	.hero {
		min-height: min(58vh, 480px);
	}

	.hero__content {
		padding: var(--space-md) 0;
	}

	.hero--sale {
		min-height: 0;
	}

	.hero--sale h1,
	.hero__sale-region,
	.hero__sale-sub {
		white-space: normal;
	}

	.hero--sale h1 {
		font-size: clamp(2.4rem, 11vw, 3.5rem);
	}

	.hero__sale-region {
		font-size: clamp(1.35rem, 6vw, 1.85rem);
	}

	.hero__sale-sub {
		font-size: 1rem;
		white-space: normal;
	}

	.page-hero h1 {
		max-width: none;
	}

	.btn-group {
		flex-direction: column;
		align-items: stretch;
	}

	.btn-group .btn {
		width: 100%;
		text-align: center;
	}

	.container,
	.container--narrow {
		width: min(100% - (var(--space-sm) * 2), var(--wide-max));
	}

	.bhc-modal {
		padding: 0;
		align-items: stretch;
		height: 100%;
		height: 100dvh;
	}

	.bhc-modal__dialog {
		width: 100%;
		height: 100%;
		height: 100dvh;
		max-height: 100%;
		max-height: 100dvh;
		min-height: 0;
		border-radius: 0;
	}

	.bhc-modal__header,
	.bhc-modal__body {
		padding-left: var(--space-md);
		padding-right: var(--space-md);
	}

	.bhc-modal__body {
		padding-bottom: calc(var(--space-lg) + env(safe-area-inset-bottom, 0px) + 1.5rem);
	}

	.bhc-modal .praxiumpro-form iframe,
	.praxiumpro-form iframe {
		height: auto;
		min-height: 480px;
	}
}

@media (max-width: 390px) {
	body {
		font-size: 1rem;
	}

	.site-wordmark__svg {
		width: 168px;
	}

	.praxiumpro-form:not(.praxiumpro-form--has-embed) {
		padding: var(--space-md);
	}

	.sale-badge {
		letter-spacing: 0.12em;
		font-size: 0.85rem;
	}
}
