.team-hero{padding-bottom:32px}.team-section{padding-top:30px}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.team-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(155deg,#13253caa,#0a101dcc)}.team-photo{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse at 50% 75%,#214c76,#101d30 75%);border-bottom:1px solid var(--line)}.team-photo>span{font-size:64px;line-height:1;font-weight:500;letter-spacing:-.06em;color:#84b9f5}.team-photo small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a9bdd5}.team-info{padding:28px}.team-role{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#84b9f5;margin-bottom:12px}.team-info h2{font-size:25px;line-height:1.25;letter-spacing:-.035em}.team-bio{font-size:14px;line-height:1.8;margin-top:20px;min-height:76px}.team-email{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font-size:13px;overflow-wrap:anywhere}.team-email>span:first-child{color:#c8dfff;font-weight:600}.team-email a{color:#91c5ff;text-underline-offset:4px}@media(max-width:980px){.team-grid{grid-template-columns:1fr;max-width:600px}.team-photo{aspect-ratio:16/10}.team-bio{min-height:0}.team-info{padding:26px}}
.team-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}

/* Keep contact details aligned beneath biographies of different lengths. */
.team-card{display:flex;flex-direction:column}
.team-photo{flex-shrink:0}
.team-info{display:flex;flex-direction:column;flex:1}
.team-bio{margin-bottom:24px}
.team-email{margin-top:auto}

/* Shared portrait and text geometry for every team member. */
.team-grid{align-items:stretch;grid-auto-rows:1fr}
.team-card{height:100%;min-width:0}
.team-photo{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden}
.team-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.team-info{display:grid;grid-template-rows:20px 64px 1fr auto;gap:0;padding:28px;min-width:0}
.team-role{margin:0;line-height:20px}
.team-info h2{margin:12px 0 0;line-height:1.25;align-self:start}
.team-bio{margin:20px 0 24px;min-height:0}
.team-email{margin:0;padding-top:20px;align-self:end;min-height:71px}
@media(max-width:980px){.team-info{padding:26px}.team-photo{aspect-ratio:4/3}}
