/* Composition only: typography, cards, headings and controls use shared site components. */
.team-profile__identity { display:flex; align-items:center; gap:24px; min-width:0; }
.team-profile__identity > div { min-width:0; }
.team-profile__identity h1 { overflow-wrap:anywhere; }
.team-profile__crest { width:144px; height:144px; flex:0 0 144px; object-fit:contain; }
.team-profile__membership { margin-top:12px; }
.team-profile__membership .cb2-pill { margin-bottom:0; padding-left:0; }
.team-profile__actions { align-items:center; justify-content:space-between; margin:16px 0 24px; }
.team-profile__actions > a { width:auto; gap:8px; }
.team-profile svg:not(.team-profile__shirt) { flex-shrink:0; }
.team-profile > .team-profile__cover { padding:0; overflow:hidden; margin:0 0 24px; }
.team-profile > .team-profile__cover img { display:block; width:100%; max-height:380px; object-fit:cover; }
/* Keep the photo faint beneath the identity, with the same fade into the unobscured image. */
.team-profile__head--with-cover { position:relative; isolation:isolate; overflow:hidden; min-height:240px; }
.team-profile__head--with-cover .team-profile__cover { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center; pointer-events:none; }
.team-profile__head--with-cover .team-profile__identity { position:relative; align-self:stretch; max-width:calc(100% - 160px); padding:16px 0; }
.team-profile__head--with-cover .team-profile__identity::before { content:""; position:absolute; z-index:-1; inset:-16px -96px -16px -24px; background:linear-gradient(90deg, rgba(255,255,255,.9) 0, rgba(255,255,255,.9) calc(100% - 96px), rgba(255,255,255,0) 100%); pointer-events:none; }
.team-profile__layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(260px, .46fr); gap:24px; align-items:start; }
.team-profile__content { display:grid; gap:24px; min-width:0; }
.team-profile__content:empty { display:none; }
.team-profile__layout:not(:has(aside > *)) { grid-template-columns:1fr; }
.team-profile__content .cb2-section-title { margin:0; }
.team-profile__content .cb2-section-title h2 { margin-bottom:0; }
.team-profile__story { white-space:pre-line; line-height:1.8; margin:0; overflow-wrap:anywhere; }
.team-profile__numbers { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; margin:4px 0 0; padding-top:20px; border-top:1px solid var(--bs-border-color); }
.team-profile__numbers > div { display:flex; flex-direction:column-reverse; gap:6px; }
.team-profile__numbers dt { font-weight:400; }
.team-profile__honors, .team-profile__roster { list-style:none; padding:0; margin:0; display:grid; gap:16px; }
.team-profile__honors li, .team-profile__roster li { display:flex; align-items:center; gap:14px; min-width:0; }
.team-profile__honor-icon, .team-profile__avatar { width:48px; height:48px; flex:0 0 48px; display:inline-flex; align-items:center; justify-content:center; padding:0; margin:0; }
.team-profile__person { display:grid; gap:3px; min-width:0; flex:1; overflow-wrap:anywhere; }
.team-profile__roster .cb2-soft-button { width:auto; gap:8px; overflow-wrap:anywhere; min-width:0; }
.team-profile__brand { text-align:center; }
.team-profile__shirt { display:block; width:100%; max-width:300px; height:auto; margin:0 auto 12px; color:var(--bs-secondary-color, #52645e); }
.team-profile__shirt-body { fill:#050505; }
.team-profile aside h2 { overflow-wrap:anywhere; }
.team-profile aside .cb2-button, .team-profile aside .cb2-soft-button { gap:8px; white-space:normal; }
.team-profile details summary { cursor:pointer; }
@media (max-width: 900px) {
  .team-profile__head--with-cover { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .team-profile__head--with-cover .team-profile__identity { margin-top:140px; max-width:none; padding:16px 0 0; }
  .team-profile__head--with-cover .team-profile__identity::before { inset:-32px -24px -16px; background:linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(255,255,255,.9) 32px, rgba(255,255,255,.9) 100%); }
  .team-profile__layout { grid-template-columns:minmax(0, 1fr); }
  .team-profile__brand { display:grid; grid-template-columns:minmax(0, 180px) minmax(0, 1fr); align-items:center; gap:16px; text-align:left; }
  .team-profile__shirt { margin:0; }
}
@media (max-width: 600px) {
  .team-profile__identity { flex-direction:column; align-items:flex-start; gap:16px; }
  .team-profile__crest { width:112px; height:112px; flex-basis:112px; }
  .team-profile__layout, .team-profile__content { gap:18px; }
  .team-profile__actions { gap:12px; margin-bottom:18px; }
  .team-profile__actions > a { flex:1 1 180px; justify-content:center; }
  .team-profile__roster li { display:grid; grid-template-columns:48px minmax(0, 1fr); }
  .team-profile__roster .cb2-soft-button { grid-column:2; justify-self:start; max-width:100%; }
  .team-profile__brand { grid-template-columns:minmax(0, 140px) minmax(0, 1fr); }
}
