.tf-team__grid,.tf-team-single,.tf-team__group-photo{font-family:Inter,sans-serif;color:#2F1B4E;box-sizing:border-box}
.tf-team__grid *,.tf-team-single *,.tf-team__group-photo *{box-sizing:border-box}
.tf-team__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.tf-team__card{min-width:0;background:#fff;border-radius:24px;overflow:hidden}
.tf-team__link{display:flex;height:100%;flex-direction:column;color:#2F1B4E!important;text-decoration:none!important}
.tf-team__portrait{aspect-ratio:4/5;overflow:hidden;background:#2F1B4E}
.tf-team__portrait .tf-team__photo,.tf-team__profile-photo .tf-team__photo,.tf-team__group-photo .tf-team__photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.tf-team__placeholder{height:100%;min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;background:#2F1B4E;color:#fff;text-align:center}
.tf-team__placeholder svg{width:100%;max-width:240px;fill:#6E4499}
.tf-team__placeholder span{font:400 14px/1.5 Inter,sans-serif}
.tf-team__placeholder--group svg{max-width:420px}
.tf-team__card-copy{padding:24px;flex:1;display:flex;flex-direction:column;gap:8px;border-top:5px solid #E65026}
.tf-team__card-copy h3{font:700 22px/1.25 Inter,sans-serif!important;color:#2F1B4E;margin:0;overflow-wrap:anywhere}
.tf-team__card-copy p{font-size:15px;line-height:1.6;margin:0}
.tf-team__more{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:700;padding-top:16px;margin-top:auto}
.tf-team__more span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#E65026;color:#000;font-size:23px;transition:transform .18s}
.tf-team__link:hover .tf-team__more span,.tf-team__link:focus-visible .tf-team__more span{transform:rotate(45deg)}
.tf-team__link:focus-visible{outline:4px solid #2F1B4E;outline-offset:-4px}
.tf-team__group-photo{aspect-ratio:4/3;border-radius:24px;overflow:hidden}
.tf-team-single{background:#F8F8F8;padding:56px 32px 96px}
.tf-team__wrap{max-width:1216px;margin:auto}
.tf-team__back{display:inline-block;font-weight:700;font-size:16px;color:#2F1B4E!important;text-decoration:underline;text-underline-offset:5px;margin-bottom:40px}
.tf-team__profile{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.tf-team__profile-photo{aspect-ratio:4/5;border-radius:24px;overflow:hidden}
.tf-team__profile-photo .tf-team__placeholder svg{max-width:320px}
.tf-team__bio{min-width:0;padding-top:24px}
.tf-team__bio h1,.tf-team-single>.tf-team__wrap>h1{font:700 clamp(40px,5vw,64px)/1.12 'Varsity Team',Inter,sans-serif;color:#2F1B4E;margin:0 0 24px;overflow-wrap:anywhere}
.tf-team__discipline{font-size:16px;font-weight:700;line-height:1.6;margin:0 0 16px}
.tf-team__intro{font-size:21px;line-height:1.65;margin-bottom:24px}
.tf-team__body{font-size:18px;line-height:1.75;color:#000;overflow-wrap:anywhere}
.tf-team__body h2{font:700 28px/1.25 Inter,sans-serif;color:#2F1B4E;margin:32px 0 16px}
.tf-team__body img{max-width:100%;height:auto}
.tf-team__button{display:inline-block;margin-top:24px;padding:16px 24px;border-radius:12px;background:#E65026;color:#000!important;font-size:16px;font-weight:700;line-height:1.5;text-decoration:none!important}
.tf-team__button:hover{background:#2F1B4E;color:#fff!important}
.tf-team__button:focus-visible,.tf-team__back:focus-visible{outline:3px solid #2F1B4E;outline-offset:5px}
@media(min-width:768px) and (max-width:1100px){.tf-team__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tf-team__profile{gap:32px}}
@media(max-width:767px){.tf-team__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.tf-team__card-copy{padding:20px 16px}.tf-team__card-copy h3{font-size:20px!important}.tf-team__placeholder{padding:20px 12px;min-height:160px}.tf-team__profile{grid-template-columns:minmax(0,1fr);gap:32px}.tf-team-single{padding:32px 20px 56px}.tf-team__back{margin-bottom:32px}.tf-team__profile-photo{max-width:460px;width:100%}.tf-team__bio{padding:0}.tf-team__intro{font-size:20px}}
@media(max-width:479px){.tf-team__grid{grid-template-columns:minmax(0,1fr)}.tf-team__portrait{aspect-ratio:1/1}.tf-team__placeholder svg{max-width:230px}}
@media(prefers-reduced-motion:reduce){.tf-team__more span{transition:none;transform:none!important}}
