.card {
  background: var(--c-surface);
  border-left: var(--status-bar) solid transparent;
  padding: var(--sp-5);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: background var(--t-fast) var(--ease);
}
.card:hover { background: var(--c-surface-deep); }

/* Classification stamp — top-right absolute */
.card__stamp {
  position: absolute;
  top: var(--sp-3);
  right: var(--sp-3);
}

.card__meta {
  display: flex;
  gap: var(--sp-4);
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--c-text-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: var(--sp-3);
}

.card__title {
  font-family: var(--f-serif);
  font-size: var(--t-lg);
  font-weight: 600;
  line-height: var(--lh-snug);
  margin: 0 0 var(--sp-3);
  padding-right: var(--sp-16); /* clearance for stamp */
}
.card__title a { color: var(--c-text); text-decoration: none; }
.card__title a:hover { color: var(--c-accent); }

.card__excerpt {
  font-family: var(--f-serif);
  font-size: var(--t-base);
  color: var(--c-text-2);
  line-height: var(--lh-normal);
  margin: 0 0 var(--sp-4);
  flex: 1;
}

.card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-4);
}

.card__footer {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--c-text-3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-top: var(--bw) solid var(--c-border-light);
  padding-top: var(--sp-3);
  margin-top: auto;
}

.card__access--locked { margin-left: auto; color: var(--c-accent); font-weight: 500; }

/* Dispatch card — external link treatment */
.card--dispatch .card__title a::after { content: " →"; }
.card--dispatch .card__source { font-family: var(--f-mono); font-size: var(--t-xs); color: var(--c-text-3); }

/* Library card */
.card--library .card__title { font-size: var(--t-base); }

/* ── Locked report card (reports archive) ── */
.card--report-locked { position: relative; overflow: hidden; cursor: default; }

.card__body--locked {
  filter: blur(2px);
  user-select: none;
  pointer-events: none;
}

.card__lock-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-3);
  background: rgba(244, 241, 234, 0.80);
  z-index: 2;
  padding: var(--sp-6);
  text-align: center;
}
.card__lock-label {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--c-text-2);
}
.card__lock-purchase {
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  color: var(--c-text-3);
  text-decoration: none;
}
.card__lock-purchase:hover { color: var(--c-accent); }

/* Archive stats bar */
.archive-stats {
  display: flex;
  align-items: center;
  gap: var(--sp-6);
  flex-wrap: wrap;
  font-family: var(--f-mono);
  font-size: var(--t-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: var(--sp-3) 0;
  border-top: var(--bw) solid var(--c-border);
  margin-top: var(--sp-4);
}
.archive-stats__count { color: var(--c-text-2); }
.archive-stats__access--granted { color: var(--c-foia); }
.archive-stats__access--locked  { color: var(--c-accent); }
