.page-masthead {
	padding-block:var(--space-xl) var(--space-lg);
	border-bottom:1px solid var(--line);
	background-color:var(--ground);
}


.page-masthead-inner {
	display:flex;
	flex-direction:column;
	gap:var(--space-xs);
}


.page-coordinates {
	display:inline-flex;
	align-items:center;
	gap:var(--space-xs);
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--hairline);
	letter-spacing:0.12em;
	text-transform:uppercase;
}


.page-coordinates::before {
	content:"[";
	color:var(--line);
}


.page-coordinates::after {
	content:"]";
	color:var(--line);
}


.page-title {
	font-size:var(--text-3xl);
	font-family:var(--rama-aad);
	font-weight:700;
	letter-spacing:-0.02em;
	line-height:1.1;
	color:var(--ink);
	margin-block-end:var(--space-2xs);
}


.page-standfirst {
	font-size:var(--text-md);
	line-height:1.6;
	color:var(--ink-soft);
	max-width:var(--measure-narrow);
	margin-block-end:0;
}


.hero-opening {
	position:relative;
	min-height:min(92vh, 840px);
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:stretch;
	background-color:var(--ground);
	border-bottom:1px solid var(--line);
	overflow:hidden;
}


/* One full-bleed photograph per page: cropped with subject on the right, open left */
.hero-bg {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	z-index:1;
	pointer-events:none;
}


.hero-bg picture,
.hero-bg img,
.hero-bg-img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:right center;
	display:block;
}


@media (max-width: 480px) {
	.hero-opening {
		min-height:auto;
		padding-block:var(--space-xl) var(--space-lg);
		justify-content:flex-start;
	}


	.hero-bg {

		position:relative;
		inset:auto;
		width:100%;
		height:auto;
	}


	.hero-bg picture,
	.hero-bg img,
	.hero-bg-img {
		width:100%;
		height:auto;
		aspect-ratio:3 / 2;
		object-fit:cover;
		object-position:85% 35%;
	}
}


/* Content positioned in the quiet open left half at vertical centre */
.hero-content {
	position:relative;
	z-index:2;
	width:100%;
	padding-block:var(--space-2xl) calc(var(--space-2xl) + 2.5rem);
}


.hero-opening > .container {
	max-width:1280px;
	margin-inline:auto;
	padding-inline:var(--space-md);
}


.hero-frame-left {
	max-width:560px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	text-align:left;
}


.hero-assembly {
	display:inline-flex;
	align-items:center;
	gap:var(--space-xs);
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	letter-spacing:0.1em;
	text-transform:uppercase;
	margin-block-end:var(--space-sm);
}


.hero-assembly-coord {
	color:var(--hairline);
	font-weight:500;
}


.hero-assembly-line {
	display:inline-block;
	width:52px;
	height:1px;
	background-color:var(--hairline);
	flex-shrink:0;
}


.hero-assembly-status {
	color:var(--ink-soft);
	font-size:0.7rem;
}


.hero-headline {
	font-family:var(--rama-aad);
	font-size:clamp(2.2rem, 1.65rem + 2.8vw, 4.2rem);
	font-weight:700;
	line-height:1.08;
	letter-spacing:-0.025em;
	color:var(--ink);
	margin-block-end:var(--space-md);
	max-width:14ch;
	text-wrap:balance;
	word-break:normal;
	hyphens:none;
}


.hero-lede {
	font-size:var(--text-md);
	line-height:1.58;
	color:var(--ink-soft);
	max-width:var(--measure-narrow);
	margin-block-end:var(--space-lg);
}


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


.hero-technical-strip {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	background-color:rgba(20, 18, 18, 0.94);
	border-top:1px solid var(--line);
	padding:var(--space-xs) var(--space-md);
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:var(--space-xs);
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	z-index:3;
}


.hero-technical-strip-item {
	display:inline-flex;
	flex-wrap:wrap;
	gap:var(--space-2xs);
	letter-spacing:0.05em;
	min-width:0;
	max-width:100%;
}


