.privacy-page { overflow-x: clip; }

.privacy-hero { padding: clamp(96px, 13vw, 184px) 0 clamp(52px, 7vw, 96px); }
.privacy-hero h1 {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(3.4rem, 7vw, 7.5rem);
	font-weight: 600;
	letter-spacing: -.04em;
	line-height: .91;
	text-wrap: balance;
}

.privacy-document { padding: 0 0 clamp(92px, 12vw, 176px); }
.privacy-document__layout {
	display: grid;
	grid-template-columns: minmax(220px, 3fr) minmax(0, 8fr);
	align-items: start;
	gap: clamp(48px, 9vw, 152px);
}

.privacy-toc {
	position: sticky;
	top: 108px;
	padding-top: 20px;
	color: var(--color-text-muted);
}
.privacy-toc > p {
	margin: 0 0 18px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.2;
	text-transform: uppercase;
}
.privacy-toc ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); }
.privacy-toc li { border-bottom: 1px solid var(--color-border); }
.privacy-toc a {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 10px;
	padding: 13px 0;
	color: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	transition: color 180ms var(--ease-out), transform 220ms var(--ease-out);
}
.privacy-toc a span { color: var(--color-accent); font-variant-numeric: tabular-nums; }
.privacy-toc a:focus-visible { outline: 1px solid var(--color-accent); outline-offset: 4px; }

.privacy-document__sections { border-top: 1px solid var(--color-border); }
.privacy-section {
	display: grid;
	grid-template-columns: minmax(150px, 3fr) minmax(0, 7fr);
	gap: clamp(30px, 6vw, 92px);
	padding: clamp(36px, 5vw, 72px) 0;
	border-bottom: 1px solid var(--color-border);
	scroll-margin-top: 96px;
}
.privacy-section__heading { min-width: 0; }
.privacy-section h2 {
	margin: 0;
	color: var(--color-text);
	font-size: clamp(1.45rem, 2.15vw, 2.4rem);
	font-weight: 600;
	letter-spacing: -.04em;
	line-height: .95;
	text-wrap: balance;
	transition: color 180ms var(--ease-out);
}
.privacy-section__body { min-width: 0; max-width: 68ch; }
.privacy-section__body p,
.privacy-section__body li { color: var(--color-text-muted); font-size: clamp(15px, 1.05vw, 16px); line-height: 1.7; transition: color 180ms var(--ease-out); }
.privacy-section__body p { margin: 0; }
.privacy-section__body p + p,
.privacy-section__body p + ul,
.privacy-section__body ul + p { margin-top: 20px; }
.privacy-section__body ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.privacy-section__body li { position: relative; padding-left: 18px; }
.privacy-section__body li::before { position: absolute; top: .72em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--color-accent); content: ""; }
.privacy-section__body a { color: var(--color-text); text-decoration-color: var(--color-accent); text-decoration-thickness: 1px; text-underline-offset: .18em; transition: color 180ms var(--ease-out); }
.privacy-section__body a:focus-visible { outline: 1px solid var(--color-accent); outline-offset: 3px; }

@media (hover: hover) and (pointer: fine) {
	.privacy-toc a:hover { color: var(--color-text); transform: translateX(6px); }
	.privacy-section:hover h2,
	.privacy-section:target h2,
	.privacy-section__body a:hover { color: var(--color-accent); }
	.privacy-section:hover .privacy-section__body p,
	.privacy-section:hover .privacy-section__body li { color: var(--color-text); }
}

@media (max-width: 1023px) {
	.privacy-document__layout { grid-template-columns: minmax(190px, 3fr) minmax(0, 7fr); gap: 48px; }
	.privacy-section { grid-template-columns: minmax(130px, 3fr) minmax(0, 7fr); gap: 42px; }
}

@media (min-width: 768px) and (max-width: 899px) {
	.privacy-document__layout { display: block; }
	.privacy-toc { position: static; max-width: 420px; margin-bottom: 56px; padding-top: 0; }
	.privacy-toc a { padding: 14px 0; line-height: 1.45; }
}

@media (max-width: 767px) {
	.privacy-hero { padding: 104px 0 48px; }
	.privacy-hero h1 { max-width: none; font-size: clamp(1.75rem, 8.6vw, 2.75rem); line-height: .94; }
	.privacy-document { padding-bottom: 80px; }
	.privacy-document__layout { display: block; }
	.privacy-toc { position: static; margin-bottom: 52px; padding-top: 0; }
	.privacy-toc a { grid-template-columns: 20px minmax(0, 1fr); padding: 12px 0; font-size: 12px; }
	.privacy-section { grid-template-columns: 1fr; gap: 24px; padding: 38px 0 42px; scroll-margin-top: 72px; }
	.privacy-section h2 { max-width: 13ch; font-size: clamp(1.75rem, 7vw, 2.25rem); }
	.privacy-section__body p,
	.privacy-section__body li { font-size: 15px; line-height: 1.65; }
	.privacy-section__body p + p,
	.privacy-section__body p + ul,
	.privacy-section__body ul + p { margin-top: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.privacy-toc a,
	.privacy-section h2,
	.privacy-section__body p,
	.privacy-section__body li,
	.privacy-section__body a { transition: none; }
}
