/* Teams page: reuse shared typography, institution marks and lab cards. */
.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:0}
.team-member{min-width:0;padding:28px}
.team-member h3{font-size:24px;font-weight:600;line-height:1.4;letter-spacing:-.02em;margin:20px 0 0}
.team-member h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.team-member h3 a>span{font-size:18px;color:var(--muted);white-space:nowrap}
.team-member p{font-size:14px}
.faculty-detail{font-size:13px}
.faculty-group-link{font-size:12px}
.team-member .text-link{margin-top:9px}
#yujie-cai{scroll-margin-top:calc(var(--header-h) + 58px)}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:stretch}
.contact-card,.contact-qr{min-width:0;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.contact-card:only-child{grid-column:1/-1}
.contact-card h3{font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.02em;margin:20px 0 0}
.contact-details{display:grid;gap:20px;margin:26px 0 0}
.contact-details div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:baseline}
.contact-details dt{font-size:13px;line-height:1.8;color:var(--muted)}
.contact-details dd{font-size:15px;line-height:1.8;margin:0;overflow-wrap:anywhere}
.contact-details a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--muted)}
.contact-details a:hover{text-decoration-color:var(--ink)}
.contact-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;margin:0}
.contact-qr img{display:block;width:min(100%,220px);height:auto;background:#fff;border-radius:var(--radius)}
.contact-qr figcaption{font-size:13px;line-height:1.7;color:var(--soft);text-align:center}
@media(max-width:860px){
  #yujie-cai{scroll-margin-top:calc(var(--header-h) + 16px)}
}
@media(max-width:680px){
  .team-grid,.contact-grid{grid-template-columns:1fr}
  .team-member,.contact-card,.contact-qr{padding:24px}
  .team-member h3,.contact-card h3{font-size:22px}
}
@media(max-width:420px){
  .contact-details div{grid-template-columns:1fr;gap:2px}
}

/* Two parts that never mix: (A) organizations — marks, names and descriptions, no people;
   (B) people — portraits or initials, names and roles, affiliations as plain text, no marks. */
.org-tier{margin:0 0 18px;font:400 11.5px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.research-groups+.org-tier{margin-top:44px}
.member-group-label{margin:0 0 18px;font:400 11.5px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.team-grid+.member-group-label{margin-top:40px}
.team-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.team-member .member-role{margin:10px 0 0;font-size:14px;font-weight:500;line-height:1.55;color:var(--ink)}
.team-member .member-org{margin:8px 0 16px;font-size:13.5px;line-height:1.6;color:var(--soft)}
.team-member .member-role+.faculty-detail{margin-top:4px}
.contributor-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin:0;padding:0;list-style:none;font-size:15px;line-height:1.6;color:var(--ink)}
.contributor-list .text-link{margin-top:0;font-size:15px}
.research-group h3{font-size:21px;line-height:1.3;letter-spacing:-.025em;margin:13px 0 0;font-weight:600}
.group-project h4{font-size:12px;line-height:1.6;font-weight:600;margin:0 0 8px}
.gifts-feature{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:44px;margin-top:0}
.gifts-intro{display:flex;flex-direction:column;min-width:0}
.gifts-feature .group-name{min-height:0}
.gifts-programs{min-width:0}
.gifts-programs h4{font-size:12px;line-height:1.6;font-weight:600;margin:0 0 14px}
.gifts-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:0;padding:0;list-style:none}
.gifts-list li{font-size:13.5px;line-height:1.7;color:var(--soft)}
.gifts-list strong{display:block;margin-bottom:2px;font-size:14px;font-weight:600;line-height:1.5;color:var(--ink)}
/* Tall lockups (Columbia CDFT, AI4S2) use the plate's full inner height */
.v2-page-teams .org-grid .v2-group-plate img.org-mark-tall{max-height:72px}
.v2-page-teams .org-grid{margin-top:0}
.v2-page-teams .org-grid .v2-group-top{display:block}
.v2-page-teams .org-grid .v2-group-plate{width:100%;height:104px;padding:16px 22px}
.v2-page-teams .org-grid .v2-group-plate img{max-height:60px;max-width:min(100%,260px)}
.v2-page-teams .org-grid .v2-group-plate .sufe-lockup{width:min(100%,250px)}
.v2-page-teams .gifts-intro .v2-group-plate{height:96px;padding:16px 24px;align-self:flex-start}
.v2-page-teams .gifts-intro .v2-group-plate img{max-height:60px;max-width:min(100%,300px)}
@media(max-width:1000px){
  .team-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gifts-feature{grid-template-columns:1fr}
}
@media(max-width:680px){
  .team-grid-three,.gifts-list{grid-template-columns:1fr}
}
/* phones and tablets: room above the diorama for the backdrop globe's four cities */
@media(max-width:1099px){.v2-page-teams .page-hero.has-toy .toy-hero{margin-top:44px}}
/* the globe's cities show through above the diorama; the veil starts where the copy does */
@media(max-width:1099px){.v2-page-teams .v2-veil{background:linear-gradient(180deg,transparent 0,transparent 38%,color-mix(in oklab,var(--paper) 78%,transparent) 54%)}}
/* collaborating organizations: three cards a row whose rows (mark, school, name, full name, description,
   project, links) line up across each row */
@media(min-width:861px){
  .v2-page-teams .org-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px}
  .v2-page-teams .org-grid>.research-group{display:grid;grid-row:span 7;grid-template-rows:subgrid;row-gap:0;align-content:start}
  .v2-page-teams .org-grid>.research-group>.v2-group-top{grid-row:1}
  .v2-page-teams .org-grid .group-affiliation{grid-row:2}
  .v2-page-teams .org-grid>.research-group>h3{grid-row:3}
  .v2-page-teams .org-grid .group-name{grid-row:4;min-height:0}
  .v2-page-teams .org-grid .group-description{grid-row:5}
  .v2-page-teams .org-grid .group-project{grid-row:6;align-self:start}
  .v2-page-teams .org-grid .group-links{grid-row:7;align-self:end}
}
.v2-page-teams .group-project a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--muted)}
/* SUFE: the official homepage lockup (seal and wordmark, white on transparent) in SUFE red on the white plates */
.v2-page-teams .sufe-lockup{display:block;aspect-ratio:702/142;background:#811c21;-webkit-mask:url("assets/institutions/sufe-university-transparent-official.png") center/contain no-repeat;mask:url("assets/institutions/sufe-university-transparent-official.png") center/contain no-repeat}
.v2-page-teams .v2-logo-plate .sufe-lockup{width:min(100%,240px)}
.v2-page-teams .v2-group-plate .sufe-lockup{width:188px;max-width:100%}
