.legal-page, .legal-page a { cursor: auto; }
.legal-header { padding: 1.5rem 0; border-bottom: 1px solid #292938; }
.legal-header .container { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.legal-main { max-width: 900px; padding-top: 4rem; padding-bottom: 4rem; }
.legal-main h1 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(2rem, 5vw, 3rem); margin-bottom: 1rem; }
.legal-main h2 { font-size: 1.35rem; margin: 2.5rem 0 1rem; scroll-margin-top: 1rem; }
.legal-main h3 { font-size: 1.1rem; margin: 1.5rem 0 .75rem; }
.legal-main p, .legal-main li { line-height: 1.85; color: #c5c5d8; margin-bottom: .8rem; }
.legal-main ul { list-style: disc; padding-left: 1.5rem; }
.legal-main a { color: #b797ff; text-decoration: underline; text-underline-offset: 3px; }
.legal-main nav { padding: 1.5rem; margin: 2rem 0; border: 1px solid #383349; border-radius: 16px; background: #11111c; }
.legal-main nav ul { columns: 2; }
.legal-main table { width: 100%; border-collapse: collapse; color: #c5c5d8; }
.legal-main th, .legal-main td { border: 1px solid #383349; padding: .75rem; text-align: left; }
.legal-main th { background: #11111c; }
.legal-main .legal-table-wrap { overflow-x: auto; margin: 1rem 0; }
.legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 1.5rem; padding: 1.25rem 2rem; font-size: .85rem; }
.legal-links a { text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom .legal-links { padding: 0 1rem .75rem; }
.vn-footer-inner { flex-wrap: wrap; }
.vn-footer-inner .legal-links { flex-basis: 100%; padding: .5rem 0; }
a:focus-visible { outline: 2px solid #b797ff; outline-offset: 5px; }
@media (max-width: 600px) { .legal-main nav ul { columns: 1; } .legal-main { padding-top: 2.5rem; } }
