.hero-opening {
	position:relative;
	width:100%;
	min-height:calc(100vh - var(--header-height));
	min-height:calc(100svh - var(--header-height));
	display:flex;
	flex-direction:column;
	justify-content:stretch;
	padding:0;
	overflow:hidden;
	border-bottom:1px solid var(--line);
	background-color:var(--ground);
}

.hero-opening__split {
	display:grid;
	grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr);
	align-items:stretch;
	flex-grow:1;
	width:100%;
	min-height:calc(100vh - var(--header-height));
	min-height:calc(100svh - var(--header-height));
}

@media (max-width: 960px) {
	.hero-opening {
		min-height:auto;

		padding:0;
	}

	.hero-opening__split {
		display:flex;
		flex-direction:column;
		width:100%;
		min-height:auto;
	}

	.hero-opening {
		min-height:100vh;
		min-height:100svh;
	}
}

.hero-opening__content {
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	padding-top:var(--space-xl);
	padding-bottom:var(--space-xl);
	padding-left:max(var(--container-pad), calc((100vw - var(--container-max)) / 2 + var(--container-pad)));
	padding-right:clamp(1.5rem, 3vw, var(--space-xl));
	max-width:var(--reading-max);
	z-index:2;
}

@media (max-width: 960px) {
	.hero-opening__content {
		order:2;
		padding-top:var(--space-lg);
		padding-bottom:calc(var(--space-xl) + 64px);
		padding-left:var(--container-pad);
		padding-right:var(--container-pad);
		max-width:100%;
	}
}

.hero-opening__kicker {
	display:inline-flex;
	align-items:center;
	gap:var(--space-2xs);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	font-weight:600;
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--ink-soft);
	margin-bottom:var(--space-sm);
	padding:0.25rem 0.6rem;
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
}

.hero-opening__title {
	font-family:var(--japa-3da);
	font-size:var(--font-size-hero);
	font-weight:700;
	line-height:var(--line-height-tight);
	color:var(--ink);
	letter-spacing:var(--tracking-tight);
	margin-bottom:var(--space-sm);
	text-wrap:balance;
	word-break:keep-all;
	overflow-wrap:normal;
	hyphens:none;
}

.hero-opening__lede {
	font-family:var(--japa-7e1);
	font-size:var(--font-size-md);
	line-height:var(--line-height-snug);
	color:var(--ink-soft);
	max-width:var(--reading-max);
	margin-bottom:var(--space-md);
}

.hero-scene,
[data-scene="scroll-scene"] {
	width:100%;
	max-width:520px;
	margin-bottom:var(--space-md);
	display:flex;
	flex-direction:column;
	gap:var(--space-xs);
	animation-timeline:view();
}

[data-scene] { animation-timeline:view(); }

.hero-rule,
[data-scene="rule"] {
	width:100%;
	animation-timeline:view();
}

.hero-rule__track {
	position:relative;
	width:100%;
	height:8px;
	display:flex;
	align-items:center;
}

.hero-rule__line,
[data-scene="rule-line"] {
	width:100%;
	height:2px;
	background-color:var(--accent);
	transform-origin:left center;
	animation-timeline:view();
}

.hero-rule__marker {
	position:absolute;
	width:6px;
	height:6px;
	background-color:var(--ink);
	border-radius:50%;
	top:50%;
	transform:translateY(-50%);
}

.hero-rule__marker--start { left: 0; }
.hero-rule__marker--end { right: 0; }

.hero-figure,
[data-scene="figure"] {
	width:100%;
	animation-timeline:view();
}

.hero-figure__stack,
[data-scene="stack"] {
	display:flex;
	align-items:center;
	gap:var(--space-xs);
	flex-wrap:wrap;
	animation-timeline:view();
}

.hero-spec-chip {
	display:inline-flex;
	align-items:center;
	gap:0.35rem;
	padding:0.25rem 0.55rem;
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	color:var(--ink);
	animation-timeline:view();
}

