:root { --ink:#13213c; --muted:#63718a; --line:#dce6f0; --accent:#2864dc; --page:#f6f8fb; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#fff; font-family:"Segoe UI",Arial,sans-serif; line-height:1.7; }
a { color:var(--accent); text-underline-offset:3px; }
.legal-header { min-height:68px; display:flex; align-items:center; padding:0 max(16px,calc((100vw - 900px)/2)); background:#fff; border-bottom:1px solid var(--line); }
.legal-brand { color:var(--ink); font-size:1.25rem; font-weight:800; letter-spacing:-.03em; text-decoration:none; }
.legal-brand span { color:var(--accent); }
.legal-page { width:min(900px,calc(100% - 32px)); margin:0 auto; padding:42px 0 80px; }
h1 { max-width:16ch; margin:24px 0 34px; font-size:clamp(2.1rem,7vw,3.6rem); line-height:1.04; letter-spacing:-.045em; }
h2 { margin:38px 0 10px; font-size:clamp(1.25rem,4vw,1.65rem); line-height:1.2; letter-spacing:-.02em; }
p { margin:0 0 16px; }
.back-link { color:var(--ink); }
.notice { margin-top:34px; padding:18px 20px; background:var(--page); border-left:3px solid var(--accent); }
.updated { margin-top:48px; color:var(--muted); font-size:.9rem; }
:focus-visible { outline:3px solid #ffbf47; outline-offset:3px; }
