/* Size peer cards from their longest content without clipping copy or changing
   the full-width content panels, fixed portrait frames, or image service tiles. */
body[data-af-service-layout="home"] :is(.steps, .info-grid),
body[data-af-service-layout="about"] :is(.founder-profiles, .profile-disciplines),
body[data-af-service-layout="client-reviews"] .reviews-grid,
body[data-af-service-layout="contract-vehicles"] .vehicles,
body[data-af-service-layout="licensing"] .license-meta {
  grid-auto-rows: 1fr;
  align-items: stretch;
}

/* Long deliverable names and translated headings can wrap inside phone cards. */
body[data-af-service-layout="contract-vehicles"] .vehicle :is(h3, p),
body[data-af-service-layout="home"] .info-card,
body[data-af-service-layout="client-reviews"] .reviews-container {
  overflow-wrap: anywhere;
}
body[data-af-service-layout="contract-vehicles"] .vehicle .word,
body[data-af-service-layout="home"] .info-card .word,
body[data-af-service-layout="client-reviews"] .reviews-container .word {
  max-width: 100%;
  white-space: normal;
}
body[data-af-service-layout="client-reviews"] .reviews-container { min-width: 0; }

/* Compact team cards keep complete role labels inside their text column. */
body[data-af-service-layout="about"] .founder-role { overflow-wrap: anywhere; }
