/* ============================================================================
   Sources / methodology page — page-specific rules only.
   Base layer (tokens, container, hero, .definition-grid, .pull-quote,
   .divider, .site-footer, reveal/motion) is the shared ../../assets/css/style.css,
   loaded first and used verbatim — see DESIGN.md. Everything below is
   additive, using the same tokens/BEM conventions.
   ========================================================================== */

/* ---------- Source list ---------- */
.source-list {
  display: grid;
  gap: var(--s5);
  grid-template-columns: 1fr;
  margin: var(--s6) 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 56rem) { .source-list { grid-template-columns: 1fr 1fr; } }
.source-list__item {
  padding: var(--s6) var(--s5);
  background: var(--linen);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
}
.source-list__name {
  font-family: var(--serif);
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  font-weight: 600;
  color: var(--heading);
  margin: 0 0 var(--s2);
}
.source-list__role { margin: 0 0 var(--s3); }
.source-list__badge {
  display: inline-block;
  font-family: var(--sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.3em 0.75em;
  border-radius: 999px;
}
.source-list__badge--primary {
  background: var(--champagne);
  color: var(--terracotta-dk); /* on champagne: 8.1:1, per DESIGN.md */
}
.source-list__badge--secondary {
  background: var(--blush);
  color: var(--terracotta-dk); /* consistent accent pairing, ≥7:1 per DESIGN.md .stat__badge note */
}
.source-list__text {
  color: var(--ink-muted); /* on linen: 6.2:1, per DESIGN.md */
  margin: 0 0 var(--s4);
}
.source-list__link {
  display: inline-block;
  font-family: var(--sans);
  font-weight: 600;
  color: var(--link); /* on ivory/linen: 8.7:1, per DESIGN.md */
  text-decoration: underline;
  text-underline-offset: 0.15em;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.source-list__link:hover,
.source-list__link:focus-visible { color: var(--terracotta-dk); }

/* ---------- Exclusions list ---------- */
.exclusions-list {
  margin: var(--s6) 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--s5);
}
.exclusions-list__item {
  padding: var(--s6) var(--s5);
  background: var(--champagne);
  border-left: 4px solid var(--terracotta);
  border-radius: var(--radius-md);
}
.exclusions-list__term {
  font-family: var(--serif);
  font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.4rem);
  font-weight: 600;
  color: var(--heading);
  margin: 0 0 var(--s2);
}
.exclusions-list__text {
  color: var(--ink-muted); /* on champagne: 6.0:1, per DESIGN.md .key-stat__source note */
  margin: 0;
}
