.legal-page {
    padding: calc(var(--nav-h, 76px) + 64px) 0 80px;
}

.legal-page-inner {
    max-width: 48rem;
}

.legal-page-title {
    margin: 0 0 1.5rem;
    font-size: clamp(1.75rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
    color: var(--color-ink-900, #14181d);
}

.legal-content {
    font-size: 0.9375rem;
    line-height: 1.75;
    color: var(--color-ink-700, #2c333b);
    word-break: break-word;
}

.legal-content.is-empty {
    min-height: 4rem;
}

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

.legal-content h1,
.legal-content h2,
.legal-content h3,
.legal-content h4,
.legal-content h5,
.legal-content h6 {
    margin: 1.5rem 0 0.75rem;
    font-weight: 700;
    color: var(--color-ink-900, #14181d);
}

.legal-content ul,
.legal-content ol {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
}

.legal-content a {
    color: var(--color-brand, #0b2c4d);
    text-decoration: underline;
}

.legal-content table {
    width: 100%;
    margin: 0 0 1rem;
    border-collapse: collapse;
}

.legal-content th,
.legal-content td {
    border: 1px solid var(--color-line-200, #eaedf0);
    padding: 0.5rem 0.75rem;
    text-align: left;
}

@media all and (max-width: 767px) {
    .legal-page {
        padding: calc(var(--nav-h, 76px) + 40px) 0 56px;
    }

    .legal-page-title {
        font-size: 1.5rem;
    }
}