.hero-technical-strip-item strong {
	color:var(--hairline);
	font-weight:500;
}



[data-opening] [data-scene],
[data-scene] {
	animation-timeline:scroll();
}


[data-scene="rule"],
.sig-lockup-rule {
	animation:heroRuleDraw linear both;
	animation-timeline:scroll();
	animation-range:0px 320px;
}


[data-scene="line"],
.hero-assembly-line {
	animation:heroAssemblyDraw linear both;
	animation-timeline:scroll();
	animation-range:0px 320px;
}


[data-scene="figure"],
.hero-assembly {
	animation:heroFigureAssemble linear both;
	animation-timeline:scroll();
	animation-range:0px 320px;
}


[data-scene="plate"],
.hero-bg-img {
	animation:heroPlateShift linear both;
	animation-timeline:scroll();
	animation-range:0px 500px;
}


[data-scene="strip"],
.hero-technical-strip {
	animation:heroStripFade linear both;

	animation-timeline:scroll();
	animation-range:0px 240px;
}


@keyframes heroRuleDraw {
	0% {
		transform:scaleX(0.25);
		transform-origin:left center;
		opacity:0.75;
	}
	100% {
		transform:scaleX(1);
		transform-origin:left center;
		opacity:1;
	}
}


@keyframes heroAssemblyDraw {
	0% {
		transform:scaleX(0.35);
		transform-origin:left center;
		opacity:0.6;
	}
	100% {
		transform:scaleX(1);
		transform-origin:left center;
		opacity:1;
	}
}


@keyframes heroFigureAssemble {
	0% {
		transform:translateY(0);
		opacity:0.9;
	}
	100% {
		transform:translateY(-4px);
		opacity:1;
	}
}


@keyframes heroPlateShift {
	0% {
		transform:scale(1.03);
	}
	100% {
		transform:scale(1) translateY(20px);
	}
}


@keyframes heroStripFade {
	0% {
		border-color:var(--line);
		background-color:rgba(20, 18, 18, 0.94);
	}
	100% {
		border-color:var(--hairline);
		background-color:rgba(20, 18, 18, 0.98);
	}
}


@supports (animation-timeline: scroll()) or (animation-timeline: view()) {
	[data-opening] [data-scene] {
		animation-timeline:scroll();
	}
}


@media (prefers-reduced-motion: reduce) {
	[data-opening] [data-scene],
	[data-scene],
	.sig-lockup-rule,
	.hero-assembly-line,
	.hero-assembly,
	.hero-bg-img,
	.hero-technical-strip {
		animation:none !important;
		transform:none !important;
	}
}


@media (max-width: 1024px) {
	.hero-opening {
		min-height:min(88vh, 720px);
	}


	.hero-bg picture,
	.hero-bg img,
	.hero-bg-img {
		object-position:85% center;
	}


	.hero-frame-left {
		max-width:480px;
	}


	.hero-technical-strip {
		position:relative;
		display:flex;
		flex-direction:column;
		align-items:flex-start;

		gap:var(--space-2xs);
		padding:var(--space-sm) var(--space-md);
	}


	.hero-technical-strip-item {
		width:100%;
		display:flex;
		justify-content:space-between;
		align-items:baseline;
		gap:var(--space-xs);
	}
}


@media (max-width: 768px) {
	.hero-opening {
		min-height:min(88vh, 640px);
		justify-content:flex-end;
	}


	.hero-content {
		padding-top:var(--space-lg);
		padding-bottom:var(--space-lg);
	}


	.hero-headline {
		font-size:clamp(1.85rem, 1.4rem + 2.4vw, 2.8rem);
		max-width:100%;
		margin-block-end:var(--space-sm);
	}


	.hero-assembly {
		flex-wrap:wrap;
		gap:var(--space-2xs);
	}


	.hero-frame-left {
		max-width:100%;
	}


	.hero-bg picture,
	.hero-bg img,
	.hero-bg-img {
		object-position:85% 20%;
	}
}


