[data-opening] {
	position:relative;
	background-color:var(--ground);
	padding-block:var(--band);
	border-bottom:1px solid var(--line);
}

[data-opening] > :first-child {
	margin-top:0;
}
[data-opening] > :last-child {
	margin-bottom:0;
}

.opening-header-stack {
	display:grid;
	grid-template-columns:1fr;
	gap:1.5rem;
	align-items:baseline;
	margin-bottom:2rem;
}

@media (min-width: 960px) {
	.opening-header-stack {
		grid-template-columns:1.3fr 1fr;
		gap:3rem;
	}
}

.opening-title {
	font-family:var(--kimo-9b3);
	font-size:clamp(2.6rem, 2rem + 3.6vw, 4.5rem);
	line-height:1.04;
	letter-spacing:-0.02em;
	color:var(--ink);
	text-wrap:balance;
	word-break:normal;
	overflow-wrap:break-word;
	max-width:15ch;
}

.opening-lede {

	font-family:var(--kimo-724);
	font-size:var(--kimo-d9f);
	line-height:1.5;
	color:var(--ink);
	max-width:48ch;
}

.opening-meta-row {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:0.75rem 1.5rem;
	padding-top:1.25rem;
	border-top:1px solid var(--line);
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	color:var(--ink-soft);
}

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

.opening-stage-col {
	width:100%;
}

.stage-figure {
	position:relative;
	width:100%;
	aspect-ratio:1 / 1;
	max-height:480px;
	background-color:var(--surface);
	border:1px solid var(--line);
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
}

.stage-figure img[data-model-still] {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:contain;
	padding:1.5rem;
	pointer-events:none;
	z-index:1;
	transition:opacity var(--dur-slow) var(--ease-out);
}

.stage-figure canvas[data-model-canvas] {
	position:absolute;
	inset:0;
	width:100% !important;
	height:100% !important;
	z-index:2;
	cursor:grab;
	touch-action:none;
}

.stage-figure canvas[data-model-canvas]:active {
	cursor:grabbing;
}

.stage-figure[data-model-live] img[data-model-still] {
	opacity:0;
	pointer-events:none;
}

.stage-caption {
	position:absolute;
	bottom:0;
	inset-inline:0;
	padding:0.5rem 0.75rem;
	background-color:rgba(209, 195, 170, 0.94);
	border-top:1px solid var(--line);
	font-family:var(--kimo-a40);
	font-size:11px;
	letter-spacing:0.05em;

	text-transform:uppercase;
	color:var(--ink);
	display:flex;
	justify-content:space-between;
	align-items:center;
	z-index:3;
}

.stage-cue {
	display:inline-flex;
	align-items:center;
	gap:0.35rem;
	color:var(--accent);
	font-weight:700;
}

.first-screen-bleed {
	position:relative;
	width:100%;
	border-bottom:1px solid var(--line);
	background-color:var(--surface);
}

.bleed-frame {
	position:relative;
	width:100%;
	aspect-ratio:3 / 2;
	overflow:hidden;
	background-color:var(--surface-2);
}

@media (min-width: 900px) {
	.bleed-frame {
		aspect-ratio:3 / 2;
	}
}

.bleed-frame img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:left bottom;
	display:block;
}

.bleed-action-anchor {
	position:absolute;
	top:clamp(1rem, 3vw, 2.5rem);
	right:clamp(1rem, 3vw, 2.5rem);
	z-index:5;
	background-color:var(--surface);

	border:1px solid var(--line);
	padding:0.85rem 1.25rem;
	display:flex;
	flex-direction:column;
	gap:0.4rem;
	max-width:280px;
}

.bleed-action-anchor .action-label {
	font-family:var(--kimo-a40);
	font-size:11px;
	text-transform:uppercase;
	letter-spacing:0.06em;
	color:var(--ink-soft);
}

.exchange-run {
	display:flex;
	flex-direction:column;
}

.exchange-unit {
	position:relative;
	padding-block:var(--band);
	border-bottom:1px solid var(--line);
}

.exchange-unit > :first-child {
	margin-top:0;
}
.exchange-unit > :last-child {
	margin-bottom:0;
}

.exchange-unit:nth-child(even) {
	background-color:var(--surface);
}

.exchange-unit:nth-child(odd) {
	background-color:var(--ground);
}

.exchange-layout {
	display:flex;
	flex-direction:column;
	gap:2.5rem;
}

