.legal-page {
    background: #f4f5f7;
    color: #232a34;
    padding: 96px 0 112px;
    min-height: 100vh;
}

.legal-shell {
    width: min(100% - 48px, 940px);
    margin: 0 auto;
}

.legal-scroll {
    padding: clamp(34px, 6vw, 76px);
    border: 1px solid #d9dde4;
    border-radius: 6px;
    color: #232a34;
    background: #fff;
    box-shadow: 0 18px 42px rgba(23, 30, 42, 0.07);
    max-height: none;
    overflow: visible;
}

.legal-doc {
    color: #323b48;
    font-size: 16px;
    line-height: 1.82;
}

.legal-doc-header {
    margin-bottom: 44px;
    padding-bottom: 28px;
    border-bottom: 1px solid #d9dde4;
}

.legal-doc-header h1 {
    max-width: 720px;
    margin: 0 0 18px;
    color: #171b22;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: clamp(38px, 6vw, 58px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: 0;
}

.legal-meta {
    margin: 3px 0;
    color: #687181;
    font-weight: 600;
}

.legal-meta strong {
    font-weight: 700;
}

.legal-doc section {
    margin-top: 42px;
    padding-top: 10px;
}

.legal-doc h2 {
    margin: 0 0 16px;
    color: #171b22;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
}

.legal-doc h3 {
    margin: 24px 0 9px;
    color: #232a34;
    font-size: 17px;
    font-weight: 800;
}

.legal-doc p {
    margin: 0 0 18px;
}

.legal-doc a {
    color: #54349a;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.legal-doc a:hover,
.legal-doc a:focus-visible {
    color: #321c69;
}

.legal-doc a:focus-visible {
    border-radius: 2px;
    outline: 3px solid rgba(112, 72, 189, 0.28);
    outline-offset: 3px;
}

.legal-doc ul {
    margin: 0 0 20px;
    padding-left: 25px;
}

.legal-doc li {
    margin-bottom: 10px;
}

.legal-doc .legal-callout {
    margin: 30px 0;
    padding: 20px 22px;
    border-left: 4px solid #7048bd;
    color: #232a34;
    background: #f4f1fb;
    font-weight: 750;
}

body.legal-body {
    background: #f4f5f7;
}

body.legal-body .public-footer {
    background: #090d13;
    border-top-color: rgba(255, 255, 255, 0.12);
}

@media (max-width: 767px) {
    .legal-page {
        padding: 62px 0 78px;
    }

    .legal-shell {
        width: calc(100% - 28px);
    }

    .legal-scroll {
        padding: 28px 20px;
    }

    .legal-doc {
        font-size: 15px;
    }

    .legal-doc h2 {
        font-size: 25px;
    }
}