.editorial-section {
	padding-block:var(--space-2xl);
	border-bottom:1px solid var(--line);
}


.editorial-section:last-of-type {
	border-bottom:0;
}


.editorial-section-tight {
	padding-block:var(--space-xl);
}


.editorial-prose {
	font-size:var(--text-base);
	line-height:1.7;
	color:var(--ink);
	max-width:var(--measure);
	margin-block-end:var(--space-lg);
}


.editorial-photo-break {
	width:100%;
	margin-block:var(--space-2xl);
	border-block:1px solid var(--line);
	background-color:var(--surface);
	position:relative;
}


.editorial-photo-break picture,
.editorial-photo-break img {
	width:100%;
	max-height:520px;
	object-fit:cover;
	object-position:center;
}


.editorial-photo-caption {
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:var(--space-xs) var(--space-md);
	background-color:var(--surface);
	border-top:1px solid var(--line);
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	letter-spacing:0.04em;
}


.editorial-photo-meta {
	color:var(--hairline);
}


.section-head {
	margin-block-end:var(--space-lg);
}


.section-title {
	font-family:var(--rama-aad);
	font-size:var(--text-2xl);
	font-weight:700;
	color:var(--ink);
	margin-block-end:var(--space-xs);
	letter-spacing:-0.015em;
}


.section-standfirst {
	font-size:var(--text-md);
	color:var(--ink-soft);
	max-width:var(--measure-narrow);
	line-height:1.55;
	margin-block-end:0;
}


.rates-calc-box {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:var(--space-xl);
	margin-block:var(--space-xl);
}


.rates-calc-head {
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	padding-bottom:var(--space-sm);
	border-bottom:1px solid var(--hairline);
	margin-bottom:var(--space-lg);
}


.rates-calc-title {
	font-family:var(--rama-aad);
	font-size:var(--text-xl);
	color:var(--ink);
}


.rates-calc-tag {
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--hairline);
	text-transform:uppercase;
	letter-spacing:0.08em;
}


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


.rates-calc-inputs {
	display:flex;
	flex-direction:column;
	gap:var(--space-md);
}


.calc-field-group {
	display:flex;
	flex-direction:column;
	gap:var(--space-2xs);
}


.calc-field-label {
	display:flex;
	justify-content:space-between;
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:0.06em;
	color:var(--ink);
}


.calc-field-value {
	color:var(--hairline);
	font-weight:600;
}


.calc-range-wrap {
	position:relative;
	padding-block:var(--space-2xs);
}


.calc-range {
	width:100%;
	height:6px;
	background-color:var(--surface-2);
	border:1px solid var(--line);
	outline:none;
	cursor:pointer;
	accent-color:var(--accent);
}


.calc-range:focus-visible {
	outline:2px solid var(--hairline);
}


.calc-select {
	width:100%;
	padding:0.75rem 0.9rem;
	background-color:var(--surface-2);
	border:1px solid var(--line);
	color:var(--ink);
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	cursor:pointer;
}


.calc-select:focus-visible {
	outline:2px solid var(--accent);
}


.calc-radio-group {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:var(--space-xs);
}


.calc-radio-label {
	display:flex;
	align-items:center;
	gap:var(--space-xs);
	padding:0.65rem 0.85rem;
	background-color:var(--surface-2);
	border:1px solid var(--line);
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	cursor:pointer;
	transition:border-color var(--dur-fast) var(--ease-out),
							background-color var(--dur-fast) var(--ease-out);
}


.calc-radio-label:hover {
	border-color:var(--hairline);
	color:var(--ink);
}


.calc-radio-input {
	accent-color:var(--accent);
}


.rates-calc-output-card {
	background-color:var(--surface-2);
	border:1px solid var(--line);
	padding:var(--space-lg);
	display:flex;
	flex-direction:column;
	gap:var(--space-md);
	position:sticky;
	top:calc(var(--header-condensed) + 1rem);
}


.calc-output-head {
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-xs);
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--ink-soft);
}


