/* Portrait fronts reveal an accessible profile on click or tap. */
.team-grid--flip{gap:24px}
.team-profile{perspective:2000px;perspective-origin:50% 50%;min-width:0}
.team-profile__inner{display:grid;transform-style:preserve-3d;transform:translateZ(0) rotateY(0deg);transform-origin:center center;will-change:transform;transition:transform .9s cubic-bezier(.45,0,.25,1);height:100%;min-height:465px}
.team-profile.is-open .team-profile__inner{transform:translateZ(0) rotateY(180deg)}
.team-profile__front,.team-profile__back{grid-area:1 / 1;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--bg-elevated);box-shadow:var(--shadow-sm);min-width:0}
.team-profile__front{display:flex;flex-direction:column;transform:rotateY(0deg) translateZ(1px)}
.team-profile__portrait{display:block;position:relative;width:100%;padding:0;border:0;cursor:pointer;background:var(--bg-tint);color:var(--ink);text-align:left;overflow:hidden;border-radius:0;font:inherit}
.team-profile__portrait>img{display:block;width:100%;height:355px;object-fit:cover;object-position:center top;transition:transform .6s ease}
.team-profile__portrait:hover>img{transform:none}
.team-profile__hint{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:16px;padding:10px 14px;border:1px solid #ffffffc0;background:#fffdf6ed;backdrop-filter:blur(10px);border-radius:99px;color:#292d32;font-size:12px;font-weight:500}
.team-profile__hint img{width:18px;height:18px}
.team-profile__caption{padding:24px;text-align:left}.team-profile__caption h3{font-family:Inter,sans-serif;font-size:22px;letter-spacing:-.04em;line-height:1.25;margin:0 0 8px}.team-profile__caption .team-role{margin:0;font-size:11px}
.team-profile__back{transform:rotateY(180deg) translateZ(1px);display:flex;flex-direction:column;padding:28px;justify-content:space-between;border-color:var(--gold-soft)}
.team-profile__close{align-self:flex-start;background:transparent;color:var(--ink-mute);border:1px solid var(--line-strong);padding:8px 12px;border-radius:99px;cursor:pointer;font:inherit;font-size:12px}
.team-profile__details{padding:25px 0}.team-profile__details h3{font-family:Inter,sans-serif;font-size:30px;line-height:1.15;letter-spacing:-.045em;margin:0 0 12px}.team-profile__details .team-role{font-size:11px;margin-bottom:14px}.team-profile__details .team-cred{font-size:16px;font-style:normal;margin:0}.team-profile__label{margin:26px 0 12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}
.team-profile__back .team-langs{justify-content:flex-start;gap:6px}.team-profile__back .team-langs span{font-size:12px;padding:6px 10px}
.team-profile__back .team-contact{display:flex;flex-direction:column;gap:5px;align-items:flex-start;margin:0;border-radius:14px;padding:14px 18px;font-size:17px;letter-spacing:-.02em}.team-profile__back .team-contact small{font-size:11px;font-weight:500;letter-spacing:0}
.team-profile button:focus-visible,.team-profile a:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
.team-profile__front[inert],.team-profile__back[inert]{pointer-events:none}
@media(min-width:861px) and (max-width:1100px){.team-profile__portrait>img{height:300px}.team-profile__back{padding:22px}.team-profile__caption{padding:20px}.team-profile__caption h3{font-size:19px}.team-profile__details h3{font-size:26px}.team-profile__back .team-contact{font-size:15px}}
@media(max-width:860px){.team-grid--flip{max-width:500px;margin-inline:auto;gap:24px}.team-profile__portrait>img{height:390px}.team-profile__inner{min-height:470px}}
@media(max-width:420px){.team-profile__portrait>img{height:325px}.team-profile__back{padding:24px}.team-profile__inner{min-height:450px}}
@media(prefers-reduced-motion:reduce){.team-profile__inner,.team-profile__portrait>img{transition:none}.team-profile__portrait:hover>img{transform:none}}

.team-profile.is-turning .team-profile__inner{pointer-events:none}