.exchange-inquiry {
	border-left:3px solid var(--line);
	padding-left:clamp(1.25rem, 3vw, 2.25rem);
	max-width:820px;
}

.exchange-inquiry-meta {
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--ink-soft);
	margin-bottom:0.75rem;
	display:flex;
	align-items:center;
	gap:0.5rem;
}

.exchange-inquiry-meta::before {
	content:"";
	display:inline-block;
	width:7px;
	height:7px;
	background-color:var(--ink-soft);
}

.exchange-inquiry-text {
	font-family:var(--kimo-9b3);
	font-size:clamp(1.4rem, 1.2rem + 1vw, 2.1rem);
	line-height:1.25;
	color:var(--ink);
	font-style:italic;
}

.exchange-response {
	border-left:3px solid var(--accent);
	padding-left:clamp(1.25rem, 3vw, 2.25rem);
	display:flex;
	flex-direction:column;
	gap:1.5rem;
}

.exchange-response-meta {
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--accent);
	display:flex;
	align-items:center;
	gap:0.5rem;
	font-weight:700;
}

.exchange-response-meta::before {
	content:"";
	display:inline-block;
	width:7px;
	height:7px;
	background-color:var(--accent);
}

.exchange-response-lead {
	font-family:var(--kimo-724);
	font-size:var(--kimo-d9f);
	font-weight:600;
	line-height:1.45;
	color:var(--ink);
	max-width:65ch;
}

.exchange-prose {
	font-family:var(--kimo-724);
	font-size:var(--kimo-abc);
	line-height:1.65;
	color:var(--ink);
	max-width:65ch;
	display:flex;
	flex-direction:column;
	gap:1.2rem;
}

.exchange-prose p {
	max-width:65ch;
}

.exchange-evidence {
	margin-top:1.5rem;
	width:100%;
	border:1px solid var(--line);
	background-color:var(--surface-2);
}

.exchange-evidence-img {
	width:100%;
	height:auto;
	max-height:560px;
	object-fit:cover;
	display:block;
}

.exchange-evidence-caption {
	padding:0.85rem 1.25rem;
	background-color:var(--surface);
	border-top:1px solid var(--line);
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	color:var(--ink);
	display:flex;
	flex-direction:column;
	gap:0.35rem;
}

@media (min-width: 768px) {
	.exchange-evidence-caption {
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
	}
}

.pinned-deck {
	position:relative;
	background-color:var(--ground);
	border-bottom:1px solid var(--line);
}

.pinned-deck-stage {
	position:sticky;
	top:0;
	min-height:100vh;
	min-height:100svh;
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:1.5rem;
	padding-block:var(--band);
}

.pinned-deck-stage > :first-child {
	margin-top:0;
}
.pinned-deck-stage > :last-child {
	margin-bottom:0;
}

.pinned-progress {
	width:100%;
	height:3px;
	background-color:var(--surface-2);
	margin-bottom:0;
	position:relative;
	overflow:hidden;
}

.pinned-progress-fill {
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:0%;
	background-color:var(--accent);
	transition:width var(--dur-fast) linear;
}

.pinned-scenes-wrapper {
	position:relative;
	flex:1;
	display:grid;
	grid-template-columns:1fr;
	align-items:center;
}

.pinned-scene-card {
	grid-column:1 / -1;
	grid-row:1 / -1;
	opacity:0;
	visibility:hidden;
	transition:opacity var(--dur-base) var(--ease-out),
							visibility var(--dur-base) var(--ease-out);
	background-color:var(--surface);
	border:1px solid var(--ink);
	box-shadow:0 8px 24px rgba(43, 38, 28, 0.08);
	padding:clamp(1.5rem, 4vw, 3rem);
}

.pinned-scene-card.is-active {
	opacity:1;
	visibility:visible;
	z-index:2;
}

.pinned-scene-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:2rem;
}

@media (min-width: 860px) {
	.pinned-scene-grid {
		grid-template-columns:1fr 1.2fr;
		align-items:center;
		gap:3rem;
	}
}

@media (min-width: 1200px) {
	.pinned-deck .container {
		max-width:min(92vw, 1600px);
	}
	.pinned-scene-grid {
		grid-template-columns:0.9fr 1.4fr;
	}
}

.pinned-scene-num {
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	letter-spacing:0.1em;
	color:var(--accent);
	font-weight:700;
	text-transform:uppercase;
	margin-bottom:0.5rem;
}

