/* ─── Buttons ──────────────────────────────────────────── */
.btn {
  display: inline-block;
  padding: 0.85rem 2.5rem;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  transition:
    background-color var(--transition-base),
    color var(--transition-base),
    letter-spacing var(--transition-base),
    border-color var(--transition-base);
}

.btn--primary {
  background-color: var(--color-crimson);
  color: var(--color-white);
}

.btn--primary:hover,
.btn--primary:focus-visible {
  background-color: var(--color-crimson-lit);
  letter-spacing: 0.22em;
}

.btn--ghost {
  background-color: transparent;
  color: var(--color-white);
  border: 1px solid rgba(245, 245, 245, 0.35);
}

.btn--ghost:hover,
.btn--ghost:focus-visible {
  border-color: var(--color-white);
  letter-spacing: 0.22em;
}

/* ─── Cards ────────────────────────────────────────────── */
.card {
  background-color: var(--color-surface);
  border-top: 2px solid var(--color-border);
  padding: 2.5rem 2rem;
  transition:
    border-color var(--transition-base),
    transform var(--transition-base),
    box-shadow var(--transition-base);
}

.card:hover {
  border-color: var(--color-crimson-lit);
  transform: translateY(-5px);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.6);
}

.card__numeral {
  display: block;
  font-family: var(--font-display);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-crimson);
  letter-spacing: 0.05em;
  margin-bottom: var(--space-md);
}

.card__title {
  font-size: 1.65rem;
  color: var(--color-white);
  margin-bottom: 0.4rem;
}

.card__tagline {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  color: var(--color-muted);
  margin-bottom: var(--space-sm);
  line-height: 1.4;
}

.card__body {
  font-size: 0.9rem;
  line-height: 1.75;
  color: var(--color-muted);
  margin-bottom: var(--space-md);
}

.card__link {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-crimson);
  transition: color var(--transition-fast), letter-spacing var(--transition-fast);
}

.card__link:hover {
  color: var(--color-crimson-lit);
  letter-spacing: 0.2em;
}
