.legal-page {
    width: min(100% - 2rem, 1180px);
    margin-inline: auto;
    padding-block: clamp(7rem, 10vw, 10rem) clamp(5rem, 8vw, 8rem);
}

.legal-page-header {
    max-width: 900px;
    margin-inline: auto;
    padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
    border-bottom: 1px solid var(--site-section-line);
}

.legal-page-header h1 {
    max-width: 14ch;
}

.legal-page-header > p {
    max-width: 760px;
}

.legal-page-updated {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin-top: 1.2rem;
    color: var(--text-secondary);
    font-size: .92rem;
    letter-spacing: .02em;
}

.legal-page-body {
    width: min(100%, 820px);
    margin: clamp(2.5rem, 5vw, 4.5rem) auto 0;
}

.legal-page-body h2,
.legal-page-body h3 {
    color: var(--text-primary);
    margin: 0;
    scroll-margin-top: 7rem;
}

.legal-page-body h2 {
    margin-top: clamp(2.4rem, 5vw, 4.2rem);
    padding-top: clamp(2rem, 4vw, 3rem);
    border-top: 1px solid var(--site-section-line);
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    line-height: 1.45;
}

.legal-page-body h2:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.legal-page-body h3 {
    margin-top: 2rem;
    font-size: 1.2rem;
}

.legal-page-body p,
.legal-page-body li {
    color: var(--text-secondary);
    font-size: clamp(1rem, 1.35vw, 1.08rem);
    line-height: 2;
}

.legal-page-body p {
    margin: 1rem 0 0;
}

.legal-page-body ul {
    display: grid;
    gap: .75rem;
    margin: 1.25rem 0 0;
    padding-inline-start: 1.25rem;
}

.legal-page-body li::marker {
    color: var(--taj-gold);
}

@media (max-width: 720px) {
    .legal-page {
        width: min(100% - 1.25rem, 1180px);
        padding-top: 6rem;
    }

    .legal-page-body p,
    .legal-page-body li {
        line-height: 1.9;
    }
}