.hero-spec-chip__id {
	color:var(--accent);
	font-weight:600;
}

.hero-spec-chip__label { color:var(--ink-soft); }

.hero-opening__action {
	display:flex;
	align-items:center;
	gap:var(--space-md);
	flex-wrap:wrap;
}

.hero-opening__meta {
	margin-top:var(--space-md);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	color:var(--ink-soft);
	letter-spacing:var(--tracking-caps);
}

.hero-opening__visual {
	position:relative;
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	margin:0;
	padding:0;
	border:none;
	box-shadow:none;
	overflow:hidden;
	background-color:var(--surface);
	align-self:center;
}

.hero-opening__visual picture {
	display:block;
	width:100%;
	height:100%;
}

@media (min-width: 961px) {
	.hero-opening__visual { aspect-ratio:3 / 2; }
}

@media (max-width: 960px) {
	.hero-opening__visual {
		order:1;
		width:100%;
		aspect-ratio:3 / 2;
		min-height:unset;
		height:auto;
	}
}

.hero-opening__img {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
	object-position:57% 20%;
	display:block;
}

@media (max-width: 960px) {
	.hero-opening__img {
		aspect-ratio:3 / 2;
		object-position:57% 20%;
	}
}

@supports (animation-timeline: view()) {
	@keyframes hero-rule-draw {
		0% {
			transform:scaleX(0.2);
			opacity:0.5;
		}
		100% {
			transform:scaleX(1);
			opacity:1;
		}
	}

	@keyframes hero-stack-fan {
		0% {
			transform:translateY(14px);
			gap:0.2rem;
		}
		100% {
			transform:translateY(0);
			gap:var(--space-xs);
		}
	}

	@keyframes hero-chip-assemble {
		0% {
			transform:translateY(8px);
			opacity:0.7;
		}
		100% {
			transform:translateY(0);

			opacity:1;
		}
	}

	[data-scene="rule"] .hero-rule__line,
	[data-scene="rule-line"] {
		animation:hero-rule-draw linear both;
		animation-timeline:view();
		animation-range:entry 0% cover 40%;
	}

	[data-scene="stack"],
	.hero-figure__stack[data-scene] {
		animation:hero-stack-fan linear both;
		animation-timeline:view();
		animation-range:entry 0% cover 35%;
	}

	[data-scene="chip-1"] {
		animation:hero-chip-assemble linear both;
		animation-timeline:view();
		animation-range:entry 0% cover 25%;
	}

	[data-scene="chip-2"] {
		animation:hero-chip-assemble linear both;
		animation-timeline:view();
		animation-range:entry 0% cover 32%;
	}

	[data-scene="chip-3"] {
		animation:hero-chip-assemble linear both;
		animation-timeline:view();
		animation-range:entry 0% cover 40%;
	}
}

.section-verb {
	position:relative;
	padding-top:var(--space-xl);
	padding-bottom:var(--space-xl);
	border-bottom:1px solid var(--line);

}

.section-verb--alt { background-color:var(--surface); }

.verb-opener { margin-bottom:var(--space-lg); }

.verb-title {
	font-family:var(--japa-3da);
	font-size:var(--font-size-2xl);
	font-weight:700;
	line-height:1.05;
	letter-spacing:var(--tracking-tight);
	color:var(--ink);
	margin-bottom:var(--space-md);
	text-transform:none;
}

.verb-lede {
	font-size:var(--font-size-md);
	line-height:var(--line-height-snug);
	color:var(--ink-soft);
	max-width:var(--reading-max);
	margin-bottom:var(--space-md);
}

.verb-prose {
	font-size:var(--font-size-base);
	line-height:var(--line-height-body);
	color:var(--ink);
	max-width:var(--reading-max);
}

.verb-prose p + p { margin-top:var(--space-sm); }

