/* Legal pages reuse Stratum tokens; no new font, palette, or animation system. */
.legal-page { background: var(--bg); color: var(--ink); }
.legal-header, .legal-content, .legal-footer {
  width: min(100% - 40px, 760px);
  margin-inline: auto;
}
.legal-header { padding-block: 24px; border-bottom: 1px solid var(--line); }
.legal-content { padding-block: 32px 48px; overflow-wrap: anywhere; }
.legal-content h1 { margin: 0 0 20px; }
.legal-content h2 { margin: 32px 0 12px; font-size: 24px; line-height: 1.25; }
.legal-content p { margin: 0 0 16px; line-height: 1.65; }
.legal-page a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.legal-page a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.legal-review { padding: 12px; border: 1px solid var(--line); border-radius: var(--r-ctl); }
.legal-footer { padding-block: 20px 32px; border-top: 1px solid var(--line); }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.legal-footer a, .legal-header a { display: inline-flex; align-items: center; min-height: 44px; }
.foot-legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.foot-legal a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: 12px; text-decoration: none; }
.foot-legal a:hover, .foot-legal a:focus-visible { color: var(--accent); text-decoration: underline; }
.foot-legal a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (prefers-color-scheme: dark) {
  .legal-page {
    --bg: #0B0B14;
    --ink: #F7F7FA;
    --line: #2E2E3C;
    --accent: #8B72FF;
    --surface: #12121C;
    color-scheme: dark;
  }
}
