.intro {
  padding-inline: clamp(24px, 7vw, 120px);
  grid-template-columns: 50px minmax(240px, .9fr) minmax(280px, 1fr) minmax(240px, 360px);
  gap: clamp(24px, 3vw, 54px);
  align-items: start;
}
.intro > * { min-width: 0; }
.intro h2 { max-width: 100%; overflow-wrap: normal; }

.ministry-photo { margin: 0; position: relative; }
.ministry-photo img {
  width: 100%; aspect-ratio: 3 / 4; display: block; object-fit: cover;
  object-position: center; border: 8px solid #fff; box-shadow: 0 18px 45px #07142620;
}
.ministry-photo figcaption {
  background: var(--navy2); color: #fff; padding: 17px 20px; margin: -42px 16px 0;
  position: relative; display: flex; flex-direction: column; box-shadow: 0 10px 25px #0714262b;
}
.ministry-photo figcaption strong { font-family: 'Playfair Display', serif; font-size: 20px; }
.ministry-photo figcaption span {
  color: var(--gold); font-size: 11px; text-transform: uppercase; letter-spacing: .16em; margin-top: 4px;
}
.intro-copy h3 { font-family: 'Playfair Display', serif; color: var(--navy2); font-size: 26px; line-height: 1.2; margin: 32px 0 14px; }

@media (max-width: 1320px) and (min-width: 801px) {
  .intro { grid-template-columns: 48px 1fr 300px; }
  .intro-copy { grid-column: 2; }
  .ministry-photo { grid-column: 3; grid-row: 1 / 3; }
}
@media (max-width: 800px) {
  .intro {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .intro .section-number { width: 38px; }
  .intro-copy,
  .ministry-photo { grid-column: 1; }
  .ministry-photo {
    width: min(100%, 440px);
    max-width: 440px;
    margin: 12px auto 0;
  }
}
@media (max-width: 480px) {
  .intro { gap: 24px; }
  .ministry-photo figcaption { margin-inline: 10px; }
}
