
.legal-page .language-switch { margin: 0; padding: 0; border: 0; }
.legal-main { max-width: 860px; padding-block: clamp(40px, 8vw, 94px); }
.legal-intro { margin-bottom: 30px; }
.legal-intro h1 { font-size: clamp(32px, 5.3vw, 56px); margin-block: 20px 12px; }
.legal-intro p, .legal-content { color: var(--text); }
.legal-toc { padding: 20px 22px; background: var(--sage); border: 1px solid var(--line); }
.legal-toc ol { margin: 0; padding-left: 24px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 34px; }
.legal-toc li::marker { color: var(--muted); font-variant-numeric: tabular-nums; }
.legal-toc a, .legal-content a { text-decoration: underline; text-underline-offset: 3px; }
.legal-content section { padding-block: 28px 12px; border-bottom: 1px solid var(--line); }
.legal-content h2 { color: var(--ink); font-size: clamp(22px, 3.5vw, 30px); line-height: 1.3; margin-bottom: 16px; }
.legal-content dl { margin-block: 0 12px; }
.legal-content dl div { display: grid; grid-template-columns: minmax(150px, 1fr) 3fr; padding-block: 7px; gap: 6px 24px; }
.legal-content dt, .legal-content strong { font-weight: 650; color: var(--ink); }
.legal-content dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 590px) {
  .legal-page .header-inner { gap: 8px; }
  .legal-page .brand { gap: 9px; font-size: 16px; }
  .legal-page .brand-mark { width: 35px; height: 35px; font-size: 28px; }
  .legal-page .brand small { font-size: 7px; letter-spacing: .8px; }
  .legal-page .language-switch a { min-width: 30px; }
  .legal-toc ol, .legal-content dl div { grid-template-columns: 1fr; }
  .legal-content dl div { gap: 2px; }
}
