/* theme: academic — restrained, typographic, scholarly */
:root {
  --bg: #faf9f7;
  --bg-soft: #f3f1ed;
  --surface: #ffffff;
  --surface-2: #f3f1ed;
  --border: rgba(30, 28, 22, 0.12);
  --border-strong: rgba(30, 28, 22, 0.24);
  --text-1: #1a1814;
  --text-2: #4a4640;
  --text-3: #8a8480;
  --accent: #1a3a5c;
  --accent-2: #2c5282;
  --accent-3: #4a7ba7;
  --good: #2d6a4f;
  --warn: #8b6914;
  --bad: #9b2335;
  --grad: linear-gradient(135deg, #1a3a5c, #2c5282);
  --grad-soft: linear-gradient(135deg, #edf2f7, #e8f0f7);
  --radius: 6px;
  --radius-sm: 4px;
  --radius-lg: 10px;
  --shadow: 0 1px 4px rgba(30, 28, 22, 0.08), 0 2px 8px rgba(30, 28, 22, 0.04);
  --shadow-lg: 0 4px 16px rgba(30, 28, 22, 0.10), 0 8px 24px rgba(30, 28, 22, 0.06);
  --font-sans: 'EB Garamond', 'Noto Serif SC', 'Times New Roman', Times, serif;
  --font-display: 'EB Garamond', 'Noto Serif SC', 'Times New Roman', Times, serif;
  --font-mono: 'JetBrains Mono', monospace;
  --font-serif: 'EB Garamond', 'Noto Serif SC', Georgia, serif;
  --letter-tight: -.02em;
  --letter-normal: 0em;
  --ease: cubic-bezier(.4, 0, .2, 1);
}

h1.title, h2.title, .h1, .h2 {
  font-family: var(--font-display);
  color: var(--text-1);
  font-weight: 700;
  font-style: italic;
}

.kicker {
  color: var(--accent-2);
  font-family: var(--font-mono);
  letter-spacing: .12em;
}

.card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.divider-accent {
  background: var(--accent);
  height: 2px;
  width: 48px;
}
