/* Premier Plasmotec component record - evidence-led product dossier. */

body.ppps-module-component-record {
	--pp-component-record-ink: #07090a;
	--pp-component-record-graphite: #111516;
	--pp-component-record-paper: #f2f0e9;
	--pp-component-record-white: #fbfaf6;
	--pp-component-record-steel: #afbec3;
	--pp-component-record-rule-dark: rgba(255, 255, 255, .18);
	--pp-component-record-rule-light: rgba(7, 9, 10, .18);
}

body.ppps-module-component-record .site-main {
	overflow: clip;
}

body.ppps-module-component-record .single-entry {
	background: var(--pp-component-record-paper);
}

body.ppps-module-component-record :where(
	.entry-hero__inner,
	.entry-hero__copy,
	.entry-hero__media,
	.single-entry-content,
	.component-dossier,
	.component-dossier__heading,
	.component-dossier__route,
	.component-dossier__facts
) {
	min-width: 0;
}

/* The governed component image is the opening evidence, not a decorative crop. */
body.ppps-module-component-record .entry-hero--single {
	position: relative;
	min-height: max(49rem, calc(100svh - var(--ppps-header-height, 74px)));
	overflow: clip;
	isolation: isolate;
	background: var(--pp-component-record-ink);
	color: #fff;
}

body.ppps-module-component-record .entry-hero--single::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	pointer-events: none;
	content: "";
	background:
		linear-gradient(rgba(255, 255, 255, .052) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .052) 1px, transparent 1px);
	background-position:
		0 calc(var(--pp-scene-progress, 0) * 2.4rem),
		calc(var(--pp-scene-progress, 0) * 2.4rem) 0;
	background-size: clamp(4.25rem, 7vw, 7.5rem) clamp(4.25rem, 7vw, 7.5rem);
	mask-image: linear-gradient(90deg, #000, transparent 74%);
	opacity: calc(.22 + var(--pp-scene-progress, 0) * .34);
}

body.ppps-module-component-record .entry-hero--single::after {
	position: absolute;
	z-index: 2;
	top: clamp(2rem, 4vw, 4rem);
	right: clamp(2rem, 4vw, 4rem);
	bottom: clamp(2rem, 4vw, 4rem);
	left: calc(50% + var(--pp-scene-progress, 0) * 10%);
	pointer-events: none;
	content: "";
	border:
		1px solid
		rgba(255, 255, 255, calc(.12 + var(--pp-scene-progress, 0) * .16));
	transform: translate3d(
		calc((1 - var(--pp-scene-progress, 0)) * 1.2rem),
		0,
		0
	);
}

body.ppps-module-component-record .entry-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	min-height: max(49rem, calc(100svh - var(--ppps-header-height, 74px)));
	width: min(calc(100% - clamp(4rem, 9vw, 10rem)), 128rem);
	max-width: none;
	margin-inline: auto;
	padding-block:
		clamp(9rem, 16vh, 13rem)
		clamp(4rem, 7vh, 6rem);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 4rem);
	align-items: end;
}

body.ppps-module-component-record .entry-hero__copy {
	position: relative;
	z-index: 3;
	padding-bottom: clamp(1rem, 4vh, 3rem);
	grid-column: 1 / span 7;
}

body.ppps-module-component-record .entry-hero__copy .eyebrow {
	margin-bottom: clamp(1.5rem, 2.5vw, 2.5rem);
	font-family: var(--ppps-font-mono, monospace);
	font-size: .73rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	opacity: .66;
}

body.ppps-module-component-record .entry-hero__copy h1 {
	max-width: 9ch;
	margin: 0;
	font-size: clamp(4.2rem, 7.4vw, 9rem);
	line-height: .86;
	letter-spacing: -.065em;
	overflow-wrap: normal;
	word-break: normal;
	text-wrap: balance;
	transform: translate3d(
		0,
		calc((1 - var(--pp-scene-progress, 0)) * 1rem),
		0
	);
}

