/* ============================================================
   legal.css
   Supplemental styles for the five legal pages:
   Privacy Policy, Notice of Privacy Practices, Terms of Use,
   Good Faith Estimate, Accessibility Statement.

   Loads after /style.css which provides the shared base,
   nav, footer, buttons, and brand tokens.
   ============================================================ */

/* ---- Page header block ---- */
.page-head {
  max-width: 720px;
  margin: 0 auto;
  padding: 5.25rem 1.5rem 2rem;
}
.page-head .eyebrow {
  font-family: var(--font-accent, 'Fraunces', Georgia, serif);
  font-style: italic;
  font-size: 1.05rem;
  color: var(--clay, #9A5B3D);
  margin: 0 0 0.5rem;
}
.page-head h1 {
  font-family: var(--font-display, 'Hanken Grotesk', sans-serif);
  font-weight: 700;
  font-size: clamp(2rem, 5vw, 2.85rem);
  line-height: 1.1;
  color: var(--sage-deep, #1F3729);
  margin: 0 0 0.5rem;
}
.page-head .effective {
  font-size: 0.95rem;
  color: var(--stone, #78716C);
  margin: 0;
}

/* ---- Reading column ---- */
.legal-body {
  max-width: 720px;
  margin: 0 auto;
  padding: 1rem 1.5rem 4rem;
}
.legal-body h2 {
  font-family: var(--font-display, 'Hanken Grotesk', sans-serif);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--sage-deep, #1F3729);
  margin: 2.5rem 0 0.75rem;
}
.legal-body h3 {
  font-family: var(--font-display, 'Hanken Grotesk', sans-serif);
  font-weight: 600;
  font-size: 1.15rem;
  color: var(--sage, #2C4C3B);
  margin: 1.75rem 0 0.5rem;
}
.legal-body p  { margin: 0 0 1.1rem; }
.legal-body ul {
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
}
.legal-body li { margin: 0 0 0.5rem; }
.legal-body a {
  color: var(--clay-deep, #7A4730);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.legal-body a:hover { color: var(--sage-deep, #1F3729); }
.legal-body strong { color: var(--dark, #1C1917); }

/* All-caps banner on Notice of Privacy Practices */
.npp-banner {
  background: var(--sand-deep, #EDE7DD);
  border-left: 4px solid var(--clay, #9A5B3D);
  padding: 1.25rem 1.5rem;
  border-radius: 8px;
  font-size: 0.95rem;
  letter-spacing: 0.3px;
  margin: 0 0 2rem;
}

/* Contact block */
.contact-block {
  background: var(--sand-deep, #EDE7DD);
  border-radius: 12px;
  padding: 1.5rem 1.75rem;
  margin: 2rem 0 0;
}
.contact-block p { margin: 0.15rem 0; }
.contact-block .label {
  font-family: var(--font-display, 'Hanken Grotesk', sans-serif);
  font-weight: 700;
  color: var(--sage-deep, #1F3729);
}

/* ---- Responsive ---- */
@media (max-width: 640px) {
  .page-head { padding: 4rem 1.5rem 1.5rem; }
  .legal-body { padding-bottom: 3rem; }
}
