/*
 * Premier Plasmotec Manufacturing page module.
 *
 * Gutenberg remains the structure, copy and governed-media authority. This
 * route stylesheet turns the six published manufacturing images into one
 * bounded production field, keeps the six-stage process synchronized, expands
 * the four process families into readable dossiers and preserves the semantic
 * five-row planning table at every supported width.
 */

body.ppps-module-manufacturing {
	--pp-mfg-accent: #aab9be;
	--pp-mfg-accent-bright: #d9e1e3;
	--pp-mfg-ink: #07090a;
	--pp-mfg-graphite: #111516;
	--pp-mfg-steel: #292d30;
	--pp-mfg-paper: #f2f0e9;
	--pp-mfg-line-dark: rgba(255, 255, 255, .18);
	--pp-mfg-line-light: rgba(7, 9, 10, .19);
}

body.ppps-module-manufacturing .page-studio-content {
	overflow: clip;
}

body.ppps-module-manufacturing :where(
	.pp-block__inner,
	.pp-block__header,
	.pp-block__title,
	.pp-block__copy,
	.pp-hero__inner,
	.pp-metrics,
	.pp-metric,
	.pp-mosaic,
	.pp-mosaic__item,
	.pp-process-story__layout,
	.pp-process__sticky,
	.pp-process__stage,
	.pp-card-grid,
	.pp-technical-card,
	.pp-technical-card__media-stack,
	.pp-table-layout,
	.pp-table-scroll
) {
	min-width: 0;
}

/* -------------------------------------------------------------------------- */
/* Opening manufacturing frame.                                               */
/* -------------------------------------------------------------------------- */