.pinned-scene-title {
	font-family:var(--kimo-9b3);
	font-size:var(--kimo-6c4);
	line-height:1.15;
	color:var(--ink);
	margin-bottom:1rem;
}

.pinned-scene-detail {
	font-family:var(--kimo-724);
	font-size:var(--kimo-abc);
	line-height:1.6;
	color:var(--ink);
	max-width:55ch;
	margin-bottom:1.5rem;
}

.pinned-scene-stat {
	display:inline-flex;
	flex-direction:column;
	padding:0.85rem 1.25rem;
	background-color:var(--ground);
	border:1px solid var(--ink);
	border-left:4px solid var(--accent);
	font-family:var(--kimo-a40);
}

.pinned-scene-stat-val {
	font-size:var(--kimo-2ca);
	font-weight:700;
	color:var(--ink);
}

.pinned-scene-stat-lbl {
	font-size:11px;
	text-transform:uppercase;
	color:var(--ink-soft);
	letter-spacing:0.05em;
}

.pinned-scene-img {
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	border:1px solid var(--line);
}

@media (prefers-reduced-motion: reduce) {
	.pinned-deck-stage {
		position:static;
		min-height:auto;
	}

	.pinned-scene-card {
		position:static;
		opacity:1 !important;
		visibility:visible !important;
		margin-bottom:2rem;
	}
}

.diagram-section {
	padding-block:var(--band);
	background-color:var(--surface);
	border-bottom:1px solid var(--line);
}

.diagram-section > :first-child {
	margin-top:0;
}
.diagram-section > :last-child {
	margin-bottom:0;
}

.diagram-header {
	margin-bottom:2.5rem;
	max-width:65ch;
}

.diagram-plate {
	position:relative;
	background-color:var(--ground);
	border:1px solid var(--line);
	padding:clamp(1rem, 3vw, 2.5rem);
}

.diagram-frame {
	position:relative;
	width:100%;
	border:1px solid var(--line);
	background-color:var(--surface-2);
	overflow:hidden;
}

.diagram-svg-wrap {
	width:100%;
	aspect-ratio:16 / 10;
	display:block;
}

.diagram-svg {
	width:100%;
	height:100%;
	display:block;
}

.diagram-callouts-list {
	display:grid;
	grid-template-columns:1fr;
	gap:1px;
	background-color:var(--line);
	border:1px solid var(--line);
	margin-top:1.5rem;
}

@media (min-width: 640px) {
	.diagram-callouts-list {
		grid-template-columns:1fr 1fr;
	}
}

@media (min-width: 1024px) {
	.diagram-callouts-list {
		grid-template-columns:repeat(4, 1fr);
	}
}

.diagram-callout-item {
	background-color:var(--surface);
	padding:1rem 1.25rem;
	display:flex;
	flex-direction:column;
	gap:0.4rem;
}

.callout-tag {
	font-family:var(--kimo-a40);
	font-size:11px;
	font-weight:700;
	letter-spacing:0.05em;
	color:var(--accent);
	text-transform:uppercase;
}

.callout-heading {
	font-family:var(--kimo-724);
	font-size:var(--kimo-abc);
	font-weight:600;
	color:var(--ink);
	line-height:1.3;
}

.callout-desc {
	font-family:var(--kimo-724);
	font-size:var(--step--1);
	line-height:1.45;
	color:var(--ink-soft);
}

.tool-section {
	padding-block:var(--band);
	background-color:var(--ground);
	border-bottom:1px solid var(--line);
}

.tool-section > :first-child {
	margin-top:0;
}
.tool-section > :last-child {
	margin-bottom:0;
}

.fit-checker-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:clamp(1.5rem, 4vw, 3rem);
}

.fit-checker-card > p.prose {
	max-width:65ch;
}

.checker-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:2.5rem;
	margin-top:2rem;
}

@media (min-width: 960px) {
	.checker-grid {
		grid-template-columns:1.25fr 0.95fr;
	}
}

.checker-inputs {
	display:flex;
	flex-direction:column;
	gap:1.5rem;
}

.checker-fieldset {
	border:1px solid var(--line);
	padding:1.25rem;
	background-color:var(--surface-2);
}

.checker-legend {
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.05em;
	color:var(--ink);
	padding-inline:0.5rem;
}