.verb-actions {
	margin-top:var(--space-md);
	display:flex;
	align-items:center;
	gap:var(--space-md);
	flex-wrap:wrap;
}

.band-photo {
	position:relative;
	width:100%;
	border-top:1px solid var(--line);
	border-bottom:1px solid var(--line);
	background-color:var(--surface);
	overflow:hidden;
}

.band-photo--bleed {
	margin-top:0;
	margin-bottom:0;
	height:auto;
	aspect-ratio:16 / 9;
}

.band-photo--contained {
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
	margin-top:var(--space-xl);
	margin-bottom:var(--space-xl);
	height:auto;
	aspect-ratio:16 / 9;
}

.band-photo--tall {
	height:auto;
	aspect-ratio:16 / 9;
}

.band-photo__img {
	width:100%;
	height:auto;
	aspect-ratio:16 / 9;
	object-fit:cover;
	object-position:center center;
	display:block;
}

.band-photo__caption {
	position:absolute;
	bottom:var(--space-md);
	left:var(--space-md);
	max-width:min(440px, calc(100vw - 3rem));
	background-color:rgba(232, 223, 208, 0.94);
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
	border:1px solid var(--line);
	padding:var(--space-xs) var(--space-sm);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	color:var(--ink);
	box-shadow:var(--shadow-sm);
}

.band-photo__caption-title {
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:var(--tracking-caps);
	color:var(--ink);
	margin-bottom:2px;
}

.band-photo__caption-meta {
	color:var(--ink-soft);
	line-height:var(--line-height-snug);
}

.plate-diagram {
	position:relative;
	width:100%;
	background-color:#dfd4c3;
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
	padding:var(--space-md);
	box-shadow:inset 0 0 0 1px rgba(167, 156, 138, 0.5);
	margin-top:var(--space-md);
	margin-bottom:var(--space-md);
	overflow-x:auto;
}

.plate-header {
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-xs);
	margin-bottom:var(--space-md);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	color:var(--ink-soft);
	text-transform:uppercase;
	letter-spacing:var(--tracking-caps);
}

.plate-title {
	font-weight:600;
	color:var(--ink);
}

.plate-canvas {
	position:relative;
	min-width:640px;
	background-color:var(--ground);
	border:1px dashed var(--line);
	padding:var(--space-lg);
	box-sizing:border-box;
}

.plate-grid-bg {
	position:absolute;
	inset:0;
	background-size:24px 24px;
	background-image: 
		linear-gradient(to right, rgba(167, 156, 138, 0.18) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(167, 156, 138, 0.18) 1px, transparent 1px);
	pointer-events:none;
}

.plate-blocks {
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:minmax(0, 1fr) 80px minmax(0, 1fr);
	gap:var(--space-sm);
	align-items:center;
}

.plate-box {
	background-color:var(--surface);
	border:1px solid var(--ink);
	padding:var(--space-sm);
	position:relative;
}

.plate-box__tag {
	font-family:var(--japa-37d);
	font-size:0.7rem;
	font-weight:600;
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--accent);
	margin-bottom:4px;
}

.plate-box__name {
	font-family:var(--japa-3da);
	font-size:var(--font-size-sm);
	font-weight:700;
	color:var(--ink);
	margin-bottom:var(--space-2xs);
}

.plate-box__spec {
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	color:var(--ink-soft);
	line-height:var(--line-height-snug);
}

.plate-bus {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	position:relative;
}

.plate-bus__line {
	width:100%;
	height:2px;
	background-color:var(--accent);
	position:relative;
}

.plate-bus__line::before,
.plate-bus__line::after {
	content:"";
	position:absolute;
	top:-4px;
	width:10px;
	height:10px;
	background-color:var(--accent);
	border-radius:50%;
}

.plate-bus__line::before { left: -2px; }
.plate-bus__line::after { right: -2px; }