.calc-output-primary {
	display:flex;
	flex-direction:column;
	gap:var(--space-3xs);
}


.calc-output-label {
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	text-transform:uppercase;
	letter-spacing:0.06em;
}


.calc-output-number {
	font-family:var(--rama-542);
	font-size:clamp(2rem, 1.7rem + 1.2vw, 2.75rem);
	font-weight:700;
	color:var(--accent);
	line-height:1;
	font-variant-numeric:tabular-nums;
}


.calc-output-note {
	font-size:var(--text-xs);
	color:var(--ink-soft);
	line-height:1.5;
	padding-block:var(--space-xs);
	border-top:1px solid var(--line);
	border-bottom:1px solid var(--line);
}


.calc-breakdown-ledger {
	display:flex;
	flex-direction:column;
	gap:var(--space-xs);
	font-family:var(--rama-542);
	font-size:var(--text-xs);
}


.calc-breakdown-row {
	display:flex;
	justify-content:space-between;
	align-items:center;
	color:var(--ink-soft);
}


.calc-breakdown-row span:last-child {
	color:var(--ink);
	font-weight:500;
}


.calc-disclaimer {
	font-size:0.72rem;
	color:var(--ink-soft);
	line-height:1.45;
	margin-top:var(--space-xs);
}


@media (max-width: 900px) {
	.rates-calc-grid {
		grid-template-columns:minmax(0, 1fr);
	}


	.rates-calc-box {
		padding:var(--space-md);
	}


	.rates-calc-output-card {
		position:static;
	}
}


.process-timeline {
	display:flex;
	flex-direction:column;
	gap:var(--space-xl);
	margin-block:var(--space-xl);
}


.process-svg-wrap {
	width:100%;
	padding-block:var(--space-md);
	overflow-x:auto;
	border-bottom:1px solid var(--line);
}


.process-svg-track {
	width:100%;
	height:80px;
	min-width:600px;
}


.svg-path-base {
	stroke:var(--line);
	stroke-width:2;
	fill:none;
}


.svg-path-draw {
	stroke:var(--accent);
	stroke-width:2;
	fill:none;
	stroke-dasharray:800;
	stroke-dashoffset:0;
}


.svg-node-point {
	fill:var(--ground);
	stroke:var(--hairline);
	stroke-width:2;
	transition:fill var(--dur-base) var(--ease-out),
							stroke var(--dur-base) var(--ease-out);
}


.svg-node-point.is-active {
	fill:var(--accent);
	stroke:var(--ink);
}


.process-step-ledger {
	display:grid;
	grid-template-columns:80px 220px 1fr;
	padding:var(--space-md) 0;
	border-bottom:1px solid var(--line);
	gap:var(--space-md);
	align-items:baseline;
}


.process-step-ledger:hover {
	background-color:rgba(29, 29, 29, 0.4);
}


.process-step-code {
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--hairline);
	font-weight:500;
}


.process-step-name {
	font-family:var(--rama-aad);
	font-size:var(--text-md);
	font-weight:600;
	color:var(--ink);
}


.process-step-desc {
	font-size:var(--text-sm);
	color:var(--ink-soft);
	line-height:1.6;
}


@media (max-width: 768px) {
	.process-step-ledger {
		grid-template-columns:1fr;
		gap:var(--space-2xs);
	}
}


.portfolio-dossier-grid {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:var(--space-lg);
	margin-block:var(--space-lg);
}


.portfolio-dossier-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	display:flex;
	flex-direction:column;
	transition:border-color var(--dur-base) var(--ease-out);
}


.portfolio-dossier-card:hover {
	border-color:var(--hairline);
}


.portfolio-dossier-image {
	width:100%;
	aspect-ratio:16 / 10;
	overflow:hidden;
	border-bottom:1px solid var(--line);
}


.portfolio-dossier-image img {
	width:100%;
	height:100%;
	aspect-ratio:16 / 10;
	object-fit:cover;
}


