/* Public directory cards: identical geometry with or without links/bios. */
#team .team-track .team-card{
 box-sizing:border-box;display:flex;flex-direction:column;
 height:auto;min-height:0;align-self:stretch;padding:10px;
}
#team .team-photo-wrap{
 position:relative;flex:none;width:100%;aspect-ratio:1 / 1;
 isolation:isolate;overflow:hidden;border-radius:11px;background:var(--bg);
}
#team .team-photo-wrap > a {display:block;width:100%;height:100%}
#team .team-photo-wrap .team-photo{
 display:block;width:100%;height:100%;object-fit:cover;object-position:center;
 -webkit-mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 78%,transparent);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 78%,transparent);
 mask-composite:intersect;
}
#team .team-photo-wrap::after{content:none}
#team .team-card .team-info{
 box-sizing:border-box;display:flex;flex:1;min-height:0;flex-direction:column;
 align-items:center;text-align:center;padding:18px 4px 6px;
}
#team .team-card .team-info h3{
 margin:0 0 5px;line-height:1.32;font-size:15px;font-weight:700;
 min-height:2.64em;display:flex;align-items:center;justify-content:center;
}
#team .team-info .role{
 min-height:2.65em;line-height:1.32;margin:0 0 8px;
 display:flex;align-items:flex-start;justify-content:center;
}
#team .team-info .team-social{
 display:flex;justify-content:center;align-items:center;gap:8px;
 min-height:44px;margin-top:auto;flex-wrap:wrap;
}
#team .team-card.profile-unavailable{cursor:default}
#team .team-card.has-profile{cursor:pointer}
#team .team-profile-link{color:inherit;text-decoration:none}
#team .team-profile-link:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:2px}
@media(max-width:700px){
 #team .team-track .team-card{height:auto;min-height:0}
}
@media(prefers-reduced-motion:reduce){
 #team .team-card .team-photo{transition:none!important}
}

#team .team-social a{width:40px;height:40px;border-radius:50%}
#team .team-social a:hover{background:var(--hover)}
#team .team-social img{width:19px;height:19px}
#team .team-card:not(.skeleton)::before,#team .team-card:not(.skeleton)::after{content:none}

/* Short name lists are centered once, without duplicate names or a final separator. */
.mod-track.names-static{gap:16px 0}
.mod-track.names-static .mod-item{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.mod-track.names-static .mod-item:last-child{padding-right:0}
.mod-track.names-static .mod-item:last-child::after{content:none}

/* Five on one row, or a centered staggered 3+2 for narrow cards. */
#team .team-card .team-info{container-type:inline-size}
#team .team-info .team-social{width:100%;display:flex;justify-content:center;flex-wrap:nowrap;gap:clamp(2px,3cqi,6px);min-width:0}
#team .team-social a{flex:0 1 36px;width:clamp(24px,18cqi,36px);height:clamp(24px,18cqi,36px);min-width:0;aspect-ratio:1;box-sizing:border-box}
#team .team-social img{width:55%;height:55%;max-width:20px;max-height:20px}
@container (max-width:190px){
 #team .team-info .team-social:has(a:nth-child(5)):not(:has(a:nth-child(6))){display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:0;row-gap:5px;justify-items:center}
 #team .team-social:has(a:nth-child(5)):not(:has(a:nth-child(6))) a{grid-column:span 2;width:min(100%,34px);height:auto}
 #team .team-social:has(a:nth-child(5)):not(:has(a:nth-child(6))) a:nth-child(4){grid-column:2 / span 2}
 #team .team-social:has(a:nth-child(5)):not(:has(a:nth-child(6))) a:nth-child(5){grid-column:4 / span 2}
}

/* The filled X badge has a white knockout: preserve both tones. */
#team .team-social a[data-social="x"] img{filter:none}
html[data-theme="dark"] #team .team-social a[data-social="x"] img{filter:invert(1)}

/* TikTok follows the same filled monochrome badge treatment as X. */
#team .team-social a[data-social="tiktok"] img{filter:none}
html[data-theme="dark"] #team .team-social a[data-social="tiktok"] img{filter:invert(1)}
