.team-member { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-6); align-items: start; padding-block: var(--space-5); border-block-end: 1px solid var(--color-divider); }
.team-member__name { margin: 0; max-inline-size: 37.5rem; font-family: var(--font-heading); font-size: clamp(var(--fs-body), 1.527778vw, var(--fs-team-name-max)); font-weight: 500; line-height: 1.2; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.team-member__role { display: flex; justify-content: flex-end; align-items: center; gap: var(--space-3); transition: color var(--dur-fast) var(--ease-standard), opacity var(--dur-fast) var(--ease-standard); margin: 0; font-size: clamp(var(--fs-body), 1.388889vw, var(--fs-label)); font-weight: 500; line-height: 1.32; letter-spacing: -0.02em; text-align: end; color: var(--color-team-role); opacity: 0.7; overflow-wrap: anywhere; }
@media (max-width: 47.999rem) {
    .team-member { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
    .team-member__role { text-align: start; }
}

.team-member__role::before { content: "+" / ""; opacity: 0; transition: opacity var(--dur-fast) var(--ease-standard); }
.team-member__portrait {
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    inline-size: clamp(9rem, 24vw, 22rem);
    block-size: auto;
    transform: translate(-50%, -50%);
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--dur-fast) var(--ease-standard), visibility var(--dur-fast) var(--ease-standard);
}
@media (hover: hover) and (pointer: fine) {
    .team-member:hover .team-member__portrait { opacity: 1; visibility: visible; }
    .team-member:hover .team-member__role { color: var(--color-nav-active); opacity: 1; }
    .team-member:hover .team-member__role::before { opacity: 1; }
}
@media (hover: none), (pointer: coarse) {
    .team-member__portrait { display: none; }
}
@media (max-width: 47.999rem) {
    .team-member__role { justify-content: flex-start; }
    .team-member__role::before { display: none; }
}
