@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&family=Barlow+Condensed:wght@600;700;800&display=swap");

:root {
	--field-ink: #10100f;
	--field-ink-soft: #1d1c19;
	--field-paper: #f4f0e8;
	--field-paper-deep: #e6ded0;
	--field-gold: #e8c787;
	--field-gold-deep: #b8914f;
	--field-green: #087a3f;
	--field-green-dark: #056332;
	--field-red: #c7462f;
	--field-red-dark: #8f281a;
	--field-white: #fffdf8;
	--field-muted: #625c54;
	--field-line: #d2c8b9;
	--field-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

* {
	box-sizing: border-box;
}

html {
	min-width: 320px;
	scroll-behavior: smooth;
	overflow-x: clip;
	background: var(--field-ink);
}

body {
	margin: 0;
	overflow-x: clip;
	background: var(--field-paper);
	color: var(--field-ink);
	font-family: "Barlow", sans-serif;
	font-size: 18px;
	line-height: 1.62;
	-webkit-font-smoothing: antialiased;
}

img {
	display: block;
	max-width: 100%;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
a,
summary {
	touch-action: manipulation;
}

a {
	color: inherit;
}

p,
h1,
h2,
h3,
ul,
figure,
blockquote {
	margin-top: 0;
}

p {
	text-wrap: pretty;
}

:focus-visible {
	outline: 3px solid var(--field-gold);
	outline-offset: 4px;
}

::selection {
	background: var(--field-gold);
	color: var(--field-ink);
}

.shell {
	width: min(1240px, calc(100% - 48px));
	margin-inline: auto;
}

.section {
	padding-block: clamp(78px, 8vw, 112px);
}

.display {
	margin-bottom: 0;
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 0.94;
	text-transform: uppercase;
	text-wrap: pretty;
}

.button {
	min-height: 56px;
	border: 0;
	border-radius: 3px;
	padding: 16px 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: var(--field-white);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.08;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
		transform 180ms var(--field-ease),
		background 180ms ease,
		opacity 180ms ease;
}

.button svg,
.service-map a svg,
.testimonial-toggle svg {
	width: 19px;
	height: 19px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.button:hover {
	transform: translateY(-2px);
	text-decoration: none;
}

.button:active {
	transform: translateY(0) scale(0.99);
}

.button:disabled {
	opacity: 0.58;
	cursor: wait;
	transform: none;
}

.button-primary,
.button-dark {
	background: var(--field-green);
}

.button-primary:hover,
.button-dark:hover {
	background: var(--field-green-dark);
}

.skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 1000;
	padding: 10px 14px;
	background: var(--field-white);
	color: var(--field-ink);
	font-size: 14px;
	font-weight: 800;
	transform: translateY(-150%);
	transition: transform 160ms ease;
}

.skip-link:focus {
	transform: translateY(0);
}

/* Hero — full-bleed cinematic composition inherited from the NR-12 peak */
.hero {
	min-height: max(760px, 94svh);
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--field-ink);
	color: var(--field-white);
}

.hero-copy {
	width: min(1240px, calc(100% - 64px));
	min-height: max(760px, 94svh);
	margin-inline: auto;
	padding-block: clamp(64px, 8vh, 104px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	position: relative;
	z-index: 4;
}

.hero-brand {
	width: clamp(166px, 15vw, 204px);
	height: auto;
	margin-bottom: clamp(28px, 4vh, 38px);
}

.hero-eyebrow {
	margin-bottom: 18px;
	color: var(--field-gold);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.hero h1,
.page-vessels .hero h1 {
	max-width: 980px;
	font-size: clamp(70px, 7vw, 96px);
	line-height: 0.88;
	text-wrap: balance;
}

.page-vessels .hero h1 {
	max-width: 940px;
	font-size: clamp(66px, 6.5vw, 92px);
}

.hero h1 span,
.hero h1 em {
	display: block;
}

.hero h1 em {
	max-width: 920px;
	margin-top: 10px;
	color: #ff654f;
	font-style: normal;
}

.hero-lead {
	max-width: 68ch;
	margin: 28px 0 30px;
	color: rgba(255, 253, 248, 0.86);
	font-size: clamp(17px, 1.35vw, 20px);
	font-weight: 500;
	line-height: 1.55;
}

.hero .button {
	min-width: 310px;
	max-width: 430px;
}

.hero-microcopy {
	max-width: 590px;
	margin-top: 16px;
	color: rgba(255, 253, 248, 0.7);
	font-size: 13px;
	line-height: 1.45;
}

.hero-scan {
	position: absolute;
	inset-block: 0;
	left: 0;
	z-index: 8;
	width: 1px;
	background: rgba(255, 101, 79, 0.8);
	pointer-events: none;
	animation: hero-scan 1.4s 0.35s var(--field-ease) both;
}

@keyframes hero-scan {
	0% {
		opacity: 0;
		transform: translateX(0);
	}
	12%,
	88% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translateX(100vw);
	}
}

.hero-visual {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	background: #24231f;
}

.hero-visual::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(
			90deg,
			rgba(16, 16, 15, 0.96) 0%,
			rgba(16, 16, 15, 0.82) 38%,
			rgba(16, 16, 15, 0.36) 68%,
			rgba(16, 16, 15, 0.14) 100%
		),
		linear-gradient(
			180deg,
			rgba(16, 16, 15, 0.22),
			transparent 45%,
			rgba(16, 16, 15, 0.52)
		);
	pointer-events: none;
}

.hero-equipment-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.92) contrast(1.04);
	transform: scale(1.025);
	animation: hero-media-drift 18s var(--field-ease) infinite alternate;
}

@keyframes hero-media-drift {
	to {
		transform: scale(1.075) translate3d(-0.8%, -0.4%, 0);
	}
}

.evidence-stamp {
	padding: 12px 15px;
	border: 2px solid var(--field-red);
	color: var(--field-red);
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0.05em;
	line-height: 0.9;
	text-align: center;
	text-transform: uppercase;
	transform: rotate(-4deg);
}

.hero-visual--overview .hero-equipment-photo {
	object-position: center;
}

.hero-visual--vessels .hero-equipment-photo {
	object-position: 68% center;
}

.hero-visual--boilers .hero-equipment-photo {
	object-position: 70% 44%;
}

.hero-context-panel,
.equipment-plate,
.shutdown-brief {
	position: absolute;
	right: max(32px, calc((100vw - 1240px) / 2));
	bottom: 34px;
	z-index: 3;
	box-shadow: 0 22px 46px rgba(0, 0, 0, 0.28);
}

.hero-context-panel {
	width: min(440px, calc(100% - 64px));
	padding: 17px 20px;
	display: grid;
	gap: 5px;
	background: rgba(16, 16, 15, 0.9);
	border: 1px solid rgba(255, 253, 248, 0.2);
	color: var(--field-white);
}

.hero-context-panel strong {
	color: var(--field-gold);
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: 23px;
	line-height: 1;
	text-transform: uppercase;
}

