:root { --legal-primary:#2563eb; --legal-ink:#172033; --legal-muted:#64748b; --legal-line:#e2e8f0; }
* { box-sizing:border-box; }
body { margin:0; color:var(--legal-ink); background:#f8fafc; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.legal-nav { min-height:68px; background:#fff; border-bottom:1px solid var(--legal-line); }
.legal-brand { display:inline-flex; align-items:center; gap:.7rem; color:var(--legal-ink); text-decoration:none; }
.legal-brand-mark { display:grid; width:38px; height:38px; place-items:center; color:#fff; background:var(--legal-primary); border-radius:10px; }
.legal-hero { padding:4rem 1rem 2.5rem; background:#fff; border-bottom:1px solid var(--legal-line); }
.legal-hero .container,.legal-main { max-width:900px; }
.legal-eyebrow { color:var(--legal-primary); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.legal-hero h1 { margin:.4rem 0 .75rem; font-size:clamp(2.2rem,6vw,4rem); font-weight:800; letter-spacing:-.045em; }
.legal-hero p { max-width:720px; color:var(--legal-muted); font-size:1.05rem; }
.legal-main { margin:2rem auto 4rem; padding:clamp(1.25rem,4vw,3rem); background:#fff; border:1px solid var(--legal-line); border-radius:1rem; box-shadow:0 12px 35px rgba(15,23,42,.05); }
.legal-main section + section { margin-top:2.5rem; padding-top:2.5rem; border-top:1px solid var(--legal-line); }
.legal-main h2 { font-size:1.35rem; font-weight:750; }
.legal-main h3 { margin-top:1.3rem; font-size:1rem; font-weight:750; }
.legal-main p,.legal-main li { color:#475569; line-height:1.7; }
.legal-callout { padding:1rem 1.15rem; background:#eff6ff; border:1px solid #bfdbfe; border-radius:.8rem; }
.consent-demo { padding:1.25rem; background:#f8fafc; border:1px solid var(--legal-line); border-radius:.9rem; }
.consent-check { display:flex; align-items:flex-start; gap:.75rem; padding:1rem; background:#fff; border:1px solid var(--legal-line); border-radius:.75rem; font-size:.88rem; line-height:1.55; }
.consent-check input { margin-top:.25rem; }
.legal-footer { padding:2rem 1rem; background:#fff; border-top:1px solid var(--legal-line); }
.legal-footer .container { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; }
@media(max-width:600px){ .legal-main{ margin:0; border-width:0; border-radius:0; } }
