:root {
    --legal-bg: #08070d;
    --legal-panel: rgba(20, 17, 29, .94);
    --legal-text: #f1edf7;
    --legal-muted: #c5bbd3;
    --legal-accent: #b993ff;
    --legal-line: rgba(185, 147, 255, .28);
}

* { box-sizing: border-box; }

body.legal-page {
    min-width: 0;
    margin: 0;
    padding: var(--global-header-height, 58px) 0 var(--global-footer-height);
    color: var(--legal-text);
    background:
        radial-gradient(circle at 15% 10%, rgba(107, 50, 157, .2), transparent 34rem),
        linear-gradient(180deg, #0c0912, var(--legal-bg));
    font: 400 1rem/1.72 Georgia, serif;
}

.legal-page .site-footer a { color: var(--global-footer-color); text-decoration: none; }
.legal-page .site-footer a:hover,
.legal-page .site-footer a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: .2em; }

.legal-main { width: min(100% - 2rem, 960px); margin: 0 auto; padding: clamp(2rem, 6vw, 5rem) 0; }
.legal-document { overflow-wrap: anywhere; }
.legal-hero { padding: clamp(1.5rem, 5vw, 3.5rem); border: 1px solid var(--legal-line); background: linear-gradient(135deg, rgba(66, 30, 94, .38), var(--legal-panel)); box-shadow: 0 24px 80px rgba(0, 0, 0, .28); }
.legal-kicker { margin: 0 0 .7rem; color: var(--legal-accent); font-size: .78rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.legal-hero h1 { max-width: 18ch; margin: 0; font: 700 clamp(2rem, 6vw, 4.2rem)/1.04 Georgia, serif; text-wrap: balance; }
.legal-summary { max-width: 68ch; margin: 1.4rem 0 0; color: #ded5e9; font-size: clamp(1.04rem, 2vw, 1.2rem); }
.legal-updated { margin: 1.25rem 0 0; color: var(--legal-muted); font-size: .9rem; }

.legal-document > section,
.legal-boundary { margin-top: 1.25rem; padding: clamp(1.25rem, 4vw, 2.25rem); border: 1px solid var(--legal-line); background: var(--legal-panel); }
.legal-document h2 { margin: 0 0 .75rem; color: #f7f1ff; font: 700 clamp(1.25rem, 3vw, 1.65rem)/1.25 Georgia, serif; }
.legal-document p { margin: .7rem 0 0; color: var(--legal-muted); }
.legal-document ul { margin: .75rem 0 0; padding-left: 1.25rem; color: var(--legal-muted); }
.legal-document li + li { margin-top: .5rem; }
.legal-document a { color: var(--legal-accent); }
.legal-boundary { border-color: rgba(238, 179, 85, .55); background: rgba(56, 36, 13, .42); }
.legal-boundary h2 { color: #ffd99a; }
.legal-framework { border-left: 4px solid var(--legal-accent) !important; }
.legal-page .site-footer p { margin: 0; text-align: center; }

@media (max-width: 700px) {
    .legal-main { width: min(100% - 1rem, 960px); padding-top: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; }
}
