.article-header .lede {
  margin-bottom: 2rem;
}

section {
  margin-top: 2.25rem;
}

section > h2:first-child {
  margin-top: 0;
}

figure {
  margin: 1.35rem 0 1.8rem;
}

figure .shot {
  margin: 0;
}

.evidence {
  height: auto;
}

figure .matrix {
  max-width: 38rem;
  margin-inline: auto;
}

figcaption {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
  margin-top: 0.55rem;
}

.figure-label {
  color: var(--fg);
  font-weight: 700;
}

.table-wrap {
  margin: 1.2rem 0 1.5rem;
  overflow-x: auto;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 10px;
  font-variant-numeric: tabular-nums;
}

.data-table caption {
  color: var(--muted);
  font-size: 0.92rem;
  padding-bottom: 0.45rem;
  text-align: left;
}

.data-table th,
.data-table td {
  border-bottom: 1px solid var(--line);
  padding: 0.6rem 0.75rem;
  text-align: right;
  white-space: nowrap;
}

.data-table th:first-child,
.data-table td:first-child {
  text-align: left;
}

.data-table tbody tr:last-child th,
.data-table tbody tr:last-child td {
  border-bottom: 0;
}

.metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  margin: 1.2rem 0 1.5rem;
}

.metric {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0.85rem 0.95rem;
}

.metric dt {
  color: var(--muted);
  font-size: 0.9rem;
}

.metric dd {
  font-size: 1.55rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  line-height: 1.15;
  margin: 0.2rem 0 0;
}

aside.note {
  margin: 1.25rem 0;
}

aside.note p {
  margin: 0.35rem 0;
}

@media (max-width: 32rem) {
  .metrics {
    grid-template-columns: 1fr;
  }
}
