:root {
    --red: #ed1c24;
    --ink: #1b1d20;
    --muted: #62686e;
    --line: #dfe2e4;
    --soft: #f4f5f5;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--soft); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; line-height: 1.65; }
.legal-header { min-height: 82px; display: flex; align-items: center; gap: 1rem; padding: 1rem max(1rem, calc((100% - 900px) / 2)); border-bottom: 1px solid var(--line); background: #fff; }
.legal-header img { width: 64px; height: 48px; object-fit: contain; }
.legal-header strong, .legal-header span { display: block; }
.legal-header span { color: var(--muted); font-size: .82rem; }
.legal-main { width: min(calc(100% - 2rem), 900px); margin: 2rem auto; padding: clamp(1.2rem, 4vw, 3rem); border-top: 5px solid var(--red); background: #fff; }
.legal-main h1 { margin: 0 0 .5rem; font-size: clamp(1.8rem, 5vw, 2.7rem); line-height: 1.15; }
.legal-main h2 { margin: 2rem 0 .5rem; font-size: 1.2rem; }
.legal-main p, .legal-main li { color: #3f454a; }
.legal-main .updated { margin-bottom: 2rem; color: var(--muted); font-size: .82rem; }
.legal-main a { color: #b80e16; }
.legal-main code { padding: .15rem .3rem; background: var(--soft); overflow-wrap: anywhere; }
.legal-footer { width: min(calc(100% - 2rem), 900px); margin: 0 auto 2rem; color: var(--muted); font-size: .8rem; }
