:root {
  color-scheme: dark;
  --bg: #090b10;
  --panel: #11151d;
  --ink: #f5f7fb;
  --muted: #a8b0bf;
  --line: #242b38;
  --accent: #78a7ff;
}

* { box-sizing: border-box; }

html { background: var(--bg); }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 85% 5%, rgba(80, 119, 255, .18), transparent 28rem),
    var(--bg);
  font: 16px/1.7 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a { color: var(--accent); }

.shell {
  width: min(960px, calc(100% - 40px));
  margin: 0 auto;
  padding: 36px 0 48px;
}

.brand,
.brand a {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 750;
  text-decoration: none;
}

.mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #3b4860;
  border-radius: 50%;
  background: linear-gradient(145deg, #192235, #0d111a);
}

.hero { padding: 16vh 0 9vh; }

.eyebrow {
  margin: 0 0 12px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

h1 {
  max-width: 780px;
  margin: 0 0 20px;
  font-size: clamp(42px, 7vw, 78px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.hero > p:last-child {
  max-width: 650px;
  color: var(--muted);
  font-size: 19px;
}

.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.cards a {
  display: flex;
  min-height: 145px;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
  background: rgba(17, 21, 29, .86);
  text-decoration: none;
  transition: border-color .2s, transform .2s;
}

.cards a:hover { border-color: #506080; transform: translateY(-2px); }
.cards span { color: var(--muted); font-size: 14px; }

.document { width: min(780px, calc(100% - 40px)); }
.document article { padding: 90px 0 60px; }
.document h1 { font-size: clamp(42px, 7vw, 64px); }
.document h2 { margin: 42px 0 8px; font-size: 22px; letter-spacing: -.015em; }
.document p, .document li { color: #c6ccd7; }
.document strong { color: var(--ink); }
.updated { color: var(--muted) !important; }

footer {
  margin-top: 72px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 14px;
}

@media (max-width: 720px) {
  .hero { padding: 12vh 0 6vh; }
  .cards { grid-template-columns: 1fr; }
  .cards a { min-height: 110px; }
  .document article { padding-top: 64px; }
}
