/* The original portraits sit beside the credentials, within the shared grid. */
.team-profiles { padding-bottom: var(--section-space); }
.team-profile { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); align-items: start; gap: clamp(32px, 5vw, 72px); padding-block: 48px; position: relative; }
.team-profile::before { content: ''; position: absolute; inset: 0 0 auto; height: 1px; background: var(--line); transform-origin: left; }
.team-profile-body { min-width: 0; }
.team-profile-heading { margin-bottom: 24px; min-width: 0; }
#conteudo .team-profile h2 { margin: 16px 0 12px; font-size: clamp(28px, 3vw, 42px); line-height: 1.2; text-wrap: pretty; }
.team-profile .team-registration { margin: 0; font-size: 12px; color: var(--muted); }
.team-portrait-frame { position: relative; width: calc(100% - 8px); max-width: 280px; margin-bottom: 8px; }
.team-portrait-frame::before { content: ''; position: absolute; inset: 8px -8px -8px 8px; background: var(--line); transition: transform 500ms var(--motion-ease); }
.team-portrait { position: relative; aspect-ratio: 4 / 5; background: var(--surface); overflow: hidden; }
.team-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.team-portrait-mark { position: absolute; right: -14px; bottom: -14px; z-index: 1; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: var(--cream); color: var(--green); }
.team-portrait-mark .icon { width: 20px; height: 20px; }
.team-profile-content { min-width: 0; }
.team-profile-content p { margin: 0 0 20px; color: var(--muted); font-size: var(--body-size); line-height: 1.85; }
.team-credentials { list-style: none; padding: 0; margin: 0 0 24px; }
.team-credentials li { display: flex; align-items: flex-start; gap: 12px; padding-block: 12px; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.7; }
.team-credentials .icon { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; color: var(--accent); }
.motion-ready .team-profile::before { transform: scaleX(0); transition: transform 850ms var(--motion-ease); }
.motion-ready .team-profile.is-visible::before { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) {
  .team-profile:hover .team-portrait-frame::before { transform: translate(3px, 3px); }
}
@media (max-width: 900px) {
  .team-profile { grid-template-columns: minmax(0, 180px) minmax(0, 1fr); gap: 32px; padding-block: 36px; }
}
@media (max-width: 600px) {
  .team-profile { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  #conteudo .team-profile h2 { font-size: clamp(26px, 6.8vw, 30px); }
}
@media (prefers-reduced-motion: reduce) {
  .motion-ready .team-profile::before, .team-portrait-frame::before { transition: none; transform: none; }
  .team-profile:hover .team-portrait-frame::before { transform: none; }
}
