.programs-banner > img { object-position: center 50%; }
.program-location { display: flex; gap: .65rem; align-items: center; padding-block: 1.25rem; margin-block: 1.25rem !important; border-block: 1px solid var(--line); }
.program-location svg { flex: 0 0 20px; }
.programs-list { padding-block: 0 clamp(3rem, 6vw, 6rem); }
.programs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.program-card__type { background: #dce7d8; color: var(--ink); }
.program-card__type strong { font-size: clamp(1.4rem, 3vw, 2.8rem); }
.program-prose h2 { max-width: 24ch; margin: 2.5rem 0 1rem; font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.25; font-weight: 600; }
.program-socials ul { display: flex; flex-wrap: wrap; list-style: none; padding: 0; gap: .75rem 1.5rem; }
.program-socials a { display: inline-block; padding-block: .75rem; }
.program-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.program-detail--text { grid-template-columns: minmax(0, 46rem); }
.game-detail-image { width: 100%; height: auto; }
.game-tagline { font-size: 1.2rem; line-height: 1.5; margin-bottom: 2rem; }
@media (max-width: 700px) { .programs-grid { grid-template-columns: minmax(0, 1fr); } }

.program-socials a.program-social { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--line); border-radius: 50%; }
.program-social img { width: 23px; height: 23px; }
.program-social--facebook img { filter: invert(31%) sepia(81%) saturate(1960%) hue-rotate(197deg); }
.program-social--instagram img { filter: invert(27%) sepia(92%) saturate(2117%) hue-rotate(306deg); }
.program-social--youtube img { filter: invert(22%) sepia(97%) saturate(5344%) hue-rotate(354deg); }
.program-social--ravelry img { filter: invert(38%) sepia(63%) saturate(911%) hue-rotate(139deg); }
.game-return { display: inline-block; margin-top: 2rem; }
