/* Team component only. Existing page direction and navigation are retained. */
.team-roster-page{--team-photo-width:104px;--team-gutter:22px;--team-name-size:25px;--team-copy-size:16px;--team-note-size:14px}
.team-roster-page .section-heading{margin-bottom:34px}
.team-roster-page .section-heading>p{margin-top:12px;color:var(--purple);font-size:var(--team-copy-size);letter-spacing:0}
.team-roster{display:grid;gap:32px}
.team-member{display:grid;grid-template-columns:var(--team-photo-width) minmax(0,1fr);gap:var(--team-gutter);align-items:center}
.team-photo{margin:0;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--light)}
.team-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:none;transform:scale(var(--team-portrait-scale,1));transform-origin:var(--team-portrait-origin,50% 0%)}
.team-person{min-width:0}
.team-person h3{font-size:var(--team-name-size);line-height:1.25;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:0 0 8px}
.team-person .team-affiliation{font-size:var(--team-note-size);line-height:1.6;color:var(--purple);margin:0 0 9px;letter-spacing:0}
.team-person .team-job{font-size:var(--team-copy-size);line-height:1.65;color:var(--ink);margin:0;overflow-wrap:anywhere;text-wrap:pretty}
.team-specialty{display:block;font-size:var(--team-note-size);line-height:1.65;margin-top:2px;color:var(--ink)}
.team-role-first{display:block}
.team-role-phrase{display:inline-block;white-space:nowrap}
.team-roster-page .page-footer{margin-top:48px}
@media(min-width:600px){
 .team-roster-page{--team-photo-width:156px;--team-gutter:36px;--team-name-size:34px;--team-copy-size:21px;--team-note-size:18px}
 .team-roster-page .section-heading{margin-bottom:48px}
 .team-roster-page .section-heading>p{margin-top:18px}
 .team-roster{gap:40px}
 .team-person h3{margin-bottom:12px}
 .team-person .team-affiliation{margin-bottom:14px}
 .team-roster-page .page-footer{margin-top:64px}
}
@media(max-width:359px){
 .team-roster-page{--team-photo-width:88px;--team-gutter:17px;--team-name-size:23px}
 .team-roster{gap:28px}
}
@media print{
 .team-member{break-inside:avoid}
 .team-photo img{print-color-adjust:exact}
}
