
:root{
  --bg: #0b1220;
  --bg-soft:#0e1830;
  --card:#121d34;
  --text:#e8f0ff;
  --muted:#98a8c3;
  --brand:#00d1ff;
  --brand2:#61ffa8;
  --shadow: 0 10px 30px rgba(0,0,0,.45);
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background: radial-gradient(1200px 600px at 20% -10%, rgba(0,209,255,.15), transparent 60%), 
linear-gradient(180deg, var(--bg), #050810 70%); color:var(--text); font-family: 'Inter',system-ui, -apple-system, Segoe UI, Roboto, sans-serif; line-height:1.6}
a{color:var(--brand);text-decoration:none}
a:hover{color:#8ff3ff}
.container{max-width:1120px;margin:0 auto;padding:24px}
header.site{
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(130%) blur(10px);
  background:rgba(5,8,16,.6);
  border-bottom:1px solid rgba(255,255,255,.06)
}
.nav{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.5px}
.brand .logo{width:36px;height:36px;border-radius:9px;background:
  radial-gradient(120% 120% at 20% 20%, var(--brand), transparent 60%),
  radial-gradient(120% 120% at 80% 80%, var(--brand2), transparent 60%),
  #0b1220;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow)}
nav.links a{padding:8px 12px;border-radius:10px;color:var(--text);opacity:.9}
nav.links a:hover{background:rgba(255,255,255,.06);opacity:1}
.hero{padding:56px 0 28px}
h1.big{font-size:clamp(28px,4vw,44px);line-height:1.15;margin:.25em 0;background:linear-gradient(90deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}
p.lead{color:var(--muted);font-size:1.05rem;max-width:70ch}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:18px 0 8px}
.card{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)); border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius); padding:18px; box-shadow:var(--shadow); transition:.2s transform,.2s border-color}
.card:hover{transform:translateY(-3px); border-color:rgba(255,255,255,.18)}
.card h3{margin:6px 0 8px}
.card p{color:var(--muted);margin:0 0 10px}
.badge{font-size:.75rem;color:#0b1220;background:linear-gradient(90deg,var(--brand),var(--brand2));padding:4px 10px;border-radius:999px;font-weight:700;display:inline-block}
.search{display:flex;gap:8px;margin:6px 0}
.search input{flex:1;background:var(--bg-soft);border:1px solid rgba(255,255,255,.08);padding:12px;border-radius:12px;color:var(--text)}
.search button{background:linear-gradient(90deg,var(--brand),var(--brand2));border:0;padding:12px 16px;border-radius:12px;color:#0b1220;font-weight:800;cursor:pointer}
.section h2{font-size:1.4rem;margin:8px 0 4px}
.list{display:grid;grid-template-columns:1fr;gap:8px}
.list a{display:block;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
footer.site{margin-top:40px;border-top:1px solid rgba(255,255,255,.06);background:#070b14;color:var(--muted)}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;padding:22px 0}
.small{font-size:.9rem;color:var(--muted)}
hr.sep{border:0;border-top:1px dashed rgba(255,255,255,.08);margin:18px 0}
/* tables for legal pages */
.table{width:100%;border-collapse:collapse}
.table td,.table th{border:1px solid rgba(255,255,255,.08);padding:10px}
pre.code{background:#0d1526;border:1px solid rgba(255,255,255,.08);padding:12px;border-radius:10px;overflow:auto}
@media (max-width:720px){nav.links{display:none}}
