/* Human-scale editorial imagery within the existing ink / paper / acid system. */
.workplace-image { min-width: 0; margin: 0; }
.workplace-image__frame { overflow: hidden; background: var(--ink-soft, #111210); }
.workplace-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.workplace-image figcaption { margin-top: 12px; color: inherit; opacity: .74; font-size: 11px; line-height: 1.6; }

/* Inner-page heroes inherit the exact cases composition, including breakpoints. */
.editorial-page-hero .hero-title { overflow-wrap: anywhere; }
.editorial-hero-media .workplace-image,
.editorial-hero-media .workplace-image__frame { height: 100%; }
.editorial-hero-media .workplace-image img { height: 112%; }
.editorial-hero-media .workplace-image figcaption {
  position: absolute;
  z-index: 1;
  right: var(--edge);
  bottom: 20px;
  max-width: calc(100% - var(--edge) * 2);
  margin: 0;
  color: var(--paper);
  text-align: right;
}

.team-editorial { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(40px, 5vw, 80px); align-items: center; }
.team-editorial .workplace-image__frame { aspect-ratio: 5 / 4; }
.team-editorial .workplace-image img { object-position: 52% center; }
.team-editorial .team-strip { grid-template-columns: minmax(0, 1fr); border: 0; }
.team-editorial .role { min-height: 0; border: 0; border-top: 1px solid var(--line-dark); padding: 24px 0; }
.team-editorial .role:last-child { border-bottom: 1px solid var(--line-dark); }
.team-editorial .role > span { display: none; }
.team-editorial .role h3 { font-size: clamp(22px, 2vw, 30px); margin: 0 0 12px; }
.team-editorial .role p { max-width: 44ch; }

.trust:has(.trust-photo) .trust-copy { position: static; }
.trust-photo { margin-top: 42px; }
.trust-photo .workplace-image__frame { aspect-ratio: 3 / 2; }
.trust-photo figcaption { color: var(--ink); }
.contact-editorial { max-width: 560px; margin: 36px 0 0; }
.contact-editorial .workplace-image__frame { aspect-ratio: 3 / 2; }
.about-services-link { display: inline-flex; align-items: center; gap: 18px; margin-top: 42px; padding: 12px 0; border-bottom: 1px solid currentColor; font-size: 15px; font-weight: 650; }
.about-services-link svg { width: 20px; height: 20px; }
.about-services-link:hover { color: #43590c; }

@media (max-width: 980px) {
  /* Keep a person in the narrow crop, not the empty space between colleagues. */
  .editorial-hero-media .contact-hero-photo img { object-position: 80% center; }
  .team-editorial { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .team-editorial .workplace-image__frame { aspect-ratio: 3 / 2; }
  .team-editorial .team-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
  .team-editorial .role { border-top: 1px solid var(--line-dark); }
  .team-editorial .role:last-child { border-bottom: 0; }
  .trust-photo { max-width: 680px; }
  .contact-editorial { max-width: none; }
}
@media (max-width: 680px) {
  .team-editorial .team-strip { grid-template-columns: minmax(0, 1fr); }
  .team-editorial .role { padding: 24px 0; }
  .workplace-image figcaption { font-size: 10px; }
  .trust-photo { margin-top: 30px; }
}
