.legal-document-page {
    background: #1a0b2e;
    color: #34253f;
}

.legal-document-page .page-header {
    position: relative;
    padding: 1.25rem 0;
    background: #1a0b2e;
    box-shadow: 0 5px 24px rgba(26, 11, 46, 0.16);
}

.legal-document-main {
    padding: 3rem 1.25rem 5rem;
    background: radial-gradient(circle at 70% 30%, #351f5c 0%, #1a0b2e 60%);
}

.legal-document {
    max-width: 860px;
    padding: 2.75rem 3rem;
    background: #ffffff;
    border: 1px solid rgba(85, 58, 127, 0.14);
    border-radius: 24px;
    box-shadow: 0 18px 55px rgba(74, 48, 103, 0.08);
    font-size: 1rem;
    line-height: 1.72;
}

.legal-document h1,
.legal-document h2,
.legal-document h3 {
    color: #4b3265;
    line-height: 1.25;
}

.legal-document h1 {
    margin: 0 0 1.25rem;
    font-size: clamp(2rem, 5vw, 3rem);
}

.legal-document h2 {
    margin: 2.5rem 0 0.85rem;
    font-size: 1.55rem;
}

.legal-document h3 {
    margin: 1.75rem 0 0.65rem;
    font-size: 1.2rem;
}

.legal-document p,
.legal-document ul,
.legal-document ol,
.legal-document table {
    margin: 0 0 1rem;
}

.legal-document li + li {
    margin-top: 0.35rem;
}

.legal-document a {
    color: #b84e22;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.legal-document table {
    display: block;
    width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

.legal-document th,
.legal-document td {
    min-width: 9rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid rgba(85, 58, 127, 0.2);
    text-align: left;
    vertical-align: top;
}

.legal-document th {
    background: #f7f0fb;
}

.legal-document code {
    padding: 0.1em 0.35em;
    border-radius: 5px;
    background: #f4edf7;
    font-size: 0.92em;
}

@media (max-width: 700px) {
    .legal-document-main {
        padding: 1.5rem 0.75rem 3rem;
    }

    .legal-document {
        padding: 1.75rem 1.25rem;
        border-radius: 16px;
    }
}
