.page-legal .legal-main {
    margin-top: 1rem;
}

.legal-container {
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
    align-items: start;
}

.legal-hero {
    display: grid;
    gap: 1rem;
    padding-block: clamp(28px, 5vw, 48px) clamp(12px, 2vw, 18px);
}

.legal-toc,
.legal-meta,
.legal-document {
    padding: clamp(18px, 2.4vw, 24px);
}

.legal-toc {
    position: sticky;
    top: 112px;
    display: grid;
    gap: 0.55rem;
}

.legal-toc a {
    justify-content: flex-start;
    min-height: auto;
    padding: 0.75rem 0.95rem;
    color: var(--text-soft);
}

.legal-toc a:hover,
.legal-toc a:focus-visible {
    color: var(--text);
    background: rgba(228,198,132,0.08);
}

.legal-meta {
    display: grid;
    gap: 0.7rem;
    margin-bottom: 1rem;
}

.legal-document {
    display: grid;
    gap: 1rem;
}

.legal-section + .legal-section {
    margin-top: 0.25rem;
}

.legal-update {
    padding-top: 0.85rem;
    border-top: 1px solid rgba(255,255,255,0.08);
}

@media (max-width: 1079px) {
    .legal-container {
        grid-template-columns: 1fr;
    }

    .legal-toc {
        position: relative;
        top: auto;
    }
}