.checker-options-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:0.6rem;
	margin-top:0.75rem;
}

@media (min-width: 520px) {
	.checker-options-grid {
		grid-template-columns:1fr 1fr;
	}
}

.checker-option-label {
	display:flex;
	align-items:flex-start;
	gap:0.6rem;
	padding:0.75rem 0.85rem;
	background-color:var(--surface);
	border:1px solid var(--line);
	cursor:pointer;
	transition:background-color var(--dur-fast) var(--ease-out),
							border-color var(--dur-fast) var(--ease-out);
}

.checker-option-label:hover {
	background-color:var(--ground);
	border-color:var(--ink);
}

.checker-radio {
	appearance:none;
	width:18px;
	height:18px;
	border:1px solid var(--line);
	border-radius:50%;
	background-color:var(--surface-2);
	display:grid;
	place-content:center;
	margin-top:2px;
	flex-shrink:0;
}

.checker-radio:checked {
	border-color:var(--accent);
	background-color:var(--accent);
}

.checker-radio:checked::before {
	content:"";
	width:6px;
	height:6px;
	border-radius:50%;
	background-color:#FFF;
}

.checker-radio:focus-visible {
	outline:2px solid var(--ink);
	outline-offset:2px;
}

.checker-option-content {
	display:flex;
	flex-direction:column;
}

.checker-option-title {
	font-family:var(--kimo-724);
	font-size:var(--step--1);
	font-weight:600;
	color:var(--ink);
	line-height:1.3;
}

.checker-option-sub {
	font-family:var(--kimo-a40);
	font-size:11px;
	color:var(--ink-soft);
}

.checker-results-col {
	display:flex;
	flex-direction:column;
	gap:1.5rem;
}

.checker-output-box {
	background-color:var(--surface-2);
	border:2px solid var(--ink);
	padding:1.75rem;
	display:flex;
	flex-direction:column;
	gap:1.25rem;
}

.checker-output-eyebrow {
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--accent);
	font-weight:700;
}

.checker-output-value {
	font-family:var(--kimo-a40);
	font-size:clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem);
	font-weight:700;
	line-height:1.1;
	color:var(--ink);
	letter-spacing:-0.02em;
}

.checker-output-note {
	font-family:var(--kimo-724);
	font-size:var(--kimo-abc);
	line-height:1.5;
	color:var(--ink);
	border-top:1px solid var(--line);
	padding-top:1rem;
}

.checker-status-region {
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	color:var(--ink-soft);
	padding:0.75rem 1rem;
	background-color:var(--surface);
	border:1px solid var(--line);
}

.checker-disclaimer {
	font-family:var(--kimo-a40);
	font-size:11px;
	line-height:1.45;
	color:var(--ink-soft);
	text-transform:uppercase;
	letter-spacing:0.03em;
}

.proof-band {
	padding-block:var(--band);
	background-color:var(--surface);
	border-bottom:1px solid var(--line);
}

.proof-band > :first-child {
	margin-top:0;
}
.proof-band > :last-child {
	margin-bottom:0;
}

.proof-metrics-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:1px;
	background-color:var(--line);
	border:1px solid var(--line);
	margin-top:2rem;
}

@media (min-width: 600px) {
	.proof-metrics-grid {
		grid-template-columns:repeat(3, 1fr);
	}
}

.proof-metric-tile {
	background-color:var(--surface);
	padding:clamp(1.25rem, 3vw, 2rem);
	display:flex;
	flex-direction:column;
	gap:0.5rem;
}

.proof-metric-num {
	font-family:var(--kimo-a40);
	font-size:clamp(2rem, 1.6rem + 1.8vw, 3.25rem);
	font-weight:700;
	line-height:1;
	color:var(--ink);
	letter-spacing:-0.03em;
}

.proof-metric-label {
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	text-transform:uppercase;
	letter-spacing:0.06em;
	color:var(--ink-soft);
}

.proof-metric-text {
	font-family:var(--kimo-724);
	font-size:var(--step--1);
	line-height:1.5;
	color:var(--ink);
}

.catalogue-band {
	padding-block:clamp(3.5rem, 6vw, 6rem);
}

.catalogue-intro {
	margin-bottom:3rem;
	max-width:780px;
}

.catalogue-items-list {
	display:flex;
	flex-direction:column;
	gap:2.5rem;
}

.catalogue-row-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	display:grid;
	grid-template-columns:1fr;
}

