.legal-hero { padding-block: 48px 48px; max-width: 800px; margin-left: 0; }
.legal-hero h1 { margin: 20px 0; font-size: clamp(42px, 7vw, 72px); letter-spacing: -.055em; line-height: 1.08; }
.legal-hero > p:not(.eyebrow) { color: var(--ink-muted); font-size: 18px; max-width: 660px; }
.legal-meta { display: flex; gap: 12px 24px; flex-wrap: wrap; margin-top: 24px; color: var(--ink-faint); font-size: 13px; }
.legal-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 64px; align-items: start; padding-bottom: 96px; }
.legal-toc { position: sticky; top: 24px; border-top: 1px solid var(--line); padding-top: 20px; }
.legal-toc h2 { font-size: 14px; margin: 0 0 16px; }
.legal-toc ol { margin: 0; padding-left: 20px; color: var(--ink-muted); font-size: 14px; }
.legal-toc li { padding-block: 5px; }
.legal-toc a:hover { color: var(--ink); }
.legal-content { min-width: 0; max-width: 820px; font-size: 16px; line-height: 1.85; }
.legal-content section { margin-bottom: 44px; scroll-margin-top: 28px; }
.legal-content h2 { font-size: 24px; line-height: 1.3; letter-spacing: -.03em; margin: 0 0 18px; }
.legal-content h3 { font-size: 18px; line-height: 1.4; margin: 24px 0 10px; }
.legal-content p, .legal-content li, .legal-content dd { color: var(--ink-muted); }
.legal-content p { margin: 0 0 16px; }
.legal-content ul, .legal-content ol { padding-left: 24px; margin: 16px 0; }
.legal-content li { margin-bottom: 8px; }
.legal-content strong, .legal-content dt { color: var(--ink); }
.legal-content a, .legal-callout a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line-strong); }
.legal-content a:hover, .legal-callout a:hover { text-decoration-color: currentColor; }
.legal-content a { overflow-wrap: anywhere; }
.legal-callout { border: 1px solid var(--line); border-radius: 16px; background: var(--surface); padding: 24px; margin-bottom: 32px; }
.legal-callout p:last-child { margin-bottom: 0; }
.legal-draft { border-left: 3px solid var(--amber); }
.legal-facts { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px 24px; margin: 20px 0; }
.legal-facts dt { font-weight: 650; }
.legal-facts dd { margin: 0; overflow-wrap: anywhere; }
.legal-cards { display: grid; gap: 16px; }
.legal-card { padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.legal-card h3 { margin-top: 0; }
.legal-card p:last-child { margin-bottom: 0; }
.legal-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 16px; text-align: left; }
.legal-table th, .legal-table td { vertical-align: top; padding: 18px; border-bottom: 1px solid var(--line); }
.legal-table th { background: var(--surface); color: var(--ink); font-weight: 650; }
.legal-table td { color: var(--ink-muted); }
.legal-table tr:last-child td { border-bottom: 0; }
.legal-table th:first-child { width: 30%; }
.legal-end { border-top: 1px solid var(--line); padding-top: 24px; }
.legal-document-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.legal-footer { flex-wrap: wrap; gap: 20px; }
.legal-footer nav { flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 850px) {
  .legal-layout { grid-template-columns: 1fr; gap: 36px; }
  .legal-toc { position: static; }
  .legal-toc ol { columns: 2; column-gap: 32px; }
  .legal-toc li { break-inside: avoid; }
  .legal-hero { padding-top: 24px; }
}
@media (max-width: 520px) {
  .legal-facts { grid-template-columns: 1fr; gap: 4px; }
  .legal-facts dd { margin-bottom: 12px; }
  .legal-card, .legal-callout { padding: 20px; }
  .legal-toc ol { columns: 1; }
  .legal-table th, .legal-table td { padding: 12px; }
  .legal-footer nav { justify-content: flex-start; }
}
@media print {
  .site-header, .site-footer, .skip-link, .legal-toc { display: none; }
  body { background: white; color: black; }
  .wrap { width: 100%; }
  .legal-layout { display: block; padding-bottom: 0; }
  .legal-content { max-width: none; }
  .legal-content p, .legal-content li, .legal-content dd, .legal-table td, .legal-meta { color: #222; }
  .legal-content strong, .legal-content dt, .legal-table th { color: black; }
  .legal-callout, .legal-card, .legal-table th { background: white; }
  .legal-hero { padding: 0 0 24px; }
  .legal-hero .gradient-text { background: none; color: black; -webkit-text-fill-color: black; }
  .legal-content h2, .legal-content h3 { break-after: avoid; }
}
