:root { color-scheme: light; --ink:#26211d; --muted:#706860; --paper:#fbf7f1; --card:#fff; --line:#e6ddd1; --accent:#5b50c2; --focus:#1f74a8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:var(--paper); color:var(--ink); font-family:'Assistant','Segoe UI',sans-serif; font-size:17px; line-height:1.75; }
a { color:#493ea8; text-decoration-thickness:1.5px; text-underline-offset:3px; }
a:hover { color:#302675; }
a:focus-visible, button:focus-visible { outline:3px solid var(--focus); outline-offset:3px; border-radius:4px; }
.legal-shell { width:min(100% - 32px, 800px); margin-inline:auto; padding:28px 0 64px; }
.legal-header { border-bottom:1px solid var(--line); padding-bottom:22px; }
.legal-brand { display:inline-flex; align-items:center; color:var(--ink); text-decoration:none; }
.legal-brand svg { display:block; width:170px; max-width:100%; height:auto; }
.legal-nav { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:20px; font-size:.94rem; }
.legal-nav a { color:var(--muted); }
.legal-main { padding-top:30px; }
h1,h2 { font-family:'Frank Ruhl Libre',Georgia,serif; color:var(--ink); line-height:1.25; }
h1 { margin:0 0 8px; font-size:clamp(2rem,5vw,2.7rem); letter-spacing:-.02em; }
h2 { margin:38px 0 10px; font-size:1.45rem; }
p,li { max-width:72ch; }
ul { padding-inline-start:1.4rem; }
.legal-updated { margin:0; color:var(--muted); font-size:.92rem; }
.legal-callout,.legal-contact { margin:22px 0; padding:17px 19px; background:var(--card); border:1px solid var(--line); border-radius:14px; box-shadow:0 2px 10px rgb(60 47 30 / .035); }
.legal-callout--important { background:#f1efff; border-color:#d9d3fa; }
.legal-contact { border-inline-start:4px solid var(--accent); }
.legal-footer { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:52px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:.92rem; }
.legal-footer a { color:inherit; }
@media (max-width:560px) { .legal-shell { width:min(100% - 28px,800px); padding-top:20px; } body { font-size:16px; } .legal-nav { gap:8px 14px; } .legal-callout,.legal-contact { padding:14px; } }
