:root {
	--holistit-legal-cyan: #00d8ff;
	--holistit-legal-cyan-dark: #00b7d8;
	--holistit-legal-ink: #071014;
	--holistit-legal-paper: #f4f5f0;
	--holistit-legal-white: #ffffff;
	--holistit-legal-muted: #667277;
	--holistit-legal-line: rgba(7, 16, 20, 0.14);

	--holistit-legal-font: "Manrope Variable", "Manrope", "Avenir Next", "Segoe UI", sans-serif;

	--holistit-legal-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* =========================================================
 * FRAPPE PAGE RESET
 * ========================================================= */

body:has(.holistit-legal-page) {
	background: var(--holistit-legal-paper);

	color: var(--holistit-legal-ink);
}

body:has(.holistit-legal-page) .page-container {
	max-width: none;
}

body:has(.holistit-legal-page) .page_content {
	padding: 0;
}

body:has(.holistit-legal-page) .web-footer {
	margin-top: 0;
}

body:has(.holistit-legal-page) .footer-powered {
	display: none !important;
}

/* =========================================================
 * LEGAL PAGE
 * ========================================================= */

.holistit-legal-page,
.holistit-legal-page *,
.holistit-legal-page *::before,
.holistit-legal-page *::after {
	box-sizing: border-box;
}

.holistit-legal-page {
	min-height: 100vh;

	padding: 70px clamp(20px, 4vw, 72px) 120px;

	background: var(--holistit-legal-paper);

	color: var(--holistit-legal-ink);

	font-family: var(--holistit-legal-font);

	text-rendering: optimizeLegibility;
}

.holistit-legal-shell {
	width: 100%;
	max-width: 900px;

	margin: 0 auto;
}

/* =========================================================
 * BACK LINK
 * ========================================================= */

.holistit-legal-back {
	display: inline-flex;

	align-items: center;

	gap: 12px;

	margin-bottom: 100px;

	color: var(--holistit-legal-ink);

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

	text-decoration: none;

	transition:
		color 180ms ease,
		transform 180ms ease;
}

.holistit-legal-back:hover,
.holistit-legal-back:focus {
	color: var(--holistit-legal-cyan-dark);

	text-decoration: none;

	transform: translateX(-3px);
}

/* =========================================================
 * HEADER
 * ========================================================= */

.holistit-legal-header {
	margin-bottom: 0;
}

.holistit-legal-index,
.holistit-legal-note-index,
.holistit-legal-section-number,
.holistit-legal-document-footer > span {
	display: block;

	color: var(--holistit-legal-muted);

	font-family: var(--holistit-legal-mono);

	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;

	text-transform: uppercase;
}

.holistit-legal-header h1 {
	max-width: 880px;

	margin: 14px 0 0;

	color: var(--holistit-legal-ink);

	font-family: var(--holistit-legal-font);

	font-size: clamp(48px, 8vw, 92px);

	font-weight: 500;
	letter-spacing: -0.07em;
	line-height: 0.94;

	overflow-wrap: anywhere;
}

.holistit-legal-lead {
	max-width: 720px;

	margin: 35px 0 0;

	color: var(--holistit-legal-muted);

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

/* =========================================================
 * CYAN SUMMARY NOTE
 * ========================================================= */

.holistit-legal-note {
	margin: 50px 0;

	padding: 24px;

	background: var(--holistit-legal-cyan);

	color: var(--holistit-legal-ink);
}

.holistit-legal-note-index {
	margin-bottom: 13px;

	color: rgba(7, 16, 20, 0.58);
}

.holistit-legal-note p {
	max-width: 760px;

	margin: 0;

	color: var(--holistit-legal-ink);

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

/* =========================================================
 * CONTENT
 * ========================================================= */

.holistit-legal-content {
	display: grid;

	gap: 0;

	padding-top: 0;

	border-top: 1px solid var(--holistit-legal-line);
}

.holistit-legal-content > section {
	display: grid;

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

	gap: 25px;

	padding: 40px 0;

	border-bottom: 1px solid var(--holistit-legal-line);
}

.holistit-legal-section-number {
	padding-top: 5px;

	color: var(--holistit-legal-cyan-dark);

	font-size: 9px;
}

.holistit-legal-content h2 {
	margin: 0 0 15px;

	color: var(--holistit-legal-ink);

	font-family: var(--holistit-legal-font);

	font-size: 22px;
	font-weight: 650;
	letter-spacing: -0.03em;
	line-height: 1.25;
}

.holistit-legal-content h3 {
	margin: 27px 0 8px;

	color: var(--holistit-legal-ink);

	font-family: var(--holistit-legal-font);

	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.4;
}

.holistit-legal-content p {
	margin: 0 0 17px;

	color: var(--holistit-legal-muted);

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

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

.holistit-legal-content ul {
	margin: 8px 0 22px 20px;

	padding: 0;

	color: var(--holistit-legal-muted);

	font-size: 14px;

	list-style: outside;
}

.holistit-legal-content li {
	margin-bottom: 10px;

	padding-left: 3px;

	color: var(--holistit-legal-muted);

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

.holistit-legal-content li:last-child {
	margin-bottom: 0;
}

.holistit-legal-content address {
	margin: 18px 0;

	color: var(--holistit-legal-muted);

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

.holistit-legal-content address strong {
	color: var(--holistit-legal-ink);

	font-weight: 700;
}

.holistit-legal-content a {
	color: var(--holistit-legal-ink);

	text-decoration: underline;

	text-decoration-color: rgba(7, 16, 20, 0.35);

	text-decoration-thickness: 1px;

	text-underline-offset: 3px;

	transition:
		color 160ms ease,
		text-decoration-color 160ms ease;
}

.holistit-legal-content a:hover,
.holistit-legal-content a:focus {
	color: var(--holistit-legal-cyan-dark);

	text-decoration-color: var(--holistit-legal-cyan-dark);
}

/* =========================================================
 * LINK CTA
 * ========================================================= */

.holistit-legal-link-button {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 30px;

	width: min(100%, 430px);

	margin-top: 25px;

	padding: 17px 18px;

	border: 1px solid var(--holistit-legal-ink);

	background: var(--holistit-legal-ink);

	color: var(--holistit-legal-white) !important;

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

	text-decoration: none !important;

	transition:
		background 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.holistit-legal-link-button span:last-child {
	color: var(--holistit-legal-cyan);

	font-size: 16px;

	transition: transform 180ms ease;
}

.holistit-legal-link-button:hover,
.holistit-legal-link-button:focus {
	background: var(--holistit-legal-cyan);

	color: var(--holistit-legal-ink) !important;

	transform: translateY(-2px);
}

.holistit-legal-link-button:hover span:last-child,
.holistit-legal-link-button:focus span:last-child {
	color: var(--holistit-legal-ink);

	transform: translate(3px, -3px);
}

/* =========================================================
 * DOCUMENT FOOTER
 * ========================================================= */

.holistit-legal-document-footer {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 24px;

	padding-top: 32px;

	color: var(--holistit-legal-muted);
}

.holistit-legal-document-footer p {
	margin: 0;

	color: var(--holistit-legal-muted);

	font-family: var(--holistit-legal-mono);

	font-size: 9px;
	letter-spacing: 0.06em;

	text-transform: uppercase;
}

/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 820px) {
	.holistit-legal-page {
		padding: 50px 24px 90px;
	}

	.holistit-legal-back {
		margin-bottom: 72px;
	}

	.holistit-legal-header h1 {
		font-size: clamp(48px, 11vw, 76px);
	}

	.holistit-legal-content > section {
		grid-template-columns:
			50px
			minmax(0, 1fr);

		gap: 18px;
	}
}

/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 560px) {
	.holistit-legal-page {
		padding: 35px 18px 72px;
	}

	.holistit-legal-back {
		margin-bottom: 58px;

		font-size: 11px;
	}

	.holistit-legal-header h1 {
		margin-top: 12px;

		font-size: clamp(42px, 13vw, 62px);

		line-height: 0.96;
	}

	.holistit-legal-lead {
		margin-top: 26px;

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

	.holistit-legal-note {
		margin: 38px 0;

		padding: 20px 18px;
	}

	.holistit-legal-content > section {
		display: block;

		padding: 31px 0;
	}

	.holistit-legal-section-number {
		margin-bottom: 12px;
	}

	.holistit-legal-content h2 {
		font-size: 20px;
	}

	.holistit-legal-content h3 {
		font-size: 14px;
	}

	.holistit-legal-content p,
	.holistit-legal-content ul,
	.holistit-legal-content li,
	.holistit-legal-content address {
		font-size: 13px;
	}

	.holistit-legal-content ul {
		margin-left: 18px;
	}

	.holistit-legal-link-button {
		width: 100%;
	}

	.holistit-legal-document-footer {
		align-items: flex-start;

		flex-direction: column;

		gap: 8px;
	}
}