@media (min-width: 860px) {
	.catalogue-row-card {
		grid-template-columns:1fr 1.35fr;
	}
}

.catalogue-row-media {
	position:relative;
	width:100%;
	aspect-ratio:16 / 10;
	border-bottom:1px solid var(--line);
	background-color:var(--surface-2);
}

@media (min-width: 860px) {
	.catalogue-row-media {
		border-bottom:0;
		border-right:1px solid var(--line);
		aspect-ratio:auto;
		height:100%;
	}
}

.catalogue-row-media img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.catalogue-row-content {
	padding:clamp(1.5rem, 3vw, 2.5rem);
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:1.5rem;
}

.catalogue-row-header {
	display:flex;
	flex-direction:column;
	gap:0.5rem;
}

.catalogue-item-title {
	font-family:var(--kimo-9b3);
	font-size:var(--kimo-2ca);
	line-height:1.2;
	color:var(--ink);
}

.catalogue-item-price {
	font-family:var(--kimo-a40);
	font-size:var(--kimo-d9f);
	font-weight:700;
	color:var(--accent);
}

.catalogue-item-specs {
	font-family:var(--kimo-724);
	font-size:var(--kimo-abc);
	line-height:1.6;
	color:var(--ink);
}

.catalogue-item-meta {
	display:flex;
	flex-wrap:wrap;
	gap:0.5rem;
	font-family:var(--kimo-a40);
	font-size:11px;
}

.catalogue-item-actions {
	display:flex;
	align-items:center;
	gap:1rem;
	flex-wrap:wrap;
	padding-top:1rem;
	border-top:1px solid var(--line);
}

.contact-layout-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:clamp(2rem, 5vw, 4rem);
	padding-block:clamp(3rem, 6vw, 6rem);
}

@media (min-width: 960px) {
	.contact-layout-grid {
		grid-template-columns:1fr 1.35fr;
	}
}

.contact-info-panel {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:clamp(1.5rem, 4vw, 2.75rem);
	display:flex;
	flex-direction:column;
	gap:2rem;
}

.contact-block {
	display:flex;
	flex-direction:column;
	gap:0.4rem;
}

.contact-block-label {
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--accent);
}

.contact-block-val {
	font-family:var(--kimo-724);
	font-size:var(--kimo-abc);
	line-height:1.5;
	color:var(--ink);
}

.contact-block-val a {
	color:var(--ink);
	text-decoration:underline;
}

.contact-block-val a:hover {
	color:var(--accent);
}

.contact-phone-hero {
	font-family:var(--kimo-a40);
	font-size:clamp(1.5rem, 1.2rem + 1vw, 2.2rem);
	font-weight:700;
	color:var(--ink);
	text-decoration:none !important;
}

.contact-phone-hero:hover {
	color:var(--accent) !important;
}

.contact-form-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:clamp(1.5rem, 4vw, 2.75rem);
}

.contact-form-intro {
	margin-bottom:2rem;
	padding-bottom:1.25rem;
	border-bottom:1px solid var(--line);
}

.contact-vehicle-preview {
	margin-top:1.5rem;
	border:1px solid var(--line);
	background-color:var(--surface-2);
}

.contact-vehicle-preview img {
	width:100%;
	aspect-ratio:16 / 9;
	object-fit:cover;
	display:block;
}

.contact-vehicle-caption {
	padding:0.75rem 1rem;
	font-family:var(--kimo-a40);
	font-size:11px;
	color:var(--ink-soft);
	text-transform:uppercase;
}

.legal-page-header {
	padding-block:clamp(3rem, 5vw, 5rem) clamp(1.5rem, 3vw, 2.5rem);
	border-bottom:1px solid var(--line);
	background-color:var(--surface);
}

.legal-header-meta {
	display:flex;
	flex-wrap:wrap;
	gap:1.25rem;
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	color:var(--ink-soft);
	margin-top:1rem;
}

.legal-controls-bar {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	padding-block:1rem;
	margin-bottom:2rem;
	border-bottom:1px solid var(--line);
}

.legal-ctrl-btn {
	appearance:none;
	background:var(--surface-2);
	border:1px solid var(--line);
	padding:0.5rem 0.95rem;
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.05em;
	color:var(--ink);
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	gap:0.4rem;
	transition:background-color var(--dur-fast) var(--ease-out),
							border-color var(--dur-fast) var(--ease-out);
}

