/* Supplied artwork stays whole, with its original aspect ratio and colours. */
.pr-intro.pr-banner-intro { display:block; padding:0; }
.pr-intro .pr-banner-title,
.course-card.has-banner .course-banner { margin:0; padding:0; line-height:0; }
.pr-banner-title img,
.course-banner img { display:block; width:100%; height:auto; }

/* Keep the existing course comparison; place the schedule below the artwork. */
.course-card.has-banner { display:block; padding:0 0 30px; }
.course-card.has-banner > :not(.course-banner) { margin-inline:24px; }
.course-card.has-banner .course-time { position:static; margin-top:24px; margin-bottom:16px; }
.course-card.has-banner .course-price { margin-top:24px; }
@media(max-width:1100px) {
  .course-card.has-banner > :not(.course-banner) { margin-inline:18px; }
}
@media(max-width:900px) {
  .course-card.has-banner { padding:0 0 32px; }
  .course-card.has-banner + .course-card.has-banner { padding-top:28px; }
  .course-card.has-banner .course-time { margin-top:22px; }
  .course-card.has-banner .course-price { margin-top:22px; }
}

/* Supplied square art replaces the original typographic illustrations.
   Keep the whole image readable; do not reuse the photo animation selectors. */
.pr-playground.pr-supplied-art,
.pr-cheer.pr-supplied-art {
  display:block;
  width:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  align-self:center;
  overflow:visible;
  background:none;
}
.pr-supplied-art > img {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:900px) {
  .pr-playground.pr-supplied-art,
  .pr-cheer.pr-supplied-art { width:calc(100% - 32px); margin:28px 16px; }
}

/* Closing POP contains copy and a logo: show the complete, unaltered artwork. */
.final-photo.final-supplied-art { border-radius:0; }
.final-photo.final-supplied-art > img {
  position:static;
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:0;
  transform:none;
}

/* Sunday information artwork replaces its text layout, keeping the full square. */
.place-art { min-width:0; }
.place-layout .place-art h2 { margin:0; padding:0; line-height:0; }
.place-art img { display:block; width:100%; height:auto; object-fit:contain; }

/* Supplied photo has lettering: retain the whole frame at a steady scale. */
.pr-photo.pr-photo-supplied > img { transform:none; border-radius:0; }
/* Portrait lettering can exceed a desktop viewport; let it scroll naturally. */
.pr-photo.pr-photo-portrait { position:static; }

/* Four-step invitation: preserve the complete supplied banner and shared frame.
   Intrinsic dimensions reserve its height before the lazy image loads. */
.steps-heading .steps-banner-title { margin:0; padding:0; line-height:0; }
.steps-banner-title > img {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
  transform:none;
}

/* Fee benefits carry their own typography: show the full banner above the terms. */
.price-notes > .price-benefits-banner { display:block; padding:0; line-height:0; }
.price-benefits-banner > img {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
  transform:none;
}
