/*
 * Premier Plasmotec Infrastructure module.
 * Core and Gutenberg retain every record; this file owns only route presentation.
 */

body.ppps-module-infrastructure {
	--pp-infrastructure-line: rgba(255, 255, 255, .18);
	--pp-infrastructure-line-strong: rgba(255, 255, 255, .38);
	--pp-infrastructure-signal: #a9bbc1;
	--pp-infrastructure-signal-bright: #dce7ea;
	--pp-infrastructure-hero-progress: 0;
}

/* A complete no-JavaScript composition: contained truthful media plus network field. */
body.ppps-module-infrastructure .pp-block--industrial-hero {
	position: relative;
	display: grid;
	min-height: clamp(680px, 88svh, 940px);
	align-items: stretch;
	padding: 0;
	overflow: clip;
	isolation: isolate;
	background:
		radial-gradient(circle at 76% 44%, rgba(169, 187, 193, .15), transparent 32%),
		linear-gradient(135deg, #080a0b 0%, #111518 58%, #070809 100%);
	color: var(--ppps-white);
}

body.ppps-module-infrastructure .pp-block--industrial-hero::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	background-image:
		linear-gradient(var(--pp-infrastructure-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--pp-infrastructure-line) 1px, transparent 1px);
	background-position: center;
	background-size: clamp(72px, 8vw, 144px) clamp(72px, 8vw, 144px);
	content: "";
	opacity: .18;
	-webkit-mask-image: radial-gradient(circle at 72% 48%, #000 0%, transparent 68%);
	mask-image: radial-gradient(circle at 72% 48%, #000 0%, transparent 68%);
}

body.ppps-module-infrastructure .pp-block--industrial-hero::after {
	position: absolute;
	z-index: 1;
	top: clamp(128px, 17svh, 210px);
	right: max(var(--ppps-gutter), calc((100% - var(--ppps-wide)) / 2));
	width: min(45vw, 720px);
	aspect-ratio: 1.45;
	border: 1px solid var(--pp-infrastructure-line);
	content: "";
	pointer-events: none;
	transform: translate3d(18px, 18px, 0);
}

body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__media,
body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__technical-field {
	position: absolute;
	z-index: 2;
	top: clamp(110px, 15svh, 190px);
	right: max(var(--ppps-gutter), calc((100% - var(--ppps-wide)) / 2));
	bottom: auto;
	left: auto;
	width: min(45vw, 720px);
	height: auto;
	aspect-ratio: 1.45;
	overflow: clip;
	border: 1px solid var(--pp-infrastructure-line-strong);
	background: #15191b;
	clip-path: inset(0);
	transform: none;
}

body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__media::after {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(7, 8, 9, .18), rgba(7, 8, 9, .62)),
		linear-gradient(90deg, rgba(7, 8, 9, .38), transparent 42%);
	content: "";
	pointer-events: none;
}

body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__media :is(img, video),
body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__technical-field :is(img, video, svg) {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1) contrast(1.12) brightness(.72);
	transform: none;
}

body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__interface {
	z-index: 3;
	opacity: .34;
}

body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__inner {
	position: relative;
	z-index: 5;
	display: grid;
	width: calc(100% - (var(--ppps-gutter) * 2));
	max-width: var(--ppps-wide);
	min-height: inherit;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-content: end;
	margin-inline: auto;
	padding: calc(var(--ppps-header-height) + clamp(60px, 8svh, 110px)) 0 clamp(68px, 9svh, 118px);
}

body.ppps-module-infrastructure .pp-block--industrial-hero .pp-block__header {
	grid-column: 1 / 7;
	margin: 0;
}

body.ppps-module-infrastructure .pp-block--industrial-hero .pp-block__title {
	max-width: 9ch;
	margin: 0;
	font-size: clamp(4.5rem, 7.4vw, 9.4rem);
	line-height: .86;
	text-wrap: balance;
}

body.ppps-module-infrastructure .pp-block--industrial-hero .pp-block__copy {
	max-width: 40rem;
	margin-top: clamp(24px, 3vw, 42px);
	color: rgba(255, 255, 255, .72);
	font-size: clamp(1rem, 1.15vw, 1.25rem);
}

body.ppps-module-infrastructure .pp-block--industrial-hero .pp-block__actions {
	grid-column: 1 / 7;
	justify-content: flex-start;
	margin-top: clamp(28px, 3.4vw, 52px);
}

/* Factory list: compact, truthful and complete before enhancement. */
body.ppps-module-infrastructure .pp-block--plant-network {
	position: relative;
	padding: clamp(88px, 10vw, 160px) 0 clamp(80px, 9vw, 140px);
	overflow: clip;
	background: var(--ppps-graphite);
	color: var(--ppps-white);
}

body.ppps-module-infrastructure .page-studio-content > .pp-block:has(.pp-block--plant-network) {
	padding-block: 0;
	background: var(--ppps-graphite);
	color: var(--ppps-white);
}

