:root {
  --forest: #1F2D26;
  --forest-deep: #131A16;
  --cream: #F2EBDB;
  --cream-warm: #EDE3CC;
  --gold: #C8A361;
  --gold-deep: #9F8045;
  --muted-on-dark: rgba(242,235,219,0.72);
  --muted-on-light: rgba(31,45,38,0.65);
  --display: 'Fraunces', 'Cormorant Garamond', 'Times New Roman', serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --radius: 4px;
  --radius-soft: 14px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--cream); color: var(--forest); font-family: var(--sans); font-weight: 400; font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.inline-link { color: var(--gold-deep); border-bottom: 1px solid currentColor; transition: opacity 0.2s ease; }
.inline-link:hover { opacity: 0.75; }

nav.main { position: sticky; top: 0; background: rgba(242,235,219,0.92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid rgba(31,45,38,0.08); padding: 20px 32px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; z-index: 50; }
.logo { font-family: var(--sans); font-weight: 600; font-size: 14px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--forest); white-space: nowrap; }
.logo .sep { color: var(--gold); font-weight: 700; margin: 0 2px; }
.nav-links { display: flex; gap: 36px; justify-content: center; }
.nav-links a { font-size: 13px; color: var(--forest); transition: color 0.3s ease; }
.nav-links a:hover { color: var(--gold-deep); }
.nav-cta { justify-self: end; background: var(--forest); color: var(--cream); padding: 12px 24px; border-radius: var(--radius-soft); font-size: 13px; font-weight: 500; transition: all 0.3s ease; }
.nav-cta:hover { background: var(--gold-deep); }

.page-header { background: var(--forest); color: var(--cream); padding: 100px 48px 80px; }
.page-header-inner { max-width: 900px; margin: 0 auto; }
.page-header .eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold); margin-bottom: 28px; }
.page-header .eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--gold); }
.page-header h1 { font-family: var(--display); font-weight: 400; font-size: clamp(40px, 5vw, 72px); line-height: 1.02; letter-spacing: -0.025em; margin-bottom: 24px; }
.page-header h1 em { font-style: italic; color: var(--gold); }
.page-header .meta { font-size: 14px; color: var(--muted-on-dark); letter-spacing: 0.04em; }

.legal-body { padding: 80px 48px 120px; }
.legal-body-inner { max-width: 760px; margin: 0 auto; }
.legal-body h2 { font-family: var(--display); font-weight: 400; font-size: 30px; line-height: 1.2; letter-spacing: -0.015em; margin: 52px 0 18px; color: var(--forest); }
.legal-body h2:first-child { margin-top: 0; }
.legal-body h3 { font-family: var(--display); font-weight: 500; font-size: 20px; margin: 32px 0 12px; color: var(--forest); }
.legal-body p { margin-bottom: 18px; color: var(--muted-on-light); }
.legal-body ul, .legal-body ol { margin: 12px 0 22px 22px; color: var(--muted-on-light); }
.legal-body li { margin-bottom: 10px; line-height: 1.65; }
.legal-body strong { color: var(--forest); font-weight: 500; }
.legal-body .placeholder { background: rgba(200,163,97,0.22); padding: 2px 8px; border-radius: 3px; color: var(--gold-deep); font-style: italic; font-size: 14px; }
.legal-body .callout { background: var(--cream-warm); padding: 24px 28px; border-radius: var(--radius-soft); margin: 32px 0; border-left: 3px solid var(--gold); }
.legal-body .callout p:last-child { margin-bottom: 0; }
.legal-body address { font-style: normal; line-height: 1.8; color: var(--muted-on-light); }

footer.site { background: var(--forest-deep); color: var(--cream); padding: 80px 48px 36px; }
.footer-grid { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 60px; padding-bottom: 48px; border-bottom: 1px solid rgba(242,235,219,0.12); }
.footer-brand .logo { color: var(--cream); display: block; margin-bottom: 18px; font-size: 16px; }
.footer-brand p { font-size: 14px; color: var(--muted-on-dark); max-width: 340px; line-height: 1.7; }
.footer-col h4 { font-size: 11px; color: var(--gold); letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 18px; font-weight: 500; }
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 10px; }
.footer-col a { font-size: 14px; color: var(--muted-on-dark); transition: color 0.3s ease; }
.footer-col a:hover { color: var(--gold); }
.footer-base { max-width: 1300px; margin: 32px auto 0; display: flex; justify-content: space-between; font-size: 12px; color: rgba(242,235,219,0.5); }

@media (max-width: 1000px) {
  nav.main { grid-template-columns: 1fr auto; padding: 16px 24px; }
  .nav-links { display: none; }
  .page-header { padding: 60px 24px 50px; }
  .legal-body { padding: 50px 24px 80px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-base { flex-direction: column; gap: 12px; text-align: center; }
}