.plate-bus__label {
	font-family:var(--japa-37d);
	font-size:0.65rem;
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--accent);
	font-weight:600;
	margin-top:6px;
	text-align:center;
}

.plate-callout {
	position:relative;
	margin-top:var(--space-md);
	padding-top:var(--space-sm);
	border-top:1px solid var(--line);
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:var(--space-md);
	z-index:2;
}

.plate-callout__item {
	display:flex;
	align-items:flex-start;
	gap:var(--space-xs);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	color:var(--ink);
}

.plate-callout__pin {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:20px;
	height:20px;
	background-color:var(--accent);
	color:var(--accent-ink);
	font-weight:600;
	border-radius:50%;
	flex-shrink:0;
	font-size:0.65rem;
}

.plate-callout__text strong {
	display:block;
	color:var(--ink);
	margin-bottom:2px;
}

.plate-callout__text span {
	color:var(--ink-soft);
	line-height:var(--line-height-snug);
	display:block;
}

.trace-pipeline {
	position:relative;
	width:100%;
	margin-top:var(--space-lg);
	margin-bottom:var(--space-lg);
	padding:var(--space-md);
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
}

.trace-pipeline__header {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-xs);
	margin-bottom:var(--space-md);
}

.trace-pipeline__title {
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--ink);
	font-weight:600;
}

.trace-pipeline__legend {
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	color:var(--ink-soft);
}

.trace-svg-wrap {
	width:100%;
	overflow-x:auto;
	padding:var(--space-sm) 0;
}

.trace-svg {
	display:block;
	width:100%;
	min-width:680px;
	height:auto;
}

.trace-path-bg {
	stroke:var(--line);
	stroke-width:2;
	fill:none;
	stroke-dasharray:4 4;
}

.trace-path-active {
	stroke:var(--accent);
	stroke-width:3;
	fill:none;
	stroke-dasharray:680;
	stroke-dashoffset:0;
	transition:stroke-dashoffset 0.1s linear;
}

.trace-nodes {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:var(--space-sm);
	margin-top:var(--space-md);
}

@media (max-width: 768px) {
	.trace-nodes { grid-template-columns:1fr; }
}

.trace-node-card {
	background-color:var(--ground);
	border:1px solid var(--line);
	padding:var(--space-sm);
	position:relative;
	transition:border-color var(--trans-fast) var(--ease-standard),
							transform var(--trans-fast) var(--ease-standard);
}

.trace-node-card.is-active {
	border-color:var(--accent);
	box-shadow:0 0 0 1px var(--accent);
}

.trace-node-card__id {
	font-family:var(--japa-37d);
	font-size:0.7rem;
	letter-spacing:var(--tracking-loose);
	color:var(--accent);
	font-weight:600;
	margin-bottom:4px;
}

.trace-node-card__label {
	font-family:var(--japa-3da);
	font-size:var(--font-size-sm);
	font-weight:700;
	color:var(--ink);
	margin-bottom:var(--space-2xs);
}

.trace-node-card__desc {
	font-size:var(--font-size-xs);
	color:var(--ink-soft);
	line-height:var(--line-height-snug);
}

.tool-scope {
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
	padding:var(--space-lg);
	margin-top:var(--space-lg);
	margin-bottom:var(--space-lg);
}

.tool-scope__header {
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-sm);
	margin-bottom:var(--space-md);
}

.tool-scope__title {
	font-size:var(--font-size-md);
	margin-bottom:var(--space-2xs);
}

.tool-scope__lede {
	font-size:var(--font-size-sm);
	color:var(--ink-soft);
	max-width:60ch;
}

.tool-scope__grid {
	display:grid;
	grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr);
	gap:var(--space-lg);
	align-items:start;
}

@media (max-width: 860px) {
	.tool-scope__grid {
		grid-template-columns:1fr;
		gap:var(--space-md);
	}
}

.tool-controls {
	display:flex;
	flex-direction:column;
	gap:var(--space-md);
}

