.pg--program .program-photo > img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.pg--program .program-photo {
  min-height:0;
  padding:0;
  aspect-ratio:4 / 3;
}
.pg--program .program-classes {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
  gap:32px;
  align-items:stretch;
}
.pg--program .program-class-card {
  display:flex;
  flex-direction:column;
}
.pg--program .program-class-content {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px 8px 8px;
}
.pg--program .program-class-content > .row {
  margin-top:auto;
  padding-top:32px;
}
.pg--program .program-details {
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:24px;
}
.pg--program .program-timetable {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:12px;
}
@media (max-width: 600px) {
  .pg--program .program-details {
    grid-template-columns:minmax(0,1fr);
  }
}
@media (max-width: 700px) {
  .pg--program .program-timetable {
    grid-template-columns:minmax(0,1fr);
  }
}
