/* Stable, responsive photo frames; keep the source proportions without stretching. */
.program-card,.news-card,.listing-card,.related-news-card,.about-team-card,
.managed-gallery figure{min-width:0;overflow:hidden}
.program-card>img,.news-card>img,.listing-card>img,.related-news-card>img{
 display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3/2;
 object-fit:cover;object-position:center;flex-shrink:0;
}
.managed-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.managed-gallery figure>a{display:block;overflow:hidden;background:var(--cream)}
.managed-gallery figure>a>img{
 display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/3;
 object-fit:cover;object-position:center;
}
.about-portrait{aspect-ratio:4/5}
.about-portrait>img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 18%}
.about-portrait>.profile-placeholder{height:100%;min-height:0}
.partners img,.brand img{object-fit:contain}
.about-grid .about-photo{background:var(--cream);border-radius:0 64px 0 0;overflow:hidden}
.about-grid .about-photo>img{width:100%;height:clamp(380px,38vw,560px);object-fit:contain;object-position:center;border-radius:0}
.about-grid .about-photo>span{position:static;display:block;width:100%;text-align:center;padding:14px 18px}
@media(max-width:760px){.managed-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.about-grid .about-photo>img{height:clamp(340px,95vw,500px)}}
@media(max-width:420px){.managed-gallery{gap:12px}}
