.family-voices-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 30px; }
.family-voices-heading h2 { margin-bottom: 0; font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.025em; }
.family-voices-heading > p { color: #646470; font-size: .9rem; line-height: 1.7; margin: 0; max-width: 290px; }
.family-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.family-video-grid-full { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.family-video-card { overflow: hidden; background: #fff; border: 1px solid #e4dfd6; border-radius: 6px; }
.family-video-media { background: #132640; aspect-ratio: 16 / 9; }
.family-video-media video { display: block; width: 100%; height: 100%; object-fit: contain; }
.family-video-media video::cue { color: #fff; background: rgba(15, 24, 39, .92); font-family: Arial, sans-serif; font-size: 1em; }
.family-video-body { padding: 22px 24px 25px; }
.family-video-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: .65rem; text-transform: uppercase; letter-spacing: .07em; color: #796343; margin-bottom: 12px; }
.family-video-meta span:last-child { font-variant-numeric: tabular-nums; font-size: .75rem; letter-spacing: 0; color: #6c6b73; }
.family-video-body h3 { font-size: 1.35rem; margin-bottom: 9px; }
.family-video-body p { font-size: .86rem; line-height: 1.7; color: #646470; margin: 0; }
.family-voices-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 30px; }
.family-voices-footer p { font-size: .9rem; color: #646470; margin: 0; }
@media (max-width: 991px) {
    .family-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .family-video-grid:not(.family-video-grid-full) .family-video-card:last-child { grid-column: 1 / -1; max-width: calc(50% - 12px); }
}
@media (max-width: 575px) {
    .family-voices-heading, .family-voices-footer { display: block; }
    .family-voices-heading > p { margin-top: 16px; }
    .family-video-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .family-video-grid:not(.family-video-grid-full) .family-video-card:last-child { max-width: none; }
    .family-video-body { padding: 19px 20px 22px; }
    .family-voices-footer .admissions-explore { margin-top: 16px; }
}
