.carousel { padding: 1rem 0 3rem; }
.carousel-bar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.carousel-bar:has(.block-head) { margin-bottom: 1rem; }
.carousel-bar .block-head { margin: 0; flex: 1; }
.carousel-controls { display: flex; gap: 0.5rem; }
.carousel-controls[hidden] { display: none; }
.carousel-controls button,
.carousel-controls button:hover {
  background: #fff;
  color: var(--color-navy);
  border-color: var(--color-line);
}
.carousel-track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 0.5rem;
}
/* Pale Prisma washes. Darkest stop is #d6e7f3; body text #414550 stays at 7.5:1. */
.carousel-gradient .card a {
  background: linear-gradient(160deg, #d6e7f3 0%, #fff6e1 100%);
}
.carousel-gradient .card:nth-child(4n + 2) a {
  background: linear-gradient(160deg, #d9f4f2 0%, #f8f4fb 100%);
}
.carousel-gradient .card:nth-child(4n + 3) a {
  background: linear-gradient(160deg, #fff4da 0%, #e7f0e0 100%);
}
.carousel-gradient .card:nth-child(4n + 4) a {
  background: linear-gradient(160deg, #e3eff7 0%, #eae0f0 100%);
}