.tool-range-wrap {
	display:flex;
	flex-direction:column;
	gap:var(--space-2xs);
}

.tool-range-header {
	display:flex;
	justify-content:space-between;
	align-items:baseline;
}

.tool-range-val {
	font-family:var(--japa-37d);
	font-weight:600;
	color:var(--accent);
}

.tool-slider {
	width:100%;
	height:6px;
	background-color:var(--surface-2);
	border-radius:var(--radius-xs);
	outline:none;
	accent-color:var(--accent);
	cursor:pointer;
}

.tool-slider:focus-visible {
	outline:2px solid var(--accent);
	outline-offset:3px;
}

.tool-radio-row {
	display:flex;
	gap:var(--space-xs);
	flex-wrap:wrap;
	margin-top:var(--space-2xs);
}

.tool-radio-btn {
	position:relative;
	flex-grow:1;
}

.tool-radio-btn input {
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.tool-radio-btn label {
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:var(--tap-min);
	padding:0.45rem 0.75rem;
	background-color:var(--ground);
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	letter-spacing:var(--tracking-loose);
	cursor:pointer;
	text-align:center;
	transition:background-color var(--trans-fast) var(--ease-standard),
							border-color var(--trans-fast) var(--ease-standard);
}

.tool-radio-btn input:checked + label {
	background-color:var(--ink);
	color:var(--ground);
	border-color:var(--ink);
	font-weight:600;
}

.tool-radio-btn input:focus-visible + label {
	outline:2px solid var(--accent);
	outline-offset:2px;
}

.tool-output-panel {
	background-color:var(--ground);
	border:1px solid var(--line);
	padding:var(--space-md);
	border-radius:var(--radius-xs);
	display:flex;
	flex-direction:column;
	gap:var(--space-md);
}

.tool-metric-card {
	padding-bottom:var(--space-sm);
	border-bottom:1px solid var(--line);
}

.tool-metric-label {
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--ink-soft);
	margin-bottom:4px;
}

.tool-metric-val {
	font-family:var(--japa-37d);
	font-size:var(--font-size-xl);
	font-weight:700;
	color:var(--ink);
	letter-spacing:-0.02em;
}

.tool-metric-val--accent { color:var(--accent); }

.tool-metric-note {
	font-size:var(--font-size-sm);
	color:var(--ink-soft);
	margin-top:4px;
}

.tool-disclaimer {
	font-family:var(--japa-37d);
	font-size:0.75rem;
	color:var(--ink-soft);
	line-height:var(--line-height-snug);
	padding:var(--space-xs);
	background-color:var(--surface);
	border:1px dashed var(--line);
	border-radius:var(--radius-xs);
}

.clause-ledger {
	width:100%;
	margin-top:var(--space-lg);
	margin-bottom:var(--space-xl);
	border:1px solid var(--line);
	background-color:var(--surface);
	border-radius:var(--radius-xs);
}

.clause-ledger__table {
	width:100%;
	border-collapse:collapse;
}

.clause-ledger__thead th {
	background-color:var(--surface-2);
	padding:var(--space-xs) var(--space-sm);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--ink);
	font-weight:600;
	border-bottom:2px solid var(--line);
	text-align:left;
}

.clause-ledger__row {
	border-bottom:1px solid var(--line);
	transition:background-color var(--trans-fast) var(--ease-standard);
}

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

.clause-ledger__row:hover { background-color:rgba(232, 223, 208, 0.4); }

.clause-ledger__col-id {
	width:15%;
	padding:var(--space-sm);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	font-weight:600;
	color:var(--accent);
	vertical-align:top;
}

.clause-ledger__col-clause {
	width:25%;
	padding:var(--space-sm);
	font-family:var(--japa-3da);
	font-size:var(--font-size-sm);
	font-weight:700;
	color:var(--ink);
	vertical-align:top;
}

