/* Revision four: scoped photo compositions; existing typography and navigation stay intact. */
.rev4-astra-intro { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 28px; align-items: center; margin-bottom: 45px; }
.rev4-astra-intro > * { min-width: 0; }
.rev4-astra-intro .rev3-astra-logo { width: 100%; max-width: 250px; height: auto; margin: 0; }
.rev4-astra-event { margin: 0; }
.rev4-astra-event img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.rich-text .rev4-astra-intro + h2 { margin-top: 0; }
.rev4-astra-band { background: var(--rose-pale); }
.rev4-astra-band-grid { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 80px; align-items: center; }
.rev4-astra-portrait { margin: 0; align-self: end; }
.rev4-astra-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 1122 / 1402; object-fit: contain; filter: grayscale(1); }
.rev4-astra-band-copy { padding-block: 48px; min-width: 0; }
.rev4-astra-band-copy .eyebrow { margin: 0 0 22px; }
.rev4-astra-band-quote { margin: 0; max-width: 620px; font: 400 42px/1.15 var(--serif); overflow-wrap: break-word; }
.revision3-page.clinic-page main .rev3-project-grid > img.rev4-training-photo { aspect-ratio: 4 / 5; object-position: 50% 20%; }
.rev4-clinic-band { background: var(--rose-pale); padding-block: 48px; }
.rev4-clinic-band-grid { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: 64px; align-items: center; }
.rev4-clinic-band .clinic-team-photo { margin: 0; }
.rev4-clinic-band .clinic-team-photo img { width: 100%; height: auto; max-height: none; object-fit: contain; }
.rev4-clinic-band-copy { min-width: 0; }
.rev4-clinic-band-copy .clinic-section-head { margin-bottom: 24px; }
.clinic-page .rev4-clinic-band-copy h2 { font-size: 42px; text-align: left; }
.rev4-clinic-band-copy .rev3-process-lead { margin: 0; }
.rev4-clinic-band-steps { padding-block: 64px 100px; }
@media (max-width: 950px) {
  .rev4-astra-band-grid { gap: 40px; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); }
  .rev4-astra-band-quote { font-size: 34px; }
  .rev4-clinic-band-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .clinic-page .rev4-clinic-band-copy h2 { font-size: 34px; }
}
@media (max-width: 640px) {
  .rev4-astra-intro { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .rev4-astra-intro .rev3-astra-logo { max-width: 220px; justify-self: center; }
  .rev4-astra-band-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .rev4-astra-portrait { width: 100%; max-width: 300px; justify-self: center; }
  .rev4-astra-band-copy { padding-block: 32px 40px; }
  .rev4-astra-band-quote { font-size: 30px; }
  .rev4-clinic-band { padding-block: 32px; }
  .rev4-clinic-band-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .rev4-clinic-band .clinic-team-photo { width: 100%; max-width: 440px; }
  .clinic-page .rev4-clinic-band-copy h2 { font-size: 30px; }
  .rev4-clinic-band-steps { padding-block: 40px 64px; }
}
