/* Article-local visuals reuse the shared reading layout and responsive tables. */
.article-performance-questions .article-toc ol { list-style: none; padding-left: 0; }
.performance-visual {
  margin: 2rem 0;
  padding: 1.5rem;
  border: 1px solid #cbd5e1;
  border-radius: 18px;
  background: #f8fbff;
  color: #0f172a;
}
.performance-visual > h3 { margin: 0 0 1.25rem; }
.performance-bands { display: grid; gap: 1rem; }
.performance-band, .campaign-panel {
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #fff;
}
.performance-band .visual-label {
  margin: 0 0 .4rem;
  color: #075985;
  font-size: .8rem;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.performance-band h4, .campaign-panel h4 {
  margin: 0 0 .8rem;
  font-size: 1.1rem;
  line-height: 1.4;
}
.performance-band > div { display: grid; grid-template-columns: 1fr 1.5fr; gap: 1.25rem; }
.performance-band > div p { margin: 0; font-size: .9rem; line-height: 1.6; }
.performance-visual figcaption { margin-top: 1rem; font-size: .9rem; line-height: 1.6; color: #475569; }
.campaign-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.campaign-panel h4 { color: #075985; }
.campaign-panel p { margin: 0; font-size: .95rem; line-height: 1.7; }
.campaign-panel .panel-interpretation { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #cbd5e1; font-size: .85rem; }
.article-body .hypothetical-label { margin: 0 0 1rem; font-size: 1rem; font-weight: 750; color: #075985; }
.article-table caption { padding: 1rem; text-align: left; font-size: 1rem; font-weight: 750; color: #0f172a; }
.article-table tbody th { background: #f8fbff; width: 25%; }
.article-body .article-references { list-style: none; padding-left: 0; }
.article-references li { margin-top: .85rem; overflow-wrap: anywhere; }
.article-body .related-resource-grid { grid-template-columns: 1fr; }
.article-body .related-resource-card { text-decoration: none; }
.article-body .related-resource-card h3 { margin-top: .6rem; }
@media (max-width: 600px) {
  .performance-visual { padding: 1rem; }
  .performance-band, .campaign-panel { padding: 1rem; }
  .performance-band > div, .campaign-panels { grid-template-columns: 1fr; }
}