.clause-ledger__col-plain {
	width:35%;
	padding:var(--space-sm);
	font-size:var(--font-size-sm);
	color:var(--ink);
	line-height:var(--line-height-snug);
	vertical-align:top;
}

.clause-ledger__col-basis {
	width:25%;
	padding:var(--space-sm);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	color:var(--ink-soft);
	line-height:var(--line-height-snug);
	vertical-align:top;
}

@media (max-width: 768px) {
	.clause-ledger__table,
	.clause-ledger__thead,
	.clause-ledger__tbody,
	.clause-ledger__row,
	.clause-ledger__col-id,
	.clause-ledger__col-clause,
	.clause-ledger__col-plain,
	.clause-ledger__col-basis {
		display:block;
		width:100%;
	}

	.clause-ledger__thead { display:none; }

	.clause-ledger__row {
		padding:var(--space-md);
		border-bottom:2px solid var(--line);
	}

	.clause-ledger__col-id,
	.clause-ledger__col-clause,
	.clause-ledger__col-plain,
	.clause-ledger__col-basis {
		padding:0;
		margin-bottom:var(--space-xs);
	}

	.clause-ledger__col-id::before {
		content:"Clause ID: ";
		font-weight:400;
		color:var(--ink-soft);
	}

	.clause-ledger__col-plain::before {
		content:"Plain Language Meaning: ";
		display:block;
		font-family:var(--japa-37d);
		font-size:0.7rem;
		letter-spacing:var(--tracking-caps);
		text-transform:uppercase;
		color:var(--ink-soft);
		margin-bottom:2px;
	}

	.clause-ledger__col-basis::before {
		content:"Operational & Legal Basis: ";
		display:block;
		font-family:var(--japa-37d);
		font-size:0.7rem;
		letter-spacing:var(--tracking-caps);
		text-transform:uppercase;
		color:var(--ink-soft);
		margin-bottom:2px;
	}
}

.margin-layout {
	display:grid;
	grid-template-columns:minmax(0, 1fr) 280px;
	gap:var(--space-xl);
	align-items:start;
	margin-top:var(--space-lg);
	margin-bottom:var(--space-xl);
}

@media (max-width: 920px) {
	.margin-layout {
		grid-template-columns:1fr;
		gap:var(--space-lg);
	}
}

.margin-layout__main { max-width:var(--reading-max); }

.margin-layout__main p + p { margin-top:var(--space-sm); }

.margin-layout__sidebar {
	display:flex;
	flex-direction:column;
	gap:var(--space-md);
	position:sticky;
	top:calc(var(--header-height) + var(--space-md));
}

@media (max-width: 920px) {
	.margin-layout__sidebar { position:static; }
}

.margin-note-card {
	background-color:var(--surface);
	border-left:3px solid var(--accent);
	border-top:1px solid var(--line);
	border-right:1px solid var(--line);
	border-bottom:1px solid var(--line);
	padding:var(--space-xs) var(--space-sm);
	font-size:var(--font-size-xs);
}

.margin-note-card__tag {
	font-family:var(--japa-37d);
	font-size:0.65rem;
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--accent);
	font-weight:600;
	margin-bottom:2px;
}

.margin-note-card__title {
	font-family:var(--japa-3da);
	font-size:var(--font-size-xs);
	font-weight:700;
	color:var(--ink);
	margin-bottom:2px;
}

.margin-note-card__text {
	color:var(--ink-soft);
	line-height:var(--line-height-snug);
	margin:0;
}

.margin-note-inline {
	display:none;
	background-color:var(--surface);
	border-left:3px solid var(--accent);
	padding:var(--space-xs) var(--space-sm);
	margin-top:var(--space-xs);
	margin-bottom:var(--space-sm);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	color:var(--ink-soft);
}

@media (max-width: 920px) {
	.margin-note-inline { display:block; }

	.margin-layout__sidebar { display:none; }
}

