.roster-hero{background:var(--navy);position:relative;color:#fff;overflow:hidden}.roster-hero-photo{position:absolute;inset:0 0 0 35%;background-size:cover;background-position:center 40%;opacity:.6}.roster-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 12%,#071b36d9 37%,#071b3620)}.roster-hero-inner{padding:30px 5% 45px;position:relative;z-index:1}.breadcrumb{display:inline-block;font-size:11px;color:#c4ccda;margin-bottom:38px}.roster-hero .eyebrow{color:var(--gold);margin-bottom:18px;font-size:9px}.roster-hero h1{font-size:80px;margin:0 0 22px}.roster-hero h1 span{color:var(--gold)}.roster-hero-inner>p:not(.eyebrow){font-size:14px;line-height:1.7;color:#d3dce9}.roster-stats{display:flex;gap:26px;align-items:center;margin-top:32px;font-size:8px;letter-spacing:1.5px}.roster-stats>span{padding-right:26px;border-right:1px solid #ffffff30}.roster-stats>span:last-child{border:0}.roster-stats strong{font-size:19px;letter-spacing:-.4px;margin-right:5px}.roster-team-tabs{display:flex;align-items:center;padding:0 5%;background:white;border-bottom:1px solid #d9dcd9}.roster-team-tab{font-size:12px;font-weight:bold;padding:23px 26px;border-bottom:3px solid transparent;display:flex;gap:35px}.roster-team-tab.selected{border-color:var(--gold);background:var(--cream)}.roster-team-tab:hover{background:#f0f1ed}.roster-team-tab span{color:#8a929c}.season-label{margin-left:auto;font-size:9px;letter-spacing:1.5px;color:var(--muted)}.roster-body{padding:65px 5% 55px}.roster-toolbar{display:flex;justify-content:space-between;align-items:end;gap:30px}.roster-toolbar .eyebrow{margin-bottom:12px}.roster-toolbar h2{font-size:45px;margin-bottom:0}.search-field{width:310px}.search-field label{display:block;font-size:10px;font-weight:bold;margin-bottom:9px}.search-field input{width:100%;border:1px solid #c9cfce;background:white;padding:15px 16px;font-size:12px;border-radius:0;color:var(--navy)}.search-field input:focus{outline:2px solid #ba8c10;outline-offset:2px}.roster-filters{display:flex;gap:8px;margin-top:30px;flex-wrap:wrap}.roster-filters button{padding:11px 18px;border:1px solid #cbd1d0;background:transparent;color:var(--navy);font-size:11px}.roster-filters button.active{background:var(--navy);color:white;border-color:var(--navy)}.roster-filters button:hover{border-color:var(--navy)}.results-line{display:flex;align-items:center;justify-content:space-between;margin:20px 0 35px;min-height:20px}.results-line p{font-size:10px;color:var(--muted);margin:0}.results-line button{border:0;background:none;font-size:10px;text-decoration:underline;color:var(--navy)}.position-section{margin-bottom:50px}.position-section[hidden],.player-card[hidden],.roster-empty[hidden],#clear-filters[hidden]{display:none}.position-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid #cbd1d0;margin-bottom:24px}.position-heading h2{font-size:27px;letter-spacing:-.7px;margin:0}.position-count{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.players-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px 22px}.player-card{background:white;min-width:0;border-bottom:3px solid transparent;transition:border-color .2s}.player-card:hover{border-color:var(--gold)}.player-photo{position:relative;aspect-ratio:4/3;background:#dce0dd;overflow:hidden}.player-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.player-card:hover .player-photo>img{transform:scale(1.04)}.player-photo>span{position:absolute;bottom:12px;left:12px;background:var(--navy);color:#fff;font-size:8px;letter-spacing:1px;text-transform:uppercase;padding:7px 9px}.player-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:var(--navy)}.player-placeholder img{width:60px}.player-info{padding:19px 17px 20px}.player-info h3{font-size:19px;letter-spacing:-.4px;line-height:1.3;margin-bottom:10px}.player-info p{font-size:10px;line-height:1.6;margin:0}.player-town{color:#536173}.player-info .player-college{color:var(--navy);margin-top:6px;font-weight:600}.roster-source{border-top:1px solid #d1d5d3;padding-top:20px;margin-bottom:0;font-size:10px;color:var(--muted);line-height:1.8}.roster-source a{text-decoration:underline}.roster-empty{text-align:center;padding:55px 15px 75px}.roster-empty h2{font:700 27px Arial;letter-spacing:-.7px}.roster-empty p{font-size:13px;color:var(--muted)}.roster-empty .button{margin-top:14px;border:0}.roster-cta{background:var(--navy);color:white;padding:50px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff26;gap:25px}.roster-cta .eyebrow{color:var(--gold);font-size:9px}.roster-cta h2{font-size:43px;margin:0}@media(min-width:1500px){.roster-body,.roster-hero-inner,.roster-team-tabs,.roster-cta{padding-left:max(5%,calc((100vw - 1350px)/2));padding-right:max(5%,calc((100vw - 1350px)/2))}}@media(max-width:1000px){.players-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.player-info h3{font-size:18px}}@media(max-width:760px){.roster-hero-inner{padding:25px 6% 35px}.roster-hero-photo{left:10%;background-position:60% center}.roster-hero:after{background:linear-gradient(90deg,#071b36f5,#071b3690)}.roster-hero h1{font-size:61px}.roster-hero .eyebrow{font-size:8px;letter-spacing:1.3px;max-width:280px}.breadcrumb{margin-bottom:30px}.roster-stats{gap:15px;letter-spacing:.7px}.roster-stats>span{padding-right:15px}.roster-stats strong{font-size:16px}.roster-team-tabs{padding:0 6%}.roster-team-tab{padding:20px 16px;gap:25px;font-size:11px}.season-label{display:none}.roster-body{padding:45px 6%}.roster-toolbar{align-items:stretch;flex-direction:column;gap:25px}.roster-toolbar h2{font-size:36px}.search-field{width:100%}.search-field input{font-size:16px}.roster-filters{gap:6px;margin-top:22px}.roster-filters button{font-size:10px;padding:10px 12px}.results-line{margin-bottom:28px}.players-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.player-photo{aspect-ratio:3/4}.player-info{padding:14px 12px 16px}.player-info h3{font-size:16px}.player-info p{font-size:9px}.player-photo>span{font-size:7px;padding:6px 7px;bottom:9px;left:9px}.position-heading h2{font-size:24px}.position-count{font-size:7px;letter-spacing:1px}.position-section{margin-bottom:35px}.roster-cta{padding:40px 6%;align-items:start;flex-direction:column}.roster-cta h2{font-size:35px}}@media(prefers-reduced-motion:reduce){.player-photo>img{transition:none}}

/* Fill player photo frames while retaining face-friendly focal points. */
.player-photo>img,.player-photo-link>img,.profile-photo>img,.leader-person>img,.table-player>img{object-fit:cover;object-position:center 20%;background:transparent}
.player-card:hover .player-photo>img{transform:none}

.roster-hero-photo[style*="women-celebration.webp"]{background-position:32% 25%}

.roster-competition-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:20px 5%;background:#071b36;border-top:1px solid #ffffff26}.roster-competition-tabs a{font:600 13px/1.5 Montserrat,Arial,sans-serif;padding:12px 20px;border:1px solid #ffffff55;color:white;text-decoration:none}.roster-competition-tabs a[aria-current=page]{background:#f6c646;color:#071b36;border-color:#f6c646}.roster-competition-tabs a:focus-visible{outline:3px solid #f6c646;outline-offset:3px}.cup-crest-fallback{background:#e8ecef}.cup-crest-fallback img{object-fit:contain!important;padding:35px;box-sizing:border-box}

/* Center the men’s team photo across the full hero at every screen size. */
.roster-hero-photo[style*="/assets/men-huddle.webp"]{inset:0;background-position:center 25%}
