/* Legal pages */

.legal-page {
	background: var(--color-background-light);
	color: var(--color-text-dark);
}


/* Hero */

.legal-hero {
	padding:
		calc(var(--header-height) + clamp(90px, 10vw, 150px))
		0
		clamp(75px, 8vw, 120px);

	background: #171511;
	color: var(--color-text);
}

.legal-hero h1 {
	margin:
		12px
		0
		0;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(58px, 8vw, 112px);

	font-weight: 400;

	letter-spacing: -0.055em;
	line-height: 0.95;
}

.legal-hero__lead {
	max-width: 650px;

	margin:
		30px
		0
		0;

	color: var(--color-text-muted);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(17px, 1.4vw, 21px);

	line-height: 1.65;
}


/* Content */

.legal-content {
	padding:
		clamp(80px, 9vw, 140px)
		0
		clamp(100px, 11vw, 170px);
}

.legal-content__inner {
	display: grid;

	grid-template-columns:
		minmax(0, 0.65fr)
		minmax(420px, 1.35fr);

	gap:
		clamp(60px, 10vw, 170px);
}

.legal-content__navigation {
	position: sticky;
	top: 40px;

	align-self: start;
}

.legal-content__navigation p {
	margin:
		0
		0
		14px;

	color: var(--color-accent);

	font-size: 10px;
	font-weight: 700;

	letter-spacing: 0.18em;

	text-transform: uppercase;
}

.legal-content__navigation span {
	display: block;

	max-width: 300px;

	color: rgba(36, 33, 28, 0.58);

	font-size: 13px;
	line-height: 1.65;
}

.legal-sections {
	max-width: 820px;
}

.legal-section {
	padding:
		0
		0
		45px;

	margin:
		0
		0
		45px;

	border-bottom:
		1px solid rgba(36, 33, 28, 0.18);
}

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

	border-bottom: 0;
}

.legal-section h2 {
	margin:
		0
		0
		20px;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(27px, 3vw, 40px);

	font-weight: 400;

	letter-spacing: -0.03em;
	line-height: 1.1;
}

.legal-section h3 {
	margin:
		28px
		0
		10px;

	color: var(--color-accent);

	font-size: 11px;
	font-weight: 700;

	letter-spacing: 0.14em;

	text-transform: uppercase;
}

.legal-section p,
.legal-section li,
.legal-address {
	color: rgba(36, 33, 28, 0.72);

	font-size: 14px;
	line-height: 1.75;
}

.legal-section p {
	margin:
		0
		0
		15px;
}

.legal-section ul {
	margin:
		15px
		0;

	padding-left: 20px;
}

.legal-address {
	margin: 0;

	font-style: normal;
}

.legal-section a {
	color: var(--color-accent);

	text-decoration: underline;
	text-underline-offset: 3px;
}

.legal-meta {
	display: grid;

	grid-template-columns:
		180px
		minmax(0, 1fr);

	gap:
		10px
		25px;
}

.legal-meta dt {
	color: rgba(36, 33, 28, 0.50);

	font-size: 12px;
	font-weight: 700;
}

.legal-meta dd {
	margin: 0;

	color: rgba(36, 33, 28, 0.76);

	font-size: 14px;
}


/* Contact form */

.contact-form {
	max-width: 720px;
}

.contact-form__row {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 20px;
}

.contact-field {
	display: flex;
	flex-direction: column;

	gap: 7px;

	margin-bottom: 20px;
}

.contact-field label {
	font-size: 11px;
	font-weight: 700;

	letter-spacing: 0.08em;

	text-transform: uppercase;
}

.contact-field input,
.contact-field textarea {
	width: 100%;

	padding:
		13px
		14px;

	border:
		1px solid rgba(36, 33, 28, 0.28);

	background:
		rgba(255, 255, 255, 0.30);

	color: var(--color-text-dark);

	font: inherit;
	font-size: 14px;

	outline: none;

	transition:
		border-color 150ms ease,
		background 150ms ease;
}

.contact-field input:focus,
.contact-field textarea:focus {
	border-color: var(--color-accent);

	background:
		rgba(255, 255, 255, 0.52);
}

.contact-field textarea {
	min-height: 190px;

	resize: vertical;
}

.contact-checkbox {
	display: flex;
	align-items: flex-start;

	gap: 10px;

	margin:
		5px
		0
		25px;

	color: rgba(36, 33, 28, 0.68);

	font-size: 12px;
	line-height: 1.5;
}

.contact-checkbox input {
	margin-top: 3px;
}

.contact-submit {
	width: auto;
}

.contact-status {
	margin:
		0
		0
		28px;

	padding:
		14px
		16px;

	border:
		1px solid rgba(36, 33, 28, 0.24);

	font-size: 13px;
}

.contact-status--success {
	border-color:
		rgba(52, 100, 62, 0.45);

	background:
		rgba(52, 100, 62, 0.08);
}

.contact-status--error {
	border-color:
		rgba(156, 51, 45, 0.45);

	background:
		rgba(156, 51, 45, 0.08);
}

.contact-honeypot {
	position: absolute !important;
	left: -10000px !important;

	width: 1px !important;
	height: 1px !important;

	overflow: hidden !important;
}


/* Mobile */

@media (max-width: 900px) {
	.legal-content__inner {
		grid-template-columns: 1fr;

		gap: 50px;
	}

	.legal-content__navigation {
		position: static;
	}

	.legal-meta {
		grid-template-columns: 1fr;

		gap: 4px;
	}

	.legal-meta dd {
		margin-bottom: 14px;
	}
}


@media (max-width: 600px) {
	.legal-hero {
		padding:
			calc(var(--header-height) + 70px)
			0
			70px;
	}

	.legal-hero h1 {
		font-size:
			clamp(48px, 15vw, 68px);
	}

	.legal-content {
		padding:
			75px
			0
			95px;
	}

	.contact-form__row {
		grid-template-columns: 1fr;

		gap: 0;
	}

	.contact-submit {
		width: 100%;
	}
}