.legal-main { min-height: calc(100vh - 228px); background: var(--ivory); }
.legal-narrow { max-width: 820px; }
.legal-hero { padding-block: 76px 54px; color: var(--ivory); background: var(--navy); border-top: 1px solid rgba(255,255,255,.08); }
.legal-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(48px, 6vw, 70px); font-weight: 500; letter-spacing: -.03em; }
.legal-hero > div > p:last-child { margin: 16px 0 0; color: rgba(247,244,237,.68); font-size: 13px; }
.legal-content { padding-block: 72px 88px; }
.legal-content section { padding: 0 0 28px; margin: 0 0 28px; border-bottom: 1px solid var(--border); }
.legal-content section:last-child { margin-bottom: 0; }
.legal-content h2 { margin: 0 0 12px; color: var(--navy); font-family: var(--serif); font-size: 28px; font-weight: 500; }
.legal-content p { margin: 0; color: #555d6b; font-size: 15px; line-height: 1.75; }
.legal-content a { color: var(--navy); text-underline-offset: 3px; }
.legal-footer > div { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.legal-footer p { margin: 0; font-size: 11px; }
.legal-footer nav { display: flex; gap: 24px; font-size: 12px; }
.legal-footer nav a { text-decoration: none; }
@media (max-width: 620px) {
  .legal-hero { padding-block: 55px 42px; }
  .legal-content { padding-block: 54px 66px; }
  .legal-footer > div { min-height: 120px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 18px; }
}
