:root {
	--legal-blue-depth: var(--blue-depth, #172565);
	--legal-blue-ink: var(--blue-ink, #101b51);
	--legal-blue-line: var(--blue-line, rgba(255, 255, 255, 0.22));
	--legal-blue-line-soft: var(--blue-line-soft, rgba(255, 255, 255, 0.12));
	--legal-green-focus: var(--green-focus, #b7ee82);
	--legal-white-muted: var(--white-muted, #dbe5ff);
}

.legal-page {
	background: var(--brand-blue);
	color: var(--surface);
}

/* Keep the legal page shell identical to the landing page brand treatment. */
.site-header {
	background: var(--legal-blue-depth);
	border-bottom-color: var(--legal-blue-line);
}

.site-brand,
.site-brand:hover,
.site-nav a,
.site-header__contact a {
	color: var(--surface);
}

.site-brand__mark {
	border: 1px solid var(--legal-blue-line);
	background: var(--surface);
}

.site-brand__name strong,
.site-nav a:hover,
.site-header__contact a:hover {
	color: var(--legal-green-focus);
}

.site-header a:focus-visible {
	outline-color: var(--legal-green-focus);
}

.site-notice {
	position: sticky;
	top: 0;
	z-index: 20;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 12px 20px;
	background: var(--brand-green);
	color: var(--legal-blue-ink);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
}

.site-notice__label {
	color: var(--legal-blue-ink);
}

.legal-hero {
	padding-block: 72px 64px;
	border-bottom: 1px solid var(--legal-blue-line);
	background: var(--legal-blue-depth);
}

.legal-hero__eyebrow {
	margin: 0 0 12px;
	color: var(--legal-green-focus);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.legal-hero h1 {
	max-width: none;
	margin-bottom: 16px;
}

.legal-hero__intro {
	max-width: 60ch;
	margin: 0;
	color: var(--legal-white-muted);
	font-size: 1.1rem;
}

.legal-page__content {
	padding-block: 56px 80px;
}

.legal-section {
	max-width: 78ch;
	padding-block: 36px;
	border-top: 1px solid var(--legal-blue-line-soft);
}

.legal-section:first-child {
	padding-top: 0;
	border-top: 0;
}

.legal-section h2 {
	max-width: none;
	margin-bottom: 20px;
	font-size: clamp(1.55rem, 4vw, 2.2rem);
}

.legal-section h3 {
	margin: 28px 0 8px;
	font-size: 1.1rem;
}

.legal-section p {
	max-width: 78ch;
	margin-block: 0 18px;
	color: var(--legal-white-muted);
}

.legal-section p:last-child {
	margin-bottom: 0;
}

.legal-section ul,
.legal-section ol {
	max-width: 78ch;
	margin: 0 0 18px;
	padding-left: 1.25rem;
	color: var(--legal-white-muted);
}

.legal-section li + li {
	margin-top: 8px;
}

.legal-section address {
	color: var(--legal-white-muted);
	font-style: normal;
}

.legal-section address strong,
.legal-section h3 {
	color: var(--surface);
}

.legal-details {
	display: grid;
	gap: 0;
	margin: 0;
}

.legal-details > div {
	display: grid;
	grid-template-columns: minmax(7rem, 0.25fr) 1fr;
	gap: 16px;
	padding-block: 14px;
	border-top: 1px solid var(--legal-blue-line-soft);
}

.legal-details > div:first-child {
	border-top: 0;
}

.legal-details dt {
	color: var(--legal-green-focus);
	font-weight: 800;
}

.legal-details dd {
	margin: 0;
	color: var(--legal-white-muted);
}

.legal-page a {
	color: var(--surface);
	text-decoration-color: var(--legal-green-focus);
}

.legal-page a:hover {
	color: var(--legal-green-focus);
}

.legal-page a:focus-visible {
	outline-color: var(--legal-green-focus);
}

@media (max-width: 47.99rem) {
	.legal-hero {
		padding-block: 56px 48px;
	}

	.legal-page__content {
		padding-block: 40px 64px;
	}

	.legal-section {
		padding-block: 30px;
	}

	.legal-details > div {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}
