/* Supplied launch photographs: retain the established red, black and white identity. */
.home-hero-showcase { aspect-ratio: 3 / 2; }
.home-hero-showcase img { object-position: center; }
.home-class-media img { object-position: 50% 45%; }
.class-detail-media picture { display: block; width: 100%; height: 100%; }
.class-detail-media picture img { display: block; width: 100%; height: 100%; object-fit: cover; }
.launch-classes-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(24px, 5vw, 64px); }
.launch-venue-photo { position: relative; margin: 0; overflow: hidden; border-radius: 22px; background: #172033; box-shadow: 0 16px 38px rgba(15, 23, 42, .13); }
.launch-venue-photo picture, .launch-venue-photo img { display: block; width: 100%; }
.launch-venue-photo img { height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.launch-venue-photo figcaption { position: absolute; inset: auto 0 0; padding: 26px 22px 18px; color: #fff; background: linear-gradient(transparent, rgba(10, 15, 24, .88)); font-size: 15px; font-weight: 800; }
.home-gym-photo { max-width: 590px; margin-bottom: 30px; }
.coach-photo { aspect-ratio: 2 / 3; overflow: hidden; }
.coach-photo picture, .coach-photo img { display: block; width: 100%; height: 100%; }
.coach-photo img { object-fit: cover; object-position: center 20%; }
.coach-photo::after { display: none; }
.coach-body h2 { margin: 8px 0 14px; color: #0f172a; font-size: 29px; }
.coach-body .fact-row { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.coach-body .fact { min-width: 0; overflow-wrap: anywhere; }
.coach-body .button { margin-top: 18px; }
.coach-card { display: flex; flex-direction: column; }
.coach-body { flex: 1; }
@media (max-width: 900px) {
  .launch-classes-intro { grid-template-columns: 1fr; }
  .launch-classes-intro .launch-venue-photo { max-width: 720px; }
  .home-hero-showcase { aspect-ratio: 3 / 2; }
}
@media (max-width: 640px) {
  .launch-venue-photo { border-radius: 16px; }
  .coach-photo { max-height: 580px; }
  .coach-body .fact-row { grid-template-columns: 1fr; }
  .coach-body .fact { grid-column: auto !important; }
}
