@view-transition {
	navigation:auto;
}


@media (prefers-reduced-motion: no-preference) {
	::view-transition-old(root) { animation:240ms cubic-bezier(0.2, 0, 0, 1) both vt-fade-out; }
	::view-transition-new(root) { animation:280ms cubic-bezier(0.2, 0, 0, 1) both vt-fade-in; }
	[data-5d05ff] { view-transition-name:site-header; }
	.brand-logo { view-transition-name:site-brand-logo; }
	.hero-vt-image { view-transition-name:featured-job-photo; }
}


@keyframes vt-fade-out {
	from { opacity: 1; transform: scale(1); }
	to { opacity: 0; transform: scale(0.995); }
}


@keyframes vt-fade-in {
	from { opacity: 0; transform: scale(1.005); }
	to { opacity: 1; transform: scale(1); }
}


.verb-section {
	padding-top:clamp(2.75rem, 6vw, 5.5rem);
	padding-bottom:clamp(2.75rem, 6vw, 5.5rem);
	position:relative;
	background-color:var(--ground);
}


.verb-section--surface {
	background-color:var(--surface);
	border-top:var(--border-slab);
	border-bottom:var(--border-slab);
}


.verb-section--slab {
	background-color:var(--slab);
	color:var(--ink-light);
	border-top:3px solid var(--hazard-yellow);
	border-bottom:var(--border-slab);
}


.verb-section--slab h1,
.verb-section--slab h2,
.verb-section--slab h3,
.verb-section--slab p,
.verb-section--slab li,
.verb-section--slab strong,
.verb-section--slab code,
.verb-section--slab span,
.verb-section--slab .single-verb { color:var(--ink-light); }


.verb-section--hero {
	padding-top:clamp(3rem, 7vw, 6.5rem);
	padding-bottom:clamp(3rem, 6vw, 5.5rem);
	border-bottom:var(--border-slab);
}


.verb-col {
	width:100%;
	max-width:68ch;
	display:flex;
	flex-direction:column;
}


.verb-col--wide { max-width:82ch; }


.verb-meta-strip {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:0.75rem 1.75rem;
	margin-top:1.5rem;
	padding-top:1.25rem;
	border-top:var(--border-slab);
	font-family:var(--mahi-001);
	font-size:0.92rem;
}


.verb-section--slab .verb-meta-strip {
	border-top-color:rgba(248, 245, 240, 0.2);
	color:var(--ink-light);
}


.verb-meta-item {
	display:inline-flex;
	align-items:center;
	gap:0.45rem;
}


.verb-meta-label {
	text-transform:uppercase;
	font-size:0.78rem;
	letter-spacing:0.05em;
	opacity:0.8;
}


.verb-meta-val { font-weight:600; }


.page-hero {
	background-color:var(--surface);
	border-bottom:var(--border-slab);
	padding-top:clamp(3rem, 6.5vw, 6rem);
	padding-bottom:clamp(2.5rem, 5vw, 4.5rem);
}


.page-hero__breadcrumbs {
	display:flex;
	align-items:center;
	gap:0.5rem;
	font-family:var(--mahi-001);
	font-size:0.82rem;
	text-transform:uppercase;
	letter-spacing:0.06em;
	margin-bottom:1.25rem;
	color:var(--ink);
}


.page-hero__breadcrumbs a {
	text-decoration:none;
	font-weight:600;
	border-bottom:1px solid var(--ink);
	min-height:44px;
	display:inline-flex;
	align-items:center;
}


.page-hero__breadcrumbs a:hover {
	background-color:var(--slab);
	color:var(--ink-light);
	border-bottom-color:var(--slab);
	padding:0 0.35rem;
}


.page-hero__breadcrumbs a:active { background-color:#000; }


.page-hero__breadcrumbs a:focus-visible {
	outline:2px solid var(--slab);
	outline-offset:2px;
}


.page-hero__title { margin-bottom:1rem; }


.page-hero__lead {
	font-size:clamp(1.2rem, 1.9vw, 1.5rem);
	font-weight:500;
	line-height:1.4;
	max-width:64ch;
}


.hero-home {
	position:relative;
	overflow:hidden;
	background-color:var(--ground);
}


@media (min-width: 1024px) {
	.hero-home .shell { position:relative; }
	.hero-home .hero-home__rotator-lockup,
	.hero-home .verb-col { max-width:62ch; }
	.hero-home::after {
		content:"";
		position:absolute;
		top:0;
		right:0;
		width:36%;
		height:100%;
		background-image: 
			repeating-linear-gradient(45deg, rgba(28, 25, 23, 0.04) 0px, rgba(28, 25, 23, 0.04) 1px, transparent 1px, transparent 16px),
			linear-gradient(to left, rgba(28, 25, 23, 0.08), transparent);
		border-left:2px solid rgba(28, 25, 23, 0.12);
		pointer-events:none;
	}
}


.hero-home__rotator-lockup {
	display:flex;
	flex-direction:column;

	gap:0.5rem;
	margin-bottom:1.75rem;
}


.hero-home__preface {
	font-family:var(--mahi-001);
	font-size:clamp(0.95rem, 1.3vw, 1.15rem);
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--slab);
}


