/* Keep documentary photography readable instead of stretching it into tall strips. */
.approach { align-items: stretch; }
.approach-image { min-height: 0; padding: clamp(18px, 3vw, 42px); }
.approach-image img { aspect-ratio: 4 / 3; height: auto; max-height: 620px; object-fit: cover; object-position: center; }
.portrait-break { height: auto; min-height: 0; padding: clamp(20px, 3vw, 42px); background: var(--ink); display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(25px, 5vw, 70px); }
.portrait-break img { width: 100%; height: auto; aspect-ratio: 4 / 3; max-height: 540px; object-fit: cover; border-radius: 3px; }
.portrait-break::after { display: none; }
.portrait-break blockquote { position: static; color: white; padding: 25px; }
.context-band { align-items: center; padding: clamp(18px, 3vw, 42px); gap: clamp(25px, 4vw, 70px); }
.context-band img { width: 100%; height: auto; min-height: 0; max-height: 520px; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border-radius: 3px; }
.context-band__copy { padding: clamp(35px, 5vw, 80px) 0; }
.contact-copy > img { width: 100%; height: auto; max-height: 420px; aspect-ratio: 16 / 10; object-fit: cover; margin-top: 35px; border-radius: 3px; }
.journey-card img { width: 100%; height: clamp(220px, 24vw, 320px); aspect-ratio: auto; object-fit: cover; object-position: center; }
.service-card img { width: 100%; height: clamp(230px, 25vw, 340px); aspect-ratio: auto; object-fit: cover; object-position: center; }
@media (max-width: 900px) {
  .approach-image { padding-bottom: 0; }
  .approach-image img { max-height: 500px; }
  .portrait-break { grid-template-columns: 1fr; }
  .portrait-break img { max-height: 440px; }
  .context-band { grid-template-columns: 1fr; }
  .context-band img { max-height: 440px; min-height: 0; }
}
@media (max-width: 600px) {
  .approach-image img, .portrait-break img, .context-band img { aspect-ratio: 4 / 3; max-height: none; }
  .approach-image { min-height: 0; }
  .portrait-break { height: auto; padding: 20px; }
  .portrait-break blockquote { padding: 5px 0 20px; }
  .context-band { padding: 20px; }
  .journey-card img, .service-card img { height: 240px; }
  .journey-grid, .service-grid, .story-grid {
    display: grid;
    grid-template-columns: 1fr;
    overflow: visible;
    scroll-snap-type: none;
    margin-right: 0;
    padding-right: 0;
    gap: 18px;
  }
  .journey-card, .journey-card:first-child,
  .service-card, .service-card:first-child,
  .story-grid figure, .story-grid .story-wide {
    width: 100%;
    min-width: 0;
    height: auto;
    grid-column: auto;
    scroll-snap-align: none;
  }
  .story-grid figure, .story-grid .story-wide { height: 310px; }
  .confidence-strip {
    display: grid;
    grid-template-columns: 1fr;
    overflow: visible;
    scroll-snap-type: none;
  }
  .confidence-strip img { min-width: 0; width: 100%; height: 250px; scroll-snap-align: none; }
}
