
:root {
  --gap: 1rem;
}

body { background: #f9fafb; }

.card .card-title a { text-decoration: none; }

.grid-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
}
@media (max-width: 960px) {
  .grid-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .grid-cards { grid-template-columns: 1fr; }
}

.hero {
  background: linear-gradient(180deg, #eef2ff, #ffffff);
  border-radius: .5rem;
  padding: 1.5rem;
  margin-bottom: 1rem;
}

.badges .label { margin-right: .25rem; margin-bottom:.25rem; display:inline-block; }

.meta-list { list-style: none; padding-left: 0; }
.meta-list li { margin-bottom: .25rem; }

.program-hero img.icon { width: 96px; height:96px; object-fit: contain; }
.program-hero .title { margin-bottom: .5rem; }
.program-hero .summary { color: #5764c6; }

.sticky-cta { position: sticky; top: 1rem; }
