/* R11 — dados e cartaz no mesmo bloco individual. */
.roster-page{color:#f7f5f0}
.roster-container{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.roster-page h1,.roster-page h2,.roster-page h3,.roster-slogan{font-weight:400;letter-spacing:0}
.roster-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-block:124px 30px}
.roster-eyebrow,.roster-label,.roster-count,.roster-position{font-family:"DM Sans Variable",sans-serif;font-size:.875rem;line-height:1.55}
.roster-eyebrow{color:#e79f38;letter-spacing:.09em}
.roster-hero h1{font-size:clamp(3.5rem,7vw,5.5rem);line-height:.96;margin-top:16px}
.roster-slogan{font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.15;max-width:355px;padding-bottom:5px}
.roster-slogan span{color:#e79f38}
.roster-staff{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px 36px;padding-block:22px;border-top:1px solid #906021;border-bottom:1px solid rgba(231,159,56,.32);align-items:center}
.roster-staff h2{font-size:1.75rem;line-height:1.1}
.roster-staff-members{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.roster-label{color:#bcb5a9;margin-bottom:7px}
.roster-staff-member h3{font-size:2rem;line-height:1.1;color:#fdc75a}
.roster-formation{grid-column:2;grid-row:1 / span 2;display:flex;align-items:center;justify-content:flex-end;gap:20px;color:#e79f38}
.roster-pitch{display:block;width:68px;height:auto;flex-shrink:0}
.roster-formation .roster-label{color:#c9c3b7}
.roster-formation-value{font-family:"DM Sans Variable",sans-serif;font-size:2.8rem;font-weight:400;line-height:1;white-space:nowrap}
.roster-groups{padding-block:4px 30px}
.roster-group{padding-block:28px;border-bottom:1px solid rgba(255,255,255,.12)}
.roster-group:last-child{border-bottom:0;padding-bottom:12px}
.roster-group-heading{display:flex;gap:15px;align-items:center;margin-bottom:20px}
.roster-index{color:#e79f38;font-family:"DM Sans Variable",sans-serif;font-size:.875rem;font-weight:400;flex-shrink:0}
.roster-group h2{font-size:clamp(1.6rem,2.8vw,2.05rem);line-height:1.08;flex:1;min-width:0}
.roster-count{color:#aaa296;flex-shrink:0}
.roster-players{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start;list-style:none;padding:0;margin:0}
.roster-players-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.roster-group-1{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:center}
.roster-group-1 .roster-group-heading{display:grid;grid-template-columns:auto minmax(0,1fr);margin:0;gap:8px 15px}
.roster-group-1 .roster-count{grid-column:2}
.roster-players-1{grid-template-columns:1fr;max-width:550px}
.roster-group-1 .roster-players{grid-template-columns:1fr}
.roster-player{display:flex;gap:16px;min-width:0;min-height:132px;padding:14px;border:1px solid rgba(231,159,56,.23);background:rgba(5,4,2,.8)}
.roster-player-art{display:block;width:160px;height:200px;aspect-ratio:4/5;object-fit:contain;flex-shrink:0;background:#070604}
.roster-player-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1;gap:14px;padding-block:2px}
.roster-player h3{font-size:1.35rem;line-height:1.12;overflow-wrap:anywhere}
.roster-position{margin-top:10px;color:#bcb5a9}
.roster-player-number{display:flex;align-items:baseline;gap:12px;margin:0}
.roster-player-number .roster-label{font-size:.8125rem;margin:0}
.roster-number{font-family:"DM Sans Variable",sans-serif;flex-shrink:0;font-weight:400;font-size:1.8rem;line-height:1;color:#e79f38;font-variant-numeric:tabular-nums}
@media(max-width:1200px){.roster-players{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-player{gap:18px}.roster-player h3{font-size:1.5rem}.roster-hero{gap:24px}.roster-slogan{max-width:300px}}
@media(max-width:900px){.roster-players{grid-template-columns:1fr}.roster-group-1{display:block}.roster-group-1 .roster-group-heading{display:flex;margin-bottom:20px}.roster-players-1{max-width:none}}
@media(max-width:760px){.roster-container{width:calc(100% - 40px)}.roster-hero{display:block;padding-block:112px 24px}.roster-hero h1{font-size:clamp(3.15rem,13vw,4.3rem);margin-top:12px}.roster-slogan{font-size:1.35rem;max-width:none;padding:0;margin-top:18px}.roster-staff{grid-template-columns:minmax(0,1fr) 80px;gap:18px 14px;padding-block:20px}.roster-staff h2{font-size:1.5rem}.roster-staff-members{grid-column:1 / -1;gap:18px}.roster-staff-member h3{font-size:1.6rem}.roster-label{font-size:.8125rem}.roster-formation{grid-column:2;grid-row:1;display:block}.roster-formation .roster-label{font-size:.75rem;margin-bottom:5px}.roster-formation-value{font-size:1.75rem}.roster-pitch{display:none}.roster-groups{padding-bottom:24px}.roster-group{padding-block:24px}.roster-group-heading{gap:12px;margin-bottom:16px}.roster-group h2{font-size:1.5rem}.roster-count{font-size:.8125rem}.roster-players{grid-template-columns:1fr;gap:12px}.roster-player{gap:14px;padding:12px;min-height:112px}.roster-player-art{width:132px;height:165px}.roster-player-copy{padding-block:2px;gap:12px}.roster-player h3{font-size:1.3rem}.roster-position{font-size:.8125rem;margin-top:8px}.roster-number{font-size:1.6rem}.roster-player-number .roster-label{font-size:.75rem}}
@media(max-width:360px){.roster-player-art{width:112px;height:140px}.roster-player{gap:12px}.roster-player h3{font-size:1.2rem}.roster-staff-member h3{font-size:1.5rem}.roster-slogan{font-size:1.3rem}.roster-count{font-size:.75rem}}