.hero-home__title {
	font-family:var(--mahi-9dd);
	font-size:clamp(2.4rem, 6.8vw, 5.2rem);
	line-height:1.02;
	text-transform:uppercase;
	color:var(--ink);
	letter-spacing:-0.03em;
	word-break:break-word;
	overflow-wrap:break-word;
}


.hero-rotator {
	display:inline-block;
	position:relative;
	vertical-align:bottom;
	background-color:var(--slab);
	color:var(--hazard-yellow);
	padding:0 0.4rem;
	border:2px solid var(--slab);
	min-width:4.8ch;
	text-align:center;
	line-height:1;
}


.hero-rotator__slot {
	display:inline-block;
	transition:transform 220ms var(--ease-industrial), opacity 220ms var(--ease-industrial);
}


.hero-home__actions {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:1rem;
	margin-top:2rem;

	margin-bottom:2.25rem;
}


.hero-home__disclosures-strip {
	display:grid;
	grid-template-columns:1fr;
	gap:1rem;
	padding:1.25rem 1.5rem;
	background-color:var(--surface);
	border:var(--border-slab);
	margin-top:2rem;
}


@media (min-width: 640px) {
	.hero-home__disclosures-strip { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}


.hero-disclosure-item {
	display:flex;
	flex-direction:column;
	gap:0.2rem;
	font-family:var(--mahi-001);
}


.hero-disclosure-title {
	font-size:0.78rem;
	font-weight:700;
	letter-spacing:0.06em;
	text-transform:uppercase;
	color:#000;
}


.hero-disclosure-val {
	font-size:1.05rem;
	font-weight:600;
	color:var(--ink);
}


.scrolly-zone {
	position:relative;
	background-color:var(--ground);
	padding:clamp(2.5rem, 5vw, 4.5rem) 0;
}


.scrolly-zone__grid {
	display:grid;
	grid-template-columns:1fr;
	gap:2.5rem;
	align-items:start;
}


@media (min-width: 900px) {
	.scrolly-zone__grid {
		grid-template-columns:0.9fr 1.1fr !important;
		gap:3.5rem;
	}
}


.scrolly-sticky-side { position:relative; }


@media (min-width: 900px) {
	.scrolly-sticky-side {
		position:sticky;
		top:6rem;
	}
}


.scrolly-frame {
	background-color:var(--slab);
	border:var(--border-slab);
	box-shadow:6px 6px 0 var(--slab);
	overflow:hidden;
}


.scrolly-frame__image {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
	display:block;
}


.scrolly-frame__meter {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:0.75rem 1rem;
	background-color:var(--slab);
	color:var(--ink-light);
	border-top:2px solid var(--hazard-yellow);
	font-family:var(--mahi-001);
	font-size:0.82rem;
}


.scrolly-progress-track {
	flex:1;
	height:6px;
	background-color:rgba(248, 245, 240, 0.2);
	margin:0 1rem;
	position:relative;
}


.scrolly-progress-fill {
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:20%;
	background-color:var(--hazard-yellow);
	transition:width 160ms linear;
}


.scrolly-scroll-side {
	display:flex;
	flex-direction:column;
	gap:2.5rem;
}


.scrolly-step {
	background-color:var(--surface);
	border:var(--border-slab);
	padding:clamp(1.25rem, 2.5vw, 2rem);
	transition:border-color var(--dur-rapid) var(--ease-industrial),
							background-color var(--dur-rapid) var(--ease-industrial),
							box-shadow var(--dur-rapid) var(--ease-industrial);
}


.scrolly-step.is-active {
	background-color:#be8332;
	border-color:var(--slab);
	box-shadow:4px 4px 0 var(--slab);
}


.scrolly-step__header {
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;

	justify-content:space-between;
	gap:0.5rem 1rem;
	margin-bottom:0.85rem;
	border-bottom:1px solid var(--slab);
	padding-bottom:0.65rem;
}


.scrolly-step__title {
	font-size:clamp(1.25rem, 2vw, 1.65rem);
	flex:1 1 200px;
}


.scrolly-step__rate {
	font-family:var(--mahi-001);
	font-size:0.95rem;
	font-weight:600;
	color:var(--slab);
	white-space:nowrap;
}


.scrolly-step__body {
	font-size:1.08rem;
	line-height:1.45;
}


.services-catalog {
	display:flex;
	flex-direction:column;
	gap:clamp(3rem, 6vw, 5rem);
	margin-top:2rem;
}


.service-card {
	background-color:var(--surface);
	border:var(--border-slab);
	box-shadow:5px 5px 0 var(--slab);
	overflow:hidden;
}


.service-card__top {
	padding:clamp(1.25rem, 3vw, 2.25rem);
	border-bottom:var(--border-slab);
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	justify-content:space-between;
	gap:1.25rem;
}


.service-card__title { font-size:clamp(1.75rem, 3.8vw, 2.8rem); }


.service-card__rate {
	font-family:var(--mahi-001);
	font-size:clamp(1.15rem, 2vw, 1.55rem);
	font-weight:600;
	padding:0.4rem 0.9rem;
	background-color:var(--slab);
	color:var(--hazard-yellow);
}


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


@media (min-width: 860px) {
	.service-card__grid { grid-template-columns:1.15fr 0.85fr; }
}


.service-card__content {
	padding:clamp(1.25rem, 3vw, 2.25rem);
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:1.5rem;
}


.service-card__media {
	border-top:var(--border-slab);
	background-color:var(--slab);
}


@media (min-width: 860px) {
	.service-card__media {
		border-top:none;
		border-left:var(--border-slab);
	}
}


.service-card__img {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
	display:block;
}


.service-specs-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:0.85rem;
	margin-top:1rem;
	padding-top:1rem;
	border-top:1px solid var(--slab);
}