.hero-context-panel span {
	color: rgba(255, 253, 248, 0.74);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.equipment-plate {
	width: min(360px, calc(100% - 64px));
	padding: 18px 20px;
	display: grid;
	gap: 4px;
	background: var(--field-white);
	border: 1px solid var(--field-line);
	color: var(--field-ink);
}

.equipment-plate span {
	color: var(--field-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.equipment-plate strong {
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: 29px;
	line-height: 1;
	text-transform: uppercase;
}

.inspection-target {
	position: absolute;
	top: 28%;
	right: 14%;
	z-index: 3;
	width: 94px;
	height: 94px;
	border: 1px solid var(--field-red);
	border-radius: 50%;
}

.inspection-target::before,
.inspection-target::after,
.inspection-target i::before,
.inspection-target i::after {
	content: "";
	position: absolute;
	background: var(--field-red);
}

.inspection-target::before {
	top: -11px;
	bottom: -11px;
	left: 50%;
	width: 1px;
}

.inspection-target::after {
	top: 50%;
	left: -11px;
	right: -11px;
	height: 1px;
}

.shutdown-brief {
	width: min(420px, calc(100% - 64px));
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	background: var(--field-white);
	border: 1px solid var(--field-line);
	color: var(--field-ink);
}

.shutdown-brief > strong {
	grid-column: 1 / -1;
	padding: 14px 17px;
	background: var(--field-gold);
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: 22px;
	line-height: 1;
	text-transform: uppercase;
}

.shutdown-brief span {
	min-height: 54px;
	padding: 12px 15px;
	display: flex;
	align-items: center;
	gap: 9px;
	border-top: 1px solid var(--field-line);
	font-size: 13px;
	font-weight: 700;
}

.shutdown-brief span:nth-child(even) {
	border-right: 1px solid var(--field-line);
}

.shutdown-brief b {
	color: var(--field-red);
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: 18px;
}

.steam-line {
	position: absolute;
	top: 18%;
	right: 16%;
	z-index: 3;
	width: 120px;
	height: 120px;
	border: 1px solid rgba(255, 253, 248, 0.65);
	border-bottom-color: transparent;
	border-radius: 50%;
	animation: steam-mark 3.6s ease-in-out infinite;
}

@keyframes steam-mark {
	0%,
	100% {
		opacity: 0.25;
		transform: translateY(8px) scale(0.92);
	}
	50% {
		opacity: 0.75;
		transform: translateY(-8px) scale(1.04);
	}
}

/* Proof */
.proof-line {
	position: relative;
	overflow: hidden;
	background:
		repeating-linear-gradient(
			135deg,
			transparent 0 13px,
			rgba(255, 255, 255, 0.09) 13px 14px
		),
		linear-gradient(95deg, #dfbd7b, var(--field-gold) 48%, #f1d9a9);
	border-bottom: 1px solid var(--field-gold-deep);
}

.proof-inner {
	min-height: 82px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.proof-fact {
	min-width: 0;
	padding: 16px 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	border-left: 1px solid rgba(16, 16, 15, 0.22);
	color: var(--field-ink);
	text-align: center;
}

.proof-fact:first-child {
	border-left: 0;
}

.proof-fact strong {
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: clamp(31px, 3vw, 42px);
	line-height: 0.9;
	white-space: nowrap;
}

.proof-fact span {
	max-width: 170px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.15;
	text-transform: uppercase;
}

/* Assessment and form */
.assessment {
	background: var(--field-paper-deep);
}

.assessment-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(520px, 1.08fr);
	gap: clamp(54px, 7vw, 94px);
	align-items: center;
}

.assessment-copy h2,
.problem-copy h2,
.foundation-copy h2,
.scope-intro h2,
.route h2,
.continuity-head h2,
.final-cta h2,
.company h2,
.client-proof h2,
.faq h2,
.service-map h2 {
	font-size: clamp(44px, 5vw, 68px);
}

.assessment-copy > p,
.problem-copy > p,
.foundation-copy > p,
.scope-intro > p,
.route-lead,
.continuity-head > p {
	max-width: 68ch;
	margin: 27px 0 0;
	color: var(--field-muted);
	font-size: 18px;
}

.coverage-note {
	margin-top: 30px;
	display: flex;
	align-items: center;
	gap: 14px;
}

.coverage-note > span {
	width: 44px;
	height: 44px;
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	position: relative;
	color: var(--field-red);
}

.coverage-note > span::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid currentcolor;
	border-radius: 50%;
	animation: coverage-pulse 2.8s ease-out infinite;
}

.coverage-note svg {
	width: 26px;
	height: 26px;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.6;
}

.coverage-note p {
	max-width: 430px;
	margin: 0;
	color: var(--field-ink);
	font-size: 15px;
	font-weight: 700;
}

@keyframes coverage-pulse {
	0% {
		opacity: 0.7;
		transform: scale(0.72);
	}
	75%,
	100% {
		opacity: 0;
		transform: scale(1.35);
	}
}

.case-form {
	background: var(--field-white);
	border: 1px solid var(--field-line);
	box-shadow: 0 24px 55px rgba(0, 0, 0, 0.17);
}

.form-header {
	padding: 22px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	background: var(--field-ink);
	color: var(--field-white);
}

.form-header h3 {
	max-width: 410px;
	color: var(--field-white);
	font-size: clamp(25px, 2.4vw, 34px);
	line-height: 1;
}

.form-header > span {
	color: var(--field-gold);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.11em;
	line-height: 1.2;
	text-align: right;
	text-transform: uppercase;
	white-space: nowrap;
}

.form-header {
	justify-content: flex-start;
}

.form-header h3 {
	width: 100%;
	max-width: none;
	font-size: clamp(28px, 2.6vw, 36px);
	text-wrap: balance;
}

.assessment-copy h2 span {
	color: var(--field-red);
}

.form-body {
	padding: 25px 24px 22px;
}

.field-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.hp-field {
	width: 1px;
	height: 1px;
	position: absolute;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.field {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.field--full {
	grid-column: 1 / -1;
}

.field label {
	color: #514b43;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.field input,
.field select {
	width: 100%;
	height: 48px;
	border: 1px solid #b8ad9f;
	border-radius: 2px;
	background: #fff;
	color: var(--field-ink);
	padding: 11px 12px;
	font-size: 15px;
	transition:
		border-color 150ms ease,
		box-shadow 150ms ease;
}

.field select {
	padding-right: 34px;
	cursor: pointer;
}

.field input::placeholder {
	color: #716a61;
	opacity: 1;
}

.field input:focus,
.field select:focus {
	outline: none;
	border-color: var(--field-gold-deep);
	box-shadow: 0 0 0 3px rgba(232, 199, 135, 0.28);
}

.field input[aria-invalid="true"],
.field select[aria-invalid="true"] {
	border-color: var(--field-red);
}

.form-submit {
	width: 100%;
	margin-top: 18px;
}

.form-trust {
	margin: 14px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: var(--field-muted);
	font-size: 12px;
	line-height: 1.45;
	text-align: center;
}

.trust-shield {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	color: var(--field-green);
}

.trust-shield svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
}

.form-error {
	min-height: 0;
	margin: 11px 0 0;
	color: var(--field-red-dark);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.form-error:empty {
	display: none;
}

.noscript-note {
	margin: 14px 0 0;
	padding: 12px 14px;
	border: 1px solid var(--field-red);
	color: var(--field-red-dark);
	font-size: 13px;
	line-height: 1.45;
	text-align: center;
}

.noscript-note a {
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Service architecture */
.service-map {
	padding-block: clamp(72px, 7vw, 94px);
	background: var(--field-white);
	border-block: 1px solid var(--field-line);
}

.service-map-head {
	max-width: 980px;
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: 50px;
	align-items: end;
}

.service-map-head p {
	margin: 0 0 4px;
	color: var(--field-muted);
	font-size: 16px;
}

.service-map-grid {
	margin-top: 46px;
	display: grid;
	grid-template-columns: 1.15fr 0.85fr 0.85fr;
	border: 1px solid var(--field-line);
}

.service-map-primary,
.service-map-link {
	min-height: 270px;
	padding: clamp(27px, 3vw, 42px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	text-decoration: none;
}

.service-map-primary {
	background: var(--field-ink);
	color: var(--field-white);
}

.service-map-link {
	border-left: 1px solid var(--field-line);
	background: var(--field-paper);
	color: var(--field-ink);
	transition:
		background 180ms ease,
		color 180ms ease;
}

.service-map-link:hover {
	background: var(--field-paper-deep);
	text-decoration: none;
}

.service-map-grid span {
	margin-bottom: 30px;
	color: var(--field-red-dark);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.service-map-primary span {
	color: var(--field-gold);
}

.service-map-grid h3,
.service-map-grid strong {
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: clamp(28px, 2.6vw, 38px);
	letter-spacing: -0.025em;
	line-height: 1;
	text-transform: uppercase;
}

.service-map-grid p,
.service-map-grid small {
	margin-top: 17px;
	color: var(--field-muted);
	font-size: 15px;
	line-height: 1.48;
}

.service-map-primary p {
	color: rgba(255, 253, 248, 0.72);
}

.service-map-grid a svg {
	margin-top: auto;
}

.service-map-primary a {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--field-gold);
	font-size: 14px;
	font-weight: 800;
}

.intent-rail {
	background: var(--field-gold);
	border-block: 1px solid var(--field-gold-deep);
}

.intent-rail-inner {
	min-height: 70px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
}

.intent-rail-inner > span {
	font-size: 15px;
}

.intent-rail nav {
	display: flex;
	gap: 12px 24px;
	font-size: 13px;
	font-weight: 800;
}

.intent-rail a {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Problem */
.problem {
	background: var(--field-paper);
}

.problem-grid {
	display: grid;
	grid-template-columns: minmax(480px, 0.96fr) minmax(0, 1.04fr);
	gap: clamp(52px, 7vw, 94px);
	align-items: stretch;
}

.problem-copy {
	align-self: center;
}

.question-list,
.foundation-copy > ul {
	padding: 0;
	margin: 32px 0 0;
	list-style: none;
}

.question-list li,
.foundation-copy > ul li {
	padding: 13px 0;
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	border-top: 1px solid var(--field-line);
	color: #2b2925;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.42;
}

.question-list li:last-child,
.foundation-copy > ul li:last-child {
	border-bottom: 1px solid var(--field-line);
}

.question-list svg,
.foundation-copy > ul svg {
	width: 23px;
	height: 23px;
	margin-top: 1px;
	fill: none;
	stroke: var(--field-red);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.problem-copy > .problem-close {
	margin: 24px 0 0;
	padding: 16px 18px;
	background: var(--field-ink);
	color: var(--field-white);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
}

.evidence-board {
	min-height: 620px;
	padding: 10px;
	display: grid;
	gap: 10px;
	position: relative;
	background: var(--field-paper-deep);
	border: 1px solid var(--field-line);
	box-shadow: 0 24px 50px rgba(31, 27, 21, 0.15);
}

.evidence-board--overview {
	grid-template-columns: 1.12fr 0.88fr;
	grid-template-rows: 1fr 0.8fr;
}

.evidence-board figure {
	min-width: 0;
	min-height: 0;
	margin: 0;
	position: relative;
	overflow: hidden;
	background: var(--field-ink-soft);
}

.evidence-board figure:first-child {
	grid-row: 1 / 3;
}

.evidence-board img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 700ms var(--field-ease);
}

.evidence-board figure:hover img {
	transform: scale(1.025);
}

.evidence-board figcaption {
	position: absolute;
	inset: auto 0 0;
	padding: 12px 14px;
	background: rgba(16, 16, 15, 0.83);
	color: var(--field-white);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.07em;
	line-height: 1;
	text-transform: uppercase;
}

.evidence-board .evidence-stamp {
	position: absolute;
	top: 24px;
	right: -14px;
	z-index: 3;
	background: var(--field-white);
}

.vessel-dossier,
.boiler-window {
	align-self: center;
	background: var(--field-white);
	border: 1px solid var(--field-line);
	box-shadow: 0 24px 50px rgba(31, 27, 21, 0.15);
	position: relative;
}

.vessel-dossier figure,
.boiler-window figure {
	height: 390px;
	margin: 0;
	overflow: hidden;
	background: var(--field-ink-soft);
}

.vessel-dossier figure img,
.boiler-window figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vessel-dossier figure img {
	object-position: center 52%;
}

.dossier-row {
	min-height: 71px;
	padding: 13px 22px;
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	border-top: 1px solid var(--field-line);
}

.dossier-row span {
	color: var(--field-red);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.dossier-row strong {
	font-size: 15px;
	line-height: 1.35;
}

.dossier-mark {
	position: absolute;
	top: 33px;
	right: 27px;
	width: 78px;
	height: 78px;
	border: 2px solid var(--field-red);
	border-radius: 50%;
	box-shadow: 0 0 0 9px rgba(199, 70, 47, 0.18);
}

.dossier-mark::before,
.dossier-mark::after {
	content: "";
	position: absolute;
	background: var(--field-red);
}

.dossier-mark::before {
	top: 50%;
	left: -15px;
	right: -15px;
	height: 1px;
}

.dossier-mark::after {
	top: -15px;
	bottom: -15px;
	left: 50%;
	width: 1px;
}

.boiler-window figure img {
	object-position: center 54%;
}

.boiler-window-track {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: var(--field-ink);
	color: var(--field-white);
}

.boiler-window-track span {
	min-width: 0;
	padding: 16px 13px;
	border-left: 1px solid rgba(255, 255, 255, 0.13);
	color: rgba(255, 253, 248, 0.68);
	font-size: 11px;
	line-height: 1.35;
}

.boiler-window-track span:first-child {
	border-left: 0;
}

.boiler-window-track b {
	display: block;
	margin-bottom: 4px;
	color: var(--field-gold);
	font-size: 12px;
	text-transform: uppercase;
}

/* Consequences: the approved NR-12 composition lives in nr12-reuse.css. */

/* Foundation */
.foundation {
	overflow: hidden;
	background: var(--field-ink);
	color: var(--field-white);
}

.foundation-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(430px, 0.96fr);
	gap: clamp(64px, 8vw, 110px);
	align-items: center;
}

.foundation-grid > * {
	min-width: 0;
}

.foundation-copy h2 {
	color: var(--field-white);
}

.foundation-copy > p {
	color: rgba(255, 253, 248, 0.72);
}

.foundation-copy > ul li {
	border-color: rgba(255, 255, 255, 0.13);
	color: rgba(255, 253, 248, 0.9);
}

.foundation-copy > ul svg {
	stroke: var(--field-gold);
}

.technical-note {
	margin-top: 29px;
	padding: 18px 20px;
	border: 1px solid rgba(232, 199, 135, 0.42);
	background: rgba(232, 199, 135, 0.07);
}

.technical-note strong {
	display: block;
	margin-bottom: 8px;
	color: var(--field-gold);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.technical-note p {
	margin: 0;
	color: rgba(255, 253, 248, 0.78);
	font-size: 14px;
	line-height: 1.5;
}

.equipment-ledger {
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: var(--field-ink-soft);
	box-shadow: 0 26px 58px rgba(0, 0, 0, 0.32);
}

.equipment-ledger div {
	min-height: 104px;
	padding: 22px 25px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	position: relative;
}

.equipment-ledger div:first-child {
	border-top: 0;
}

.equipment-ledger div::before {
	content: "";
	width: 14px;
	height: 14px;
	flex: 0 0 auto;
	border: 2px solid var(--field-red);
	border-radius: 50%;
	box-shadow: 0 0 0 6px rgba(199, 70, 47, 0.11);
}

.equipment-ledger strong {
	flex: 1;
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: 27px;
	line-height: 1;
	text-transform: uppercase;
}

.equipment-ledger span {
	color: rgba(255, 253, 248, 0.56);
	font-size: 12px;
	font-weight: 700;
	text-align: right;
	text-transform: uppercase;
}

/* Broad NR-13 foundation: full-width thesis, two evidence columns and a live equipment rail. */
.foundation--overview {
	padding-bottom: 0;
}

.foundation-overview > h2 {
	width: 100%;
	max-width: none;
	color: var(--field-white);
	font-size: clamp(56px, 6.4vw, 92px);
	line-height: 0.9;
	text-wrap: balance;
}

.foundation-overview-body {
	margin-top: clamp(48px, 6vw, 78px);
	padding-bottom: clamp(72px, 8vw, 108px);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(54px, 8vw, 112px);
	align-items: start;
}

.foundation-overview-context > p {
	max-width: 58ch;
	margin: 0;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	color: rgba(255, 253, 248, 0.76);
	font-size: 18px;
	line-height: 1.62;
}

.foundation-overview-context .technical-note {
	margin-top: 34px;
}

.foundation-overview-checklist {
	padding: 0;
	margin: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	list-style: none;
}

.foundation-overview-checklist li {
	padding: 18px 0;
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	gap: 13px;
	align-items: start;
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	color: rgba(255, 253, 248, 0.92);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.42;
}

.foundation-overview-checklist svg {
	width: 23px;
	height: 23px;
	margin-top: 1px;
	fill: none;
	stroke: var(--field-gold);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.equipment-ticker {
	width: 100%;
	overflow: hidden;
	border-block: 1px solid rgba(255, 255, 255, 0.16);
	background: var(--field-ink-soft);
}

.equipment-ticker-track {
	width: max-content;
	display: flex;
	will-change: transform;
	animation: equipment-ticker-right 30s linear infinite;
}

.equipment-ticker:hover .equipment-ticker-track {
	animation-play-state: paused;
}

.equipment-ticker-set {
	padding: 0;
	margin: 0;
	display: flex;
	flex: none;
	list-style: none;
}

.equipment-ticker-set li {
	min-height: 112px;
	padding: 22px clamp(34px, 4vw, 66px);
	display: grid;
	grid-template-columns: 24px max-content;
	grid-template-rows: auto auto;
	gap: 5px 14px;
	align-content: center;
	border-right: 1px solid rgba(255, 255, 255, 0.14);
	white-space: nowrap;
}

.equipment-ticker-set svg {
	width: 22px;
	height: 22px;
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: center;
	fill: none;
	stroke: var(--field-red);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

.equipment-ticker-set strong {
	grid-column: 2;
	color: var(--field-white);
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: 29px;
	line-height: 1;
	text-transform: uppercase;
}

.equipment-ticker-set span {
	grid-column: 2;
	color: rgba(255, 253, 248, 0.58);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

@keyframes equipment-ticker-right {
	from {
		transform: translate3d(-50%, 0, 0);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

/* Specific inspection foundations: editorial evidence first, decision rail second. */
.foundation--specific {
	padding-bottom: 0;
}

.foundation-specific > h2 {
	width: 100%;
	max-width: none;
	color: var(--field-white);
	font-size: clamp(54px, 5.8vw, 82px);
	line-height: 0.9;
	text-wrap: balance;
}

.foundation-specific-body {
	margin-top: clamp(48px, 6vw, 76px);
	padding-bottom: clamp(72px, 8vw, 104px);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(54px, 8vw, 112px);
	align-items: start;
}

.foundation-specific-context > p {
	max-width: 58ch;
	margin: 0;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	color: rgba(255, 253, 248, 0.76);
	font-size: 18px;
	line-height: 1.62;
}

.foundation-specific-context .technical-note {
	margin-top: 34px;
}

.foundation-specific-checklist {
	padding: 0;
	margin: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	list-style: none;
}

.foundation-specific-checklist li {
	padding: 18px 0;
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	gap: 13px;
	align-items: start;
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	color: rgba(255, 253, 248, 0.92);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.42;
}

.foundation-specific-checklist svg {
	width: 23px;
	height: 23px;
	margin-top: 1px;
	fill: none;
	stroke: var(--field-gold);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.foundation-process-rail {
	width: 100%;
	border-block: 1px solid rgba(255, 255, 255, 0.16);
	background: var(--field-ink-soft);
}

.foundation-process-track {
	padding: 0;
	margin-block: 0;
	display: grid;
	list-style: none;
}

.foundation-process-track--vessels {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.foundation-process-track--boilers {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.foundation-process-track li {
	min-width: 0;
	min-height: 154px;
	padding: 27px 24px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.foundation-process-track li:last-child {
	border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.foundation-process-track li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -5px;
	z-index: 2;
	width: 9px;
	height: 9px;
	border-top: 1px solid var(--field-gold);
	border-right: 1px solid var(--field-gold);
	transform: translateY(-50%) rotate(45deg);
}

.foundation-process-track li > span {
	margin-bottom: 11px;
	color: var(--field-gold);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.foundation-process-track strong {
	color: var(--field-white);
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: clamp(25px, 2.1vw, 31px);
	line-height: 0.98;
	text-transform: uppercase;
}

.foundation-process-track small {
	margin-top: 10px;
	color: rgba(255, 253, 248, 0.6);
	font-size: 12px;
	line-height: 1.4;
}

.foundation-process-track .is-outcome {
	background: rgba(232, 199, 135, 0.08);
}

.foundation-process-track .is-outcome > span,
.foundation-process-track .is-outcome strong {
	color: var(--field-gold);
}

@media (max-width: 920px) {
	.foundation-specific > h2 {
		font-size: clamp(52px, 9vw, 74px);
	}

	.foundation-specific-body {
		margin-top: 48px;
		padding-bottom: 76px;
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.foundation-specific-context > p {
		max-width: 68ch;
	}

	.foundation-process-track--vessels,
	.foundation-process-track--boilers {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.foundation-process-track--vessels .is-outcome {
		grid-column: 1 / -1;
	}

	.foundation-process-track li {
		border-right: 1px solid rgba(255, 255, 255, 0.14);
		border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	}

	.foundation-process-track li:not(:last-child)::after {
		content: none;
	}
}

@media (max-width: 520px) {
	.foundation-specific > h2 {
		font-size: clamp(44px, 12.4vw, 54px);
		line-height: 0.93;
	}

	.foundation-specific-body {
		margin-top: 36px;
		padding-bottom: 62px;
		gap: 38px;
	}

	.foundation-specific-context > p {
		padding-top: 18px;
		font-size: 16px;
	}

	.foundation-specific-context .technical-note {
		margin-top: 28px;
	}

	.foundation-specific-checklist li {
		padding: 15px 0;
		font-size: 15px;
	}

	.foundation-process-track--vessels,
	.foundation-process-track--boilers {
		grid-template-columns: 1fr;
	}

	.foundation-process-track--vessels .is-outcome {
		grid-column: auto;
	}

	.foundation-process-track li {
		min-height: 0;
		padding: 20px 16px;
		display: grid;
		grid-template-columns: 74px minmax(0, 1fr);
		gap: 5px 14px;
	}

	.foundation-process-track li > span {
		grid-column: 1;
		grid-row: 1 / span 2;
		margin: 2px 0 0;
	}

	.foundation-process-track strong,
	.foundation-process-track small {
		grid-column: 2;
	}

	.foundation-process-track strong {
		font-size: 25px;
	}

	.foundation-process-track small {
		margin-top: 2px;
	}
}

/* Scope sheet */
.scope {
	background: var(--field-paper-deep);
}

.scope-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(560px, 1.18fr);
	gap: clamp(60px, 8vw, 100px);
	align-items: start;
}

.scope-intro {
	position: sticky;
	top: 34px;
}

.report-sheet {
	background: var(--field-white);
	border: 1px solid var(--field-line);
	box-shadow: 0 24px 60px rgba(31, 27, 21, 0.18);
	position: relative;
}

.report-sheet::before,
.report-sheet::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 10px -8px -9px 8px;
	border: 1px solid var(--field-line);
	background: #ede8df;
	transform: rotate(0.7deg);
}

.report-sheet::after {
	inset: 18px -14px -16px 15px;
	background: #ddd5c8;
	transform: rotate(-1.1deg);
}

.report-sheet > header {
	min-height: 68px;
	padding: 20px 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: var(--field-ink);
	color: var(--field-white);
}

.report-sheet > header strong {
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: 25px;
	line-height: 1;
	text-transform: uppercase;
}

.report-sheet > header span {
	color: var(--field-gold);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.2;
	text-align: right;
	text-transform: uppercase;
}

.report-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.report-item {
	min-height: 128px;
	padding: 22px;
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	border-bottom: 1px solid var(--field-line);
}

.report-item:nth-child(odd) {
	border-right: 1px solid var(--field-line);
}

.report-item h3 {
	margin: 0;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
}

.report-item p {
	margin: 6px 0 0;
	color: var(--field-muted);
	font-size: 13px;
	line-height: 1.45;
}

.report-item > svg {
	width: 22px;
	height: 22px;
	margin-top: 1px;
	fill: none;
	stroke: var(--field-red);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.report-sheet > footer {
	padding: 16px 20px;
	background: var(--field-paper);
	color: var(--field-muted);
	font-size: 12px;
	line-height: 1.5;
}

/* Process route — reused from the validated NR-12 journey component */
.route {
	overflow: hidden;
	background: var(--field-ink);
	color: var(--field-white);
}

.route > .shell {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
	column-gap: clamp(48px, 7vw, 96px);
	align-items: end;
}

.route > .shell > h2 {
	grid-column: 1;
	max-width: 760px;
	color: var(--field-white);
}

.route-lead {
	grid-column: 2;
	max-width: 560px;
	margin: 0 0 4px;
	color: rgba(255, 253, 248, 0.72);
	font-size: 18px;
	line-height: 1.6;
}

.route-track {
	grid-column: 1 / -1;
	margin-top: 82px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: clamp(22px, 3vw, 44px);
	position: relative;
	border-top: 1px solid rgba(255, 253, 248, 0.34);
}

.route-track::before {
	content: none;
}

.route-track::after {
	content: "";
	position: absolute;
	top: -5px;
	right: -1px;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid rgba(255, 255, 255, 0.52);
}

.route-step {
	min-height: 190px;
	padding: 38px 0 0;
	position: relative;
}

.route-step::before {
	content: "";
	position: absolute;
	top: -6px;
	left: 0;
	z-index: 2;
	width: 11px;
	height: 11px;
	background: var(--field-gold);
	border-radius: 50%;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3);
}

.route-step[aria-current="step"]::before {
	top: -8px;
	left: -2px;
	width: 15px;
	height: 15px;
	box-shadow: 0 0 0 6px rgba(231, 190, 107, 0.18);
}

.route-current {
	position: absolute;
	top: -68px;
	left: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 12px;
	background: var(--field-gold);
	color: var(--field-ink);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.route-current::after {
	content: "";
	position: absolute;
	bottom: -18px;
	left: 7px;
	width: 1px;
	height: 18px;
	background: var(--field-gold);
}

.route-current svg {
	width: 16px;
	height: 16px;
	flex: none;
	fill: var(--field-ink);
}

.route-current circle {
	fill: var(--field-gold);
}

.route-index,
.continuity-flow article > span {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.route-index {
	color: var(--field-gold);
}

.continuity-flow article > span {
	color: var(--field-red);
}

.route-step h3 {
	margin: 14px 0 0;
	color: var(--field-white);
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: 22px;
	letter-spacing: -0.02em;
	line-height: 1.1;
	text-transform: uppercase;
}

.route-step p {
	margin: 11px 0 0;
	color: rgba(255, 253, 248, 0.68);
	font-size: 15px;
	line-height: 1.55;
}

/* Continuity */
.continuity {
	overflow: hidden;
	background: var(--field-white);
}

.continuity-head {
	max-width: 980px;
}

.continuity-flow {
	margin-top: 65px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	position: relative;
}

.continuity-flow article {
	min-height: 260px;
	padding: clamp(28px, 4vw, 48px);
	position: relative;
	z-index: 2;
	border-top: 1px solid var(--field-line);
	border-left: 1px solid var(--field-line);
	background: rgba(255, 253, 248, 0.94);
}

.continuity-flow article:nth-child(even) {
	border-right: 1px solid var(--field-line);
}

.continuity-flow article:nth-child(n + 3) {
	border-bottom: 1px solid var(--field-line);
}

.continuity-flow h3 {
	max-width: 520px;
	margin: 18px 0 0;
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: clamp(30px, 3.5vw, 46px);
	letter-spacing: -0.03em;
	line-height: 0.98;
	text-transform: uppercase;
}

.continuity-flow p {
	max-width: 50ch;
	margin: 15px 0 0;
	color: var(--field-muted);
	font-size: 15px;
	line-height: 1.5;
}

.continuity-flow .smart-panel {
	overflow: hidden;
	background: linear-gradient(145deg, #f3f4f3 0%, #e3e5e4 100%);
	box-shadow: 0 26px 58px rgba(31, 27, 21, 0.16);
}

.smart-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(
		125deg,
		transparent 0 22px,
		rgba(0, 0, 0, 0.018) 22px 23px
	);
	pointer-events: none;
}

.smart-brand {
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	gap: 5px;
	position: relative;
}

.smart-brand img {
	width: 31px;
	height: 31px;
	object-fit: contain;
	margin-right: 4px;
}

.smart-brand strong {
	font-size: 22px;
	line-height: 1;
}

.smart-brand span {
	color: var(--field-gold-deep);
	font-size: 22px;
	font-weight: 600;
	line-height: 1;
}

.smart-ledger {
	margin-top: 22px;
	display: grid;
	grid-template-columns: 10px 1fr 10px 1fr 10px 1fr;
	gap: 8px;
	align-items: center;
}

.smart-ledger i {
	width: 9px;
	height: 9px;
	background: var(--field-green);
	border-radius: 50%;
}

.smart-ledger b {
	font-size: 11px;
	line-height: 1.2;
	text-transform: uppercase;
}

.flow-chevrons {
	position: absolute;
	top: -44px;
	bottom: -44px;
	left: 50%;
	z-index: 1;
	width: 104px;
	transform: translateX(-50%);
	pointer-events: none;
}

.flow-chevrons i {
	position: absolute;
	top: -90px;
	left: 8px;
	width: 88px;
	height: 88px;
	border-right: 17px solid rgba(87, 88, 84, 0.16);
	border-bottom: 17px solid rgba(87, 88, 84, 0.16);
	opacity: 0;
	transform: rotate(45deg);
	animation: flow-down 5.6s linear infinite paused;
}

[data-smart-flow].is-flowing .flow-chevrons i {
	animation-play-state: running;
}

.flow-chevrons i:nth-child(2) {
	animation-delay: 1.12s;
}

.flow-chevrons i:nth-child(3) {
	animation-delay: 2.24s;
}

.flow-chevrons i:nth-child(4) {
	animation-delay: 3.36s;
}

.flow-chevrons i:nth-child(5) {
	animation-delay: 4.48s;
}

@keyframes flow-down {
	0% {
		opacity: 0;
		transform: translateY(0) rotate(45deg);
	}
	12% {
		opacity: 1;
	}
	82% {
		opacity: 0.8;
	}
	100% {
		opacity: 0;
		transform: translateY(570px) rotate(45deg);
	}
}

/* Final CTA */
.final-cta {
	padding-block: clamp(70px, 8vw, 106px);
	background:
		repeating-linear-gradient(
			135deg,
			transparent 0 18px,
			rgba(255, 255, 255, 0.1) 18px 19px
		),
		var(--field-gold);
}

.final-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(400px, 0.82fr);
	gap: clamp(50px, 8vw, 100px);
	align-items: center;
}

.final-cta h2 {
	max-width: 780px;
	color: var(--field-ink);
	font-size: clamp(52px, 6vw, 78px);
}

.final-cta > .shell > div > p {
	max-width: 700px;
	margin: 24px 0 0;
	font-size: 18px;
}

.final-cta aside {
	padding: 28px;
	background: var(--field-white);
	border: 1px solid rgba(143, 110, 58, 0.42);
	box-shadow: 0 20px 42px rgba(31, 27, 21, 0.18);
}

.final-cta aside > strong {
	display: block;
	margin-bottom: 22px;
	font-size: 16px;
	line-height: 1.45;
}

.final-cta aside .button {
	width: 100%;
}

.final-cta aside small {
	display: block;
	margin-top: 12px;
	color: var(--field-muted);
	font-size: 12px;
	line-height: 1.4;
	text-align: center;
}

/* Company and proof */
.company {
	padding-block: clamp(82px, 9vw, 120px);
	background: var(--field-ink);
	color: var(--field-white);
}

.company h2 {
	max-width: 1050px;
	color: var(--field-white);
	font-size: clamp(48px, 6vw, 80px);
}

.company h2 span {
	display: block;
	color: var(--field-gold);
}

.company-grid {
	margin-top: 60px;
	display: grid;
	grid-template-columns: 0.72fr 1.28fr;
	gap: clamp(50px, 8vw, 110px);
}

.company-grid > p {
	max-width: 48ch;
	color: rgba(255, 253, 248, 0.72);
}

.company-grid ul {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	border-left: 1px solid rgba(255, 255, 255, 0.16);
	list-style: none;
}

.company-grid li {
	min-height: 142px;
	padding: 24px;
	border-right: 1px solid rgba(255, 255, 255, 0.16);
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.company-grid li strong {
	display: block;
	margin-bottom: 10px;
	color: var(--field-gold);
	font-size: 14px;
	text-transform: uppercase;
}

.company-grid li span {
	color: rgba(255, 253, 248, 0.65);
	font-size: 13px;
	line-height: 1.45;
}

.client-proof {
	padding-block: clamp(80px, 9vw, 116px);
	background: var(--field-paper-deep);
	position: relative;
}

.client-proof::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 48px;
	height: 32px;
	background: var(--field-ink);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transform: translateX(-50%);
}

.client-proof h2 {
	max-width: 950px;
	font-size: clamp(48px, 6vw, 76px);
}

.client-grid {
	margin-top: 50px;
	display: grid;
	grid-template-columns: 0.78fr 1.22fr;
	gap: 28px;
	align-items: stretch;
}

.logo-wall {
	margin: 0;
	padding: 23px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background: rgba(255, 253, 248, 0.62);
	border: 1px solid rgba(210, 200, 185, 0.75);
	list-style: none;
}

.logo-wall li {
	min-width: 0;
	min-height: 116px;
	padding: 16px;
	display: grid;
	place-items: center;
}

.logo-wall img {
	width: 100%;
	max-width: 150px;
	max-height: 72px;
	object-fit: contain;
}

.testimonial {
	min-width: 0;
	background: var(--field-white);
	border: 1px solid var(--field-line);
	box-shadow: 0 24px 50px rgba(31, 27, 21, 0.14);
}

.testimonial summary {
	min-height: 100%;
	padding: clamp(27px, 4vw, 46px);
	display: grid;
	grid-template-columns: minmax(180px, 0.62fr) minmax(0, 1.38fr);
	grid-template-rows: 1fr auto;
	gap: 28px 38px;
	cursor: pointer;
	list-style: none;
}

.testimonial summary::-webkit-details-marker {
	display: none;
}

.testimonial-identity {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.testimonial-logo {
	width: 150px;
	height: 76px;
	padding: 9px;
	display: grid;
	place-items: center;
	background: #fff;
	border: 1px solid var(--field-line);
}

.testimonial-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.testimonial-service {
	margin-top: 22px;
	color: var(--field-red);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.testimonial-identity > strong {
	margin-top: 6px;
	font-size: 19px;
	line-height: 1.2;
}

.testimonial-identity > small {
	margin-top: 4px;
	color: var(--field-muted);
	font-size: 12px;
}

.testimonial-quote {
	align-self: center;
	font-family: "Barlow Condensed", "Barlow", sans-serif;
	font-size: clamp(30px, 3.2vw, 43px);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.05;
}

.testimonial-toggle {
	grid-column: 1 / -1;
	padding-top: 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	border-top: 1px solid var(--field-line);
	color: var(--field-green);
}

.testimonial-toggle b {
	font-size: 13px;
}

.testimonial-toggle svg {
	transform: rotate(90deg);
	transition: transform 180ms var(--field-ease);
}

.when-open {
	display: none;
}

.testimonial[open] .when-closed {
	display: none;
}

.testimonial[open] .when-open {
	display: inline;
}

.testimonial[open] .testimonial-toggle svg {
	transform: rotate(-90deg);
}

.testimonial-full {
	padding: 0 clamp(27px, 4vw, 46px) clamp(30px, 4vw, 46px);
	border-top: 1px solid var(--field-line);
}

.testimonial-full p {
	max-width: 70ch;
	margin: 22px 0 0;
	color: var(--field-muted);
	font-size: 15px;
	line-height: 1.58;
}

/* FAQ */
.faq {
	background: var(--field-paper);
}

.faq-grid {
	display: grid;
	grid-template-columns: 0.72fr 1.28fr;
	gap: clamp(55px, 8vw, 110px);
	align-items: start;
}

.faq h2 {
	position: sticky;
	top: 34px;
}

.faq-list {
	border-top: 1px solid var(--field-line);
}

.faq details {
	border-bottom: 1px solid var(--field-line);
}

.faq summary {
	min-height: 78px;
	padding: 19px 52px 19px 0;
	display: flex;
	align-items: center;
	position: relative;
	color: var(--field-ink);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	cursor: pointer;
	list-style: none;
}

.faq summary::-webkit-details-marker {
	display: none;
}

.faq summary span::before,
.faq summary span::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 18px;
	height: 2px;
	background: var(--field-red);
	transform: translateY(-50%);
	transition: transform 180ms var(--field-ease);
}

.faq summary span::after {
	transform: translateY(-50%) rotate(90deg);
}

.faq details[open] summary span::after {
	transform: translateY(-50%) rotate(0deg);
}

.faq details p {
	max-width: 68ch;
	margin: -5px 52px 24px 0;
	color: var(--field-muted);
	font-size: 15px;
	line-height: 1.58;
}

/* Footer and floating action */
.site-footer {
	padding-block: 54px 40px;
	background: var(--field-ink);
	color: var(--field-white);
}

.footer-grid {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 36px 70px;
	align-items: center;
}

.footer-grid > img {
	width: 172px;
}

.footer-grid nav {
	display: flex;
	justify-content: flex-end;
	gap: 15px 28px;
	color: rgba(255, 253, 248, 0.72);
	font-size: 13px;
	font-weight: 700;
}

.footer-grid nav a:hover {
	color: var(--field-gold);
}

.footer-grid p {
	grid-column: 1 / -1;
	margin: 0;
	padding-top: 25px;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.11);
	color: rgba(255, 253, 248, 0.5);
	font-size: 12px;
}

.floating-cta {
	position: fixed;
	left: 50%;
	bottom: max(18px, env(safe-area-inset-bottom));
	z-index: 100;
	width: min(360px, calc(100% - 32px));
	transform: translateX(-50%);
}

.floating-cta[hidden] {
	display: none;
}

.floating-cta::before {
	content: "";
	position: absolute;
	inset: -12px;
	z-index: -1;
	background: rgba(67, 192, 118, 0.22);
	border-radius: 15px;
	filter: blur(7px);
	animation: cta-halo 2.4s ease-in-out infinite;
}

.floating-cta .button {
	width: 100%;
	min-height: 58px;
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.25);
}

.floating-cta.is-docked {
	position: absolute;
	bottom: auto;
	top: var(--dock-top);
}

@keyframes cta-halo {
	0%,
	100% {
		opacity: 0.55;
		transform: scale(0.96);
	}
	50% {
		opacity: 1;
		transform: scale(1.04);
	}
}

/* Responsive */
@media (max-width: 1120px) {
	.hero-copy {
		width: min(100% - 48px, 940px);
	}

	.hero-context-panel,
	.equipment-plate,
	.shutdown-brief {
		right: 24px;
	}

	.problem-grid,
	.foundation-grid {
		gap: 54px;
	}

	.scope-grid {
		grid-template-columns: 1fr;
	}

	.scope-intro {
		max-width: 920px;
		position: static;
	}

	.report-sheet {
		max-width: 880px;
	}

	.shutdown-sequence {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 10px;
	}

	.shutdown-sequence b {
		font-size: clamp(21px, 2.2vw, 25px);
	}

	.shutdown-sequence i {
		display: none;
	}
}

@media (max-width: 920px) {
	.shell {
		width: min(100% - 36px, 760px);
	}

	.hero {
		min-height: max(720px, 94svh);
	}

	.hero-copy {
		width: min(100% - 36px, 760px);
		min-height: max(720px, 94svh);
		padding-block: 66px 82px;
	}

	.hero-brand {
		margin-bottom: 32px;
	}

	.hero h1,
	.page-vessels .hero h1 {
		max-width: 760px;
		font-size: clamp(60px, 10vw, 84px);
	}

	.hero-lead {
		max-width: 62ch;
	}

	.proof-inner {
		width: 100%;
	}

	.assessment-grid,
	.problem-grid,
	.foundation-grid,
	.stakes-grid,
	.final-grid,
	.company-grid,
	.client-grid,
	.faq-grid {
		grid-template-columns: 1fr;
	}

	.assessment-grid,
	.problem-grid,
	.foundation-grid,
	.final-grid,
	.company-grid,
	.client-grid,
	.faq-grid {
		gap: 48px;
	}

	.case-form {
		max-width: 700px;
	}

	.service-map-head {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.service-map-grid {
		grid-template-columns: 1fr 1fr;
	}

	.service-map-primary {
		grid-column: 1 / -1;
		min-height: 230px;
	}

	.service-map-link {
		min-height: 240px;
	}

	.problem-grid > :first-child {
		order: 2;
	}

	.problem-copy {
		order: 1;
	}

	.evidence-board,
	.vessel-dossier,
	.boiler-window {
		width: min(100%, 700px);
	}

	.stakes-grid {
		gap: 36px;
	}

	.foundation-grid > :last-child {
		width: min(100%, 650px);
	}

	.route > .shell {
		display: block;
	}

	.route-lead {
		max-width: 680px;
		margin-top: 24px;
	}

	.route-track {
		margin-top: 84px;
		grid-template-columns: 1fr;
		gap: 0;
		padding-left: 40px;
		border-top: 0;
	}

	.route-track::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 12px;
		left: 6px;
		width: 1px;
		background: rgba(255, 255, 255, 0.3);
	}

	.route-track::after {
		top: auto;
		right: auto;
		bottom: 4px;
		left: 2px;
		border-top: 8px solid rgba(255, 255, 255, 0.5);
		border-right: 5px solid transparent;
		border-bottom: 0;
		border-left: 5px solid transparent;
	}

	.route-step {
		min-height: 0;
		padding: 0 0 44px 24px;
	}

	.route-step::before {
		top: 2px;
		left: -39px;
	}

	.route-step[aria-current="step"]::before {
		top: 0;
		left: -41px;
	}

	.route-current {
		top: -57px;
		left: -49px;
	}

	.route-step:last-child {
		padding-bottom: 10px;
	}

	.route-step p {
		max-width: 58ch;
	}

	.continuity-flow {
		grid-template-columns: 1fr;
	}

	.continuity-flow article,
	.continuity-flow article:nth-child(even),
	.continuity-flow article:nth-child(n + 3) {
		border: 1px solid var(--field-line);
		border-bottom: 0;
	}

	.continuity-flow article:last-of-type {
		border-bottom: 1px solid var(--field-line);
	}

	.flow-chevrons {
		left: auto;
		right: 4px;
		transform: none;
	}

	@keyframes flow-down {
		0% {
			opacity: 0;
			transform: translateY(0) rotate(45deg);
		}
		12% {
			opacity: 0.75;
		}
		82% {
			opacity: 0.48;
		}
		100% {
			opacity: 0;
			transform: translateY(930px) rotate(45deg);
		}
	}

	.final-grid aside {
		max-width: 620px;
	}

	.company-grid > p {
		max-width: 62ch;
	}

	.faq h2 {
		position: static;
	}
}

@media (max-width: 640px) {
	body {
		font-size: 17px;
	}

	.shell {
		width: min(100% - 32px, 560px);
	}

	.section {
		padding-block: 68px;
	}

	.button {
		min-height: 54px;
		padding-inline: 18px;
		font-size: 14px;
	}

	.hero {
		min-height: max(720px, 100svh);
	}

	.hero-copy {
		width: min(100% - 32px, 560px);
		min-height: max(720px, 100svh);
		padding-block: 46px 70px;
	}

	.hero-brand {
		width: 148px;
		margin-bottom: 28px;
	}

	.hero-eyebrow {
		margin-bottom: 15px;
		font-size: 10px;
	}

	.hero h1,
	.page-vessels .hero h1 {
		max-width: 100%;
		font-size: clamp(50px, 14.8vw, 68px);
		line-height: 0.9;
	}

	.hero-lead {
		max-width: 44ch;
		margin-block: 24px 25px;
		font-size: 17px;
		line-height: 1.48;
	}

	.hero .button {
		width: 100%;
		min-width: 0;
	}

	.hero-microcopy {
		font-size: 12px;
	}

	.hero-visual::after {
		background:
			linear-gradient(
				180deg,
				rgba(16, 16, 15, 0.42) 0%,
				rgba(16, 16, 15, 0.65) 52%,
				rgba(16, 16, 15, 0.94) 100%
			),
			linear-gradient(90deg, rgba(16, 16, 15, 0.72), rgba(16, 16, 15, 0.16));
	}

	.hero-visual--overview .hero-equipment-photo {
		object-position: center;
	}

	.hero-visual--vessels .hero-equipment-photo {
		object-position: 58% center;
	}

	.hero-visual--boilers .hero-equipment-photo {
		object-position: 58% 45%;
	}

	.hero-context-panel,
	.equipment-plate,
	.shutdown-brief,
	.inspection-target,
	.steam-line {
		display: none;
	}

	.proof-inner {
		min-height: 76px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.proof-fact {
		min-width: 0;
		padding: 12px 5px;
		flex-direction: column;
		gap: 5px;
	}

	.proof-fact strong {
		font-size: clamp(24px, 8vw, 33px);
	}

	.proof-fact span {
		max-width: 108px;
		font-size: 11px;
		line-height: 1.05;
	}

	.assessment-copy h2,
	.problem-copy h2,
	.foundation-copy h2,
	.scope-intro h2,
	.route h2,
	.continuity-head h2,
	.service-map h2 {
		font-size: clamp(40px, 12.5vw, 55px);
	}

	.assessment-copy > p,
	.problem-copy > p,
	.foundation-copy > p,
	.scope-intro > p,
	.route-lead,
	.continuity-head > p {
		margin-top: 22px;
		font-size: 16px;
	}

	.assessment-grid,
	.problem-grid,
	.foundation-grid,
	.final-grid,
	.company-grid,
	.client-grid,
	.faq-grid {
		gap: 40px;
	}

	.form-header {
		padding: 19px 18px;
	}

	.form-header > span {
		display: none;
	}

	.form-body {
		padding: 21px 18px 19px;
	}

	.field-grid {
		grid-template-columns: 1fr;
	}

	.field--full {
		grid-column: auto;
	}

	.service-map {
		padding-block: 64px;
	}

	.service-map-grid {
		grid-template-columns: 1fr;
	}

	.service-map-primary,
	.service-map-link {
		grid-column: auto;
		min-height: 220px;
		border-left: 0;
		border-top: 1px solid var(--field-line);
	}

	.service-map-primary {
		border-top: 0;
	}

	.intent-rail-inner {
		min-height: 0;
		padding-block: 18px;
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.intent-rail nav {
		flex-wrap: wrap;
	}

	.question-list li,
	.foundation-copy > ul li {
		font-size: 15px;
	}

	.evidence-board {
		min-height: 520px;
	}

	.evidence-board--overview {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1.1fr 0.9fr;
	}

	.evidence-board figure:first-child {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.evidence-board .evidence-stamp {
		top: 18px;
		right: -5px;
		font-size: 16px;
	}

	.vessel-dossier figure,
	.boiler-window figure {
		height: 330px;
	}

	.dossier-row {
		grid-template-columns: 90px minmax(0, 1fr);
		padding-inline: 16px;
	}

	.boiler-window-track {
		grid-template-columns: repeat(2, 1fr);
	}

	.boiler-window-track span:nth-child(3) {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.13);
	}

	.boiler-window-track span:nth-child(4) {
		border-top: 1px solid rgba(255, 255, 255, 0.13);
	}

	.stakes {
		padding-block: 58px;
	}

	.stakes h2 {
		font-size: clamp(48px, 14vw, 62px);
	}

	.stakes-list {
		grid-template-columns: 1fr;
	}

	.stake {
		min-height: 0;
		padding: 22px 20px;
	}

	.stake h3 {
		font-size: 24px;
	}

	.equipment-ledger div {
		min-height: 95px;
		padding-inline: 18px;
		gap: 13px;
	}

	.equipment-ledger strong {
		font-size: 23px;
	}

	.equipment-ledger span {
		max-width: 120px;
		font-size: 10px;
	}

	.integrity-orbit {
		width: min(88vw, 430px);
	}

	.orbit-item {
		width: 92px;
		min-height: 56px;
		font-size: 11px;
	}

	.shutdown-sequence {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.shutdown-sequence span {
		min-height: 115px;
	}

	.report-list {
		grid-template-columns: 1fr;
	}

	.report-item {
		min-height: 0;
		padding: 20px 16px;
		border-right: 0 !important;
	}

	.report-sheet > header {
		padding-inline: 17px;
	}

	.report-sheet > header span {
		display: none;
	}

	.route-track {
		margin-top: 78px;
		padding-left: 32px;
	}

	.route-track::before {
		left: 5px;
	}

	.route-track::after {
		left: 1px;
	}

	.route-step {
		padding: 0 0 38px 20px;
	}

	.route-step::before {
		left: -31px;
	}

	.route-step[aria-current="step"]::before {
		left: -33px;
	}

	.route-current {
		top: -55px;
		left: -41px;
	}

	.continuity-flow {
		margin-top: 48px;
	}

	.continuity-flow article {
		min-height: 0;
		padding: 29px 22px;
	}

	.continuity-flow h3 {
		font-size: clamp(32px, 10.5vw, 42px);
	}

	.smart-ledger {
		grid-template-columns: 10px 1fr;
	}

	.final-cta {
		padding-block: 64px;
	}

	.final-cta h2,
	.company h2,
	.client-proof h2 {
		font-size: clamp(45px, 13vw, 61px);
	}

	.final-cta > .shell > div > p {
		font-size: 16px;
	}

	.final-cta aside {
		padding: 22px 19px;
	}

	.company,
	.client-proof {
		padding-block: 70px;
	}

	.company-grid {
		margin-top: 42px;
	}

	.company-grid ul {
		grid-template-columns: 1fr;
	}

	.company-grid li {
		min-height: 0;
		padding: 20px;
	}

	.client-grid {
		margin-top: 38px;
	}

	.logo-wall {
		padding: 10px;
	}

	.logo-wall li {
		min-height: 100px;
		padding: 12px;
	}

	.testimonial summary {
		min-height: 0;
		padding: 24px 20px;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 24px;
	}

	.testimonial-quote {
		font-size: 31px;
	}

	.testimonial-toggle {
		grid-column: auto;
	}

	.testimonial-full {
		padding-inline: 20px;
	}

	.faq summary {
		min-height: 72px;
		padding-right: 42px;
		font-size: 15.2px;
	}

	.faq details p {
		margin-right: 20px;
		font-size: 14px;
	}

	.site-footer {
		padding-bottom: 98px;
	}

	.footer-grid {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.footer-grid nav {
		justify-content: center;
		flex-wrap: wrap;
	}

	.footer-grid p {
		flex-direction: column;
		align-items: center;
	}

	.floating-cta {
		width: min(290px, calc(100% - 30px));
	}

	.floating-cta .button {
		min-height: 56px;
		font-size: 13px;
	}
}

@media (max-width: 380px) {
	.hero h1,
	.page-vessels .hero h1 {
		font-size: 44px;
	}

	.hero-lead {
		font-size: 17px;
	}

	.proof-fact strong {
		font-size: 23px;
	}

	.proof-fact span {
		font-size: 11px;
	}

	.shutdown-brief {
		grid-template-columns: 1fr;
	}

	.shutdown-brief span:nth-child(even) {
		border-right: 0;
	}

	.integrity-orbit {
		width: 92vw;
		transform: scale(0.9);
		transform-origin: center;
	}

	.report-item {
		grid-template-columns: 20px minmax(0, 1fr);
	}

	.report-item > svg {
		width: 20px;
		height: 20px;
	}
}

/* Overview copy-width refinements requested for the broad NR-13 narrative. */
.page-overview .service-map-head {
	max-width: 920px;
	display: block;
}

.page-overview .problem-copy h2,
.page-vessels .problem-copy h2,
.page-boilers .problem-copy h2 {
	width: 100%;
	max-width: none;
	font-size: clamp(40px, 3.7vw, 54px);
	line-height: 0.94;
}

.page-overview .company h2,
.page-vessels .company h2,
.page-boilers .company h2 {
	width: 100%;
	max-width: none;
	font-size: clamp(45px, 5.5vw, 76px);
	text-wrap: balance;
}

@media (min-width: 921px) {
	.page-overview .problem-grid,
	.page-vessels .problem-grid,
	.page-boilers .problem-grid {
		grid-template-columns: minmax(420px, 0.82fr) minmax(0, 1.18fr);
		gap: clamp(48px, 5vw, 72px);
	}

	.route > .shell {
		grid-template-columns: 1fr;
	}

	.route > .shell > h2 {
		max-width: 1020px;
	}

	.route-lead {
		grid-column: 1;
		max-width: 90ch;
		margin-top: 26px;
	}

	.route-track {
		grid-column: 1;
		margin-top: 72px;
	}
}

@media (max-width: 920px) {
	.foundation-overview > h2 {
		font-size: clamp(52px, 9vw, 76px);
	}

	.foundation-overview-body {
		margin-top: 48px;
		padding-bottom: 76px;
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.foundation-overview-context > p {
		max-width: 68ch;
	}
}

@media (max-width: 520px) {
	.foundation-overview > h2 {
		font-size: clamp(44px, 12.4vw, 54px);
		line-height: 0.93;
	}

	.foundation-overview-body {
		margin-top: 36px;
		padding-bottom: 62px;
		gap: 38px;
	}

	.foundation-overview-context > p {
		padding-top: 18px;
		font-size: 16px;
	}

	.foundation-overview-context .technical-note {
		margin-top: 28px;
	}

	.foundation-overview-checklist li {
		padding: 15px 0;
		font-size: 15px;
	}

	.equipment-ticker-set li {
		min-height: 94px;
		padding: 18px 28px;
	}

	.equipment-ticker-set strong {
		font-size: 25px;
	}

	.equipment-ticker-set span {
		font-size: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.flow-chevrons,
	.hero-scan,
	.steam-line {
		display: none;
	}

	.equipment-ticker-track {
		width: 100%;
		transform: none;
		animation: none;
		will-change: auto;
	}

	.equipment-ticker-set:first-child {
		width: 100%;
		flex-wrap: wrap;
	}

	.equipment-ticker-set[aria-hidden="true"] {
		display: none;
	}

	.equipment-ticker-set li {
		min-width: min(100%, 260px);
		flex: 1 1 25%;
		white-space: normal;
	}
}

@media print {
	.floating-cta,
	.hero-scan,
	.flow-chevrons,
	.skip-link {
		display: none !important;
	}

	.hero,
	.foundation,
	.company,
	.site-footer {
		print-color-adjust: exact;
		-webkit-print-color-adjust: exact;
	}

	.scope-intro,
	.faq h2 {
		position: static;
	}
}
