/* The team pages carry the campaign's navy, red, and scorecard typography. */
.team-page-header nav a[aria-current="page"]{color:var(--red);text-decoration:underline;text-underline-offset:6px}
.roster-hero{background:var(--navy);color:#fff;padding-block:64px 72px}
.roster-hero .eyebrow{color:#fff}
.roster-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:1.02;margin:20px 0}
.roster-hero p:not(.eyebrow){font-size:1.125rem;max-width:660px;color:#d0d9e7}
.roster-hero .roster-season{margin-top:26px;padding-top:20px;border-top:1px solid #ffffff35;display:flex;flex-wrap:wrap;gap:12px 32px;font-size:1rem;color:#fff}
.roster-main{padding-block:56px 80px}
.roster-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}
.roster-heading h2{font-size:2.75rem;line-height:1.1}
.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;margin:0;padding:0}
.roster-card{height:100%;background:white;border:1px solid var(--line);border-top:4px solid var(--red)}
.roster-portrait{margin:0;aspect-ratio:2/3;background:var(--navy-dark);display:flex;align-items:center;justify-content:center;overflow:hidden}
.roster-portrait img{width:100%;height:100%;object-fit:contain}
.roster-monogram{font-family:var(--display);font-weight:800;font-size:5rem;color:white;line-height:1}
.roster-photo-credit{font-size:1rem;color:var(--muted);margin:-8px 0 28px;line-height:1.6}.roster-photo-credit a{text-underline-offset:4px}
.roster-card-copy{padding:24px}
.jersey-label{font-family:var(--display);font-size:2.5rem;line-height:1;color:var(--red);font-weight:800}
.roster-name{font-family:var(--display);font-size:2.2rem;line-height:1.1;margin-block:10px}
.roster-source{font-size:1rem;color:var(--muted);margin-top:32px}.roster-source a{text-underline-offset:4px}
.coach-section{padding-block:56px 0;scroll-margin-top:120px}
.coach-section>h2{font-size:2.75rem;line-height:1.1;margin-bottom:28px}
.coach-card{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);border-top:4px solid var(--red);background:var(--navy);color:white}
.coach-portrait{margin:0;background:var(--navy-dark)}
.coach-portrait img{display:block;width:100%;height:auto}
.coach-portrait figcaption{padding:14px 20px;font-size:.9rem;line-height:1.5;color:#d0d9e7}
.coach-portrait a{text-underline-offset:4px}
.coach-copy{padding:40px;align-self:center}.coach-copy .eyebrow{color:#fff}.coach-copy h3{font-family:var(--display);font-size:clamp(2.75rem,5vw,4.5rem);line-height:1.05;margin:16px 0}.coach-copy>p:last-child{font-size:1.125rem;color:#d0d9e7}
@media(max-width:620px){.coach-card{grid-template-columns:minmax(0,1fr)}.coach-copy{padding:28px}.coach-section{padding-block:36px 0}}
.roster-pending{display:grid;grid-template-columns:100px minmax(0,1fr);gap:28px;align-items:center;max-width:800px;padding:32px;border-block:1px solid var(--line);background:var(--light)}
.roster-pending img{width:100px;height:auto;border-radius:50%}
.roster-pending h3{font-family:var(--display);font-size:2rem;margin-bottom:10px}
.roster-pending p{font-size:1.125rem;color:var(--muted);max-width:580px}
.roster-pending .action-button{margin-top:22px}
.team-page-closing{background:var(--light);border-top:1px solid var(--line);padding-block:48px}
.team-page-closing .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.team-page-closing h2{font-size:2.75rem;line-height:1.1;margin-bottom:12px}
.team-page-closing p{max-width:630px;font-size:1.125rem;color:var(--muted)}
.player-breadcrumb{display:flex;flex-wrap:wrap;gap:10px 16px;padding-block:20px;font-size:1rem}
nav.player-breadcrumb a{min-height:44px;display:flex;align-items:center;text-underline-offset:4px}
.bio-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border-top:4px solid var(--red);background:var(--navy);color:white}
.bio-portrait{margin:0;background:var(--navy-dark);min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bio-portrait img{width:100%;height:auto;max-height:650px;object-fit:contain}
.bio-portrait figcaption{width:100%;padding:14px 20px;font-size:.9rem;line-height:1.5;color:#d0d9e7}.bio-portrait figcaption a{text-underline-offset:4px}
.bio-photo-pending{text-align:center;color:#d0d9e7;padding:35px}
.bio-photo-pending img{width:130px;height:auto;margin:0 auto 24px;border-radius:50%}
.bio-photo-pending span{font-size:1rem}
.bio-intro{padding:48px;align-self:center}
.bio-intro .jersey-label{color:#fff}
.bio-intro h1{font-size:clamp(3rem,5.8vw,5.5rem);line-height:1.03;margin-block:20px}
.bio-team{font-size:1.125rem;color:#d0d9e7;margin-bottom:28px}
.bio-facts{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid #ffffff35;padding-top:22px;margin:0 0 28px}
.bio-facts dt{font-size:.875rem;color:#c5cfde}
.bio-facts dd{font-size:1.125rem;margin:4px 0 0;font-weight:600}
.bio-stories{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px;padding-block:60px}
.bio-stories h2{font-size:2.6rem;line-height:1.1;margin-bottom:20px}
.bio-stories p{font-size:1.125rem;color:var(--muted);white-space:pre-line}
.bio-stories article+article{border-top:1px solid var(--line);padding-top:32px;margin-top:32px}
.bio-story-pending{padding:24px;background:var(--light);border-left:3px solid var(--red)}
.bio-video{background:var(--light);padding:28px;border:1px solid var(--line);align-self:start}
.bio-video .eyebrow{color:var(--red);margin-bottom:16px}
.bio-video h2{font-size:2.2rem}
.bio-video video{width:100%;height:auto;margin-bottom:16px;background:var(--navy)}
.bio-video p{font-size:1rem}
.bio-share{border-top:1px solid var(--line);padding-block:32px 64px;max-width:760px}
.bio-share h2{font-size:2.2rem;margin-bottom:12px}
.bio-share p,.bio-share label{font-size:1rem}
.bio-share label{display:block;font-weight:600;margin-block:20px 8px}
.bio-share textarea{width:100%;font:inherit;min-height:90px;padding:14px;border:1px solid #8795a8;border-radius:4px;resize:vertical;overflow-wrap:anywhere}
.bio-share button{margin-top:14px}
.bio-share .copy-status{min-height:48px;margin-top:12px;color:var(--muted)}
.team-photo-feature{margin:0;padding:28px 0;background:var(--navy-dark);color:white}
.team-photo-feature img{width:100%;height:auto}
.team-photo-feature figcaption{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;font-size:1rem}
.team-photo-feature figcaption a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
.team-photo-feature strong{font-family:var(--display);font-size:1.75rem;line-height:1.2}
.team-profiles-link{display:inline-flex;margin-top:24px}
.preview-banner{padding:18px 24px;background:var(--light);color:var(--navy);font-size:1rem;font-weight:600;border-bottom:1px solid var(--line)}
@media(max-width:900px){.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bio-intro{padding:32px}.bio-stories{gap:32px}}
@media(max-width:620px){.team-page-header nav{grid-template-columns:repeat(3,minmax(0,1fr))}.roster-hero{padding-block:40px}.roster-main{padding-block:36px 50px}.roster-heading{align-items:flex-start;flex-direction:column;gap:16px}.roster-grid{grid-template-columns:minmax(0,1fr)}.roster-pending{grid-template-columns:minmax(0,1fr);padding:24px;gap:20px}.roster-pending img{width:76px}.bio-hero,.bio-stories{grid-template-columns:minmax(0,1fr)}.bio-portrait{min-height:250px}.bio-intro{padding:28px}.bio-stories{padding-block:40px}.bio-stories h2{font-size:2.3rem}.team-page-closing .action-button{width:100%}.team-photo-feature{padding-top:16px}.team-page-closing h2{font-size:2.4rem}.bio-share{padding-bottom:40px}}