body.ppps-module-infrastructure .page-studio-content > .pp-block:has(.pp-block--plant-network) > .pp-section__inner {
	width: 100%;
	max-width: none;
}

body.ppps-module-infrastructure .pp-block--plant-network > .pp-block__inner {
	width: calc(100% - (var(--ppps-gutter) * 2));
	max-width: var(--ppps-wide);
	margin-inline: auto;
}

body.ppps-module-infrastructure .pp-block--plant-network > .pp-block__inner > .pp-block__header {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	align-items: end;
	margin: 0 0 clamp(48px, 6vw, 88px);
	padding-bottom: clamp(28px, 3vw, 44px);
	border-bottom: 1px solid var(--pp-infrastructure-line);
}

body.ppps-module-infrastructure .pp-block--plant-network > .pp-block__inner > .pp-block__header .pp-block__eyebrow {
	grid-column: 1 / 4;
}

body.ppps-module-infrastructure .pp-block--plant-network > .pp-block__inner > .pp-block__header .pp-block__title {
	max-width: none;
	grid-column: 4 / -1;
	margin: 0;
	color: var(--ppps-white);
	font-size: clamp(3.6rem, 7.4vw, 9.2rem);
	line-height: .86;
}

body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-map {
	min-height: clamp(360px, 48vw, 680px);
	margin: 0 0 clamp(48px, 6vw, 84px);
}

body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	border-top: 1px solid var(--pp-infrastructure-line);
	border-left: 0;
	background: transparent;
}

body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card {
	position: relative;
	display: block;
	min-width: 0;
	min-height: 0;
	padding: clamp(24px, 2.3vw, 36px);
	overflow: visible;
	border: 0;
	border-right: 1px solid var(--pp-infrastructure-line);
	border-bottom: 1px solid var(--pp-infrastructure-line);
	border-radius: 0;
	background: transparent;
	color: var(--ppps-white);
	opacity: 1;
	transform: none;
	visibility: visible;
}

body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card:nth-child(3n) {
	border-right: 0;
}

body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card::after {
	content: none;
	transform: none;
}

body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card h3,
body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card h3 a {
	margin: 8px 0 16px;
	color: inherit;
	font-size: clamp(1.35rem, 1.8vw, 2rem);
	line-height: 1.08;
	transform: none;
}

body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card :is(address, p:not(.pp-block__eyebrow)) {
	max-width: 36rem;
	margin-top: 8px;
	color: rgba(255, 255, 255, .64);
	font-size: clamp(.86rem, .92vw, 1rem);
	line-height: 1.55;
	opacity: 1;
}

body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card:is(:hover, :focus-within) {
	z-index: 1;
	background: rgba(169, 187, 193, .1);
	color: var(--ppps-white);
	transform: none;
}

body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card:is(:hover, :focus-within) h3,
body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card:is(:hover, :focus-within) h3 a {
	color: var(--pp-infrastructure-signal-bright);
	transform: none;
}

