.legal-page main { max-width: 1120px; }
.legal-intro { padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.legal-intro h1 { max-width: none; }
.legal-lead { max-width: 68ch; margin: 20px 0 0; color: var(--muted); font-size: 18px; }
.legal-date, .legal-scope { margin: 20px 0 0; color: var(--muted); font-size: 14px; }
.legal-summary { margin-block: 32px; padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--image-radius); }
.legal-summary h2, .legal-toc h2 { max-width: none; }
.legal-summary ul { margin: 0; padding-left: 22px; }
.legal-summary li + li { margin-top: 10px; }
.legal-summary p { margin: 16px 0 0; color: var(--muted); font-size: 14px; }
.legal-toc { padding-block: 24px 32px; border-bottom: 1px solid var(--line); }
.legal-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 32px; margin: 0; padding-left: 22px; }
.legal-toc a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); }
.legal-toc a:hover { color: var(--ink); }
.legal-sections { counter-reset: section; }
.legal-sections section { scroll-margin-top: 24px; padding-block: 32px; border-bottom: 1px solid var(--line); }
.legal-sections h2 { display: flex; gap: 12px; max-width: none; }
.legal-sections h2 span { min-width: 24px; color: var(--muted); font-size: 14px; line-height: 30px; }
.legal-sections h3 { max-width: 78ch; margin: 24px 0 0; font-size: 18px; }
.legal-sections p, .legal-sections li { max-width: 78ch; }
.legal-sections p { margin: 12px 0 0; }
.legal-sections ul { margin: 16px 0 0; padding-left: 22px; }
.legal-sections li + li { margin-top: 8px; }
.legal-footer { justify-content: flex-start; }
.legal-footer a { color: inherit; }
.ai-legal-field { padding-inline: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--image-radius); }
.ai-legal-field > p { color: var(--muted); }
.ai-law-list { margin-top: 24px; border-top: 1px solid var(--line); }
.ai-law-list details { border-bottom: 1px solid var(--line); }
.ai-law-list summary { display: flex; min-height: 48px; align-items: center; color: var(--ink); font-weight: 700; cursor: pointer; }
.ai-law-list details > div { padding: 0 0 20px; }
.ai-law-list details p:first-child { margin-top: 0; }
.ai-law-sources { padding-top: 20px; border-top: 1px solid var(--line); }
.ai-law-sources a { overflow-wrap: anywhere; }
.terms-router { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: var(--paper); color: var(--ink); }
.terms-router main { width: min(100%, 620px); padding: 32px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--image-radius); }
.terms-router p { color: var(--muted); }
.terms-router a { color: var(--ink); }
@media (max-width: 734px) {
  .legal-lead { font-size: 16px; }
  .legal-summary { padding: 20px; }
  .ai-legal-field { padding-inline: 20px; }
  .legal-toc ol { grid-template-columns: 1fr; }
  .legal-sections section { padding-block: 24px; }
}
