/*
 * FASA OHG shared outer content boundary.
 * Full-width section backgrounds remain on their section elements; only the
 * direct content wrappers below are constrained by this system.
 */
:root {
	--site-max-width: 90rem;
	--site-gutter: clamp(1.5rem, 5vw, 5rem);
	--global-width: var(--site-max-width);
}

.site-container,
.header-container,
.footer-container,
.home-container,
.services-container,
.industries-container,
.workflow-container,
.about-container,
.contact-container {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: none;
	padding-inline: 0;
	width: min(calc(100% - (var(--site-gutter) * 2)), var(--site-max-width));
}

/* Normalize wrappers that previously supplied a second page gutter. */
.home-hero .home-container,
.problems-section .home-container,
.services-section .home-container,
.why-layout,
.industries-section .home-container,
.quality-layout,
.benefits-section .home-container,
.about-section .home-container,
.final-cta-inner,
.contact-hero .contact-container,
.about-buyers .about-container {
	max-width: none;
	padding-inline: 0;
	width: min(calc(100% - (var(--site-gutter) * 2)), var(--site-max-width));
}

/* Approved intentionally narrow compositions remain narrow inside the system. */
.process-container,
.services-final-inner,
.industries-final-inner,
.workflow-final-inner,
.about-final-inner {
	width: min(calc(100% - (var(--site-gutter) * 2)), var(--component-max-width, var(--site-max-width)));
}

.process-container { --component-max-width: 68rem; }
.services-final-inner { --component-max-width: 72rem; }
.industries-final-inner { --component-max-width: 66rem; }
.workflow-final-inner { --component-max-width: 72rem; }
.about-final-inner { --component-max-width: 72rem; }

/* Generic WordPress/legal pages share the boundary without widening their copy. */
.site-shell {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: none;
	padding-inline: 0;
	width: min(calc(100% - (var(--site-gutter) * 2)), var(--site-max-width));
}

.site-shell > article {
	max-width: 75rem;
}

@media (max-width: 35rem) {
	.main-header-inner {
		padding-inline: 0;
	}
}
