/* Legal pages: /privacy, /privacy-en, /terms (static, built by tools/build-legal.mjs) */
.page-header { padding: var(--space-6) 0 var(--space-5); border-bottom: 1px solid var(--border-default); background: var(--bg-elevated); }
.page-header h1 { margin: 0 0 var(--space-2); font-size: var(--fs-3xl); }
@media (min-width: 768px) { .page-header h1 { font-size: var(--fs-4xl); } }
.page-header__meta { margin: 0; max-width: 60ch; color: var(--text-secondary); font-size: var(--fs-md); }
.legal, .legal-head { max-width: 72ch; }
.legal h2 { margin: var(--space-7) 0 var(--space-3); font-size: var(--fs-xl); scroll-margin-top: 96px; }
.legal h3 { margin: var(--space-5) 0 var(--space-2); font-family: var(--font-sans); font-stretch: normal; font-size: var(--fs-lg); font-weight: var(--fw-bold); letter-spacing: normal; scroll-margin-top: 96px; }
.legal p, .legal li, .legal td, .legal dd { line-height: var(--lh-relaxed); color: var(--text-primary); }
.legal ul, .legal ol { margin: 0 0 var(--space-4); padding-left: 1.2em; }
.legal li + li { margin-top: 6px; }
.legal-notice { border: 1px solid var(--border-default); border-left: 4px solid var(--warning-500); background: var(--surface-sunken); border-radius: var(--radius-md); padding: var(--space-4); }
.legal-summary { margin-top: var(--space-5); border: 1px solid var(--border-default); background: var(--surface-card); border-radius: var(--radius-md); padding: var(--space-4) var(--space-5); }
.legal-summary h2 { margin-top: 0; }
.legal-summary ul { margin-bottom: 0; }
.legal-dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px var(--space-4); margin: 0 0 var(--space-4); }
.legal-dl dt { color: var(--text-muted); font-size: var(--fs-sm); padding-top: 3px; }
.legal-dl dd { margin: 0; font-weight: var(--fw-semibold); overflow-wrap: anywhere; }
.legal-table { width: 100%; border-collapse: collapse; margin: 0 0 var(--space-4); }
.legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: var(--space-2) var(--space-3) var(--space-2) 0; border-bottom: 1px solid var(--border-subtle); }
.legal-table th { color: var(--text-muted); font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
.legal-table td:first-child { width: 55%; }
@media (max-width: 560px) {
  .legal-dl { grid-template-columns: 1fr; gap: 0; }
  .legal-dl dd { margin-bottom: var(--space-2); }
  .legal-table thead { display: none; }
  .legal-table tr, .legal-table td { display: block; width: auto; }
  .legal-table tr { padding: var(--space-2) 0; border-bottom: 1px solid var(--border-subtle); }
  .legal-table td { padding: 0; border: 0; }
  .legal-table td:first-child { width: auto; font-weight: var(--fw-semibold); }
}
