.roster-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.roster-tabs a,.athlete-teams a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #dce3ef;border-radius:12px;color:var(--club-navy);text-decoration:none;font-weight:650}.roster-tabs a[aria-current]{color:#a71260;background:#fff0f7;border-color:#ffb8d8}.roster-tabs svg,.athlete-teams svg,.roster-card-action svg{width:20px;height:20px;flex-shrink:0}.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:28px}.roster-grid-teams{grid-template-columns:repeat(2,minmax(0,1fr))}.athlete-card,.team-card{min-width:0;border:1px solid #dce3ef;border-radius:18px;overflow:hidden;background:#fff}.roster-card-link{display:flex;flex-direction:column;height:100%;color:var(--club-navy);text-decoration:none}.roster-card-link:focus-visible{outline:3px solid var(--club-pink);outline-offset:-3px}.roster-card-photo,.team-card-photo,.athlete-portrait{background:linear-gradient(135deg,#ecf1ff,#fff1f8);overflow:hidden}.roster-card-photo{aspect-ratio:4/5}.team-card-photo{aspect-ratio:16/9}.roster-card-photo img,.team-card-photo img{display:block;width:100%;height:100%;object-fit:cover}.roster-card-photo img{object-fit:contain}.roster-card-copy{padding:24px;display:flex;flex-direction:column;flex:1}.roster-card-copy h2{margin:8px 0 20px;font-size:clamp(23px,2.2vw,30px);overflow-wrap:anywhere}.roster-card-copy .eyebrow{margin:0}.roster-card-action{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e5e9f1;padding-top:16px;margin-top:auto;font-weight:650}.roster-card-link:hover .roster-card-action{color:#a71260}.team-card-intro{color:#50617d;line-height:1.7}.roster-initial,.team-card-emblem{display:grid;place-items:center;height:100%;min-height:220px;color:#a71260;font-size:clamp(80px,12vw,150px);font-weight:800}.team-card-emblem svg{width:80px;height:80px}.team-cover{display:block;width:100%;height:auto;max-height:600px;object-fit:contain;border-radius:16px;margin-bottom:28px;background:#edf1f7}.roster-description{max-width:80ch;margin-bottom:32px;font-size:18px;line-height:1.8}.athlete-profile{display:grid;grid-template-columns:minmax(0,.8fr)minmax(0,1.2fr);gap:clamp(24px,4vw,60px)}.athlete-portrait{border-radius:20px;border-bottom:5px solid var(--club-pink);align-self:start}.athlete-portrait img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain}.athlete-profile-copy{min-width:0}.athlete-profile h1{font-size:clamp(32px,4vw,52px);line-height:1.1;overflow-wrap:anywhere}.athlete-profile-copy section{margin:28px 0;line-height:1.8}.athlete-profile h2{font-size:23px}.athlete-teams{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:1000px){.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.roster-grid,.athlete-profile{grid-template-columns:minmax(0,1fr)}.roster-card-copy{padding:20px}.athlete-portrait{max-width:420px;width:100%;margin-inline:auto}}