.legal-ctrl-btn:hover {
	background-color:var(--surface);
	border-color:var(--ink);
}

.legal-ctrl-btn:active {
	background-color:var(--line);
}

.legal-ctrl-btn:focus-visible {
	outline:2px solid var(--accent);
	outline-offset:2px;
}

.disclosures-stack {
	display:flex;
	flex-direction:column;
	gap:1rem;
	margin-block:2rem clamp(3rem, 6vw, 6rem);
}

.disclosure-item {
	border:1px solid var(--line);
	background-color:var(--surface);
	transition:border-color var(--dur-fast) var(--ease-out);
}

.disclosure-item[open] {
	border-color:var(--ink);
}

.disclosure-summary {
	list-style:none;
	cursor:pointer;
	padding:1.25rem 1.5rem;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	background-color:var(--surface);
	font-family:var(--kimo-724);
	font-size:var(--kimo-d9f);
	font-weight:600;
	color:var(--ink);
	transition:background-color var(--dur-fast) var(--ease-out);
}

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

.disclosure-summary:hover {
	background-color:var(--surface-2);
}

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

.disclosure-summary-text {
	flex:1;
}

.disclosure-chevron {
	width:20px;
	height:20px;
	color:var(--ink-soft);
	flex-shrink:0;
	transition:transform var(--dur-fast) var(--ease-out);
}

.disclosure-item[open] .disclosure-chevron {
	transform:rotate(180deg);
	color:var(--accent);
}

.disclosure-body {
	padding:1.5rem;
	border-top:1px solid var(--line);
	background-color:var(--ground);
}

.disclosure-body .prose {
	max-width:72ch;
}

.disclosure-tag {
	display:inline-block;
	font-family:var(--kimo-a40);
	font-size:11px;
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--accent);
	font-weight:700;
	margin-bottom:0.5rem;
}

.clause-ledger-wrap {
	margin-block:2rem clamp(3rem, 6vw, 6rem);
}

.ledger-table {
	width:100%;
	border-collapse:collapse;
	background-color:var(--surface);
	border:1px solid var(--line);
	display:table;
}

.ledger-table thead {
	display:table-header-group;
}

.ledger-table tbody {
	display:table-row-group;
}

.ledger-table tr {
	display:table-row;
	border-bottom:1px solid var(--line);
}

.ledger-table th {
	display:table-cell;
	background-color:var(--surface-2);
	padding:1rem 1.25rem;
	text-align:left;
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.06em;
	color:var(--ink);
	border-bottom:1px solid var(--line);
}

.ledger-table td {
	display:table-cell;
	padding:1.25rem;
	vertical-align:top;
	font-family:var(--kimo-724);
	font-size:var(--kimo-abc);
	line-height:1.5;
	color:var(--ink);
}

.ledger-clause-name {
	font-family:var(--kimo-a40);
	font-weight:700;
	font-size:var(--step--1);
	color:var(--ink);
	display:block;
}

.ledger-badge {
	display:inline-block;
	padding:0.2rem 0.5rem;
	font-family:var(--kimo-a40);
	font-size:10px;
	text-transform:uppercase;
	background-color:var(--surface-2);
	border:1px solid var(--line);
	margin-top:0.35rem;
}

.ledger-table a,
.ledger-table code {
	overflow-wrap:anywhere;
	word-break:break-word;
}

@media (max-width: 767px) {
	.ledger-table {
		display:flex;
		flex-direction:column;
		gap:1rem;
		border:none;
		background:transparent;
		width:100%;
		min-width:0;
	}

	.ledger-table thead {
		display:none;
	}

	.ledger-table tbody {
		display:flex;
		flex-direction:column;
		gap:1rem;
		width:100%;
		min-width:0;
	}

	.ledger-table tr {
		display:flex;
		flex-direction:column;
		background-color:var(--surface);
		border:1px solid var(--line);
		padding:1.15rem;
		gap:0.85rem;
		width:100%;
		min-width:0;
	}

	.ledger-table td {
		display:block;
		padding:0;
		border:none;
		min-width:0;
		overflow-wrap:break-word;
	}

	.ledger-table td::before {
		content:attr(data-label);
		display:block;
		font-family:var(--kimo-a40);
		font-size:10px;
		font-weight:700;
		text-transform:uppercase;
		letter-spacing:0.06em;
		color:var(--ink-soft);
		margin-bottom:0.25rem;
	}
}