@media (min-width: 520px) {
	.service-specs-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}


.service-spec-item {
	display:flex;
	flex-direction:column;
	gap:0.15rem;
	font-family:var(--mahi-001);
}


.service-spec-key {
	font-size:0.78rem;
	text-transform:uppercase;
	letter-spacing:0.05em;
	opacity:0.8;
}


.service-spec-val {
	font-size:0.96rem;
	font-weight:600;
}


.service-variables-box {
	background-color:rgba(28, 25, 23, 0.08);
	border:1px solid var(--slab);
	padding:1rem 1.25rem;
	font-family:var(--mahi-001);
	font-size:0.88rem;
	line-height:1.45;
}


.service-variables-box strong {
	display:block;
	text-transform:uppercase;
	letter-spacing:0.05em;
	margin-bottom:0.35rem;
	color:var(--slab);
}


.dossier-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:2.5rem;
	align-items:start;
}


@media (min-width: 860px) {
	.dossier-grid { grid-template-columns:0.85fr 1.15fr; }
}


.dossier-photo-card {
	background-color:var(--slab);
	border:var(--border-slab);
	box-shadow:6px 6px 0 var(--slab);
}


.dossier-photo {
	width:100%;
	height:clamp(340px, 45vw, 520px);
	object-fit:cover;
	display:block;
}


.dossier-caption {
	padding:0.85rem 1.25rem;
	background-color:var(--slab);
	color:var(--ink-light);
	font-family:var(--mahi-001);
	font-size:0.85rem;
	border-top:1px solid rgba(248, 245, 240, 0.2);
}


.dossier-content {
	display:flex;
	flex-direction:column;
	gap:1.5rem;
}


.proof-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:1.25rem;
	margin:2rem 0;
}


@media (min-width: 640px) {
	.proof-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}


.proof-card {
	background-color:var(--surface);
	border:var(--border-slab);
	padding:1.25rem;
	display:flex;
	flex-direction:column;
	gap:0.5rem;
}


.proof-card__title {
	font-family:var(--mahi-001);
	font-size:0.85rem;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.05em;
	color:#000;
	display:flex;
	align-items:center;
	gap:0.4rem;
}


.proof-card__title .icon {
	width:1.15em;
	height:1.15em;
}


.proof-card__val {
	font-size:1.1rem;
	font-weight:600;
	color:var(--ink);
}


.proof-card__desc {
	font-size:0.95rem;
	color:var(--ink);
	line-height:1.4;
}


