/* Performance list pages (built by make-performance-pages.mjs): four per row, 4:3 photos, centred titles. */
.rp-shows { padding: 106px 24px 120px; box-sizing: border-box; }
.rp-shows h2.rp-shows-title { margin: 0 0 76px; font-size: 52px; font-weight: 700; line-height: 1.2; text-align: center; color: #121212; }
.rp-shows-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 56px 24px; margin: 0; padding: 0; list-style: none; }
.rp-show > a { display: block; color: inherit; text-decoration: none; }
.rp-show-photo { aspect-ratio: 4 / 3; overflow: hidden; background: #f2f2f2; }
.rp-show-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.rp-show > a:hover .rp-show-photo img { transform: scale(1.05); }
.rp-show-name { margin: 18px 0 0; font-size: 20px; font-weight: 700; line-height: 1.35; text-align: center; color: #121212; word-break: keep-all; }
@media (max-width: 991px) {
  .rp-shows { padding: 64px 16px 80px; }
  .rp-shows h2.rp-shows-title { margin-bottom: 40px; font-size: 28px; }
  .rp-shows-grid { grid-template-columns: repeat(2, 1fr); gap: 32px 12px; }
  .rp-show-name { margin-top: 10px; font-size: 15px; }
}
@media (max-width: 575px) {
  .rp-shows-grid { grid-template-columns: 1fr; gap: 32px; }
  .rp-show-name { margin-top: 12px; font-size: 16px; }
}
