/* Shared base for legal pages — matches index.html visual system */
:root{
  --bg:#0e1a25; --bg-2:#13212e; --line:#1f3445;
  --ink:#eaf0f4; --ink-mute:#a9bcc9; --ink-soft:#7e94a3;
  --accent:#80e3c2; --accent-soft:#9ff3d4;
  --radius:14px; --max:780px;
  --text-xs:13px; --text-sm:14.5px; --text-base:16.5px;
  --text-lg:19px; --text-xl:24px; --text-2xl:34px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font-family:'Satoshi','Inter',system-ui,-apple-system,sans-serif;
  font-size:var(--text-base);line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:var(--accent);color:var(--bg)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

header.site{
  position:sticky;top:0;z-index:50;
  background:color-mix(in oklab, var(--bg) 85%, transparent);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1120px;margin:0 auto;padding:0 24px}
.brand{display:flex;align-items:center;gap:10px;font-family:'General Sans','Satoshi',sans-serif;font-weight:600;letter-spacing:-.01em;font-size:18px;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand svg{height:26px;width:26px}
.nav-back{font-size:var(--text-sm);color:var(--ink-mute)}
.nav-back:hover{color:var(--ink);text-decoration:none}

main.legal{padding:64px 0 96px}
.legal h1{
  font-family:'General Sans','Satoshi',sans-serif;
  font-size:var(--text-2xl);letter-spacing:-.02em;line-height:1.1;
  margin:0 0 8px;font-weight:600;color:var(--ink);
}
.legal .updated{color:var(--ink-soft);font-size:var(--text-sm);margin:0 0 36px}
.legal h2{
  font-family:'General Sans','Satoshi',sans-serif;
  font-size:var(--text-xl);letter-spacing:-.012em;line-height:1.2;
  margin:40px 0 12px;font-weight:600;color:var(--ink);
}
.legal h3{
  font-family:'General Sans','Satoshi',sans-serif;
  font-size:var(--text-lg);letter-spacing:-.005em;
  margin:24px 0 8px;font-weight:600;color:var(--ink);
}
.legal p, .legal li{color:var(--ink-mute);font-size:var(--text-base);line-height:1.65}
.legal ul, .legal ol{padding-left:22px;margin:8px 0 16px}
.legal li{margin-bottom:6px}
.legal strong{color:var(--ink);font-weight:600}
.legal hr{border:0;border-top:1px solid var(--line);margin:48px 0}
.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:var(--text-sm)}
.legal th, .legal td{text-align:left;padding:10px 14px;border:1px solid var(--line)}
.legal th{background:var(--bg-2);color:var(--ink);font-weight:600}
.legal td{color:var(--ink-mute)}
.legal .toc{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;margin:0 0 36px}
.legal .toc h3{margin:0 0 8px;font-size:14px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}
.legal .toc ol{margin:0;padding-left:18px}
.legal .toc li{margin-bottom:4px;font-size:14px}
.legal .toc a{color:var(--ink-mute)}
.legal .toc a:hover{color:var(--accent)}

footer.site{padding:48px 0 64px;color:var(--ink-soft);font-size:var(--text-sm);border-top:1px solid var(--line)}
.foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;max-width:1120px;margin:0 auto;padding:0 24px}
.foot-row a{color:var(--ink-soft)}
.foot-row a:hover{color:var(--ink);text-decoration:none}
.foot-row .legal-links{display:flex;gap:18px;flex-wrap:wrap}
.foot-bottom{max-width:1120px;margin:32px auto 0;padding:20px 24px 0;border-top:1px solid var(--line);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
address{font-style:normal;display:inline}