.tool-inventory-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:1rem;
	margin-top:1.5rem;
}


@media (min-width: 640px) {
	.tool-inventory-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}


@media (min-width: 960px) {
	.tool-inventory-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); }
}


.tool-card {
	background-color:var(--surface);
	border:var(--border-slab);
	padding:1.15rem;
}


.tool-card__category {
	font-family:var(--mahi-001);
	font-size:0.78rem;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.06em;
	color:#000;
	margin-bottom:0.4rem;
}


.tool-card__items {
	font-family:var(--mahi-47f);
	font-size:1.05rem;
	line-height:1.35;
}


.warranty-callout {
	background-color:var(--slab);
	color:var(--ink-light);
	border:3px solid var(--hazard-yellow);
	padding:clamp(1.5rem, 3.5vw, 2.75rem);
	margin:2.5rem 0;
}


.warranty-callout h3 {
	color:var(--hazard-yellow);
	margin-bottom:0.75rem;
}


.warranty-callout p {
	color:var(--ink-light);
	max-width:68ch;
}


.dispatch-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:2.5rem;
	align-items:start;
}


@media (min-width: 860px) {
	.dispatch-grid { grid-template-columns:1.15fr 0.85fr; }
}


.dispatch-desk {
	background-color:var(--surface);
	border:var(--border-slab);
	box-shadow:6px 6px 0 var(--slab);
	padding:clamp(1.5rem, 3.5vw, 2.75rem);
}


.dispatch-desk__header {
	border-bottom:var(--border-slab);
	padding-bottom:1.25rem;
	margin-bottom:1.75rem;
}


.dispatch-sidecar {
	display:flex;
	flex-direction:column;
	gap:1.75rem;
}


.dispatch-card {
	background-color:var(--surface);
	border:var(--border-slab);
	padding:1.5rem;
}


.dispatch-card--dark {
	background-color:var(--slab);
	color:var(--ink-light);
	border-color:var(--slab);
}


.dispatch-card--dark p,
.dispatch-card--dark h3,
.dispatch-card--dark h4,
.dispatch-card--dark strong,
.dispatch-card--dark span { color:var(--ink-light); }


.dispatch-contact-list {
	display:flex;
	flex-direction:column;
	gap:1rem;
	margin-top:1rem;
}


.dispatch-contact-item {
	display:flex;
	flex-direction:column;
	gap:0.2rem;
	font-family:var(--mahi-001);
}


.dispatch-contact-label {
	font-size:0.78rem;
	text-transform:uppercase;
	letter-spacing:0.05em;
	opacity:0.8;
}


.dispatch-contact-value {
	font-size:1.15rem;
	font-weight:600;
	text-decoration:none;
	min-height:44px;
	display:inline-flex;
	align-items:center;
}


.dispatch-contact-value:hover { text-decoration:underline; }


.dispatch-card--dark .dispatch-contact-value { color:var(--hazard-yellow); }


.clause-ledger-wrap {
	margin:2rem 0;
	border:var(--border-slab);
	background-color:#f8f5f0;
	box-shadow:5px 5px 0 var(--slab);
	overflow:hidden;
}


.clause-ledger {
	width:100%;
	border-collapse:collapse;
	font-family:var(--mahi-001);
	font-size:0.92rem;
	text-align:left;
}


.clause-ledger th {
	background-color:var(--slab);
	color:var(--ink-light);
	padding:1rem 1.25rem;
	font-weight:600;
	letter-spacing:0.06em;
	text-transform:uppercase;
	border-bottom:2px solid var(--hazard-yellow);
	border-right:1px solid rgba(248, 245, 240, 0.2);
}


.clause-ledger th:last-child { border-right:none; }


.clause-ledger td {
	padding:1.15rem 1.25rem;
	border-bottom:1px solid var(--slab);
	border-right:1px solid var(--slab);
	vertical-align:top;
	line-height:1.45;
	color:var(--ink);
}


.clause-ledger td:last-child { border-right:none; }


.clause-ledger tbody tr:nth-child(even) { background-color:rgba(28, 25, 23, 0.05); }


.clause-ledger tbody tr:hover { background-color:rgba(28, 25, 23, 0.1); }


.clause-id {
	font-weight:700;
	color:var(--slab);
	white-space:nowrap;
}


