/* /terms */
.legal { padding: 80px 0 100px; }
  .legal .container { max-width: 760px; }
  .legal-head h1 { font-size: clamp(30px, 3.6vw, 42px); letter-spacing: -0.03em; }
  .legal-head .updated { margin-top: 14px; font-family: var(--font-mono); font-size: 12.5px; letter-spacing: 0.04em; color: var(--muted); }
  .legal-body { margin-top: 48px; font-size: 16px; line-height: 1.75; color: var(--text-soft); }
  .legal-body p { margin: 0 0 20px; }
  .legal-body h2 { margin: 44px 0 16px; font-size: 21px; letter-spacing: -0.015em; color: var(--text); scroll-margin-top: 100px; }
  .legal-body ol.roman { margin: 0 0 20px; padding-left: 26px; }
  .legal-body ol.roman li { margin-bottom: 10px; }
  .legal-body a { color: var(--primary-strong); }
  [data-theme="dark"] .legal-body a { color: var(--primary); }
  .legal-toc { margin-top: 36px; padding: 20px 24px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); }
  .legal-toc .lbl { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; display: block; }
  .legal-toc ol { margin: 0; padding-left: 0; list-style: none; columns: 2; column-gap: 24px; }
  .legal-toc li { font-size: 14px; margin-bottom: 8px; break-inside: avoid; }
  .legal-toc a { color: var(--text-soft); text-decoration: none; }
  .legal-toc a:hover { color: var(--primary-strong); }
  [data-theme="dark"] .legal-toc a:hover { color: var(--primary); }
  @media (max-width: 640px) { .legal-toc ol { columns: 1; } }
