.legal-section {
    padding: 5rem 0 8rem;
}

.legal-inner {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 3rem;
}

.legal-updated {
    font-size: 0.68rem;
    letter-spacing: 0.15em;
    color: var(--color-text-faint);
    margin-bottom: 3rem;
}

.legal-block {
    margin-bottom: 3rem;
}

.legal-block h2 {
    font-family: var(--font-display);
    font-size: 0.85rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    color: var(--color-gold);
    margin-bottom: 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 0.5px solid var(--color-gold-border);
    text-transform: uppercase;
}

.legal-block p {
    font-size: 0.82rem;
    color: var(--color-text-body-sub);
    line-height: 2.1;
    letter-spacing: 0.04em;
    margin-bottom: 0.8rem;
}

.legal-block ul {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0.8rem;
}

.legal-block ul li {
    font-size: 0.82rem;
    color: var(--color-text-body-sub);
    line-height: 2;
    letter-spacing: 0.04em;
    padding-left: 1.2rem;
    position: relative;
}

.legal-block ul li::before {
    content: '–';
    position: absolute;
    left: 0;
    color: var(--color-gold);
    opacity: 0.4;
}

.legal-contact {
    margin-top: 4rem;
    padding: 2rem;
    border: 0.5px solid var(--color-gold-border);
    background: rgba(255, 215, 0, 0.02);
}

.legal-contact p {
    font-size: 0.8rem;
    color: var(--color-text-body-sub);
    line-height: 2;
    letter-spacing: 0.04em;
    margin: 0;
}

.legal-contact a {
    color: var(--color-gold);
    text-decoration: none;
    opacity: 0.8;
    transition: opacity var(--transition-base);
}

.legal-contact a:hover {
    opacity: 1;
}

@media (max-width: 768px) {
    .legal-inner {
        padding: 0 1.25rem;
    }

    .legal-section {
        padding: 3rem 0 6rem;
    }
}