.portfolio-dossier-body {
	padding:var(--space-md);
	display:flex;
	flex-direction:column;
	flex:1;
}


.portfolio-dossier-meta {
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--hairline);
	margin-bottom:var(--space-xs);
}


.portfolio-dossier-title {
	font-family:var(--rama-aad);
	font-size:var(--text-lg);
	color:var(--ink);
	margin-bottom:var(--space-xs);
}


.portfolio-dossier-summary {
	font-size:var(--text-sm);
	color:var(--ink-soft);
	line-height:1.55;
	margin-bottom:var(--space-md);
	flex:1;
}


.portfolio-dossier-specs {
	border-top:1px solid var(--line);
	padding-top:var(--space-xs);
	display:flex;
	flex-direction:column;
	gap:4px;
	font-family:var(--rama-542);
	font-size:0.72rem;
	color:var(--ink-soft);
}


.portfolio-dossier-specs-row {
	display:flex;
	justify-content:space-between;
}


.portfolio-dossier-specs-row span:last-child {
	color:var(--ink);
}


@media (max-width: 768px) {
	.portfolio-dossier-grid {
		grid-template-columns:minmax(0, 1fr);
	}
}


.contact-layout {
	display:grid;
	grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr);
	gap:var(--space-2xl);
	margin-block:var(--space-xl);
}


.contact-form-panel {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:var(--space-xl);
}


.contact-form-head {
	padding-bottom:var(--space-sm);
	border-bottom:1px solid var(--hairline);
	margin-bottom:var(--space-lg);
}


.contact-info-panel {
	display:flex;
	flex-direction:column;
	gap:var(--space-lg);
}


.contact-data-card {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:var(--space-lg);
}


.contact-data-card-title {
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:0.1em;
	color:var(--hairline);
	margin-bottom:var(--space-sm);
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-2xs);
}


.contact-data-list {
	display:flex;
	flex-direction:column;
	gap:var(--space-sm);
	font-size:var(--text-sm);
}


.contact-data-item {
	display:flex;
	flex-direction:column;
	gap:2px;
}


.contact-data-label {
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	text-transform:uppercase;
	letter-spacing:0.05em;
}


.contact-data-val {
	color:var(--ink);
	font-weight:500;
}


.contact-data-val a {
	text-decoration:underline;
	text-underline-offset:3px;
}


.contact-data-val a:hover {
	color:var(--hairline);
}


@media (max-width: 900px) {
	.contact-layout {
		grid-template-columns:minmax(0, 1fr);
		gap:var(--space-xl);
	}


	.contact-form-panel {
		padding:var(--space-md);
	}
}


.legal-privacy-layout {
	display:grid;
	grid-template-columns:240px minmax(0, 1fr);
	gap:var(--space-2xl);
	margin-block:var(--space-xl);
	align-items:start;
}


.legal-sticky-sidebar {
	position:sticky;
	top:calc(var(--header-condensed) + 1.5rem);
	display:flex;
	flex-direction:column;
	gap:var(--space-xs);
	padding-right:var(--space-md);
	border-right:1px solid var(--line);
}


.lajo4da-title {
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:0.1em;
	color:var(--hairline);
	margin-bottom:var(--space-xs);
}


.lajo4da-nav {
	display:flex;
	flex-direction:column;
	gap:var(--space-2xs);
	list-style:none;
	padding:0;
	margin:0;
}


.lajo4da-link {
	font-family:var(--rama-542);
	font-size:0.75rem;
	color:var(--ink-soft);
	text-decoration:none;
	padding:0.35rem 0.5rem;
	border-left:2px solid transparent;
	transition:color var(--dur-fast) var(--ease-out),
							border-color var(--dur-fast) var(--ease-out);
}


.lajo4da-link:hover {
	color:var(--ink);
	border-color:var(--ink-soft);
}


.lajo4da-link.is-active {
	color:var(--ink);
	border-color:var(--accent);
	font-weight:500;
	background-color:var(--surface);
}