body.ppps-module-component-record .entry-hero__summary {
	max-width: 39rem;
	margin: clamp(1.8rem, 3vw, 3rem) 0 0;
	font-size: clamp(1.05rem, 1.18vw, 1.35rem);
	line-height: 1.55;
	opacity: .76;
}

body.ppps-module-component-record .entry-hero__media {
	position: absolute;
	z-index: 1;
	top: clamp(2rem, 4vw, 4rem);
	right: clamp(2rem, 4vw, 4rem);
	bottom: clamp(2rem, 4vw, 4rem);
	left: 44%;
	display: grid;
	margin: 0;
	place-items: center;
	overflow: clip;
	background:
		radial-gradient(circle at 66% 48%, rgba(175, 190, 195, .16), transparent 36%),
		linear-gradient(135deg, rgba(255, 255, 255, .035), transparent 54%);
	clip-path: inset(
		calc((1 - var(--pp-scene-progress, 0)) * 3%)
		calc((1 - var(--pp-scene-progress, 0)) * 3%)
		0
		calc((1 - var(--pp-scene-progress, 0)) * 3%)
	);
}

body.ppps-module-component-record .entry-hero__media::before {
	position: absolute;
	z-index: 2;
	inset: 0;
	pointer-events: none;
	content: "";
	background: rgba(7, 9, 10, .82);
	clip-path: inset(0 calc(var(--pp-scene-progress, 0) * 100%) 0 0);
	opacity: .62;
}

body.ppps-module-component-record .entry-hero__media::after {
	position: absolute;
	z-index: 3;
	top: 0;
	bottom: 0;
	left: calc(var(--pp-scene-progress, 0) * 100%);
	width: 1px;
	pointer-events: none;
	content: "";
	background: linear-gradient(
		180deg,
		transparent,
		rgba(220, 229, 231, .92) 18%,
		rgba(175, 190, 195, .96) 74%,
		transparent
	);
	box-shadow: 0 0 2rem rgba(175, 190, 195, .38);
}

body.ppps-module-component-record .entry-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	padding: clamp(1.5rem, 4vw, 5rem);
	object-fit: contain;
	object-position: 50% 50%;
	filter:
		saturate(calc(.58 + var(--pp-scene-progress, 0) * .34))
		contrast(1.06)
		brightness(calc(.62 + var(--pp-scene-progress, 0) * .34));
	transform:
		translate3d(
			calc((.5 - var(--pp-scene-progress, 0)) * 1.5rem),
			0,
			0
		)
		scale(calc(1.035 - var(--pp-scene-progress, 0) * .02));
}

/* The factual dossier states the boundary between record and instruction. */
body.ppps-module-component-record .single-entry-content {
	width: 100%;
	max-width: none;
	padding: clamp(6rem, 10vw, 11rem) 0 0;
	background: var(--pp-component-record-paper);
}

body.ppps-module-component-record .single-entry-content__body {
	width: min(calc(100% - clamp(4rem, 9vw, 10rem)), 72rem);
	margin: 0 auto clamp(6rem, 10vw, 10rem);
}

body.ppps-module-component-record .component-dossier {
	width: min(calc(100% - clamp(4rem, 9vw, 10rem)), 128rem);
	margin-inline: auto;
	padding-bottom: clamp(7rem, 12vw, 13rem);
}

body.ppps-module-component-record .component-dossier__heading {
	display: grid;
	padding-top: clamp(2rem, 3vw, 3rem);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 1rem clamp(1rem, 2vw, 2rem);
	border-top: 1px solid var(--pp-component-record-rule-light);
}

body.ppps-module-component-record .component-dossier__heading .eyebrow {
	grid-column: 1 / span 3;
	margin: .5rem 0 0;
	font-family: var(--ppps-font-mono, monospace);
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	opacity: .58;
}

body.ppps-module-component-record .component-dossier__heading h2 {
	max-width: 11ch;
	margin: 0;
	grid-column: 4 / span 9;
	font-size: clamp(3.8rem, 6.5vw, 8.2rem);
	line-height: .87;
	letter-spacing: -.06em;
	text-wrap: balance;
}

