/* ===== DESIGN TOKENS ===== */
:root {
  --bg: #07090a;
  --bg-1: #0c1012;
  --bg-2: #111619;
  --line: #1a2124;
  --line-2: #232c30;
  --fg: #e6efe9;
  --fg-dim: #7a8a83;
  --fg-dimmer: #4a5853;
  --accent: #4ade80;
  --accent-dim: #1d5a37;
  --amber: #f59e0b;
  --red: #ef4444;
  --cell: #1e3a8a;
  --cell-2: #1e40af;
  --cell-hi: #60a5fa;
}

/* ===== RESET & BASE ===== */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--fg); }
body {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 13px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ===== TYPOGRAPHY ===== */
h1, h2, h3 { font-family: "Space Grotesk", sans-serif; font-weight: 500; letter-spacing: -0.01em; margin: 0; }
h1 { font-size: clamp(44px, 6vw, 88px); line-height: 0.98; letter-spacing: -0.03em; }
h2 { font-size: clamp(28px, 3.4vw, 48px); line-height: 1.04; letter-spacing: -0.02em; }
h3 { font-size: 18px; line-height: 1.2; }
a { color: inherit; text-decoration: none; }

/* ===== UTILITY CLASSES ===== */
.mono    { font-family: "JetBrains Mono", monospace; }
.dim     { color: var(--fg-dim); }
.dimmer  { color: var(--fg-dimmer); }
.green   { color: var(--accent); }
.amber   { color: var(--amber); }
.upper   { text-transform: uppercase; letter-spacing: 0.14em; font-size: 11px; }

/* Shared CTA button base */
button, .cta { font-family: inherit; }
.cta {
  border: 1px solid var(--accent-dim);
  color: var(--accent);
  padding: 7px 14px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  background: rgba(74,222,128,0.05);
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-block;
}
.cta:hover { background: rgba(74,222,128,0.12); border-color: var(--accent); }
.cta.secondary { border-color: var(--line-2); color: var(--fg); background: transparent; }
.cta.secondary:hover { background: rgba(255,255,255,0.04); border-color: var(--fg-dim); }
