.team-roster-link { display:block; height:100%; color:inherit; text-decoration:none; border-radius:4px; }
.team-roster-link:hover { outline:2px solid var(--gold); }
.team-roster-link:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
.team-roster-link h3 { width:100%; text-align:center!important; }
.roster-section { max-width:1100px; margin:auto; }
.roster-title { text-align:center; margin:20px 0 30px; }
.roster-eyebrow { color:var(--silver); font-size:18px; margin:0 0 8px; text-transform:uppercase; letter-spacing:.08em; }
.roster-section h2 { font-size:clamp(30px,5vw,48px); margin:0; overflow-wrap:anywhere; }
.roster-registration { display:flex; justify-content:center; }
.roster-registration .btn { max-width:100%; text-align:center; white-space:normal; }
.roster-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.roster-table th, .roster-table td { padding:16px; text-align:left; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.roster-table th { color:var(--gold); }
.roster-table th:first-child { width:65%; }
.roster-legend { color:var(--gold); margin:20px 0; text-align:center; }
#rosterHeading { overflow-wrap:anywhere; font-size:clamp(36px,6vw,80px); }

/* Align the crest, details and kits across each team-directory row. */
.team-card .team-roster-link { display:flex; flex-direction:column; align-items:center; }
.team-card .team-logo { flex:none; }
.team-card .team-roster-link h3 { min-height:2.2em; }
.team-card .team-roster-link > p { width:100%; }
.team-card .kit-row { margin-top:auto; width:100%; justify-content:center; align-items:center; min-height:138px; padding-top:16px; }
.team-card .kit-row img { width:106px!important; height:138px!important; object-fit:contain!important; }
@media (min-width:1101px) { #teamGrid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
