.legal-page { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
.legal-content { flex: 1; width: 100%; max-width: 720px; margin-inline: auto; padding-block: 72px 80px; }
.legal-content h1 { font-size: clamp(30px, 5vw, 42px); }
.legal-draft { margin: 18px 0 40px; color: #888; font-size: 13px; }
.legal-content section + section { margin-top: 32px; }
.legal-content h2 { margin: 0 0 12px; font-size: 19px; }
.legal-content section p { margin: 0 0 12px; color: #666; font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }
.legal-terms h1 { margin-bottom: 0; }
.legal-actions { margin: 22px 0 36px; }
.legal-download { display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px; border: 1px solid var(--accent); border-radius: 4px; background: var(--accent); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.legal-download:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.legal-terms h2 { padding-left: 12px; border-left: 3px solid var(--secondary); color: var(--accent); }
.legal-terms .legal-article { color: var(--accent); }
.legal-terms .legal-article-dot { color: var(--secondary); font-size: 1.3em; font-weight: 700; line-height: 0; }
.legal-terms strong { color: var(--accent); font-weight: 700; }
.legal-terms .legal-brand { color: var(--secondary); }
.legal-terms section ul { margin: 0 0 12px; padding-left: 22px; color: #666; font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }
.legal-terms section li + li { margin-top: 12px; }
.legal-terms section li > ul { margin-top: 12px; margin-bottom: 0; }
.legal-terms section li::marker { color: var(--secondary); }
.legal-terms h3 { margin: 20px 0 14px; color: var(--accent); font-size: 16px; line-height: 1.5; }
.legal-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #dce3eb; border-radius: 4px; }
.legal-table-scroll:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.legal-table { width: 100%; min-width: 620px; border-collapse: collapse; color: #666; font-size: 14px; line-height: 1.7; }
.legal-table th, .legal-table td { padding: 14px 16px; text-align: left; vertical-align: top; }
.legal-table th { background: var(--accent); color: #fff; font-weight: 700; }
.legal-table tbody tr + tr { border-top: 1px solid #dce3eb; }
.legal-table tbody tr:nth-child(even) { background: #f0f3f7; }
.legal-table-commitments { min-width: 480px; }
.legal-table-commitments th[scope="row"] { width: 28%; background: #eef2f7; color: var(--accent); }
.legal-table-commitments .legal-table-commitment th { border-left: 3px solid var(--secondary); }
.legal-table-commitments .legal-table-commitment td { background: #fff5f5; }
.legal-note { margin: 20px 0; padding: 18px 20px; border-left: 3px solid var(--secondary); border-radius: 0 4px 4px 0; background: #eef2f7; }
.legal-content .legal-note p { margin: 0; }
@media (max-width: 720px) {
    .legal-content { padding-block: 44px 56px; }
}