body.ppps-module-manufacturing .pp-block--industrial-hero {
	min-height: max(48rem, 100svh);
	border-bottom: 1px solid var(--pp-mfg-line-dark);
	background: var(--pp-mfg-ink);
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-hero__media {
	overflow: clip;
	background: var(--pp-mfg-graphite);
	isolation: isolate;
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-hero__media::after {
	inset: 0;
	background:
		linear-gradient(
			90deg,
			rgba(7, 9, 10, .93),
			rgba(7, 9, 10, .5) 45%,
			rgba(7, 9, 10, .18)
		),
		linear-gradient(0deg, rgba(7, 9, 10, .58), transparent 62%);
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-hero__media
	img {
	filter: grayscale(.24) saturate(.76) contrast(1.07) brightness(.78);
	transform: scale(1.018);
	transition:
		filter 680ms ease,
		transform 1100ms cubic-bezier(.22, 1, .36, 1);
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-hero__inner {
	align-content: end;
	padding-bottom: clamp(2.5rem, 5vw, 5.5rem);
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-block__header {
	width: min(100%, 82rem);
	max-width: none;
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-block__title {
	max-width: 9.4ch;
	font-size: clamp(4.2rem, 7vw, 8.7rem);
	letter-spacing: -.064em;
	line-height: .9;
	text-wrap: balance;
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-block__copy {
	max-width: 52rem;
	font-size: clamp(1rem, 1.15vw, 1.2rem);
	line-height: 1.58;
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-block__actions {
	gap: .75rem;
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-button {
	min-height: 3.25rem;
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-metrics {
	display: grid;
	margin-top: clamp(2.5rem, 5vw, 5rem);
	border-top: 1px solid var(--pp-mfg-line-dark);
	border-bottom: 1px solid var(--pp-mfg-line-dark);
	background: rgba(7, 9, 10, .24);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-metric {
	min-height: clamp(8rem, 10vw, 11rem);
	padding: clamp(1.25rem, 2.2vw, 2rem);
	border-right: 1px solid var(--pp-mfg-line-dark);
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-metric:last-child {
	border-right: 0;
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-metric__value {
	font-size: clamp(1.7rem, 2.2vw, 2.8rem);
	letter-spacing: -.045em;
	line-height: 1;
}

body.ppps-module-manufacturing
	.pp-block--industrial-hero
	.pp-metric__context {
	opacity: .48;
}

@media (hover: hover) and (pointer: fine) {
	body.ppps-module-manufacturing
		.pp-block--industrial-hero:is(:hover, :focus-within)
		.pp-hero__media
		img {
		filter: grayscale(.04) saturate(.92) contrast(1.07) brightness(.83);
		transform: scale(1.035);
	}
}

/* -------------------------------------------------------------------------- */
/* Six-image manufacturing system.                                            */
/* -------------------------------------------------------------------------- */

body.ppps-module-manufacturing .pp-block--media-mosaic {
	min-height: 0;
	padding-block: clamp(6rem, 10vw, 12rem);
	background:
		linear-gradient(
			rgba(7, 9, 10, .045) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(7, 9, 10, .045) 1px,
			transparent 1px
		),
		var(--pp-mfg-paper);
	background-size: 72px 72px;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	> .pp-block__inner {
	display: block;
	width: min(calc(100% - clamp(2.5rem, 9vw, 9rem)), 128rem);
	max-width: none;
	min-height: 0;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__protected-copy {
	position: relative;
	z-index: 4;
	width: min(100%, 88rem);
	max-width: none;
	margin: 0 0 clamp(4rem, 8vw, 8rem);
	padding: 0;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-block__header {
	width: 100%;
	max-width: none;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-block__title {
	max-width: 11.5ch;
	font-size: clamp(3.8rem, 6.1vw, 7.6rem);
	letter-spacing: -.064em;
	line-height: .9;
	text-wrap: balance;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic {
	position: relative;
	display: grid;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-auto-rows: clamp(3.75rem, 5vw, 6rem);
	gap: clamp(.9rem, 1.4vw, 1.5rem);
	overflow: visible;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item {
	position: relative;
	inset: auto;
	display: grid;
	width: auto;
	height: auto;
	margin: 0;
	border: 1px solid var(--pp-mfg-line-light);
	background: var(--pp-mfg-graphite);
	opacity: 1;
	transform: none;
	isolation: isolate;
	overflow: clip;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item:nth-child(1) {
	grid-column: 1 / span 7;
	grid-row: 1 / span 5;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item:nth-child(2) {
	grid-column: 9 / span 4;
	grid-row: 1 / span 4;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item:nth-child(3) {
	grid-column: 8 / span 5;
	grid-row: 5 / span 4;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item:nth-child(4) {
	grid-column: 1 / span 6;
	grid-row: 6 / span 3;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item:nth-child(5) {
	grid-column: 2 / span 3;
	grid-row: 9 / span 5;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item:nth-child(6) {
	grid-column: 6 / span 7;
	grid-row: 10 / span 4;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item
	img {
	position: absolute;
	width: 100%;
	height: 100%;
	inset: 0;
	object-fit: cover;
	filter: grayscale(.22) saturate(.78) contrast(1.06);
	transform: scale(1.001);
	transition:
		filter 420ms ease,
		transform 760ms cubic-bezier(.22, 1, .36, 1);
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item:nth-child(5)
	img {
	object-fit: contain;
	background: #d8d8d5;
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: "";
	pointer-events: none;
	background: linear-gradient(0deg, rgba(7, 9, 10, .82), transparent 48%);
}

body.ppps-module-manufacturing
	.pp-block--media-mosaic
	.pp-mosaic__item
	figcaption {
	position: relative;
	z-index: 2;
	align-self: end;
	margin: 0;
	padding: clamp(1rem, 1.7vw, 1.5rem);
	color: rgba(255, 255, 255, .9);
	background: transparent;
	font-size: clamp(.68rem, .18vw + .64rem, .78rem);
	letter-spacing: .035em;
	line-height: 1.45;
}

body.ppps-module-manufacturing[data-pp-manufacturing-enhanced="ready"]
	[data-pp-manufacturing-mosaic][data-pp-manufacturing-state="waiting"] {
	opacity: 0;
	transform: translate3d(0, 34px, 0) scale(.985);
}

body.ppps-module-manufacturing[data-pp-manufacturing-enhanced="ready"]
	[data-pp-manufacturing-mosaic][data-pp-manufacturing-state="visible"] {
	opacity: 1;
	transform: none;
}

body.ppps-module-manufacturing[data-pp-manufacturing-enhanced="ready"]
	[data-pp-manufacturing-mosaic] {
	transition:
		opacity 440ms ease calc(var(--pp-manufacturing-index, 0) * 45ms),
		transform 720ms cubic-bezier(.22, 1, .36, 1)
			calc(var(--pp-manufacturing-index, 0) * 45ms);
}

@media (hover: hover) and (pointer: fine) {
	body.ppps-module-manufacturing
		.pp-block--media-mosaic
		.pp-mosaic__item:is(:hover, :focus-within)
		img {
		filter: grayscale(0) saturate(.96) contrast(1.06);
		transform: scale(1.028);
	}
}

/* -------------------------------------------------------------------------- */
/* Six-stage production story.                                                */
/* -------------------------------------------------------------------------- */

body.ppps-module-manufacturing .pp-block--process-chain {
	overflow: visible;
	background:
		linear-gradient(
			rgba(7, 9, 10, .045) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(7, 9, 10, .045) 1px,
			transparent 1px
		),
		var(--pp-mfg-paper);
	background-size: 72px 72px;
}

body.ppps-module-manufacturing
	.pp-block--process-chain
	> .pp-block__inner {
	width: min(calc(100% - clamp(2.5rem, 9vw, 9rem)), 128rem);
	max-width: none;
}

body.ppps-module-manufacturing .pp-process-story__header {
	margin-bottom: clamp(3rem, 5.6vw, 6rem);
}

body.ppps-module-manufacturing
	.pp-process-story__header
	.pp-block__title {
	max-width: 10.5ch;
	font-size: clamp(3.6rem, 6vw, 7.5rem);
	letter-spacing: -.064em;
	line-height: .9;
	text-wrap: balance;
}

body.ppps-module-manufacturing .pp-process__media-stack {
	overflow: clip;
	border: 1px solid var(--pp-mfg-line-light);
	background: #d7d9d8;
	isolation: isolate;
}

body.ppps-module-manufacturing .pp-process__media {
	opacity: 0;
	visibility: hidden;
	transform: scale(1.012);
	transition:
		opacity 160ms linear,
		transform 300ms cubic-bezier(.22, 1, .36, 1),
		visibility 0s linear 180ms;
}

body.ppps-module-manufacturing .pp-process__media.is-active,
body.ppps-module-manufacturing
	.pp-process__media[aria-hidden="false"] {
	z-index: 2;
	opacity: 1;
	visibility: visible;
	transform: none;
	transition:
		opacity 220ms ease,
		transform 400ms cubic-bezier(.22, 1, .36, 1),
		visibility 0s;
}

body.ppps-module-manufacturing .pp-process__media::after,
body.ppps-module-manufacturing .pp-process__stage-media::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(0deg, rgba(7, 9, 10, .36), transparent 44%),
		linear-gradient(90deg, rgba(7, 9, 10, .08), transparent 48%);
}

body.ppps-module-manufacturing
	.pp-process__media
	:is(img, video),
body.ppps-module-manufacturing
	.pp-process__media
	> :is(img, video),
body.ppps-module-manufacturing
	.pp-process__stage-media
	:is(img, video),
body.ppps-module-manufacturing
	.pp-process__stage-media
	> :is(img, video) {
	filter: saturate(.78) contrast(1.04);
}

body.ppps-module-manufacturing .pp-process__media figcaption,
body.ppps-module-manufacturing
	.pp-process__stage-media
	figcaption {
	z-index: 3;
	right: clamp(1rem, 2vw, 1.75rem);
	bottom: clamp(1rem, 2vw, 1.75rem);
	left: clamp(1rem, 2vw, 1.75rem);
	color: rgba(255, 255, 255, .9);
	font-size: clamp(.58rem, .12vw + .55rem, .7rem);
	letter-spacing: .075em;
	line-height: 1.45;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .4);
}

body.ppps-module-manufacturing .pp-process__counter {
	margin-top: clamp(1rem, 2vw, 1.5rem);
	color: rgba(7, 9, 10, .66);
}

body.ppps-module-manufacturing .pp-process__counter i {
	height: 3px;
	background:
		linear-gradient(
			90deg,
			var(--pp-mfg-ink),
			var(--pp-mfg-accent)
		);
	box-shadow: 0 0 20px rgba(7, 9, 10, .13);
}

body.ppps-module-manufacturing .pp-process__stage {
	opacity: 0;
	visibility: hidden;
	transform: translate3d(0, 18px, 0);
	transition:
		opacity 160ms linear,
		transform 300ms cubic-bezier(.22, 1, .36, 1),
		visibility 0s linear 180ms;
}

body.ppps-module-manufacturing .pp-process__stage.is-active,
body.ppps-module-manufacturing
	.pp-process__stage[aria-hidden="false"] {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	transition:
		opacity 220ms ease,
		transform 400ms cubic-bezier(.22, 1, .36, 1),
		visibility 0s;
}

body.ppps-module-manufacturing .pp-process__stage h3 {
	max-width: 12ch;
	margin-bottom: 1.25rem;
	font-size: clamp(2.6rem, 3.35vw, 4.2rem);
	letter-spacing: -.054em;
	line-height: .98;
	text-wrap: balance;
}

body.ppps-module-manufacturing .pp-process__stage > p {
	max-width: 34rem;
	color: rgba(7, 9, 10, .7);
	font-size: clamp(1rem, 1.04vw, 1.14rem);
	line-height: 1.58;
}

body.ppps-module-manufacturing .pp-process__number {
	color: rgba(7, 9, 10, .68);
}

@media (min-width: 901px) and (min-height: 640px) and (prefers-reduced-motion: no-preference) {
	body.ppps-module-manufacturing.ppps-capability-full:not(
		.ppps-runtime-disabled,
		.ppps-readiness-failed,
		.ppps-motion-off,
		.ppps-motion-reduced
	)
		[data-pp-scene="indexed-story"].is-motion-mounted
		.pp-process-story__layout {
		grid-template-columns: minmax(0, 1.44fr) minmax(330px, .56fr);
		gap: clamp(3rem, 5vw, 6.5rem);
	}

	body.ppps-module-manufacturing.ppps-capability-full:not(
		.ppps-runtime-disabled,
		.ppps-readiness-failed,
		.ppps-motion-off,
		.ppps-motion-reduced
	)
		[data-pp-scene="indexed-story"].is-motion-mounted
		.pp-process__sticky {
		padding-block: clamp(1rem, 2.25vh, 2rem);
	}

	body.ppps-module-manufacturing.ppps-capability-full:not(
		.ppps-runtime-disabled,
		.ppps-readiness-failed,
		.ppps-motion-off,
		.ppps-motion-reduced
	)
		[data-pp-scene="indexed-story"].is-motion-mounted
		.pp-process__stage {
		align-content: center;
		padding: clamp(2rem, 5vh, 4.5rem) 0;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate3d(0, 18px, 0);
		transition:
			opacity 160ms linear,
			transform 300ms cubic-bezier(.22, 1, .36, 1),
			visibility 0s linear 180ms;
	}

	body.ppps-module-manufacturing.ppps-capability-full:not(
		.ppps-runtime-disabled,
		.ppps-readiness-failed,
		.ppps-motion-off,
		.ppps-motion-reduced
	)
		[data-pp-scene="indexed-story"].is-motion-mounted
		.pp-process__stage:is(.is-active, [aria-hidden="false"]) {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		transition:
			opacity 220ms ease,
			transform 400ms cubic-bezier(.22, 1, .36, 1),
			visibility 0s;
	}
}

/* -------------------------------------------------------------------------- */
/* Four governed process families become alternating production dossiers.      */
/* -------------------------------------------------------------------------- */

body.ppps-module-manufacturing
	.pp-block--technical-card-grid[data-pp-card-presentation="evidence_grid"] {
	background:
		linear-gradient(
			rgba(255, 255, 255, .045) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, .045) 1px,
			transparent 1px
		),
		var(--pp-mfg-graphite);
	background-size: 72px 72px;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	> .pp-block__inner {
	width: min(calc(100% - clamp(2.5rem, 9vw, 9rem)), 128rem);
	max-width: none;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-block__header {
	width: min(100%, 76rem);
	max-width: none;
	margin-bottom: clamp(3.5rem, 7vw, 7.5rem);
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-block__title {
	max-width: 10.6ch;
	font-size: clamp(3.8rem, 6.1vw, 7.6rem);
	letter-spacing: -.064em;
	line-height: .9;
	text-wrap: balance;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-block__copy {
	max-width: 54rem;
	font-size: clamp(1rem, 1.1vw, 1.16rem);
	line-height: 1.58;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-card-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(3rem, 5vw, 5.5rem);
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card {
	display: grid;
	min-height: clamp(34rem, 48vw, 44rem);
	padding: 0;
	border: 1px solid var(--pp-mfg-line-dark);
	background: var(--pp-mfg-paper);
	color: var(--pp-mfg-ink);
	grid-template-columns: minmax(0, 1.18fr) minmax(24rem, .82fr);
	grid-template-rows: auto auto auto 1fr auto;
	column-gap: 0;
	isolation: isolate;
	overflow: clip;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card__media-stack {
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0;
	grid-column: 1;
	grid-row: 1 / -1;
	background: #d7d9d8;
	overflow: clip;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card__media {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	background: #d7d9d8;
	overflow: clip;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card__media::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: "";
	pointer-events: none;
	background: linear-gradient(0deg, rgba(7, 9, 10, .72), transparent 38%);
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card__media
	img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(.2) saturate(.78) contrast(1.05);
	transform: scale(1.001);
	transition:
		filter 420ms ease,
		transform 760ms cubic-bezier(.22, 1, .36, 1);
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card:nth-child(4)
	.pp-technical-card__media
	img {
	object-fit: contain;
	background: #d7d9d8;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card__media
	figcaption {
	position: absolute;
	z-index: 2;
	right: clamp(1rem, 2vw, 1.75rem);
	bottom: clamp(1rem, 2vw, 1.75rem);
	left: clamp(1rem, 2vw, 1.75rem);
	color: rgba(255, 255, 255, .9);
	font-size: clamp(.58rem, .12vw + .55rem, .7rem);
	letter-spacing: .075em;
	line-height: 1.45;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .4);
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card
	> :not(.pp-technical-card__media-stack) {
	margin-right: clamp(1.75rem, 3vw, 3.5rem);
	margin-left: clamp(1.75rem, 3vw, 3.5rem);
	grid-column: 2;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card__number {
	align-self: start;
	margin-top: clamp(1.75rem, 3vw, 3.5rem);
	color: rgba(7, 9, 10, .52);
	font-family: var(--ppps-font-mono);
	font-size: .72rem;
	letter-spacing: .08em;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card
	> .pp-block__eyebrow {
	margin-top: clamp(2.4rem, 4vw, 4.75rem);
	color: rgba(7, 9, 10, .55);
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card
	h3 {
	max-width: 13ch;
	margin-top: 1.1rem;
	margin-bottom: 0;
	font-size: clamp(2.6rem, 3.45vw, 4.4rem);
	letter-spacing: -.056em;
	line-height: .96;
	text-wrap: balance;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card
	> p:not(.pp-block__eyebrow) {
	align-self: start;
	max-width: 34rem;
	margin-top: 1.4rem;
	color: rgba(7, 9, 10, .68);
	font-size: clamp(1rem, 1.04vw, 1.14rem);
	line-height: 1.58;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card
	> .pp-text-link {
	align-self: end;
	justify-self: start;
	margin-top: 2rem;
	margin-bottom: clamp(1.75rem, 3vw, 3.5rem);
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card:nth-child(even) {
	grid-template-columns: minmax(24rem, .82fr) minmax(0, 1.18fr);
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card:nth-child(even)
	.pp-technical-card__media-stack {
	grid-column: 2;
}

body.ppps-module-manufacturing
	.pp-block--technical-card-grid
	.pp-technical-card:nth-child(even)
	> :not(.pp-technical-card__media-stack) {
	grid-column: 1;
}

body.ppps-module-manufacturing[data-pp-manufacturing-enhanced="ready"]
	[data-pp-manufacturing-card][data-pp-manufacturing-state="waiting"] {
	transform: translate3d(0, 34px, 0) scale(.992);
}

body.ppps-module-manufacturing[data-pp-manufacturing-enhanced="ready"]
	[data-pp-manufacturing-card][data-pp-manufacturing-state="visible"] {
	transform: none;
}

body.ppps-module-manufacturing[data-pp-manufacturing-enhanced="ready"]
	[data-pp-manufacturing-card] {
	transition:
		transform 620ms cubic-bezier(.22, 1, .36, 1)
			calc(var(--pp-manufacturing-index, 0) * 42ms);
}

@media (hover: hover) and (pointer: fine) {
	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card:is(:hover, :focus-within)
		.pp-technical-card__media
		img {
		filter: grayscale(0) saturate(.96) contrast(1.05);
		transform: scale(1.025);
	}
}

/* -------------------------------------------------------------------------- */
/* Process-planning evidence.                                                 */
/* -------------------------------------------------------------------------- */

body.ppps-module-manufacturing .pp-block--technical-table {
	background:
		linear-gradient(
			rgba(7, 9, 10, .04) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(7, 9, 10, .04) 1px,
			transparent 1px
		),
		var(--pp-mfg-paper);
	background-size: 72px 72px;
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	> .pp-block__inner {
	width: min(calc(100% - clamp(2.5rem, 9vw, 9rem)), 128rem);
	max-width: none;
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	.pp-table-layout {
	display: grid;
	grid-template-columns: minmax(18rem, .62fr) minmax(0, 1.38fr);
	align-items: start;
	gap: clamp(3rem, 6vw, 8rem);
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	.pp-table-layout__intro {
	position: sticky;
	top: calc(var(--ppps-header-height) + var(--ppps-admin-offset) + 2rem);
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	.pp-table-layout__intro
	.pp-block__title {
	max-width: 10ch;
	font-size: clamp(3.3rem, 4.5vw, 5.7rem);
	letter-spacing: -.06em;
	line-height: .93;
	text-wrap: balance;
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	.pp-table-scroll {
	width: 100%;
	max-width: none;
	border-top: 2px solid currentColor;
	overflow: visible;
	overscroll-behavior-inline: auto;
}

body.ppps-module-manufacturing .pp-block--technical-table table {
	width: 100%;
	min-width: 0;
	table-layout: fixed;
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	caption {
	padding: 1rem 1rem 1.25rem;
	font-size: clamp(.92rem, 1vw, 1.06rem);
	font-weight: 650;
	line-height: 1.45;
	text-align: left;
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	:is(th, td) {
	padding: clamp(1rem, 1.45vw, 1.5rem);
	vertical-align: top;
	font-size: clamp(.92rem, 1vw, 1.04rem);
	line-height: 1.5;
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	:is(th, td):first-child {
	width: 25%;
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	:is(th, td):nth-child(2) {
	width: 36%;
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	:is(th, td):nth-child(3) {
	width: 39%;
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	thead
	th,
body.ppps-module-manufacturing
	.pp-block--technical-table
	tbody
	th {
	font-family: var(--ppps-font-mono);
	font-size: clamp(.62rem, .16vw + .58rem, .72rem);
	font-weight: 700;
	letter-spacing: .055em;
	text-transform: uppercase;
}

body.ppps-module-manufacturing
	.pp-block--technical-table
	tbody
	tr:is(:hover, :focus-within) {
	background: rgba(7, 9, 10, .055);
}

body.ppps-module-manufacturing[data-pp-manufacturing-enhanced="ready"]
	[data-pp-manufacturing-row][data-pp-manufacturing-state="waiting"] {
	transform: translate3d(18px, 0, 0);
}

body.ppps-module-manufacturing[data-pp-manufacturing-enhanced="ready"]
	[data-pp-manufacturing-row][data-pp-manufacturing-state="visible"] {
	transform: none;
}

body.ppps-module-manufacturing[data-pp-manufacturing-enhanced="ready"]
	[data-pp-manufacturing-row] {
	transition:
		transform 360ms cubic-bezier(.22, 1, .36, 1)
			calc(var(--pp-manufacturing-index, 0) * 28ms),
		background-color 220ms ease;
}

/* -------------------------------------------------------------------------- */
/* Closing manufacturing enquiry field.                                       */
/* -------------------------------------------------------------------------- */

body.ppps-module-manufacturing .pp-block--enquiry-cta {
	min-height: min(50rem, 80svh);
	background:
		linear-gradient(
			rgba(255, 255, 255, .045) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, .045) 1px,
			transparent 1px
		),
		var(--pp-mfg-ink);
	background-size: 72px 72px;
}

body.ppps-module-manufacturing
	.pp-block--enquiry-cta
	.pp-block__inner {
	display: grid;
	align-content: center;
	min-height: inherit;
}

body.ppps-module-manufacturing
	.pp-block--enquiry-cta
	.pp-block__title {
	max-width: 9.8ch;
	font-size: clamp(4rem, 7vw, 8.4rem);
	letter-spacing: -.064em;
	line-height: .9;
	text-wrap: balance;
}

body.ppps-module-manufacturing
	.pp-block--enquiry-cta
	.pp-block__copy {
	max-width: 49rem;
	font-size: clamp(1rem, 1.1vw, 1.16rem);
	line-height: 1.58;
}

/* -------------------------------------------------------------------------- */
/* Compact, Lite, reduced-motion, runtime-off and failure completeness.         */
/* -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card,
	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card:nth-child(even) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card__media-stack,
	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card:nth-child(even)
		.pp-technical-card__media-stack {
		width: 100%;
		height: auto;
		min-height: 0;
		grid-column: 1;
		grid-row: auto;
		aspect-ratio: 16 / 9;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card
		> :not(.pp-technical-card__media-stack),
	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card:nth-child(even)
		> :not(.pp-technical-card__media-stack) {
		grid-column: 1;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
		.pp-table-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 3rem;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
		.pp-table-layout__intro {
		position: relative;
		top: auto;
	}
}

@media (max-width: 900px) {
	body.ppps-module-manufacturing .pp-block--industrial-hero {
		min-height: 0;
	}

	body.ppps-module-manufacturing
		.pp-block--industrial-hero
		.pp-hero__media {
		aspect-ratio: 4 / 3;
		background: var(--pp-mfg-graphite);
	}

	body.ppps-module-manufacturing
		.pp-block--industrial-hero
		.pp-hero__media::after {
		background:
			linear-gradient(0deg, rgba(7, 9, 10, .62), transparent 65%),
			linear-gradient(90deg, rgba(7, 9, 10, .18), transparent 72%);
	}

	body.ppps-module-manufacturing
		.pp-block--industrial-hero
		.pp-block__title {
		max-width: 11ch;
		font-size: clamp(3.1rem, 12vw, 5.6rem);
		line-height: .92;
	}

	body.ppps-module-manufacturing
		.pp-block--industrial-hero
		.pp-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.ppps-module-manufacturing
		.pp-block--industrial-hero
		.pp-metric {
		min-height: 8rem;
	}

	body.ppps-module-manufacturing
		.pp-block--industrial-hero
		.pp-metric:nth-child(2) {
		border-right: 0;
	}

	body.ppps-module-manufacturing
		.pp-block--industrial-hero
		.pp-metric:nth-child(-n + 2) {
		border-bottom: 1px solid var(--pp-mfg-line-dark);
	}

	body.ppps-module-manufacturing
		.pp-block--media-mosaic {
		padding-block: clamp(4.5rem, 16vw, 7rem);
	}

	body.ppps-module-manufacturing
		.pp-block--media-mosaic
		.pp-block__title {
		max-width: 10.5ch;
		font-size: clamp(3.1rem, 12vw, 5.7rem);
	}

	body.ppps-module-manufacturing
		.pp-block--media-mosaic
		.pp-mosaic {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-auto-rows: auto;
		gap: 1rem;
	}

	body.ppps-module-manufacturing
		.pp-block--media-mosaic
		.pp-mosaic__item,
	body.ppps-module-manufacturing
		.pp-block--media-mosaic
		.pp-mosaic__item:nth-child(n) {
		width: 100%;
		height: auto;
		min-height: 0;
		grid-column: 1;
		grid-row: auto;
		aspect-ratio: 4 / 3;
	}

	body.ppps-module-manufacturing
		.pp-block--media-mosaic
		.pp-mosaic__item:nth-child(5)
		img {
		object-fit: contain;
	}

	body.ppps-module-manufacturing
		.pp-process-story__header
		.pp-block__title {
		max-width: 10ch;
		font-size: clamp(3.1rem, 12vw, 5.7rem);
	}

	body.ppps-module-manufacturing
		.pp-block--process-chain
		.pp-process__stage {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		transition: none;
	}

	body.ppps-module-manufacturing
		.pp-block--process-chain
		.pp-process__stage-media {
		display: block;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-block__title {
		max-width: 10.5ch;
		font-size: clamp(3.1rem, 12vw, 5.7rem);
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card,
	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card:nth-child(even) {
		min-height: 0;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card__media-stack,
	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card:nth-child(even)
		.pp-technical-card__media-stack {
		grid-column: 1;
		grid-row: auto;
		aspect-ratio: 4 / 3;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card__media
		img {
		object-fit: contain;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card
		> :not(.pp-technical-card__media-stack),
	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card:nth-child(even)
		> :not(.pp-technical-card__media-stack) {
		margin-right: 1.25rem;
		margin-left: 1.25rem;
		grid-column: 1;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card__number {
		margin-top: 1.5rem;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card
		> .pp-block__eyebrow {
		margin-top: 2rem;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card
		h3 {
		font-size: clamp(2.5rem, 10vw, 4rem);
	}

	body.ppps-module-manufacturing
		.pp-block--technical-card-grid
		.pp-technical-card
		> .pp-text-link {
		margin-bottom: 1.5rem;
	}

	body.ppps-module-manufacturing
		.pp-block--enquiry-cta
		.pp-block__title {
		font-size: clamp(3.2rem, 12vw, 5.7rem);
	}
}

@media (max-width: 760px) {
	body.ppps-module-manufacturing
		.pp-block--technical-table
		.pp-table-layout {
		gap: 2rem;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
		.pp-table-layout__intro
		.pp-block__title {
		max-width: 10ch;
		font-size: clamp(3rem, 11vw, 4.6rem);
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
		.pp-table-scroll {
		overflow: visible;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
	table,
	body.ppps-module-manufacturing
		.pp-block--technical-table
	tbody,
	body.ppps-module-manufacturing
		.pp-block--technical-table
	tr {
		display: block;
		width: 100%;
		min-width: 0;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
	thead {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
	tbody
	tr {
		margin-bottom: 1rem;
		border-top: 1px solid currentColor;
		background: rgba(255, 255, 255, .16);
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
	tbody
	:is(th, td) {
		display: grid;
		width: 100%;
		min-width: 0;
		padding: 1rem 0;
		grid-template-columns: minmax(6.8rem, 34%) minmax(0, 1fr);
		gap: 1rem;
		font-size: 1rem;
		line-height: 1.48;
		overflow-wrap: anywhere;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
	tbody
	tr
	> :is(th, td):is(:first-child, :nth-child(2), :nth-child(3)) {
		width: 100%;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
	tbody
	:is(th, td)::before {
		content: attr(data-label);
		font-family: var(--ppps-font-mono);
		font-size: .63rem;
		font-weight: 700;
		letter-spacing: .055em;
		line-height: 1.42;
		text-transform: uppercase;
		opacity: .58;
	}

	body.ppps-module-manufacturing
		.pp-block--technical-table
	caption {
		display: block;
		width: 100%;
		padding-right: 0;
		padding-left: 0;
	}
}

body.ppps-module-manufacturing:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off
) [data-pp-manufacturing-mosaic],
body.ppps-module-manufacturing:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off
) [data-pp-manufacturing-card],
body.ppps-module-manufacturing:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off
) [data-pp-manufacturing-row],
body.ppps-module-manufacturing.ppps-capability-lite
	[data-pp-manufacturing-mosaic],
body.ppps-module-manufacturing.ppps-capability-lite
	[data-pp-manufacturing-card],
body.ppps-module-manufacturing.ppps-capability-lite
	[data-pp-manufacturing-row] {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: none;
}

body.ppps-module-manufacturing:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off
)
	.pp-block--process-chain
	:is(.pp-process-story__runway, .pp-process-story__frame),
body.ppps-module-manufacturing.ppps-capability-lite
	.pp-block--process-chain
	:is(.pp-process-story__runway, .pp-process-story__frame) {
	position: relative;
	top: auto;
	height: auto;
	min-height: 0;
	overflow: visible;
}

body.ppps-module-manufacturing:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off
)
	.pp-block--process-chain
	.pp-process-story__layout,
body.ppps-module-manufacturing.ppps-capability-lite
	.pp-block--process-chain
	.pp-process-story__layout {
	display: block;
	height: auto;
}

body.ppps-module-manufacturing:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off
)
	.pp-block--process-chain
	:is(.pp-process__sticky, .pp-process),
body.ppps-module-manufacturing.ppps-capability-lite
	.pp-block--process-chain
	:is(.pp-process__sticky, .pp-process) {
	position: relative;
	inset: auto;
	width: 100%;
	height: auto;
	min-height: 0;
	overflow: visible;
}

body.ppps-module-manufacturing:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off
)
	.pp-block--process-chain
	:is(.pp-process__media-stack, .pp-process__counter),
body.ppps-module-manufacturing.ppps-capability-lite
	.pp-block--process-chain
	:is(.pp-process__media-stack, .pp-process__counter) {
	display: none;
}

body.ppps-module-manufacturing:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off
)
	.pp-block--process-chain
	.pp-process__stage,
body.ppps-module-manufacturing.ppps-capability-lite
	.pp-block--process-chain
	.pp-process__stage {
	position: relative;
	inset: auto;
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	transition: none;
}

body.ppps-module-manufacturing:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off
)
	.pp-block--process-chain
	.pp-process__stage-media,
body.ppps-module-manufacturing.ppps-capability-lite
	.pp-block--process-chain
	.pp-process__stage-media {
	display: block;
}

@media (prefers-reduced-motion: reduce) {
	body.ppps-module-manufacturing *,
	body.ppps-module-manufacturing *::before,
	body.ppps-module-manufacturing *::after {
		scroll-behavior: auto;
		transition-duration: .001ms;
		animation-duration: .001ms;
		animation-iteration-count: 1;
	}

	body.ppps-module-manufacturing
		.pp-block--process-chain
		:is(.pp-process-story__runway, .pp-process-story__frame) {
		position: relative;
		top: auto;
		height: auto;
		min-height: 0;
		overflow: visible;
	}

	body.ppps-module-manufacturing
		.pp-block--process-chain
		.pp-process-story__layout {
		display: block;
		height: auto;
	}

	body.ppps-module-manufacturing
		.pp-block--process-chain
		:is(.pp-process__media-stack, .pp-process__counter) {
		display: none;
	}

	body.ppps-module-manufacturing
		.pp-block--process-chain
		.pp-process__stage {
		position: relative;
		inset: auto;
		display: block;
		width: 100%;
		height: auto;
		min-height: 0;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
	}

	body.ppps-module-manufacturing
		.pp-block--process-chain
		.pp-process__stage-media {
		display: block;
	}
}