.legal-jump-select {
	display:none;
	width:100%;
	padding:0.75rem 0.9rem;
	background-color:var(--surface);
	border:1px solid var(--line);
	color:var(--ink);
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	margin-bottom:var(--space-md);
}


.legal-privacy-content {
	display:flex;
	flex-direction:column;
	gap:var(--space-2xl);
}


.legal-section-block {
	padding-bottom:var(--space-xl);
	border-bottom:1px solid var(--line);
	scroll-margin-top:calc(var(--header-condensed) + 2rem);
}


.legal-section-block:last-child {
	border-bottom:0;
}


.legal-section-header {
	display:flex;
	align-items:baseline;
	gap:var(--space-sm);
	margin-bottom:var(--space-md);
}


.legal-section-num {
	font-family:var(--rama-542);
	font-size:var(--text-sm);
	color:var(--hairline);
	font-weight:600;
}


.legal-section-heading {
	font-family:var(--rama-aad);
	font-size:var(--text-xl);
	color:var(--ink);
}


.legal-section-body {
	font-size:var(--text-base);
	line-height:1.7;
	color:var(--ink);
	max-width:var(--measure);
}


.legal-section-body p {
	margin-bottom:var(--space-md);
}


.legal-section-body ul {
	margin-bottom:var(--space-md);
}


.legal-section-body li {
	margin-bottom:var(--space-2xs);
	color:var(--ink);
}


@media (max-width: 900px) {
	.legal-privacy-layout {
		grid-template-columns:minmax(0, 1fr);
		gap:var(--space-md);
	}


	.legal-sticky-sidebar {
		display:none;
	}


	.legal-jump-select {
		display:block;
	}
}


.statute-container {
	margin-block:var(--space-xl);
}


.statute-meta-strip {
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:var(--space-xs) 0;
	border-bottom:1px solid var(--hairline);
	margin-bottom:var(--space-lg);
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	text-transform:uppercase;
	letter-spacing:0.08em;
}


.statute-columns {
	column-count:2;
	column-gap:var(--space-2xl);
	column-rule:1px solid var(--line);
	text-align:justify;
	text-justify:inter-word;
}


.statute-paragraph {
	font-size:var(--text-sm);
	line-height:1.65;
	color:var(--ink);
	margin-bottom:var(--space-lg);
	break-inside:avoid;
}


.statute-runin {
	font-family:var(--rama-542);
	font-size:0.78rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--hairline);
	margin-right:0.4em;
}


.statute-breakout {
	column-span:all;
	margin-block:var(--space-xl);
	border:1px solid var(--line);
	background-color:var(--surface);
	padding:var(--space-md);
}


.statute-breakout-title {
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--ink);
	margin-bottom:var(--space-sm);
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-3xs);
}


@media (max-width: 860px) {
	.statute-columns {
		column-count:1;
		column-gap:0;
		column-rule:none;
		text-align:left;
	}
}


.terms-container {
	margin-block:var(--space-xl);
	max-width:var(--measure-wide);
	margin-inline:auto;
}


.terms-clause-group {
	display:flex;
	flex-direction:column;
	gap:var(--space-2xl);
}


.terms-clause-item {
	display:grid;
	grid-template-columns:80px minmax(0, 1fr);
	gap:var(--space-lg);
	padding-bottom:var(--space-xl);
	border-bottom:1px solid var(--line);
	align-items:baseline;
	scroll-margin-top:calc(var(--header-condensed) + 1.5rem);
}


.terms-clause-item:last-child {
	border-bottom:0;
}


.clause-num {
	font-family:var(--rama-542);
	font-size:var(--text-sm);
	color:var(--ink-soft);
	font-weight:500;
	letter-spacing:0.04em;
}


.clause-content {
	display:flex;
	flex-direction:column;
	gap:var(--space-xs);
}


.clause-heading {
	font-family:var(--rama-aad);
	font-size:var(--text-xl);
	font-weight:600;
	color:var(--ink);
	letter-spacing:-0.01em;
}


