/* ─── Index ──────────────────────────────────── */
.card-wrapper {
  display: contents;
}

.index-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
  padding: 2rem 1.5rem;
}

.card {
  display: block;
  background: var(--bg-card);
  border: 2px solid var(--border);
  transition: border-color 0.15s, transform 0.15s;
  color: var(--text);
}
.card:hover {
  border-color: var(--gold-dim);
  transform: translateY(-2px) scale(1.03);
  z-index: 1;
  position: relative;
  color: var(--text);
}
.card:hover .card-body {
  border-top-color: var(--gold-dim);
}

.card-body {
  padding: 0.75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  border-top: 2px solid var(--border);
}

.card-name {
  font-family: var(--font-head);
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: var(--gold);
}

.card-meta {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.card-title {
  font-family: var(--font-head);
  font-size: 0.8rem;
  font-style: italic;
  letter-spacing: 0.05em;
  color: var(--orange);
  transition: color 0.3s;
}
.card:hover .card-title {
  animation: flame-of-destruction 10s ease-in-out infinite;
}

.card-meta {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
  flex-wrap: wrap;
}

.card-job {
  font-size: 0.9rem;
  color: var(--text-muted);
}