/* Shared styles for standalone legal pages (privacy, terms) */
@font-face {
	font-family: 'Addington CF';
	src: url('../fonts/AddingtonCF-Regular.ttf') format('truetype');
	font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Addington CF';
	src: url('../fonts/AddingtonCF-DemiBold.ttf') format('truetype');
	font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Addington CF';
	src: url('../fonts/AddingtonCF-Bold.ttf') format('truetype');
	font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Avenir Next LT Pro';
	src: url('../fonts/AvenirNextLTPro-Regular.otf') format('opentype');
	font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Avenir Next LT Pro';
	src: url('../fonts/AvenirNextLTPro-Bold.otf') format('opentype');
	font-weight: 700; font-style: normal; font-display: swap;
}

:root {
	--green:       #15463F;
	--navy:        #1E2D43;
	--sage:        #8BA281;
	--brown:       #70442C;
	--gold:        #C9A24C;
	--cream:       #F0EFEB;
	--white:       #FFFFFF;
	--font-serif: 'Addington CF', Georgia, serif;
	--font-sans:  'Avenir Next LT Pro', 'Helvetica Neue', Arial, sans-serif;
	--max-w: 820px;
	--nav-h: 72px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.7;
	color: var(--navy);
	background: var(--cream);
	-webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: var(--green); text-decoration: none; border-bottom: 1px solid rgba(21,70,63,.3); transition: color .15s, border-color .15s; }
a:hover { color: var(--brown); border-color: var(--brown); }

/* Header — matches landing */
.legal-header {
	height: var(--nav-h);
	background: var(--green);
	display: flex;
	align-items: center;
	position: sticky; top: 0; z-index: 10;
}
.legal-header .inner {
	width: 100%; max-width: var(--max-w);
	margin-inline: auto; padding-inline: 2rem;
}
.legal-header a { border: none; }
.legal-header img { height: 38px; width: auto; }

/* Document body */
main.legal {
	max-width: var(--max-w);
	margin: 0 auto;
	padding: 4rem 2rem 5rem;
}
.legal .legal-eyebrow {
	font-size: .72rem; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase;
	color: var(--brown); margin-bottom: 1rem;
}
.legal h1 {
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: clamp(2rem, 4vw, 2.9rem);
	line-height: 1.15;
	color: var(--navy);
	margin-bottom: .5rem;
}
.legal h1::after {
	content: ''; display: block;
	width: 56px; height: 3px; margin-top: 1.5rem;
	background: var(--brown); border-radius: 2px;
}
.legal .updated {
	font-size: .85rem; color: #6b6f72; margin-bottom: 2.5rem;
}
.legal h2 {
	font-family: var(--font-serif);
	font-weight: 600;
	font-size: 1.4rem;
	color: var(--green);
	margin: 2.5rem 0 .75rem;
}
.legal p { margin-bottom: 1.1rem; color: #36404a; }
.legal ul { margin: 0 0 1.4rem 1.25rem; color: #36404a; }
.legal li { margin-bottom: .45rem; }
.legal strong { color: var(--navy); }
.legal .callout {
	background: var(--white);
	border-left: 3px solid var(--brown);
	padding: 1.1rem 1.4rem;
	border-radius: 3px;
	margin: 1.5rem 0;
}
.legal .callout p:last-child { margin-bottom: 0; }
.legal .keyword {
	font-weight: 700; color: var(--brown);
	background: rgba(112,68,44,.14);
	padding: .05em .45em; border-radius: 3px;
	letter-spacing: .04em;
}

/* Footer — matches landing */
.legal-footer {
	background: var(--green);
	color: var(--white);
	text-align: center;
	padding: 2.5rem 1.5rem 1.75rem;
}
.legal-footer img { height: 44px; width: auto; margin: 0 auto 1.1rem; }
.legal-footer .links {
	display: flex; gap: 1.5rem; justify-content: center;
	flex-wrap: wrap; margin-bottom: 1rem;
	font-size: .82rem;
}
.legal-footer .links a { color: var(--white); opacity: .85; border: none; }
.legal-footer .links a:hover { color: var(--sage); opacity: 1; }
.legal-footer .copy { font-size: .76rem; opacity: .6; }

@media (max-width: 600px) {
	main.legal { padding: 2.5rem 1.5rem 3.5rem; }
	.legal-header .inner { padding-inline: 1.5rem; }
}