@media (max-width: 767px) {
	.clause-ledger-wrap {
		border:none;
		background:transparent;
		box-shadow:none;
		overflow:visible;
	}


	.clause-ledger,
	.clause-ledger thead,
	.clause-ledger tbody,
	.clause-ledger th,
	.clause-ledger td,
	.clause-ledger tr {
		display:block;
		width:100%;
	}


	.clause-ledger thead { display:none; }


	.clause-ledger tbody tr {
		background-color:#f8f5f0;
		border:var(--border-slab);
		box-shadow:4px 4px 0 var(--slab);
		margin-bottom:1.25rem;
		padding:1rem;
	}


	.clause-ledger td {
		padding:0.65rem 0;
		border-right:none;
		border-bottom:1px solid rgba(28, 25, 23, 0.2);
		display:flex;
		flex-direction:column;
		gap:0.25rem;
	}


	.clause-ledger td:last-child { border-bottom:none; }


	.clause-ledger td::before {
		content:attr(data-label);
		font-size:0.75rem;
		font-weight:700;
		letter-spacing:0.06em;
		text-transform:uppercase;
		color:var(--slab);
		opacity:0.85;
	}
}


.ad-param-strip {
	display:grid;
	grid-template-columns:1fr;
	gap:1rem;
	margin:1.5rem 0;
}


