.legal-page { padding-top: 56px; padding-bottom: 80px; }
.legal-header { max-width: 900px; padding-bottom: 36px; border-bottom: 1px solid #dfe5ef; }
.legal-back { color: #365af2; font-size: 14px; text-decoration: none; }
.legal-header h1 { margin: 24px 0 18px; color: #0b1730; font-size: clamp(30px,4vw,44px); line-height: 1.2; font-weight: 750; letter-spacing: -.025em; }
.legal-header p { margin: 0 0 18px; color: #53627a; font-size: 16px; line-height: 1.9; }
.legal-header small { color: #6c7c92; font-size: 13px; }
.legal-layout { display: grid; grid-template-columns: 220px minmax(0,760px); gap: 64px; margin-top: 40px; align-items: start; }
.legal-toc { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 108px; }
.legal-toc strong { color: #0b1730; font-size: 13px; margin-bottom: 4px; }
.legal-toc a { color: #62718a; font-size: 14px; text-decoration: none; line-height: 1.5; }
.legal-toc a:hover, .legal-content a { color: #365af2; }
.legal-content section { margin: 0 0 36px; scroll-margin-top: 108px; }
.legal-content h2 { margin: 0 0 12px; color: #101c32; font-size: 20px; font-weight: 700; line-height: 1.5; }
.legal-content p { margin: 0; color: #53627a; font-size: 15px; line-height: 1.95; overflow-wrap: anywhere; }
.legal-content a { text-underline-offset: 3px; }
.legal-links { display: flex; flex-wrap: wrap; gap: 12px 20px; font-size: 12px; }
.legal-links a { text-decoration: none; }
.legal-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-footer-bottom { flex-wrap: wrap; align-items: center; }
.site-footer-bottom .legal-links { color: #94a3b8; }
@media (max-width: 767px) {
  .legal-page { padding-top: 32px; padding-bottom: 48px; }
  .legal-layout { grid-template-columns: minmax(0,1fr); gap: 32px; margin-top: 28px; }
  .legal-toc { position: static; flex-direction: row; flex-wrap: wrap; gap: 12px 20px; padding-bottom: 24px; border-bottom: 1px solid #dfe5ef; }
  .legal-toc strong { flex-basis: 100%; }
  .legal-content section { margin-bottom: 28px; }
}
