html {
	height: 100%;
	background: var(--ink);
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	background: var(--parchment);
	font-feature-settings: "liga", "onum";
}

main {
	flex: 1 0 auto;
}

.legal-head {
	padding: calc(var(--stroke-hero) + var(--space-2)) var(--gutter) var(--space-4);
	border-bottom: var(--hairline) solid var(--rule);
}

.legal-kicker {
	margin: 0 0 var(--space-1);
	font-size: var(--text-kicker);
	letter-spacing: var(--tracking-kicker);
	text-transform: uppercase;
}

.legal-head h1 {
	font-size: var(--text-display);
	line-height: 1.1;
}

.legal-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-1) var(--space-4);
	margin: var(--space-3) 0 0;
	max-width: calc(var(--measure-wide) + 16rem);
	font-size: var(--text-control);
}

.legal-meta div {
	display: grid;
	gap: var(--space-025);
}

.legal-meta div:last-child {
	flex: 1 1 var(--measure);
}

.legal-meta dt {
	font-size: var(--text-kicker);
	letter-spacing: var(--tracking-kicker);
	text-transform: uppercase;
	color: var(--ink-soft);
}

.legal-meta dd {
	margin: 0;
}

.legal-body {
	display: grid;
	grid-template-columns: 16rem minmax(0, var(--measure-wide));
	gap: var(--gap-columns);
	align-items: start;
	padding: var(--space-4) var(--gutter) var(--stroke-section);
}

.legal-toc {
	position: sticky;
	top: calc(var(--nav-height) + var(--space-3));
	font-size: var(--text-control);
}

.legal-toc-title {
	margin: 0 0 var(--space-1);
	font-size: var(--text-kicker);
	letter-spacing: var(--tracking-kicker);
	text-transform: uppercase;
	color: var(--ink-soft);
}

.legal-toc ol {
	display: grid;
	gap: var(--space-05);
	margin: 0;
	padding: 0;
	list-style: none;
}

.legal-toc a {
	display: inline-grid;
	grid-template-columns: var(--space-15) 1fr;
	color: var(--ink-soft);
	border-bottom: var(--emphasis) solid transparent;
	transition:
		color var(--duration-ui) ease-in-out,
		border-bottom var(--duration-ui) ease-in-out;
}

.legal-toc a:hover {
	color: var(--ink);
	border-bottom-color: var(--amber);
}

.legal-text {
	font-size: var(--text-control);
	line-height: 1.6;
}

.legal-text p {
	margin: 0 0 var(--space-1);
}

.legal-notice {
	padding: var(--space-15) var(--space-2);
	border-left: var(--emphasis) solid var(--amber);
	background: var(--paper-deep);
	font-size: var(--text-kicker);
	letter-spacing: 0.02em;
	line-height: 1.7;
}

.legal-text section {
	margin-top: var(--space-4);
	padding-top: var(--space-2);
	border-top: var(--hairline) solid var(--rule);
	scroll-margin-top: calc(var(--nav-height) + var(--space-2));
}

.legal-text h2 {
	margin-bottom: var(--space-15);
	font-size: var(--text-lede);
	line-height: 1.2;
}

.legal-text h2 .num {
	color: var(--amber);
	font-style: italic;
}

.legal-text .clause .num {
	display: inline-block;
	min-width: var(--space-2);
	color: var(--amber);
}

.legal-text strong {
	font-weight: 600;
}

.legal-text .clause-cont {
	padding-left: var(--space-2);
}

.legal-text .items {
	counter-reset: item;
	margin: 0 0 var(--space-1);
	padding-left: var(--space-2);
	list-style: none;
}

.legal-text .items li {
	counter-increment: item;
	display: grid;
	grid-template-columns: var(--space-2) 1fr;
	margin-bottom: var(--space-05);
}

.legal-text .items li::before {
	content: "(" counter(item, lower-alpha) ")";
	color: var(--ink-soft);
}

.legal-text address {
	display: grid;
	margin: 0 0 var(--space-1) var(--space-2);
	padding-left: var(--space-1);
	border-left: var(--hairline) solid var(--rule);
	font-style: normal;
}

.legal-text a {
	border-bottom: var(--hairline) solid var(--amber);
	transition: color var(--duration-ui) ease-in-out;
}

.legal-text a:hover {
	color: var(--amber);
}

@media (max-width: 900px) {
	.legal-head {
		padding: calc(var(--stroke-hero) + var(--space-1)) var(--gutter-mobile) var(--space-3);
	}

	.legal-body {
		grid-template-columns: 1fr;
		gap: var(--space-3);
		padding: var(--space-3) var(--gutter-mobile) var(--stroke-mobile);
	}

	.legal-toc {
		position: static;
	}

	.legal-text .items,
	.legal-text .clause-cont {
		padding-left: 0;
	}

	.legal-text address {
		margin-left: 0;
	}
}