.qa-ledger {
	display:flex;
	flex-direction:column;
	gap:var(--space-xl);
	margin-top:var(--space-lg);
	margin-bottom:var(--space-xl);
}

.qa-item {
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-lg);
	max-width:var(--reading-max);
}

.qa-question {
	font-family:var(--japa-3da);
	font-size:var(--font-size-lg);
	font-weight:700;
	color:var(--ink);
	line-height:var(--line-height-heading);
	margin-bottom:var(--space-sm);
	letter-spacing:var(--tracking-tight);
}

.qa-answer {
	font-size:var(--font-size-base);
	line-height:var(--line-height-body);
	color:var(--ink);
}

.qa-answer p + p { margin-top:var(--space-sm); }

.ears-formula {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:var(--space-md);
	margin-top:var(--space-md);
	margin-bottom:var(--space-md);
	border-radius:var(--radius-xs);
}

.ears-formula__title {
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--accent);
	font-weight:600;
	margin-bottom:var(--space-xs);
}

.ears-formula__blocks {
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-xs);
	align-items:center;
}

.ears-chip {
	padding:0.3rem 0.6rem;
	background-color:var(--ground);
	border:1px solid var(--line);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	font-weight:600;
	color:var(--ink);
}

.ears-chip--syntax {
	background-color:var(--ink);
	color:var(--ground);
	border-color:var(--ink);
}

.icd-matrix {
	width:100%;
	overflow-x:auto;
	border:1px solid var(--line);
	background-color:var(--surface);
	margin-top:var(--space-md);
	margin-bottom:var(--space-md);
}

.icd-matrix table { min-width:600px; }

.icd-matrix th,
.icd-matrix td {
	padding:var(--space-xs) var(--space-sm);
	font-size:var(--font-size-xs);
	border-bottom:1px solid var(--line);
	border-right:1px solid var(--line);
	text-align:left;
}

.icd-matrix th {
	background-color:var(--surface-2);
	font-family:var(--japa-37d);
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	font-weight:600;
	color:var(--ink);
}

.project-record-grid {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
	gap:var(--space-lg);
	margin-top:var(--space-lg);
	margin-bottom:var(--space-xl);
}

@media (max-width: 640px) {
	.project-record-grid { grid-template-columns:1fr; }
}

.project-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
	padding:var(--space-md);
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:var(--space-md);
	position:relative;
	transition:border-color var(--trans-fast) var(--ease-standard),
							box-shadow var(--trans-fast) var(--ease-standard);
}

.project-card:hover {
	border-color:var(--ink);
	box-shadow:var(--shadow-md);
}

.project-card__header {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:var(--space-xs);
}

.project-card__id {
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	color:var(--accent);
	font-weight:600;
}

.project-card__sector {
	font-family:var(--japa-37d);
	font-size:0.65rem;
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--ink-soft);
	background-color:var(--ground);
	padding:2px 6px;
	border:1px solid var(--line);
}

.project-card__title {
	font-size:var(--font-size-md);
	color:var(--ink);
	margin-top:var(--space-2xs);
}

.project-card__desc {
	font-size:var(--font-size-sm);
	color:var(--ink-soft);
	line-height:var(--line-height-body);
}

.project-card__stamp {
	display:inline-flex;
	align-items:center;
	gap:4px;
	font-family:var(--japa-37d);
	font-size:0.7rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:var(--tracking-loose);
	color:#1f3b1d;
	background-color:#dbe3da;
	border:1px solid #4a6b47;
	padding:0.25rem 0.5rem;
	border-radius:var(--radius-xs);
}

.pricing-table-wrap {
	width:100%;
	margin-top:var(--space-lg);
	margin-bottom:var(--space-xl);
	overflow-x:auto;
}

.pricing-table {
	width:100%;
	min-width:600px;
	border:1px solid var(--line);
	background-color:var(--surface);
	border-radius:var(--radius-xs);
}