@media (min-width: 640px) {
	.ad-param-strip { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}


.ad-param-card {
	background-color:var(--slab);
	color:var(--ink-light);
	padding:1.15rem;
	border-left:4px solid var(--hazard-yellow);
	font-family:var(--mahi-001);
}


.ad-param-card__network {
	font-size:0.82rem;
	text-transform:uppercase;
	color:var(--hazard-yellow);
	margin-bottom:0.35rem;
}


.ad-param-card__key {
	font-size:1.15rem;
	font-weight:700;
	color:#fff;
}


.ad-param-card__desc {
	font-size:0.85rem;
	line-height:1.35;
	opacity:0.85;
	margin-top:0.35rem;
}


.statute-container {
	margin:2rem 0;
	background-color:var(--surface);
	border:var(--border-slab);
	box-shadow:6px 6px 0 var(--slab);
	padding:clamp(1.5rem, 3.5vw, 3rem);
}


.statute-columns {
	display:grid;
	grid-template-columns:1fr;
	gap:2rem;
	position:relative;
}


@media (min-width: 860px) {
	.statute-columns {
		grid-template-columns:1fr 1fr;
		gap:3.5rem;
	}


	.statute-columns::after {
		content:"";
		position:absolute;
		top:0;
		bottom:0;
		left:50%;
		width:2px;
		background-color:var(--slab);
		transform:translateX(-50%);
	}
}


.statute-col {
	display:flex;
	flex-direction:column;
	gap:1.75rem;
}


.statute-section {
	display:flex;
	flex-direction:column;
	gap:0.65rem;
}


.statute-runin {
	font-family:var(--mahi-001);
	font-size:0.88rem;
	font-weight:700;
	letter-spacing:0.06em;
	text-transform:uppercase;
	color:#000;
	display:inline;
	margin-right:0.45rem;
}


.statute-runin::after {
	content:" §";
	color:var(--accent);
}


.statute-text {
	display:inline;
	font-size:1.05rem;
	line-height:1.45;
}


.statute-table-wrap {
	grid-column:1 / -1;
	margin-top:1rem;
	border-top:var(--border-slab);
	padding-top:1.5rem;
}


.disclosure-stack {
	display:flex;
	flex-direction:column;
	gap:1rem;
	margin:2rem 0;
}


.disclosure-toolbar {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	padding:0.85rem 1.25rem;
	background-color:var(--slab);
	color:var(--ink-light);
	border:var(--border-slab);
	font-family:var(--mahi-001);
	font-size:0.85rem;
}


.disclosure-actions {
	display:flex;
	gap:0.75rem;
	flex-wrap:wrap;
}


.disclosure-btn {
	background:transparent;
	color:var(--ink-light);
	border:1px solid rgba(248, 245, 240, 0.4);
	padding:0.4rem 0.85rem;
	font-family:var(--mahi-001);
	font-size:0.8rem;
	text-transform:uppercase;
	letter-spacing:0.04em;
	min-height:44px;
	cursor:pointer;
	outline:none;
	transition:background-color var(--dur-rapid) var(--ease-industrial),
							color var(--dur-rapid) var(--ease-industrial);
}


.disclosure-btn:hover {
	background-color:var(--hazard-yellow);
	color:var(--slab);
	border-color:var(--hazard-yellow);
}


.disclosure-btn:active { background-color:#fff; }


.disclosure-btn:focus-visible {
	outline:2px solid var(--hazard-yellow);
	outline-offset:2px;
}


.disclosure-block {
	background-color:var(--surface);
	border:var(--border-slab);
	box-shadow:4px 4px 0 var(--slab);
	transition:box-shadow var(--dur-rapid) var(--ease-industrial);
}


.disclosure-block[open] { box-shadow:6px 6px 0 var(--slab); }


.disclosure-summary {
	padding:1.15rem 1.4rem;
	cursor:pointer;
	list-style:none;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	user-select:none;
	font-family:var(--mahi-47f);
	font-size:clamp(1.15rem, 1.8vw, 1.35rem);
	font-weight:700;
	line-height:1.3;
	color:var(--ink);
	outline:none;
	min-height:48px;
	transition:background-color var(--dur-rapid) var(--ease-industrial);
}


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


.disclosure-summary:hover { background-color:rgba(28, 25, 23, 0.08); }


.disclosure-summary:active { background-color:rgba(28, 25, 23, 0.16); }


.disclosure-summary:focus-visible {
	outline:3px solid var(--slab);
	outline-offset:-3px;
}


.disclosure-icon {
	width:1.5rem;
	height:1.5rem;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--slab);
	background-color:var(--slab);
	color:var(--ink-light);
	flex-shrink:0;
	transition:transform var(--dur-moderate) var(--ease-industrial);
}


.disclosure-block[open] .disclosure-icon {
	transform:rotate(180deg);
	background-color:var(--hazard-yellow);
	color:var(--slab);
}


.disclosure-body {
	padding:0 1.4rem 1.4rem 1.4rem;
	border-top:1px solid var(--slab);
	margin-top:0.25rem;
	padding-top:1.25rem;
	font-size:1.08rem;
	line-height:1.5;
}


.disclosure-body p + p { margin-top:0.85rem; }


.faq-group {
	display:flex;
	flex-direction:column;
	gap:1rem;
	margin:2rem 0;
}


.faq-item {
	background-color:var(--surface);
	border:var(--border-slab);
}


.faq-trigger {
	width:100%;
	padding:1rem 1.25rem;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	font-family:var(--mahi-9dd);
	font-size:clamp(1.1rem, 1.8vw, 1.35rem);
	text-transform:uppercase;
	color:var(--ink);
	cursor:pointer;
	min-height:48px;
	outline:none;
	transition:background-color var(--dur-rapid) var(--ease-industrial);
}


.faq-trigger:hover { background-color:rgba(28, 25, 23, 0.08); }


.faq-trigger:active { background-color:rgba(28, 25, 23, 0.16); }


.faq-trigger:focus-visible {
	outline:2px solid var(--slab);
	outline-offset:-2px;
}


.faq-panel {
	padding:0 1.25rem 1.25rem 1.25rem;
	border-top:1px solid var(--slab);
	padding-top:1rem;
	font-size:1.08rem;
	line-height:1.5;
}


.error-scene {
	padding:clamp(3.5rem, 8vw, 7rem) 0;
	text-align:center;
	display:flex;
	flex-direction:column;
	align-items:center;
}


.error-code {
	font-family:var(--mahi-9dd);
	font-size:clamp(4.5rem, 14vw, 11rem);
	line-height:0.9;
	color:var(--slab);
	letter-spacing:-0.04em;
	margin-bottom:1rem;
}


.error-title {
	font-size:clamp(1.5rem, 3.5vw, 2.5rem);
	margin-bottom:1rem;
}


.error-lead {
	font-size:1.25rem;
	max-width:52ch;
	margin-bottom:2rem;
}


.error-actions {
	display:flex;
	gap:1rem;
	flex-wrap:wrap;
	justify-content:center;
}


@media print {
	body {
		background-color:#fff !important;
		color:#000 !important;
	}
	.site-header,
	.site-footer,
	.cookie-banner,
	.chat-widget,
	.hazard-bar,
	.menu-trigger,
	.disclosure-toolbar { display:none !important; }
	.disclosure-block {
		box-shadow:none !important;
		border:1px solid #000 !important;
		break-inside:avoid;
		margin-bottom:1.5rem;
	}
	.disclosure-block details,
	.disclosure-block[open] { display:block !important; }
	.disclosure-body { display:block !important; }
	.clause-ledger th,
	.clause-ledger td { border:1px solid #000 !important; }
	a {
		color:#000 !important;
		text-decoration:underline !important;
	}
}
