/* Legal content uses the recovered site's typography, palette and page shell. */
.legal-hero { min-height: 310px; }
.legal-hero .wrap { padding-block: 60px 44px; }
.legal-hero h1 { max-width: 100%; font-size: clamp(2.25rem, 6vw, 4.75rem); line-height: 1.05; }
.legal-hero p { max-width: 74ch; }
.legal-hero .legal-date { margin-top: 18px; color: var(--muted); font-size: .9rem; }
.legal-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; align-items: start; padding-block: 56px 88px; }
.legal-toc { position: sticky; top: 140px; max-height: calc(100vh - 170px); overflow-y: auto; padding: 24px; border: 1px solid var(--line); background: var(--panel); }
.legal-toc h2 { margin: 0 0 16px; color: var(--blue-bright); font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; }
.legal-toc ol { padding: 0; margin: 0; list-style: none; }
.legal-toc li + li { margin-top: 6px; }
.legal-toc a { display: block; padding: 6px 0; color: var(--silver); font-size: .9rem; line-height: 1.5; }
.legal-toc a:hover { color: var(--blue-bright); text-decoration: underline; text-underline-offset: 3px; }
.legal-copy { min-width: 0; max-width: 74ch; color: var(--silver); overflow-wrap: anywhere; }
.legal-copy h2 { margin: 42px 0 16px; color: var(--text); font-size: clamp(1.3rem, 2vw, 1.65rem); font-style: normal; line-height: 1.35; letter-spacing: -.015em; scroll-margin-top: 150px; }
.legal-copy p { margin: 0 0 20px; line-height: 1.85; }
.legal-copy a { color: var(--blue-bright); text-decoration: underline; text-underline-offset: 3px; }
.legal-copy strong { color: var(--text); }

.legal-related { margin-top: 40px !important; padding-top: 24px; border-top: 1px solid var(--line); }
@media (max-width: 800px) {
  .legal-layout { grid-template-columns: 1fr; gap: 32px; padding-block: 32px 64px; }
  .legal-toc { position: static; max-height: none; }
  .legal-toc a { min-height: 44px; display: flex; align-items: center; }
  .legal-hero { min-height: 0; }
  .legal-hero .wrap { padding-block: 48px 32px; }
  .legal-hero p { font-size: 1rem; }
}
@media print {
  @page { margin: 18mm; }
  html, body.legal-page { color-scheme: light; background: #fff; color: #000; }
  body.legal-page { padding: 0; font-size: 11pt; }
  .legal-page::before, .legal-page .site-header, .legal-page .site-footer,
  .legal-page .mobile-actions, .legal-page .skip-link, .legal-toc,
  .legal-hero::before { display: none; }
  .legal-page .wrap { width: 100%; }
  .legal-hero { display: block; min-height: 0; background: none; border-color: #777; }
  .legal-hero .wrap { padding: 0 0 16pt; }
  .legal-hero h1 { font-size: 26pt; }
  .legal-hero p, .legal-hero .legal-date, .legal-page .kicker,
  .legal-copy, .legal-copy h2, .legal-copy strong, .legal-copy a { color: #000; text-shadow: none; }
  .legal-layout { display: block; padding: 20pt 0 0; }
  .legal-copy { max-width: none; }
  .legal-copy h2 { break-after: avoid; margin-top: 24pt; font-size: 15pt; }
  .legal-copy p { orphans: 3; widows: 3; }

}
