.legal-hero { padding-block: clamp(3rem,8vw,6rem); background: var(--color-primary-900); color: white; }
.legal-hero h1 { max-width: 18ch; margin-bottom: var(--space-4); color: white; }
.legal-hero p { margin: 0; color: #cbd7e7; }
.legal { padding-block: var(--section-space); }
.legal__layout { display: grid; grid-template-columns: 16rem minmax(0,47rem); gap: clamp(2rem,7vw,7rem); align-items: start; }
.legal__toc { position: sticky; top: calc(var(--header-height) + 2rem); }
.legal__toc strong { display: block; margin-bottom: var(--space-3); color: var(--color-primary-900); }
.legal__toc ul { display: grid; gap: var(--space-2); list-style: none; }
.legal__toc a { min-height: 2.5rem; display: flex; align-items: center; color: var(--color-muted); font-size: var(--font-size-sm); text-decoration: none; }
.legal__toc a:hover { color: var(--color-accent-700); }
.legal__content section { margin-bottom: var(--space-12); }
.legal__content h2 { margin-bottom: var(--space-5); font-size: var(--font-size-lg); }
.legal__content h3 { margin-top: var(--space-8); font-size: 1.1rem; }
.legal__content li { margin-left: 1.25rem; margin-bottom: var(--space-2); }
@media (max-width: 760px) { .legal__layout { grid-template-columns: 1fr; } .legal__toc { position: static; padding-bottom: var(--space-6); border-bottom: 1px solid var(--color-border); } }