/* Common enhanced chooser surface; desktop later supplies the pinned geometry. */
body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-explorer {
	position: relative;
	min-height: 0;
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-explorer__sticky {
	position: relative;
	display: grid;
	min-width: 0;
	grid-template-columns: minmax(0, 1fr);
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-field {
	position: relative;
	min-width: 0;
	overflow: clip;
	border: 1px solid var(--pp-infrastructure-line);
	background:
		radial-gradient(circle at 50% 50%, rgba(169, 187, 193, .16), transparent 58%),
		linear-gradient(var(--pp-infrastructure-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--pp-infrastructure-line) 1px, transparent 1px),
		#101416;
	background-size: auto, 12.5% 12.5%, 12.5% 12.5%, auto;
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-field::before {
	position: absolute;
	inset: 8%;
	background:
		linear-gradient(31deg, transparent 49.4%, rgba(169, 187, 193, .34) 49.8%, rgba(169, 187, 193, .34) 50.2%, transparent 50.6%),
		linear-gradient(149deg, transparent 49.4%, rgba(169, 187, 193, .22) 49.8%, rgba(169, 187, 193, .22) 50.2%, transparent 50.6%);
	content: "";
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-field::after {
	position: absolute;
	top: 14%;
	left: 12%;
	width: 2px;
	height: 72%;
	background: var(--pp-infrastructure-signal-bright);
	box-shadow: 0 0 24px rgba(169, 187, 193, .58);
	content: "";
	transform: scaleY(var(--pp-infrastructure-active-progress, 0));
	transform-origin: top;
	transition: transform 760ms var(--ppps-ease);
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-node {
	position: absolute;
	z-index: 2;
	top: var(--pp-infrastructure-node-y);
	left: var(--pp-infrastructure-node-x);
	display: grid;
	width: clamp(22px, 2.2vw, 38px);
	aspect-ratio: 1;
	place-items: center;
	border: 1px solid var(--pp-infrastructure-line-strong);
	border-radius: 50%;
	background: #101416;
	color: rgba(255, 255, 255, .48);
	font: 650 9px/1 SFMono-Regular, Consolas, monospace;
	transform: translate(-50%, -50%);
	transition:
		background-color 500ms ease,
		border-color 500ms ease,
		box-shadow 700ms ease,
		color 500ms ease,
		transform 700ms var(--ppps-ease);
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-node::before {
	content: attr(data-pp-infrastructure-node-index);
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-node[data-pp-infrastructure-node-state="passed"] {
	border-color: var(--pp-infrastructure-signal);
	background: rgba(169, 187, 193, .28);
	color: var(--ppps-white);
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-node[data-pp-infrastructure-node-state="active"] {
	border-color: var(--pp-infrastructure-signal-bright);
	background: var(--pp-infrastructure-signal-bright);
	box-shadow: 0 0 0 8px rgba(169, 187, 193, .12), 0 0 34px rgba(169, 187, 193, .68);
	color: var(--ppps-ink);
	transform: translate(-50%, -50%) scale(1.14);
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary {
	position: relative;
	z-index: 4;
	display: grid;
	min-width: 0;
	padding: clamp(24px, 3vw, 42px);
	border: 1px solid var(--pp-infrastructure-line-strong);
	background: rgba(7, 8, 9, .94);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .34);
	color: var(--ppps-white);
	backdrop-filter: blur(14px);
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__index {
	margin-bottom: clamp(34px, 4vw, 68px);
	color: var(--pp-infrastructure-signal);
	font: 520 clamp(2.4rem, 4vw, 5.2rem)/.9 SFMono-Regular, Consolas, monospace;
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__eyebrow {
	margin: 0 0 8px;
	color: rgba(255, 255, 255, .56);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__title {
	margin: 0;
	color: var(--ppps-white);
	font-size: clamp(2rem, 3.1vw, 4.2rem);
	line-height: .95;
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__address,
body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__copy {
	max-width: 38rem;
	margin: 20px 0 0;
	color: rgba(255, 255, 255, .66);
	font-size: clamp(.88rem, .96vw, 1rem);
	font-style: normal;
	line-height: 1.55;
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__link {
	margin-top: 24px;
	color: var(--pp-infrastructure-signal-bright);
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-trigger {
	display: grid;
	width: clamp(34px, 2.6vw, 44px);
	aspect-ratio: 1;
	place-items: center;
	border: 1px solid var(--pp-infrastructure-line-strong);
	border-radius: 50%;
	background: transparent;
	color: rgba(255, 255, 255, .66);
	font: 650 clamp(.62rem, .65vw, .72rem)/1 SFMono-Regular, Consolas, monospace;
	cursor: pointer;
	transition:
		background-color 360ms ease,
		border-color 360ms ease,
		color 360ms ease,
		transform 520ms var(--ppps-ease);
}

body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-trigger:is(:hover, :focus-visible),
body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
	.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-trigger[aria-pressed="true"] {
	border-color: var(--pp-infrastructure-signal-bright);
	background: var(--pp-infrastructure-signal-bright);
	color: var(--ppps-ink);
	transform: scale(1.08);
}

/* Detail vocabulary: one concise four-stage strip, never four empty slabs. */
body.ppps-module-infrastructure .page-studio-content > .pp-block:has(.pp-block--technical-card-grid) {
	padding-block: 0;
	background: var(--ppps-ink);
	color: var(--ppps-white);
}

body.ppps-module-infrastructure .page-studio-content > .pp-block:has(.pp-block--technical-card-grid) > .pp-section__inner {
	width: 100%;
	max-width: none;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid {
	position: relative;
	padding: clamp(96px, 11vw, 180px) var(--ppps-gutter);
	overflow: clip;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		var(--ppps-ink);
	background-size: clamp(64px, 6vw, 110px) clamp(64px, 6vw, 110px);
	color: var(--ppps-white);
}

body.ppps-module-infrastructure .pp-block--technical-card-grid > .pp-block__inner {
	width: 100%;
	max-width: var(--ppps-wide);
	margin-inline: auto;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-block__header {
	display: grid;
	grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
	align-items: end;
	gap: clamp(36px, 6vw, 104px);
	margin: 0 0 clamp(64px, 8vw, 120px);
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-block__header .pp-block__eyebrow {
	align-self: start;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-block__header .pp-block__title {
	max-width: 10ch;
	margin: 0;
	color: var(--ppps-white);
	font-size: clamp(3.5rem, 6.5vw, 8.2rem);
	line-height: .88;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-block__header .pp-block__copy {
	max-width: 34rem;
	margin-top: clamp(22px, 2.4vw, 34px);
	color: rgba(255, 255, 255, .66);
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-card-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--pp-infrastructure-line);
	background: transparent;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card {
	position: relative;
	display: grid;
	min-width: 0;
	min-height: 0;
	grid-template-rows: auto auto auto 1fr;
	align-content: start;
	padding: clamp(28px, 3vw, 48px) clamp(22px, 2.2vw, 36px);
	overflow: visible;
	border: 0;
	border-right: 1px solid var(--pp-infrastructure-line);
	border-radius: 0;
	background: transparent;
	color: var(--ppps-white);
	opacity: 1;
	transform: none;
	visibility: visible;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card:last-child {
	border-right: 0;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card::after {
	content: none;
	transform: none;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card__number {
	margin: 0 0 clamp(52px, 7vw, 110px);
	color: var(--pp-infrastructure-signal);
	font-size: clamp(2.8rem, 4vw, 5.4rem);
	font-weight: 520;
	line-height: .9;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card h3 {
	margin: 12px 0 18px;
	color: var(--ppps-white);
	font-size: clamp(1.45rem, 1.8vw, 2.2rem);
	line-height: 1.06;
	transform: none;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card > p:not(.pp-block__eyebrow) {
	max-width: 28rem;
	color: rgba(255, 255, 255, .62);
	font-size: clamp(.9rem, .94vw, 1rem);
	line-height: 1.55;
	opacity: 1;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-card-grid:has(> :is(:hover, :focus-within)) > .pp-technical-card,
body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-card-grid > .pp-technical-card:is(:hover, :focus-within) {
	opacity: 1;
	filter: none;
	transform: none;
	box-shadow: none;
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card:is(:hover, :focus-within) {
	background: rgba(169, 187, 193, .08);
	color: var(--ppps-white);
}

body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card:is(:hover, :focus-within) h3 {
	color: var(--pp-infrastructure-signal-bright);
	transform: none;
}

/* Full desktop Hero: four reversible, observer-led physical scroll states. */
@media (min-width: 1101px) and (min-height: 700px) {
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] {
		display: block;
		min-height: 260svh;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"]::before {
		opacity: calc(.12 + (var(--pp-infrastructure-hero-progress) * .48));
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"]::after {
		top: calc(var(--ppps-admin-offset, 0px) + clamp(116px, 14svh, 168px));
		opacity: calc(1 - (var(--pp-infrastructure-hero-progress) * .72));
		transform:
			translate3d(
				calc(18px - (var(--pp-infrastructure-hero-progress) * 18px)),
				calc(18px - (var(--pp-infrastructure-hero-progress) * 18px)),
				0
			);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-stage {
		position: sticky;
		z-index: 1;
		top: var(--ppps-admin-offset, 0px);
		height: calc(100svh - var(--ppps-admin-offset, 0px));
		min-height: 700px;
		overflow: clip;
		background: transparent;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-steps {
		position: absolute;
		z-index: -1;
		inset: 0;
		display: grid;
		grid-template-rows: repeat(4, minmax(0, 1fr));
		padding-block: 30svh;
		pointer-events: none;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-step {
		min-height: 1px;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-hero__media,
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-hero__technical-field {
		position: absolute;
		top: clamp(116px, 14svh, 168px);
		right: max(var(--ppps-gutter), calc((100% - var(--ppps-wide)) / 2));
		width: min(45vw, 720px);
		aspect-ratio: 1.45;
		filter: none;
		transform-origin: right center;
		transition:
			clip-path 900ms var(--ppps-ease),
			filter 900ms ease,
			transform 1100ms var(--ppps-ease);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-hero__media :is(img, video),
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-hero__technical-field :is(img, video, svg) {
		transition:
			filter 900ms ease,
			transform 1100ms var(--ppps-ease);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-hero__inner {
		position: absolute;
		inset: 0;
		min-height: 0;
		padding-top: calc(var(--ppps-header-height) + clamp(42px, 7svh, 86px));
		transition: transform 1100ms var(--ppps-ease);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="1"] .pp-hero__media,
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="1"] .pp-hero__technical-field {
		clip-path: inset(5% 4% 5% 4%);
		transform: translate3d(0, -2%, 0) scale(.94);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="1"] .pp-hero__media :is(img, video),
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="1"] .pp-hero__technical-field :is(img, video, svg) {
		filter: grayscale(.72) contrast(1.08) brightness(.88);
		transform: scale(1.025);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="2"] .pp-hero__media,
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="2"] .pp-hero__technical-field {
		clip-path: inset(8% 6% 8% 6%);
		transform: translate3d(10%, -5%, 0) scale(.78);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="2"] .pp-hero__media :is(img, video),
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="2"] .pp-hero__technical-field :is(img, video, svg) {
		filter: grayscale(.46) contrast(1.05) brightness(1);
		transform: scale(1.04);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="3"] .pp-hero__media,
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="3"] .pp-hero__technical-field {
		clip-path: inset(12% 8% 12% 8%);
		transform: translate3d(20%, -9%, 0) scale(.58);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="3"] .pp-hero__inner {
		transform: translate3d(-2%, -2%, 0);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="3"] .pp-hero__media :is(img, video),
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero-state="3"] .pp-hero__technical-field :is(img, video, svg) {
		filter: grayscale(.2) contrast(1.03) brightness(1.05);
		transform: scale(1.055);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-field {
		position: absolute;
		z-index: 4;
		top: 13%;
		right: max(var(--ppps-gutter), calc((100% - var(--ppps-wide)) / 2));
		bottom: 11%;
		left: 46%;
		border: 1px solid var(--pp-infrastructure-line);
		opacity: calc(.12 + (var(--pp-infrastructure-hero-progress) * .88));
		pointer-events: none;
		transform: scale(calc(.92 + (var(--pp-infrastructure-hero-progress) * .08)));
		transform-origin: right center;
		transition: opacity 900ms ease, transform 1100ms var(--ppps-ease);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-field::before,
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-field::after {
		position: absolute;
		content: "";
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-field::before {
		inset: 10%;
		background:
			linear-gradient(32deg, transparent 48%, var(--pp-infrastructure-line-strong) 49%, var(--pp-infrastructure-line-strong) 50%, transparent 51%),
			linear-gradient(148deg, transparent 48%, var(--pp-infrastructure-line) 49%, var(--pp-infrastructure-line) 50%, transparent 51%);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-field::after {
		top: 10%;
		left: 10%;
		width: 1px;
		height: 80%;
		background: var(--pp-infrastructure-signal);
		transform: scaleY(var(--pp-infrastructure-hero-progress));
		transform-origin: top;
		transition: transform 1100ms var(--ppps-ease);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-node {
		position: absolute;
		z-index: 2;
		width: clamp(8px, .7vw, 13px);
		aspect-ratio: 1;
		border: 1px solid var(--pp-infrastructure-signal);
		border-radius: 50%;
		background: var(--ppps-ink);
		box-shadow: 0 0 0 0 rgba(169, 187, 193, 0);
		opacity: .22;
		transition:
			background-color 500ms ease,
			box-shadow 700ms ease,
			opacity 500ms ease,
			transform 700ms var(--ppps-ease);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-node:nth-child(3n + 1) {
		top: calc(17% + ((var(--pp-infrastructure-node-index) / 9) * 52%));
		left: 10%;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-node:nth-child(3n + 2) {
		top: calc(12% + ((var(--pp-infrastructure-node-index) / 9) * 58%));
		left: 49%;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-node:nth-child(3n) {
		top: calc(8% + ((var(--pp-infrastructure-node-index) / 9) * 62%));
		right: 9%;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--industrial-hero[data-pp-infrastructure-hero="ready"] .pp-infrastructure-hero-node[data-pp-infrastructure-node-state="lit"] {
		background: var(--pp-infrastructure-signal-bright);
		box-shadow: 0 0 0 8px rgba(169, 187, 193, .12), 0 0 30px rgba(169, 187, 193, .68);
		opacity: 1;
		transform: scale(1.2);
	}

	/* The actual factory explorer: one sticky stage, nine physical scroll stops. */
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] {
		padding-bottom: 0;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-explorer {
		position: relative;
		width: 100%;
		min-height: var(--pp-infrastructure-runway-height, 372svh);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-explorer__sticky {
		position: sticky;
		z-index: 1;
		top: var(--ppps-admin-offset, 0px);
		display: grid;
		height: calc(100svh - var(--ppps-admin-offset, 0px));
		min-height: 700px;
		grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
		grid-template-rows: minmax(0, 1fr) auto;
		gap: clamp(18px, 2.2vw, 36px);
		padding: calc(var(--ppps-header-height) + clamp(20px, 3svh, 38px)) 0 clamp(24px, 3svh, 42px);
		overflow: clip;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-field {
		position: relative;
		min-width: 0;
		grid-column: 1;
		grid-row: 1 / -1;
		overflow: clip;
		border: 1px solid var(--pp-infrastructure-line);
		background:
			radial-gradient(circle at 50% 50%, rgba(169, 187, 193, .16), transparent 58%),
			linear-gradient(var(--pp-infrastructure-line) 1px, transparent 1px),
			linear-gradient(90deg, var(--pp-infrastructure-line) 1px, transparent 1px),
			#101416;
		background-size: auto, 12.5% 12.5%, 12.5% 12.5%, auto;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-field::before {
		position: absolute;
		inset: 8%;
		background:
			linear-gradient(31deg, transparent 49.4%, rgba(169, 187, 193, .34) 49.8%, rgba(169, 187, 193, .34) 50.2%, transparent 50.6%),
			linear-gradient(149deg, transparent 49.4%, rgba(169, 187, 193, .22) 49.8%, rgba(169, 187, 193, .22) 50.2%, transparent 50.6%);
		content: "";
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-field::after {
		position: absolute;
		top: 14%;
		left: 12%;
		width: 2px;
		height: 72%;
		background: var(--pp-infrastructure-signal-bright);
		box-shadow: 0 0 24px rgba(169, 187, 193, .58);
		content: "";
		transform: scaleY(var(--pp-infrastructure-active-progress, 0));
		transform-origin: top;
		transition: transform 760ms var(--ppps-ease);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-node {
		position: absolute;
		z-index: 2;
		top: var(--pp-infrastructure-node-y);
		left: var(--pp-infrastructure-node-x);
		display: grid;
		width: clamp(22px, 2.2vw, 38px);
		aspect-ratio: 1;
		place-items: center;
		border: 1px solid var(--pp-infrastructure-line-strong);
		border-radius: 50%;
		background: #101416;
		color: rgba(255, 255, 255, .48);
		font: 650 9px/1 SFMono-Regular, Consolas, monospace;
		transform: translate(-50%, -50%);
		transition:
			background-color 500ms ease,
			border-color 500ms ease,
			box-shadow 700ms ease,
			color 500ms ease,
			transform 700ms var(--ppps-ease);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-node::before {
		content: attr(data-pp-infrastructure-node-index);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-node[data-pp-infrastructure-node-state="passed"] {
		border-color: var(--pp-infrastructure-signal);
		background: rgba(169, 187, 193, .28);
		color: var(--ppps-white);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-node[data-pp-infrastructure-node-state="active"] {
		border-color: var(--pp-infrastructure-signal-bright);
		background: var(--pp-infrastructure-signal-bright);
		box-shadow: 0 0 0 10px rgba(169, 187, 193, .12), 0 0 42px rgba(169, 187, 193, .72);
		color: var(--ppps-ink);
		transform: translate(-50%, -50%) scale(1.18);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary {
		position: relative;
		z-index: 4;
		display: grid;
		width: min(76%, 620px);
		min-width: 0;
		grid-column: 1;
		grid-row: 2;
		align-self: end;
		margin: 0 0 clamp(24px, 3vw, 44px) clamp(24px, 3vw, 44px);
		padding: clamp(24px, 2.6vw, 42px);
		border: 1px solid var(--pp-infrastructure-line-strong);
		background: rgba(7, 8, 9, .9);
		box-shadow: 0 24px 80px rgba(0, 0, 0, .34);
		color: var(--ppps-white);
		backdrop-filter: blur(14px);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__index {
		margin-bottom: clamp(34px, 4vw, 68px);
		color: var(--pp-infrastructure-signal);
		font: 520 clamp(2.4rem, 4vw, 5.2rem)/.9 SFMono-Regular, Consolas, monospace;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__eyebrow {
		margin: 0 0 8px;
		color: rgba(255, 255, 255, .56);
		font-size: .72rem;
		font-weight: 700;
		letter-spacing: .13em;
		text-transform: uppercase;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__title {
		margin: 0;
		color: var(--ppps-white);
		font-size: clamp(2rem, 3.1vw, 4.2rem);
		line-height: .95;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__address,
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__copy {
		max-width: 38rem;
		margin: 20px 0 0;
		color: rgba(255, 255, 255, .66);
		font-size: clamp(.88rem, .96vw, 1rem);
		font-style: normal;
		line-height: 1.55;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__link {
		margin-top: 24px;
		color: var(--pp-infrastructure-signal-bright);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-grid {
		display: grid;
		min-width: 0;
		height: 100%;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: repeat(var(--pp-infrastructure-factory-count, 9), minmax(0, 1fr));
		grid-column: 2;
		grid-row: 1 / -1;
		align-self: stretch;
		overflow: clip;
		border: 1px solid var(--pp-infrastructure-line);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card {
		display: grid;
		min-width: 0;
		min-height: 0;
		grid-template-columns: minmax(58px, .3fr) minmax(0, 1fr) auto;
		grid-template-rows: auto 1fr;
		align-items: center;
		gap: 0 clamp(14px, 1.5vw, 24px);
		padding: clamp(9px, 1.1svh, 15px) clamp(16px, 1.6vw, 26px);
		overflow: clip;
		border: 0;
		border-bottom: 1px solid var(--pp-infrastructure-line);
		background: rgba(16, 20, 22, .82);
		opacity: .54;
		transform: none;
		transition:
			background-color 480ms ease,
			opacity 480ms ease,
			padding 620ms var(--ppps-ease);
		visibility: visible;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card:last-child {
		border-bottom: 0;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card > .pp-block__eyebrow {
		grid-column: 1;
		grid-row: 1 / -1;
		margin: 0;
		color: rgba(255, 255, 255, .54);
		font-size: clamp(.58rem, .58vw, .68rem);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card h3 {
		min-width: 0;
		grid-column: 2;
		grid-row: 1 / -1;
		margin: 0;
		font-size: clamp(1rem, 1.25vw, 1.45rem);
		line-height: 1.06;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card :is(address, p:not(.pp-block__eyebrow)) {
		max-height: 0;
		margin: 0;
		overflow: clip;
		opacity: 0;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card[data-pp-factory-state="active"] {
		background: rgba(169, 187, 193, .18);
		opacity: 1;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-trigger {
		display: grid;
		width: clamp(34px, 2.6vw, 44px);
		aspect-ratio: 1;
		grid-column: 3;
		grid-row: 1 / -1;
		place-items: center;
		border: 1px solid var(--pp-infrastructure-line-strong);
		border-radius: 50%;
		background: transparent;
		color: rgba(255, 255, 255, .66);
		font: 650 clamp(.62rem, .65vw, .72rem)/1 SFMono-Regular, Consolas, monospace;
		cursor: pointer;
		transition:
			background-color 360ms ease,
			border-color 360ms ease,
			color 360ms ease,
			transform 520ms var(--ppps-ease);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-trigger:is(:hover, :focus-visible),
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-trigger[aria-pressed="true"] {
		border-color: var(--pp-infrastructure-signal-bright);
		background: var(--pp-infrastructure-signal-bright);
		color: var(--ppps-ink);
		transform: scale(1.08);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-steps {
		position: absolute;
		z-index: -1;
		inset: 0;
		display: grid;
		grid-template-rows: repeat(var(--pp-infrastructure-factory-count, 9), minmax(0, 1fr));
		padding-block: 50svh;
		pointer-events: none;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-step {
		min-height: 1px;
	}
}

/* Staged entry for the four textual detail cards; never a blank/black dead frame. */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--technical-card-grid[data-pp-infrastructure-details="ready"]
		.pp-technical-card[data-pp-infrastructure-detail-state="waiting"] {
		opacity: .34;
		transform: translate3d(0, 34px, 0);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--technical-card-grid[data-pp-infrastructure-details="ready"]
		.pp-technical-card[data-pp-infrastructure-detail-state="visible"] {
		opacity: 1;
		transform: none;
		transition:
			opacity 760ms ease,
			transform 900ms var(--ppps-ease);
		transition-delay: calc(var(--pp-infrastructure-detail-index, 0) * 90ms);
	}
}

@media (max-width: 1100px), (max-height: 699px) {
	body.ppps-module-infrastructure .pp-block--industrial-hero {
		min-height: max(640px, calc(100svh - var(--ppps-admin-offset, 0px)));
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__media,
	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__technical-field {
		top: calc(var(--ppps-header-height) + 56px);
		right: var(--ppps-gutter);
		width: min(48vw, 620px);
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero::after {
		top: calc(var(--ppps-header-height) + 72px);
		right: var(--ppps-gutter);
		width: min(48vw, 620px);
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-block__header,
	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-block__actions {
		grid-column: 1 / 8;
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-block__title {
		font-size: clamp(4rem, 9vw, 7rem);
	}

	body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card:nth-child(3n) {
		border-right: 1px solid var(--pp-infrastructure-line);
	}

	body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card:nth-child(2n) {
		border-right: 0;
	}

	body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card:nth-child(2) {
		border-right: 0;
	}

	body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card:nth-child(-n + 2) {
		border-bottom: 1px solid var(--pp-infrastructure-line);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-explorer {
		min-height: 0;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-explorer__sticky {
		position: relative;
		top: auto;
		display: grid;
		height: auto;
		min-height: 0;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		gap: 0;
		padding: 0;
		overflow: visible;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-field {
		width: 100%;
		max-height: none;
		aspect-ratio: 16 / 9;
		grid-column: 1;
		grid-row: auto;
		margin: 0 0 24px;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary {
		position: relative;
		width: calc(100% - 32px);
		max-width: 680px;
		grid-column: 1;
		grid-row: auto;
		margin: -88px 16px 40px;
		padding: clamp(24px, 5vw, 38px);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-grid {
		display: grid;
		width: 100%;
		height: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
		grid-auto-rows: auto;
		grid-column: 1;
		grid-row: auto;
		overflow: visible;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card {
		display: block;
		min-height: 0;
		padding: clamp(24px, 4vw, 34px);
		overflow: visible;
		opacity: 1;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card > .pp-block__eyebrow,
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card h3 {
		display: block;
		margin-right: 52px;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card :is(address, p:not(.pp-block__eyebrow)) {
		max-height: none;
		margin-top: 10px;
		overflow: visible;
		opacity: 1;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-trigger {
		position: absolute;
		top: 22px;
		right: 22px;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-steps {
		display: none;
	}
}

@media (max-width: 720px) {
	body.ppps-module-infrastructure .pp-block--industrial-hero {
		display: block;
		min-height: 0;
		padding: calc(var(--ppps-header-height) + 40px) var(--ppps-gutter) 72px;
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero::before {
		opacity: .22;
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero::after {
		display: none;
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__media,
	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__technical-field {
		position: relative;
		top: auto;
		right: auto;
		width: 100%;
		margin: 0;
		aspect-ratio: 4 / 3;
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__interface {
		display: none;
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-hero__inner {
		display: block;
		width: 100%;
		min-height: 0;
		margin: 0;
		padding: 56px 0 0;
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-block__title {
		max-width: 8.4ch;
		font-size: clamp(3.35rem, 15vw, 5.1rem);
		line-height: .89;
		overflow-wrap: anywhere;
	}

	body.ppps-module-infrastructure .pp-block--industrial-hero .pp-block__copy {
		font-size: 1rem;
	}

	body.ppps-module-infrastructure .pp-block--plant-network {
		padding: 80px 0;
	}

	body.ppps-module-infrastructure .pp-block--plant-network > .pp-block__inner > .pp-block__header {
		display: block;
		margin-bottom: 44px;
	}

	body.ppps-module-infrastructure .pp-block--plant-network > .pp-block__inner > .pp-block__header .pp-block__title {
		margin-top: 18px;
		font-size: clamp(3.1rem, 14vw, 5.1rem);
		overflow-wrap: anywhere;
	}

	body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-grid,
	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card,
	body.ppps-module-infrastructure .pp-block--plant-network .pp-plant-card:nth-child(n) {
		border-right: 0;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-network-field {
		aspect-ratio: 1 / 1.08;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary {
		width: calc(100% - 24px);
		margin: -58px 12px 34px;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-active-summary__index {
		margin-bottom: 34px;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card {
		display: grid;
		min-height: 72px;
		grid-template-columns: minmax(0, 1fr) 42px;
		grid-template-rows: auto auto;
		align-items: center;
		padding: 17px 18px;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card > .pp-block__eyebrow {
		grid-column: 1;
		grid-row: 1;
		margin: 0 52px 4px 0;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card h3 {
		grid-column: 1;
		grid-row: 2;
		margin: 0 52px 0 0;
		font-size: 1.18rem;
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-plant-card :is(address, p:not(.pp-block__eyebrow)) {
		position: absolute;
		width: 1px;
		height: 1px;
		max-height: 1px;
		margin: 0;
		overflow: clip;
		opacity: 0;
		clip-path: inset(50%);
	}

	body.ppps-module-infrastructure.ppps-capability-full.ppps-runtime-ready
		.pp-block--plant-network[data-pp-infrastructure-explorer="ready"] .pp-infrastructure-factory-trigger {
		position: relative;
		top: auto;
		right: auto;
		grid-column: 2;
		grid-row: 1 / -1;
		box-sizing: border-box;
		padding: 0;
	}

	body.ppps-module-infrastructure .pp-block--technical-card-grid {
		padding: 80px var(--ppps-gutter);
	}

	body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-block__header {
		display: block;
		margin-bottom: 52px;
	}

	body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-block__header .pp-block__title {
		margin-top: 18px;
		font-size: clamp(3rem, 14vw, 5rem);
		overflow-wrap: anywhere;
	}

	body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-card-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card,
	body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card:nth-child(n) {
		border-right: 0;
		border-bottom: 1px solid var(--pp-infrastructure-line);
	}

	body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card:last-child {
		border-bottom: 0;
	}

	body.ppps-module-infrastructure .pp-block--technical-card-grid .pp-technical-card__number {
		margin-bottom: 48px;
	}
}

/* Every non-enhanced state releases all governed content into compact normal flow. */
body.ppps-module-infrastructure:is(
	.ppps-runtime-disabled,
	.ppps-motion-reduced,
	.ppps-capability-reduced,
	.ppps-readiness-failed
) :is(
	.pp-plant-grid,
	.pp-plant-card,
	.pp-card-grid,
	.pp-technical-card
) {
	position: relative !important;
	min-width: 0 !important;
	min-height: 0 !important;
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
}

body.ppps-module-infrastructure:is(
	.ppps-runtime-disabled,
	.ppps-motion-reduced,
	.ppps-capability-reduced,
	.ppps-readiness-failed
) :is(.pp-plant-grid, .pp-card-grid) {
	height: auto !important;
	overflow: visible !important;
}

body.ppps-module-infrastructure:is(
	.ppps-runtime-disabled,
	.ppps-motion-reduced,
	.ppps-capability-reduced,
	.ppps-readiness-failed
) :is(.pp-plant-card, .pp-technical-card) :is(address, p, h3) {
	max-height: none !important;
	overflow: visible !important;
	opacity: 1 !important;
	transform: none !important;
}

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

	body.ppps-module-infrastructure .pp-block--industrial-hero,
	body.ppps-module-infrastructure .pp-block--plant-network,
	body.ppps-module-infrastructure .pp-block--technical-card-grid,
	body.ppps-module-infrastructure .pp-plant-card,
	body.ppps-module-infrastructure .pp-technical-card {
		scroll-behavior: auto !important;
		transition: none !important;
	}

	body.ppps-module-infrastructure :is(
		.pp-plant-grid,
		.pp-plant-card,
		.pp-card-grid,
		.pp-technical-card
	) {
		position: relative !important;
		min-height: 0 !important;
		opacity: 1 !important;
		transform: none !important;
		visibility: visible !important;
	}
}
