/* Legal pages for FindMortgageProtection.com: privacy policy, terms and partner list (2026-11-05).
   Loads after shared/base.css and shared/warm.css and uses their tokens. The header and wordmark match v5-warm;
   the footer is shared/footer.html, unchanged. */

.legal-page { background: var(--footer-bg); }

/* Header: the band with the wordmark, as on the landing page. */
.legal-header { background: var(--band); border-bottom-color: rgb(244 241 236 / .12); }
.legal-header .site-header__note { color: var(--band-muted); }
.legal-brand {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-display); font-size: 18px; font-weight: 700; line-height: 1; letter-spacing: -.005em;
  white-space: nowrap; color: var(--band-text); text-decoration: none;
}
.legal-brand:focus-visible { outline: 3px solid var(--band-text); outline-offset: 4px; border-radius: 4px; }
.legal-brand__mark { flex: none; width: 28px; height: 28px; }
.legal-brand__mark rect { fill: var(--accent); }
.legal-brand__mark path { fill: none; stroke: var(--on-accent); stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.legal-brand__find, .legal-brand__tld { font-weight: 400; }
.legal-brand__tld { color: var(--mark-on-band); }

/* Body: one readable column on the light background. */
.legal-main { background: var(--bg); color: var(--text); }
.legal-doc { box-sizing: content-box; max-width: 720px; margin: 0 auto; padding: 48px 16px 80px; }
.legal-doc h1 { font-family: var(--font-display); font-size: clamp(2rem, 1.5rem + 2vw, 2.75rem); font-weight: 700; line-height: 1.1; letter-spacing: -.01em; }
.legal-updated { margin-top: 10px; font-size: 15px; color: var(--text-muted); }
.legal-intro { margin-top: 20px; font-size: 18px; line-height: 1.6; }
.legal-doc h2 { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--border); font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
.legal-doc h3 { margin-top: 24px; font-size: 1.0625rem; font-weight: 700; }
.legal-doc p, .legal-doc li { margin-top: 12px; font-size: 17px; line-height: 1.65; }
.legal-doc ul { margin-top: 4px; padding-left: 1.25em; }
.legal-doc li { margin-top: 6px; }
.legal-doc a { color: var(--accent-600); text-underline-offset: 2px; }
.legal-doc strong { font-weight: 700; }
.legal-contact { margin-top: 12px; padding: 16px 20px; border-left: 3px solid var(--accent); background: var(--white); font-size: 17px; line-height: 1.6; }
.legal-toc { margin-top: 28px; padding: 18px 20px; border: 1px solid var(--border); border-radius: 8px; background: var(--white); }
.legal-toc p { margin-top: 0; font-size: 15px; font-weight: 700; color: var(--text-muted); }
.legal-toc ol { margin-top: 8px; padding-left: 1.4em; columns: 2 220px; column-gap: 32px; }
.legal-toc li { margin-top: 4px; font-size: 16px; line-height: 1.45; break-inside: avoid; }
.legal-doc .legal-partners { margin-top: 16px; padding: 0; list-style: none; }
.legal-partners li { margin-top: 12px; padding: 18px 20px; border: 1px solid var(--border); border-radius: 8px; background: var(--white); }
.legal-partners strong { display: block; font-size: 18px; }
.legal-partners span { display: block; margin-top: 4px; color: var(--text-muted); font-size: 16px; }
.legal-back { margin-top: 48px; font-size: 16px; }

@media (min-width: 768px) {
  .legal-brand { font-size: 20px; }
  .legal-doc { padding: 64px 24px 96px; }
}
