.legal-content { padding: 2rem; margin: 2rem auto; }
.legal-content .notice { background: #f0f4ff; border-inline-start: 4px solid #4a6cf7; border-radius: 8px; padding: 1.25rem; margin-bottom: 1.5rem; }
.legal-content .toc-card { margin-bottom: 2rem; }
.legal-content .toc-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.legal-content section { min-width: 0; }
.legal-content h2 { scroll-margin-top: 100px; font-size: clamp(1.25rem, 2.5vw, 1.65rem); }
.legal-content p, .legal-content td { overflow-wrap: anywhere; }
.legal-content p a { color: #3454d1; text-decoration: underline; }
.legal-table-wrap { overflow-x: auto; margin: 1.25rem 0; border: 1px solid #dbe3ef; border-radius: 12px; }
.legal-table-wrap:focus-visible { outline: 2px solid #4a6cf7; outline-offset: 3px; }
.legal-content table { border-collapse: collapse; width: 100%; min-width: 480px; font-size: .95rem; }
.legal-content th, .legal-content td { padding: 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid #dbe3ef; }
.legal-content th { background: #eef2ff; color: #032b41; }
.legal-content tr:last-child td { border-bottom: 0; }
.legal-content td:first-child { width: 25%; font-weight: 600; }
@media (max-width: 768px) {
    .hero { padding-top: 7rem; padding-bottom: 2.5rem; }
    .legal-content { width: calc(100% - 1.5rem); padding: 1.1rem; margin: 1.25rem auto; border-radius: 16px; }
    .legal-content .toc-links { grid-template-columns: 1fr; }
}
