/* Legal pages: privacy policy and terms of service. */

body.page-legal main.legal-page{
	width:auto;
	max-width:none;
	margin:0;
	padding:0;
}

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

body.page-legal .legal-page :focus-visible{outline:3px solid var(--zg-focus);outline-offset:3px}

/* Hero */

body.page-legal .legal-hero{
	padding-block:clamp(48px,6vw,84px);
	border-bottom:1px solid var(--zg-border);
	background:
		linear-gradient(90deg,transparent 0 49.9%,rgba(23,35,42,.04) 50%,transparent 50.1%),
		var(--zg-warm-white);
	background-size:96px 96px;
}

body.page-legal .legal-hero__inner{max-width:820px}

body.page-legal .legal-badge{
	display:inline-block;
	margin-bottom:18px;
	padding:6px 12px;
	border:1px solid var(--zg-warn);
	border-radius:var(--zg-radius-tag);
	color:#8a5f1c;
	font-size:.7rem;
	font-weight:700;
	letter-spacing:.11em;
	text-transform:uppercase;
}

body.page-legal .legal-kicker{
	margin:0 0 12px;
	color:var(--zg-teal);
	font-size:.74rem;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
}

body.page-legal .legal-hero h1{
	margin:0 0 18px;
	font-size:clamp(2.1rem,4.2vw,3.2rem);
	font-weight:650;
	letter-spacing:-.035em;
	line-height:1.08;
}

body.page-legal .legal-lead{max-width:62ch;margin:0 0 14px;color:var(--zg-muted);font-size:clamp(1rem,1.2vw,1.12rem)}
body.page-legal .legal-meta{margin:0;color:var(--zg-muted);font-size:.82rem}

/* Review notice */

body.page-legal .legal-notice{
	border-bottom:1px solid #ead9b8;
	background:#fff7e9;
}

body.page-legal .legal-notice .zg-shell{
	display:flex;
	flex-wrap:wrap;
	gap:6px 12px;
	align-items:baseline;
	padding-block:14px;
	color:#6f4f1c;
	font-size:.88rem;
	line-height:1.6;
}

body.page-legal .legal-notice strong{font-weight:750}

/* Body layout */

body.page-legal .legal-body{padding-block:clamp(44px,5.5vw,84px)}

body.page-legal .legal-layout{
	display:grid;
	grid-template-columns:minmax(0,260px) minmax(0,1fr);
	gap:clamp(32px,5vw,84px);
	align-items:start;
}

/* Table of contents */

body.page-legal .legal-toc{
	position:sticky;
	top:104px;
	padding:22px;
	border:1px solid var(--zg-border);
	border-radius:var(--zg-radius-card);
	background:#fff;
}

body.page-legal .legal-toc__label{
	margin:0 0 12px;
	color:var(--zg-muted);
	font-size:.68rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
}

body.page-legal .legal-toc ol{
	margin:0;
	padding:0 0 0 18px;
	display:grid;
	gap:8px;
	color:var(--zg-muted);
	font-size:.84rem;
}

body.page-legal .legal-toc a{
	color:var(--zg-copy);
	text-decoration:none;
	line-height:1.45;
}

body.page-legal .legal-toc a:hover{color:var(--zg-teal);text-decoration:underline;text-underline-offset:3px}

/* Content */

body.page-legal .legal-content{max-width:72ch}

body.page-legal .legal-block{
	padding-block:clamp(20px,2.4vw,30px);
	border-top:1px solid var(--zg-border);
	scroll-margin-top:110px;
}

body.page-legal .legal-block:first-child{border-top:0;padding-top:0}

body.page-legal .legal-block h2{
	margin:0 0 14px;
	font-size:clamp(1.15rem,1.8vw,1.45rem);
	font-weight:650;
	letter-spacing:-.02em;
	line-height:1.25;
}

body.page-legal .legal-block p{
	margin:0 0 14px;
	color:var(--zg-copy);
	font-size:1rem;
	line-height:1.75;
	max-width:70ch;
}

body.page-legal .legal-block p:last-child{margin-bottom:0}

body.page-legal .legal-foot{
	margin-top:36px;
	padding-top:22px;
	border-top:1px solid var(--zg-border);
	color:var(--zg-muted);
	font-size:.9rem;
}

body.page-legal .legal-foot a{color:var(--zg-teal);text-decoration:none}
body.page-legal .legal-foot a:hover{text-decoration:underline;text-underline-offset:3px}

@media (max-width:1000px){
	body.page-legal .legal-layout{grid-template-columns:1fr}
	body.page-legal .legal-toc{position:static}
	body.page-legal .legal-toc ol{grid-template-columns:1fr 1fr;display:grid}
}

@media (max-width:640px){
	body.page-legal .legal-toc ol{grid-template-columns:1fr}
	body.page-legal .legal-hero{background-size:64px 64px}
}

@media (prefers-reduced-motion:reduce){
	body.page-legal .legal-toc a{transition:none}
}