.clause-prose {
	font-size:var(--text-base);
	line-height:1.7;
	color:var(--ink);
}


.clause-prose p {
	margin-bottom:var(--space-sm);
}


.clause-prose p:last-child {
	margin-bottom:0;
}


.clause-prose ul {
	margin-bottom:var(--space-sm);
}


@media (max-width: 640px) {
	.terms-clause-item {
		grid-template-columns:1fr;
		gap:var(--space-2xs);
		padding-bottom:var(--space-lg);
	}
}


.receipt-box {
	background-color:var(--surface);
	border:1px solid var(--hairline);
	padding:var(--space-xl);
	margin-block:var(--space-xl);
	max-width:var(--measure);
	margin-inline:auto;
}


.receipt-head {
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-sm);
	margin-bottom:var(--space-lg);
}


.receipt-title {
	font-family:var(--rama-aad);
	font-size:var(--text-xl);
	color:var(--ink);
}


.receipt-stamp {
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--accent);
	text-transform:uppercase;
	letter-spacing:0.08em;
}


.receipt-ledger {
	display:flex;
	flex-direction:column;
	gap:var(--space-sm);
	margin-bottom:var(--space-lg);
}


.receipt-row {
	display:flex;
	justify-content:space-between;
	border-bottom:1px solid var(--line);
	padding-bottom:var(--space-2xs);
	font-size:var(--text-sm);
}


.receipt-label {
	font-family:var(--rama-542);
	font-size:var(--text-xs);
	color:var(--ink-soft);
	text-transform:uppercase;
}


.receipt-val {
	color:var(--ink);
	font-weight:500;
}


.error-ledger-box {
	background-color:var(--surface);
	border:1px solid var(--line);
	padding:var(--space-xl);
	margin-block:var(--space-2xl);
	max-width:var(--measure);
	margin-inline:auto;
}


.error-code {
	font-family:var(--rama-542);
	font-size:clamp(3rem, 2.5rem + 3vw, 5rem);
	font-weight:700;
	color:var(--hairline);
	line-height:1;
	margin-bottom:var(--space-xs);
}


.error-title {
	font-family:var(--rama-aad);
	font-size:var(--text-2xl);
	color:var(--ink);
	margin-bottom:var(--space-sm);
}


.error-desc {
	font-size:var(--text-base);
	color:var(--ink-soft);
	line-height:1.6;
	margin-bottom:var(--space-lg);
}


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


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


.faq-trigger {
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:var(--space-md) 0;
	background:transparent;
	border:0;
	color:var(--ink);
	font-family:var(--rama-aad);
	font-size:var(--text-md);
	font-weight:600;
	text-align:left;
	cursor:pointer;
	transition:color var(--dur-fast) var(--ease-out);
}


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


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


.faq-trigger-icon {
	width:1.25rem;
	height:1.25rem;
	flex-shrink:0;
	transition:transform var(--dur-base) var(--ease-out);
}


.faq-item.is-open .faq-trigger-icon {
	transform:rotate(180deg);
}


.faq-panel {
	display:none;
	padding-bottom:var(--space-md);
	font-size:var(--text-sm);
	line-height:1.65;
	color:var(--ink-soft);
	max-width:var(--measure);
}


.faq-item.is-open .faq-panel {
	display:block;
}


.table-dense {
	width:100%;
	border-collapse:collapse;
	font-size:var(--text-xs);
	margin-block:var(--space-md);
}


.table-dense th {
	background-color:var(--surface-2);
	color:var(--ink);
	border-bottom:1px solid var(--hairline);
	padding:0.5rem 0.75rem;
}


.table-dense td {
	padding:0.5rem 0.75rem;
	border-bottom:1px solid var(--line);
	color:var(--ink-soft);
}


.table-dense tr:hover td {
	background-color:rgba(42, 42, 42, 0.4);
	color:var(--ink);
}


.table-dense code {
	color:var(--accent);
	background-color:transparent;
	border:0;
	padding:0;
}