body.ppps-module-component-record
	.component-dossier__heading
	> p:last-child {
	max-width: 48rem;
	margin: clamp(2rem, 3vw, 3rem) 0 0;
	grid-column: 7 / span 6;
	font-size: clamp(1rem, 1.05vw, 1.2rem);
	line-height: 1.62;
	opacity: .68;
}

body.ppps-module-component-record .component-dossier__route {
	display: grid;
	margin-top: clamp(5rem, 8vw, 9rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-block: 1px solid var(--pp-component-record-rule-light);
	counter-reset: pp-component-layer;
}

body.ppps-module-component-record
	.component-dossier__route
	> article {
	position: relative;
	display: grid;
	min-height: clamp(26rem, 28vw, 36rem);
	padding: clamp(1.75rem, 3vw, 3.5rem);
	align-content: end;
	border-right: 1px solid var(--pp-component-record-rule-light);
	counter-increment: pp-component-layer;
	transition:
		background-color 320ms ease,
		color 320ms ease,
		opacity 480ms ease,
		transform 760ms cubic-bezier(.2, .65, .25, 1);
}

body.ppps-module-component-record
	.component-dossier__route
	> article:last-child {
	border-right: 0;
}

body.ppps-module-component-record
	.component-dossier__route
	> article
	> span:first-child {
	position: absolute;
	top: clamp(1.75rem, 3vw, 3.5rem);
	right: clamp(1.75rem, 3vw, 3.5rem);
	font-family: var(--ppps-font-mono, monospace);
	font-size: .72rem;
	letter-spacing: .14em;
	opacity: .42;
}

body.ppps-module-component-record
	.component-dossier__route
	> article
	.eyebrow {
	margin: 0 0 1.25rem;
	font-family: var(--ppps-font-mono, monospace);
	font-size: .7rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	opacity: .58;
}

body.ppps-module-component-record
	.component-dossier__route
	> article
	h3 {
	max-width: 11ch;
	margin: 0;
	font-size: clamp(2rem, 2.6vw, 3.55rem);
	line-height: .94;
	letter-spacing: -.05em;
}

body.ppps-module-component-record
	.component-dossier__route
	> article
	> p:last-child {
	max-width: 27rem;
	margin: 1.5rem 0 0;
	font-size: clamp(.92rem, .92vw, 1.05rem);
	line-height: 1.55;
	opacity: .64;
}

body.ppps-module-component-record
	.component-dossier__route
	> article:is(:hover, :focus-within) {
	background: var(--pp-component-record-ink);
	color: #fff;
}

body.ppps-module-component-record .component-dossier__facts {
	display: grid;
	margin: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-bottom: 1px solid var(--pp-component-record-rule-light);
}

body.ppps-module-component-record .component-dossier__facts > div {
	min-width: 0;
	padding: clamp(1.75rem, 2.8vw, 3rem);
	border-right: 1px solid var(--pp-component-record-rule-light);
}

body.ppps-module-component-record
	.component-dossier__facts
	> div:last-child {
	border-right: 0;
}

body.ppps-module-component-record .component-dossier__facts dt {
	margin-bottom: 1.1rem;
	font-family: var(--ppps-font-mono, monospace);
	font-size: .68rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .52;
}

body.ppps-module-component-record .component-dossier__facts dd {
	margin: 0;
	font-size: clamp(1.2rem, 1.45vw, 1.8rem);
	line-height: 1.2;
	letter-spacing: -.025em;
}

body.ppps-module-component-record .component-dossier__note {
	max-width: 49rem;
	margin: clamp(3rem, 5vw, 5rem) 0 0 auto;
	font-size: clamp(1.1rem, 1.25vw, 1.48rem);
	line-height: 1.55;
}

body.ppps-module-component-record .component-dossier__actions {
	display: flex;
	margin: 2.25rem 0 0 auto;
	gap: 1rem;
	justify-content: flex-end;
	flex-wrap: wrap;
}

body.ppps-module-component-record
	.component-dossier__actions
	.button-link--ghost {
	background: transparent;
	color: var(--pp-component-record-ink);
	box-shadow: inset 0 0 0 1px var(--pp-component-record-rule-light);
}

body.ppps-module-component-record .post-navigation {
	display: grid;
	width: 100%;
	max-width: none;
	margin: 0;
	padding:
		clamp(3rem, 5vw, 5rem)
		max(clamp(2rem, 6vw, 7rem), calc((100vw - 128rem) / 2));
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: var(--pp-component-record-graphite);
	color: #fff;
}

body.ppps-module-component-record .post-navigation > div {
	min-height: 8rem;
	padding: 2rem;
	border: 1px solid var(--pp-component-record-rule-dark);
}

body.ppps-module-component-record .post-navigation a {
	display: flex;
	width: 100%;
	height: 100%;
	gap: 1rem;
	align-items: center;
	color: inherit;
	font-size: clamp(1.15rem, 1.5vw, 1.8rem);
	text-decoration: none;
}

body.ppps-module-component-record .post-navigation > div:last-child a {
	justify-content: flex-end;
	text-align: right;
}

body.ppps-module-component-record[data-pp-component-record-enhanced="ready"].ppps-capability-full
	[data-pp-component-layer][data-pp-component-layer-state="waiting"] {
	opacity: 0;
	transform: translate3d(0, 1.25rem, 0);
}

body.ppps-module-component-record[data-pp-component-record-enhanced="ready"].ppps-capability-full
	[data-pp-component-layer][data-pp-component-layer-state="visible"] {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

body.ppps-module-component-record[data-pp-component-record-enhanced="ready"]
	[data-pp-component-layer] {
	transition-delay: calc(var(--pp-component-layer-index, 0) * 70ms);
}

@media (max-width: 980px) {
	body.ppps-module-component-record .entry-hero__copy {
		grid-column: 1 / span 8;
	}

	body.ppps-module-component-record .entry-hero__media {
		left: 38%;
	}

	body.ppps-module-component-record .component-dossier__heading h2 {
		grid-column: 4 / -1;
	}

	body.ppps-module-component-record
		.component-dossier__heading
		> p:last-child {
		grid-column: 5 / -1;
	}

	body.ppps-module-component-record .component-dossier__route {
		grid-template-columns: 1fr;
	}

	body.ppps-module-component-record
		.component-dossier__route
		> article {
		min-height: 20rem;
		border-right: 0;
		border-bottom: 1px solid var(--pp-component-record-rule-light);
	}

	body.ppps-module-component-record
		.component-dossier__route
		> article:last-child {
		border-bottom: 0;
	}

	body.ppps-module-component-record .component-dossier__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.ppps-module-component-record
		.component-dossier__facts
		> div:nth-child(2n) {
		border-right: 0;
	}
}

@media (max-width: 700px) {
	body.ppps-module-component-record .entry-hero--single,
	body.ppps-module-component-record .entry-hero__inner {
		min-height: max(44rem, calc(100svh - var(--ppps-header-height, 64px)));
	}

	body.ppps-module-component-record .entry-hero--single::after {
		inset: 1.25rem;
		left: 1.25rem;
	}

	body.ppps-module-component-record .entry-hero__inner {
		display: flex;
		width: calc(100% - 2.5rem);
		padding-block: 7.5rem 3rem;
		align-items: flex-end;
	}

	body.ppps-module-component-record .entry-hero__copy {
		width: 100%;
		padding: 0;
	}

	body.ppps-module-component-record .entry-hero__copy h1 {
		max-width: 9ch;
		font-size: clamp(3.55rem, 14vw, 6rem);
	}

	body.ppps-module-component-record .entry-hero__summary {
		max-width: 29rem;
		font-size: 1rem;
	}

	body.ppps-module-component-record .entry-hero__media {
		inset: 1.25rem 1.25rem 40%;
		opacity: .7;
	}

	body.ppps-module-component-record .entry-hero__media img {
		padding: 1.25rem;
	}

	body.ppps-module-component-record .entry-hero--single::before {
		mask-image: linear-gradient(180deg, #000, transparent 68%);
	}

	body.ppps-module-component-record .entry-hero__copy {
		text-shadow: 0 1px 2rem rgba(7, 9, 10, .9);
	}

	body.ppps-module-component-record .single-entry-content {
		padding-top: 5.5rem;
	}

	body.ppps-module-component-record .single-entry-content__body,
	body.ppps-module-component-record .component-dossier {
		width: calc(100% - 2.5rem);
	}

	body.ppps-module-component-record .component-dossier__heading {
		display: block;
	}

	body.ppps-module-component-record .component-dossier__heading .eyebrow {
		margin-bottom: 2rem;
	}

	body.ppps-module-component-record .component-dossier__heading h2 {
		max-width: 10ch;
		font-size: clamp(3.25rem, 12vw, 5.5rem);
	}

	body.ppps-module-component-record
		.component-dossier__heading
		> p:last-child {
		margin-top: 2rem;
	}

	body.ppps-module-component-record .component-dossier__route {
		margin-top: 4.5rem;
	}

	body.ppps-module-component-record .component-dossier__facts {
		grid-template-columns: 1fr;
	}

	body.ppps-module-component-record .component-dossier__facts > div,
	body.ppps-module-component-record
		.component-dossier__facts
		> div:nth-child(2n) {
		border-right: 0;
		border-bottom: 1px solid var(--pp-component-record-rule-light);
	}

	body.ppps-module-component-record
		.component-dossier__facts
		> div:last-child {
		border-bottom: 0;
	}

	body.ppps-module-component-record .component-dossier__note {
		margin-left: 0;
	}

	body.ppps-module-component-record .component-dossier__actions {
		display: grid;
		margin-left: 0;
	}

	body.ppps-module-component-record
		.component-dossier__actions
		.button-link {
		width: 100%;
		justify-content: center;
	}

	body.ppps-module-component-record .post-navigation {
		grid-template-columns: 1fr;
		padding: 2.5rem 1.25rem;
	}
}

body.ppps-module-component-record:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off,
	.ppps-capability-lite
)
	:is(
		.entry-hero__copy h1,
		.entry-hero__media,
		.entry-hero__media img,
		[data-pp-component-layer]
	),
body.ppps-module-component-record:not(
	[data-pp-component-record-enhanced="ready"]
)
	[data-pp-component-layer] {
	opacity: 1;
	clip-path: none;
	transform: none;
	transition: none;
}

body.ppps-module-component-record:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off,
	.ppps-capability-lite
)
	.entry-hero__media::before,
body.ppps-module-component-record:is(
	.ppps-runtime-disabled,
	.ppps-readiness-failed,
	.ppps-motion-reduced,
	.ppps-motion-off,
	.ppps-capability-lite
)
	.entry-hero__media::after {
	display: none;
}

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

	body.ppps-module-component-record
		:is(
			.entry-hero__copy h1,
			.entry-hero__media,
			.entry-hero__media img,
			[data-pp-component-layer]
		) {
		opacity: 1;
		clip-path: none;
		transform: none;
	}
}

@media (forced-colors: active) {
	body.ppps-module-component-record .entry-hero__media,
	body.ppps-module-component-record
		.component-dossier__route
		> article,
	body.ppps-module-component-record .component-dossier__facts > div {
		border: 1px solid CanvasText;
	}
}

@media print {
	body.ppps-module-component-record .entry-hero--single,
	body.ppps-module-component-record .entry-hero__inner {
		min-height: 0;
	}

	body.ppps-module-component-record .entry-hero__media {
		position: relative;
		inset: auto;
		min-height: 18rem;
	}

	body.ppps-module-component-record .component-dossier__route,
	body.ppps-module-component-record .component-dossier__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.ppps-module-component-record [data-pp-component-layer] {
		opacity: 1;
		transform: none;
	}
}
