:root {
  --forest: #1e3a3a;
  --forest-ink: #0f1919;
  --leaf: #5cb85c;
  --cream: #faf8f5;
}

.bg-forest { background-color: var(--forest); }
.bg-forest-ink { background-color: var(--forest-ink); }
.bg-leaf { background-color: var(--leaf); }
.bg-cream { background-color: var(--cream); }

.text-forest { color: var(--forest); }
.text-forest-ink { color: var(--forest-ink); }
.text-leaf { color: var(--leaf); }
.text-cream { color: var(--cream); }

.border-forest { border-color: var(--forest); }
.border-leaf { border-color: var(--leaf); }

.ring-forest { --tw-ring-color: var(--forest); }
.ring-leaf { --tw-ring-color: var(--leaf); }

.hover\:bg-forest:hover { background-color: var(--forest); }
.hover\:bg-leaf:hover { background-color: var(--leaf); }
.hover\:bg-cream:hover { background-color: var(--cream); }
.hover\:text-forest:hover { color: var(--forest); }

.font-serif { font-family: Georgia, serif; }

.shadow-brand {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.selection\:bg-leaf::selection { background-color: var(--leaf); }
.selection\:text-white::selection { color: white; }

body {
  background-color: var(--cream);
  color: var(--forest-ink);
}

@keyframes shimmer {
  0% { background-position: -100% 0; }
  100% { background-position: 100% 0; }
}