.pricing-table th,
.pricing-table td {
	padding:var(--space-sm) var(--space-md);
	text-align:left;
	border-bottom:1px solid var(--line);
	font-size:var(--font-size-sm);
}

.pricing-table th {
	background-color:var(--surface-2);
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--ink);
}

.pricing-table__rate {
	font-family:var(--japa-37d);
	font-weight:600;
	color:var(--accent);
	font-size:var(--font-size-base);
}

.determinants-grid {
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap:var(--space-md);
	margin-top:var(--space-md);
	margin-bottom:var(--space-lg);
	clear:both;
}

.determinant-card {
	background-color:var(--ground);
	border:1px solid var(--line);
	padding:var(--space-sm);
	border-radius:var(--radius-xs);
}

.determinant-card__title {
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	font-weight:600;
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--ink);
	margin-bottom:4px;
}

.determinant-card__text {
	font-size:var(--font-size-sm);
	color:var(--ink-soft);
	line-height:var(--line-height-snug);
}

.faq-section {
	margin-top:var(--space-xl);
	margin-bottom:var(--space-xl);
}

.faq-accordion {
	border-top:1px solid var(--line);
	margin-top:var(--space-md);
}

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

.faq-trigger {
	width:100%;
	padding:var(--space-md) 0;
	background:transparent;
	border:none;
	display:flex;
	align-items:center;
	justify-content:space-between;
	text-align:left;
	cursor:pointer;
	min-height:var(--tap-min);
	font-family:var(--japa-3da);
	font-size:var(--font-size-md);
	font-weight:700;
	color:var(--ink);
	transition:color var(--trans-fast) var(--ease-standard);
}

.faq-trigger:hover { color:var(--accent); }

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

.faq-trigger .icon {
	width:1.25em;
	height:1.25em;
	transition:transform var(--trans-base) var(--ease-standard);
	flex-shrink:0;
	color:var(--ink-soft);
}

.faq-trigger[aria-expanded="true"] .icon {
	transform:rotate(180deg);
	color:var(--accent);
}

.faq-content {
	padding-bottom:var(--space-md);
	font-size:var(--font-size-base);
	color:var(--ink);
	line-height:var(--line-height-body);
	max-width:var(--reading-max);
}

.faq-content[hidden] { display:none; }

.contact-layout {
	display:grid;
	grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr);
	gap:var(--space-xl);
	align-items:start;
	margin-top:var(--space-lg);
	margin-bottom:var(--space-xl);
}

@media (max-width: 860px) {
	.contact-layout {
		grid-template-columns:1fr;
		gap:var(--space-lg);
	}
}

.contact-dossier {
	background-color:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius-xs);
	padding:var(--space-md);
	display:flex;
	flex-direction:column;
	gap:var(--space-md);
}

.contact-dossier__item {
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-sm);
}

.contact-dossier__item:last-child {
	border-bottom:none;
	padding-bottom:0;
}

.contact-dossier__label {
	font-family:var(--japa-37d);
	font-size:var(--font-size-xs);
	letter-spacing:var(--tracking-caps);
	text-transform:uppercase;
	color:var(--ink-soft);
	margin-bottom:4px;
}

.contact-dossier__val {
	font-size:var(--font-size-base);
	color:var(--ink);
	line-height:var(--line-height-snug);
}

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

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

.error-scene {
	min-height:60vh;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	padding:var(--space-2xl) 0;
}

.error-code {
	font-family:var(--japa-37d);
	font-size:clamp(3.5rem, 8vw, 6.5rem);
	font-weight:700;
	color:var(--accent);
	line-height:1;
	margin-bottom:var(--space-xs);
}

.error-title {
	font-size:var(--font-size-xl);
	margin-bottom:var(--space-sm);
}

.error-lede {
	font-size:var(--font-size-base);
	color:var(--ink-soft);
	max-width:50ch;
	margin-bottom:var(--space-md);
}
