body.page-legal {
    --legal-red: #e20403;
    --legal-ink: #f5f3ef;
    --legal-muted: rgba(245, 243, 239, 0.68);
    --legal-line: rgba(255, 255, 255, 0.12);
    color: var(--legal-ink);
}

body.page-legal .legal-page {
    position: relative;
    z-index: 1;
    padding: clamp(7rem, 12vw, 9rem) 0 clamp(4rem, 8vw, 6rem);
}

body.page-legal .legal-shell {
    width: min(900px, calc(100% - 2rem));
    margin: 0 auto;
}

body.page-legal .legal-header {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--legal-line);
}

body.page-legal .legal-kicker {
    margin: 0 0 0.75rem;
    color: var(--legal-red);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.page-legal .legal-header h1 {
    margin: 0;
    color: #fff;
    font-family: "Barlow", system-ui, sans-serif;
    font-size: clamp(2.35rem, 7vw, 4.5rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 0.98;
}

body.page-legal .legal-updated {
    margin: 1rem 0 0;
    color: var(--legal-muted);
    font-size: 0.86rem;
}

body.page-legal .legal-summary,
body.page-legal .legal-content {
    border: 1px solid var(--legal-line);
    background: rgba(10, 10, 12, 0.78);
    backdrop-filter: blur(14px);
}

body.page-legal .legal-summary {
    margin-bottom: 1rem;
    padding: clamp(1.1rem, 3vw, 1.5rem);
    border-left: 3px solid var(--legal-red);
    color: rgba(255, 255, 255, 0.82);
    font-size: 1rem;
    line-height: 1.7;
}

body.page-legal .legal-summary p:last-child {
    margin-bottom: 0;
}

body.page-legal .legal-content {
    padding: clamp(1.25rem, 4vw, 2.5rem);
}

body.page-legal .legal-section + .legal-section {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--legal-line);
}

body.page-legal .legal-section h2 {
    margin: 0 0 0.85rem;
    color: #fff;
    font-family: "Barlow", system-ui, sans-serif;
    font-size: clamp(1.3rem, 3vw, 1.7rem);
    font-weight: 700;
}

body.page-legal .legal-section h3 {
    margin: 1.25rem 0 0.5rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
}

body.page-legal .legal-section p,
body.page-legal .legal-section li {
    color: var(--legal-muted);
    font-size: 0.98rem;
    line-height: 1.75;
}

body.page-legal .legal-section ul {
    margin: 0.65rem 0 0;
    padding-left: 1.25rem;
}

body.page-legal .legal-section li + li {
    margin-top: 0.45rem;
}

body.page-legal .legal-section a {
    color: #fff;
    text-decoration-color: var(--legal-red);
    text-underline-offset: 0.2em;
}

body.page-legal .legal-callout {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(226, 4, 3, 0.35);
    background: rgba(226, 4, 3, 0.08);
}

@media (max-width: 575.98px) {
    body.page-legal .legal-shell {
        width: min(100% - 1.25rem, 900px);
    }

    body.page-legal .legal-content {
        padding: 1.15rem;
    }
}
