:root { --purple-950:#180a33; --purple-900:#25104a; --purple-700:#6b35c7; --gold:#ffc933; --cream:#f7f3ff; --ink:#211831; --muted:#655d70; --line:#ded7e9; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--cream); color:var(--ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--purple-700); }
.legal-header { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px max(20px,calc((100vw - 820px)/2)); background:var(--purple-950); color:white; }
.brand { display:flex; align-items:center; gap:10px; color:white; text-decoration:none; font-weight:800; letter-spacing:.2px; }
.brand-mark { width:40px; height:40px; display:grid; place-items:center; align-content:center; border-radius:11px; background:var(--gold); color:var(--purple-950); transform:rotate(-3deg); }
.brand-mark b { font-size:14px; line-height:.9; }.brand-mark small { margin-top:3px; font-size:6px; letter-spacing:1px; }
.back-link { color:var(--gold); font-size:12px; font-weight:750; }
.legal-main { width:min(calc(100% - 40px),820px); margin:0 auto; padding:58px 0 72px; }
.legal-main h1 { margin:0 0 8px; color:var(--purple-950); font-size:clamp(38px,8vw,62px); line-height:.98; letter-spacing:-2px; text-transform:uppercase; }
.updated { margin:0 0 38px; color:var(--muted); font-size:12px; }
.notice { margin:0 0 32px; padding:18px 20px; border-left:4px solid var(--gold); background:white; color:var(--muted); line-height:1.6; }
.legal-main section { padding:25px 0; border-top:1px solid var(--line); }
.legal-main h2 { margin:0 0 12px; color:var(--purple-900); font-size:21px; }
.legal-main h3 { margin:20px 0 8px; font-size:16px; }
.legal-main p,.legal-main li,.address { color:var(--muted); font-size:14px; line-height:1.7; }
.legal-main ul { padding-left:20px; }
.address { font-style:normal; }
.legal-nav { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:38px; }
.legal-nav a { padding:13px 10px; border:1px solid var(--line); background:white; text-align:center; font-size:12px; font-weight:750; }
.legal-footer { padding:25px 20px; background:#120625; color:#9585a5; text-align:center; font-size:11px; line-height:1.6; }
.legal-footer a { color:#d9c9e8; }
@media (max-width:560px) { .legal-main { padding-top:38px; }.legal-nav { grid-template-columns:1fr 1fr; }.legal-header { align-items:flex-start; }.back-link { padding-top:12px; } }
