:root {
  color-scheme: dark;
  --bg: #07121f;
  --panel: #0c2236;
  --panel2: #0f2a43;
  --border: #194d70;
  --text: #f5f8fb;
  --muted: #a8bfd2;
  --accent: #10c8ff;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  background: radial-gradient(circle at top right, rgba(16,200,255,.10), transparent 32rem), linear-gradient(180deg, #06101c 0%, var(--bg) 100%);
  color: var(--text);
  min-height: 100vh;
}
a { color: var(--accent); }
.wrap { width: min(1100px, calc(100% - 36px)); margin: 0 auto; }
header { position: sticky; top: 0; z-index: 10; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(5,14,24,.92); backdrop-filter: blur(12px); }
nav { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { color: var(--text); font-weight: 800; font-size: 1.2rem; text-decoration: none; }
.nav-links { display: flex; gap: 18px; flex-wrap: wrap; }
.nav-links a { color: var(--muted); text-decoration: none; }
.hero { padding: 92px 0 56px; }
.badge { display: inline-block; padding: 7px 11px; border: 1px solid var(--border); border-radius: 999px; color: var(--accent); background: rgba(16,200,255,.06); font-size: .86rem; }
h1 { font-size: clamp(2.4rem, 7vw, 5.5rem); line-height: .98; max-width: 900px; margin: 22px 0; }
h2 { margin-top: 0; }
.lead { max-width: 760px; color: var(--muted); font-size: 1.12rem; line-height: 1.75; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 26px 0 70px; }
.card, .legal { border: 1px solid var(--border); background: linear-gradient(180deg, rgba(15,42,67,.92), rgba(8,26,42,.92)); border-radius: 18px; box-shadow: 0 18px 60px rgba(0,0,0,.18); }
.card { padding: 24px; }
.card p, .legal p, .legal li { color: var(--muted); line-height: 1.7; }
.legal { margin: 54px auto 70px; padding: clamp(24px, 5vw, 54px); max-width: 920px; }
.legal h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); margin-top: 0; }
.legal h2 { margin-top: 34px; color: var(--text); }
.notice { padding: 15px 17px; border-left: 3px solid var(--accent); background: rgba(16,200,255,.06); border-radius: 8px; color: var(--muted); }
footer { border-top: 1px solid rgba(255,255,255,.08); padding: 28px 0 38px; color: var(--muted); }
footer .footer-row { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
@media (max-width: 780px) { .grid { grid-template-columns: 1fr; } .hero { padding-top: 64px; } nav { align-items: flex-start; padding: 18px 0; } }
