/**
 * HESENT Stage 10H — focused-width and company-media refinement.
 * Staging only. Presentation and content structure only.
 */

:root {
	--hesent-10h-content: 70rem;
	--hesent-10h-reading: 45rem;
	--hesent-10h-gutter: 1.75rem;
	--wp--style--global--wide-size: var(--hesent-10h-content);
	--hesent-v3-wide: var(--hesent-10h-content);
	--hesent-v3-reading: var(--hesent-10h-reading);
}

/* A visibly focused 1120px desktop rhythm across shared marketing surfaces. */
:where(.hesent-v3-shell, .site-header__main, .site-footer__main),
main :where(.alignwide):not(.alignfull),
:where(.category-hero, .solution-hero) > :where(.wp-block-columns, .wp-block-group),
:where(.hesent-section, .product-editorial-section) > .alignwide {
	box-sizing: border-box;
	margin-inline: auto !important;
	max-width: var(--hesent-10h-content) !important;
	width: min(calc(100vw - (2 * var(--hesent-10h-gutter))), var(--hesent-10h-content)) !important;
}

:where(.hesent-v3-lead, .hesent-page-summary, .category-hero__copy > p, .solution-hero__copy > p, .product-editorial-section__intro) {
	max-width: var(--hesent-10h-reading);
}

/* The Homepage hero is not an alignwide block, so contain it explicitly. */
.home .hesent-v3-home-hero {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--hesent-10h-content);
	width: min(calc(100vw - (2 * var(--hesent-10h-gutter))), var(--hesent-10h-content));
}

.home .hesent-v3-home-hero__copy {
	padding-inline: clamp(2rem, 3.5vw, 3.25rem) !important;
}

/* The product systems chapter now follows the hero directly. */
.home .hesent-v3-home-hero + .hesent-v3-systems {
	padding-top: clamp(3.25rem, 4.5vw, 4.75rem);
}

/* About HESENT: a restrained, explicit and replaceable future-media slot. */
body.page-id-99 .entry-content > :where(section, figure) {
	max-width: var(--hesent-10h-content);
	width: min(calc(100% - (2 * var(--hesent-10h-gutter))), var(--hesent-10h-content));
}

body.page-id-99 :where(.hesent-company-intro, .hesent-company-role) {
	max-width: var(--hesent-10h-reading) !important;
}

.hesent-company-factory-slot.hesent-company-factory-slot--reserved {
	aspect-ratio: 16 / 9;
	background:
		linear-gradient(rgba(31, 78, 121, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(31, 78, 121, 0.035) 1px, transparent 1px),
		#f5f8fa;
	background-size: 2rem 2rem;
	border: 1px solid #cad6df;
	display: grid;
	grid-template-rows: 1fr auto;
	left: auto;
	margin-block: clamp(2.25rem, 4vw, 3.5rem) !important;
	margin-inline: auto !important;
	max-width: 56rem !important;
	overflow: hidden;
	padding: clamp(1rem, 2vw, 1.5rem);
	place-items: center;
	position: relative;
	transform: none;
	width: min(calc(100vw - (2 * var(--hesent-10h-gutter))), 56rem) !important;
}

.hesent-company-factory-slot.hesent-company-factory-slot--reserved::before {
	background: #0f2b46;
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	top: 0;
	width: clamp(5rem, 12vw, 8rem);
}

.hesent-company-factory-slot.hesent-company-factory-slot--reserved::after {
	border: 1px dashed #b5c5d1;
	content: "";
	inset: clamp(0.75rem, 1.5vw, 1.25rem);
	pointer-events: none;
	position: absolute;
}

.hesent-company-factory-slot__label {
	align-items: center;
	color: #52697b;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	justify-content: center;
	position: relative;
	text-align: center;
	z-index: 1;
}

.hesent-company-factory-slot__label strong {
	color: #0f2b46;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.15rem, 2vw, 1.55rem);
	line-height: 1.25;
}

.hesent-company-factory-slot__eyebrow {
	color: #1f4e79;
	font-family: var(--wp--preset--font-family--technical);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.hesent-company-factory-slot.hesent-company-factory-slot--reserved figcaption {
	align-self: end;
	color: #6b7e8d;
	font-family: inherit;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0;
	position: relative;
	text-align: center;
	text-transform: none;
	z-index: 1;
}

@media (max-width: 782px) {
	:root {
		--hesent-10h-gutter: 1.25rem;
	}

	.hesent-company-factory-slot.hesent-company-factory-slot--reserved {
		aspect-ratio: 4 / 3;
	}

	.home .hesent-v3-home-hero__copy {
		padding-inline: 1.375rem !important;
	}
}

@media (max-width: 520px) {
	:root {
		--hesent-10h-gutter: 1rem;
	}

	.hesent-company-factory-slot.hesent-company-factory-slot--reserved {
		min-height: 15rem;
	}

	.hesent-company-factory-slot.hesent-company-factory-slot--reserved figcaption {
		max-width: 15rem;
	}
}
