.category-programs {
    width: 100%;
    max-width: 81.375rem;
    margin: 0 auto;
    padding: 0 1rem 3rem;
    color: #111;
}
.category-programs a { color: inherit; text-decoration: none; }
.category-programs a:hover { text-decoration: underline; }
.category-programs h2, .category-programs h3 { font-family: "ProximaNova-bold", sans-serif; }
.program-highlights > h2 { font-size: 1.6rem; font-weight: 800; margin-bottom: 1.5rem; }
.program-highlights-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1rem; }
.program-featured { min-width: 0; }
.program-featured-player { aspect-ratio: 16 / 9; background: #061d50; overflow: hidden; }
.program-featured-player iframe, .program-featured-player video { width: 100%; height: 100%; border: 0; }
.program-featured-player > div { width: 100%; height: 100%; }
.program-featured h3 { font-size: 1.25rem; font-weight: 700; margin: .6rem 0; }
.program-latest { min-width: 0; border-top: 1px solid #aab8c9; }
.program-latest > h2 { color: #003568; text-transform: uppercase; font-size: .875rem; font-weight: 800; margin: .6rem 0; }
.program-latest-list { display: grid; gap: .8rem; max-height: 27rem; overflow-y: auto; padding-right: .5rem; }
.program-latest .program-video-card { display: grid; grid-template-columns: 45% minmax(0, 1fr); gap: .6rem; align-items: start; }
.program-latest .program-video-card h3 { font-size: .875rem; margin: 0; }
.program-subcategory { border-top: 1px solid #aab8c9; margin-top: 2rem; padding-top: .75rem; scroll-margin-top: 14rem; }
.program-subcategory > h2 { color: #003568; font-size: 1.125rem; font-weight: 800; text-transform: uppercase; margin: 0 0 .75rem; }
.program-video-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.program-video-card { display: block; min-width: 0; }
.program-video-card h3 { font-size: 1rem; line-height: 1.3; font-weight: 700; margin: .65rem 0 0; }
.program-video-card:hover h3 { text-decoration: underline; }
.program-video-thumbnail { aspect-ratio: 16 / 9; position: relative; background: #061d50; border-top: 4px solid #fcb700; }
.program-video-thumbnail img { width: 100%; height: 100%; object-fit: cover; display: block; }
.program-video-play { position: absolute; top: 0; right: 0; background: #fcb700; color: #fff; width: 2.2rem; height: 1.8rem; display: grid; place-items: center; font-size: .9rem; }
@media (max-width: 991px) {
    .program-highlights-layout { grid-template-columns: 1fr; }
    .program-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .program-latest-list { max-height: 22rem; }
}
@media (max-width: 479px) {
    .program-video-grid { grid-template-columns: 1fr; }
}