.tabbed-parts-wrap {
	margin-block:2rem clamp(3rem, 6vw, 6rem);
}

.tab-nav-bar {
	display:flex;
	flex-wrap:wrap;
	gap:1px;
	background-color:var(--line);
	border:1px solid var(--line);
	border-bottom:0;
}

.tab-nav-btn {
	appearance:none;
	background-color:var(--surface-2);
	border:0;
	padding:1rem 1.5rem;
	font-family:var(--kimo-a40);
	font-size:var(--step--1);
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.05em;
	color:var(--ink-soft);
	cursor:pointer;
	flex:1 1 160px;
	text-align:center;
	transition:background-color var(--dur-fast) var(--ease-out),
							color var(--dur-fast) var(--ease-out);
}

.tab-nav-btn:hover {
	background-color:var(--surface);
	color:var(--ink);
}

.tab-nav-btn:focus-visible {
	outline:2px solid var(--accent);
	outline-offset:-2px;
}

.tab-nav-btn[aria-selected='true'] {
	background-color:var(--surface);
	color:var(--accent);
	font-weight:700;
	box-shadow:inset 0 -3px 0 var(--accent);
}

.tab-accordion-trigger {
	display:none;
}

.tab-panel-body {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:clamp(1.5rem, 4vw, 3rem);
	display:none;
}

.tab-panel-body.is-active {
	display:block;
}

@media (max-width: 767px) {
	.tab-nav-bar {
		display:none;
	}

	.tab-accordion-stack {
		display:flex;
		flex-direction:column;
		gap:0.75rem;
	}

	.tab-accordion-item {
		border:1px solid var(--line);
		background-color:var(--surface);
	}

	.tab-accordion-trigger {
		appearance:none;
		width:100%;
		background-color:var(--surface-2);
		border:0;
		padding:1rem 1.15rem;
		font-family:var(--kimo-a40);
		font-size:var(--step--1);
		font-weight:700;
		text-transform:uppercase;
		letter-spacing:0.05em;
		color:var(--ink);
		text-align:left;
		display:flex;
		justify-content:space-between;
		align-items:center;
		gap:0.75rem;
		cursor:pointer;
	}

	.tab-accordion-trigger[aria-expanded='true'] {
		background-color:var(--surface);
		color:var(--accent);
		border-bottom:1px solid var(--line);
	}

	.tab-accordion-trigger[aria-expanded='true'] .disclosure-chevron {
		transform:rotate(180deg);
		color:var(--accent);
	}

	.tab-accordion-trigger:focus-visible {
		outline:2px solid var(--accent);
		outline-offset:-2px;
	}

	.tab-panel-body {
		border:0;
		padding:1.25rem 1rem;
		background-color:var(--surface);
	}
}

.error-page-layout {
	min-height:70vh;
	display:flex;
	align-items:center;
	justify-content:center;
	padding-block:clamp(3rem, 6vw, 6rem);
}

.error-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:clamp(2rem, 5vw, 4rem);
	max-width:680px;
	width:100%;
	display:flex;
	flex-direction:column;
	gap:1.5rem;
	text-align:left;
}

.error-code {
	font-family:var(--kimo-a40);
	font-size:clamp(3.5rem, 3rem + 3vw, 6rem);
	font-weight:700;
	line-height:1;
	color:var(--accent);
	letter-spacing:-0.04em;
}

.error-title {
	font-family:var(--kimo-9b3);
	font-size:var(--kimo-6c4);
	line-height:1.15;
	color:var(--ink);
}

.error-text {
	font-family:var(--kimo-724);
	font-size:var(--kimo-abc);
	line-height:1.6;
	color:var(--ink);
}

.error-actions {
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	margin-top:1rem;
}

/* Boundaries & Dispatch Combined Grid */
.boundaries-dispatch-grid {
	display:grid;
	grid-template-columns:1fr;
	gap:clamp(2rem, 4vw, 3.5rem);
}

@media (min-width: 960px) {
	.boundaries-dispatch-grid {
		grid-template-columns:1.25fr 0.95fr;
		align-items:start;
	}
}

.dispatch-cta-card {
	background-color:var(--surface-2);
	border:1px solid var(--ink);
	padding:clamp(1.5rem, 3vw, 2.5rem);
	display:flex;
	flex-direction:column;
	gap:1rem;
}
