/* Real scenes stay in frames that preserve the person, screen and equipment. */
.ax-media--2x3 { aspect-ratio: 2 / 3; }
.ax-editorial-photo { isolation: isolate; }
.ax-integrated-hero--home .ax-integrated-hero__visual:has(> .ax-editorial-photo) {
  min-height: 0;
  align-self: center;
  background: transparent;
}
.ax-integrated-hero--home .ax-integrated-hero__visual > .ax-editorial-photo {
  height: auto;
  aspect-ratio: 16 / 9;
}
.ax-integrated-hero--home .ax-integrated-hero__visual:has(> .ax-hero-film) {
  min-height: 0;
  align-self: stretch;
  width: 100%;
  aspect-ratio: 4 / 3;
}
.ax-integrated-hero--home .ax-integrated-hero__visual > .ax-hero-film {
  position: absolute;
  inset: 0;
  height: 100%;
}
.ax-clinic-workflow__photo { width: min(100%, 280px); }
.ax-about-photo-parts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ax-4);
}
.ax-about-photo-part { display: flex; flex-direction: column; gap: var(--ax-4); min-width: 0; }
.ax-about-photo-part__media { order: -1; width: 100%; }
.ax-about-photo-part__media > .ax-editorial-photo { width: 100%; aspect-ratio: 4 / 3; }
.ax-about-photo-part__copy { max-width: 42ch; }
.ax-about-photo-part > *, .ax-landing-pain-photo > *, .ax-sport-fit-photo > * { min-width: 0; }
.ax-landing-pain-photo {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  align-items: center;
  gap: var(--ax-8);
}
.ax-landing-pain-photo .ax-landing-points {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--ax-3);
}
.ax-landing-pain-photo .ax-landing-points > article {
  display: flex;
  grid-row: auto;
  gap: var(--ax-1);
  padding-top: var(--ax-2);
}
.ax-landing-pain-photo__media,
.ax-sport-fit-photo__media {
  width: min(100%, 360px);
  justify-self: center;
}
.ax-sport-fit-photo { align-items: center; }
/* Media keeps its own proportions rather than inheriting a neighbouring paragraph's height. */
.ax-landing-fit { align-items: center; }
.ax-landing-fit > .ax-figure > .ax-editorial-photo { width: 100%; }
.ax-clinic-story__media > .ax-editorial-photo { width: 100%; }
.ax-capacity-page .ax-capacity-photo { align-self: start; max-width: 340px; }
#clinic-session-screens .ax-media {
  max-height: 360px;
  width: auto;
  max-width: 100%;
  justify-self: center;
}
@media (max-width: 1100px) {
  .ax-about-photo-part,
  .ax-landing-pain-photo { gap: var(--ax-5); }
}
@media (max-width: 900px) {
  .ax-about-photo-parts,
  .ax-landing-pain-photo { grid-template-columns: minmax(0, 1fr); gap: var(--ax-5); }
  .ax-about-photo-part__copy { max-width: none; }
  .ax-landing-pain-photo__media,
  .ax-sport-fit-photo__media {
    max-width: 360px;
  }
}
