/* 20 · Legal pages (terms.html, privacy.html) */
.legal-main { padding-block: 88px 140px; }
.legal { max-width: 720px; }
.legal-eyebrow { font-family: var(--font-mono); font-size: 12px; line-height: 14px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-3); }
.legal-title { padding-top: 18px; font-weight: 500; font-size: 42px; line-height: 50px; letter-spacing: -0.03em; color: var(--ink); }
.legal-updated { padding-top: 14px; font-family: var(--font-mono); font-size: 12px; line-height: 18px; letter-spacing: 0.02em; color: var(--ink-4); }
.legal-intro { padding-top: 28px; }
.legal p, .legal li { font-size: 17px; line-height: 28px; color: var(--ink-2); }
.legal p + p, .legal ul + p, .legal p + ul { margin-top: 14px; }
.legal a { color: var(--ink); border-bottom: 1px solid var(--line-card); }
.legal a:hover { color: var(--blue); border-color: var(--blue); }
.legal-toc { margin-top: 36px; padding: 22px 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg-stone); }
.legal-toc ol { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; list-style: none; }
.legal-toc li { font-size: 14px; line-height: 22px; }
.legal-toc a { border: 0; color: var(--ink-3); }
.legal-toc a:hover { color: var(--blue); }
.legal-section { padding-top: 44px; scroll-margin-top: 90px; }
.legal-section h2 { font-weight: 500; font-size: 24px; line-height: 32px; letter-spacing: -0.02em; color: var(--ink); padding-bottom: 12px; }
.legal-section h3 { font-weight: 500; font-size: 17px; line-height: 26px; color: var(--ink); padding-top: 16px; padding-bottom: 6px; }
.legal ul { list-style: none; }
.legal ul li { position: relative; padding-left: 22px; }
.legal ul li + li { margin-top: 8px; }
.legal ul li::before { content: ''; position: absolute; left: 4px; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
@media (max-width: 600px) {
  .legal-main { padding-block: 48px 96px; }
  .legal-title { font-size: 30px; line-height: 36px; }
  .legal-toc ol { grid-template-columns: 1fr; }
  .legal p, .legal li { font-size: 16px; line-height: 26px; }
}
