@layer components{.roster-hero{position: relative;isolation: isolate;background: var(--black);color: var(--white-text);overflow: hidden;border-bottom: var(--nav-rule) solid var(--red);}}
@layer components{.roster-hero.has-image{min-height: 420px;display: flex;align-items: flex-end;}}
@layer components{.roster-hero__overlay{position: absolute;inset: 0;z-index: -1;background: linear-gradient(180deg,rgba(8,8,10,.35) 0%,rgba(8,8,10,.2) 40%,rgba(8,8,10,.9) 100%);}}
@layer components{.roster-hero__inner{display: flex;flex-direction: column;align-items: flex-start;gap: var(--sp-4);padding-block: var(--sp-6) var(--sp-6);}}
@layer components{.roster-hero__title{font-family: var(--font-display);font-weight: var(--fw-black);font-size: clamp(3rem,7vw,6rem);line-height: 0.9;letter-spacing: var(--ls-tight);text-transform: uppercase;}}
@layer components{.roster-hero__facts{display: flex;flex-wrap: wrap;gap: var(--sp-4) var(--sp-7);margin-top: var(--sp-2);}}
@layer components{.roster-hero .fact{color: var(--white-text);}}
@layer components{.roster-hero.has-team{min-height: 0;background: var(--black);}}
@layer components{.roster-hero.has-team .roster-hero__inner{padding-block: var(--sp-5) var(--sp-5);}}
@layer components{.roster-hero.has-team .roster-hero__title{font-size: clamp(2.5rem,5.5vw,4.5rem);}}
@layer components{.roster-preview{display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 16px; font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: 0.02em;}}
@layer components{.roster-preview b{display: inline-block; min-width: 30px; margin-right: 6px; color: var(--red); font-weight: var(--fw-black);}}
@layer components{.roster-preview span{margin-left: 6px; color: var(--paper-muted); font-weight: var(--fw-medium); font-size: var(--fs-label); letter-spacing: var(--ls-ui);}}
@layer components{.roster-preview__more a{color: var(--red);}}
@layer components{@media (min-width: 768px){.roster-preview{grid-template-columns: repeat(3, 1fr);}}}
@layer components{@media (min-width: 1024px){.roster-preview{grid-template-columns: repeat(4, 1fr);}}}
@layer components{.rl-group{margin-bottom: clamp(32px, 5vw, 56px);}}
@layer components{.rl-group__title{font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.25rem); text-transform: uppercase; line-height: 1; margin: 0 0 14px; padding-bottom: 8px; border-bottom: 4px solid var(--graphite);}}
@layer components{.rl-group__title span{font-size: .5em; color: var(--ink3); margin-left: 12px; letter-spacing: .1em;}}
@layer components{.rl-grid{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px;}}
@layer components{.rl-card a{display: flex; flex-direction: column; background: #fff; border: 1px solid var(--silver-line); color: var(--graphite); text-decoration: none; height: 100%; transition: transform .2s, box-shadow .2s;}}
@layer components{.rl-card a:hover{transform: translateY(-2px); box-shadow: 0 16px 32px -16px rgba(0,0,0,.35);}}
@layer components{.rl-card__photo{display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--graphite);}}
@layer components{.rl-card__photo img{width: 100%; height: 100%; object-fit: cover; filter: grayscale(.3);}}
@layer components{.rl-card__body{display: flex; flex-direction: column; gap: 2px; padding: 12px 14px;}}
@layer components{.rl-card__year{font-family: var(--font-display); font-size: 1.75rem; line-height: 1; color: var(--red);}}
@layer components{.rl-card__meta{font-size: .75rem; color: var(--ink3); letter-spacing: .04em; text-transform: uppercase; font-family: var(--font-display);}}
@layer components{.rl-help{font-family: var(--font-serif); color: var(--ink2); margin-top: 8px;}}
@layer components{.rl-help a{color: var(--red);}}
@layer components{.season-inline-team .roster-preview{grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));}}
.rosters-x .archive-head::after{content: "Rosters";}
.rosters-x .rl-group{margin-bottom: 56px;}
.rosters-x .rl-group__title{display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; padding: 0 0 12px; border-bottom: 0; font-style: italic; font-weight: 900; font-size: clamp(2.2rem, 4.4vw, 3.6rem); letter-spacing: -.01em; color: #4a4f56;}
.rosters-x .rl-group__title::after{content: ""; flex: 1 1 60px; height: 6px; align-self: center; background: linear-gradient(90deg, var(--red) 0 90px, #dfe2e6 90px); transform: skewX(-20deg);}
.rosters-x .rl-group__title span{display: inline-block; padding: 5px 12px; transform: skewX(-12deg); background: var(--red); color: #fff; font-family: var(--font-display); font-style: italic; font-weight: 900; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase;}
.rosters-x .rl-grid{grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px;}
.rosters-x .rl-card a{position: relative; transform: skewX(-6deg); border: 3px solid transparent; border-top: 5px solid var(--red); background: #fff; box-shadow: 0 12px 26px rgba(60,64,70,.12); overflow: hidden; transition: transform .2s, border-color .2s, box-shadow .2s;}
.rosters-x .rl-card a > *{transform: skewX(6deg);}
.rosters-x .rl-card a:hover{transform: skewX(-6deg) scale(1.04); border-color: var(--red); box-shadow: 0 0 0 3px rgba(206,26,39,.15), 0 0 30px rgba(206,26,39,.22), 0 18px 34px rgba(60,64,70,.16);}
.rosters-x .rl-card__photo{margin: 0 -10px; background: var(--red); position: relative;}
.rosters-x .rl-card__photo::after{content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(206,26,39,0) 40%, rgba(160,14,24,.6));}
.rosters-x .rl-card__photo img{filter: grayscale(.4) contrast(1.08);}
.rosters-x .rl-card__body{padding: 14px 16px 14px;}
.rosters-x .rl-card__year{font-style: italic; font-weight: 900; font-size: 2.3rem; line-height: .9; letter-spacing: -.01em;}
.rosters-x .rl-card__meta{font-family: var(--font-display); font-style: italic; font-weight: 800; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: #6b6f75;}
.rosters-x .rl-card.has-photo a{border-top-color: transparent;}
.rosters-x .rl-help{margin-top: 10px; padding: 18px 22px; transform: skewX(-4deg); background: #fff; border-left: 6px solid var(--red); box-shadow: 0 10px 22px rgba(60,64,70,.08);}
.rosters-x .rl-help > *{transform: none;}
.rosters-x .rl-help a{font-family: var(--font-display); font-style: italic; font-weight: 900; text-transform: uppercase; letter-spacing: .08em;}
.rosters-x .archive-empty{padding: 22px; background: #fff; border-left: 6px solid var(--red);}
@media (max-width: 760px){.rosters-x .rl-card a,.rosters-x .rl-card a:hover,.rosters-x .rl-card a > *,.rosters-x .rl-help{transform: none;}}
@media (max-width: 760px){.rosters-x .rl-card__photo{margin: 0;}}
@media (max-width: 760px){.rosters-x .rl-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (prefers-reduced-motion: reduce){.rosters-x .rl-card a{transition: none;}}
.rosters-x .rl-card:not(.has-photo) a::before{content: ""; display: block; aspect-ratio: 3 / 2; margin: 0 -10px; transform: skewX(6deg); background: var(--corbin-mark-white, none) center / 46% no-repeat, radial-gradient(120% 120% at 15% 0%, #e8303c 0%, var(--red) 55%, #b3141f 100%); opacity: 1;}
.rosters-x .rl-card:not(.has-photo) a{border-top-color: transparent;}
@media (max-width: 760px){.rosters-x .rl-card:not(.has-photo) a::before{margin: 0; transform: none;}}
.roster-hero__c{position: absolute; z-index: -1; right: -3%; top: 50%; width: min(440px, 40vw); translate: 0 -50%; opacity: .12; pointer-events: none;}
.roster-hero__full{margin:14px 0 0;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.roster-hero__full a{color:#fff;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.6)}
.rw__top{display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: end; margin-bottom: 26px;}
.rw__k{font-size: 12px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; color: var(--red);}
.rw__h{margin: 10px 0 0; font-size: clamp(3rem, 7vw, 6rem); line-height: .86; font-weight: 900; font-style: italic; text-transform: uppercase; color: #2f343b;}
.rw__h em{font-style: italic; color: var(--red);}
.rw__lede{margin: 14px 0 0; max-width: 56ch; font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.55; color: #4a5058;}
.rw__side{background: #2f343b; color: #fff; padding: 22px;}
.rw__side > b{display: block; font-size: 4rem; font-weight: 900; font-style: italic; line-height: .8;}
.rw__side > b em{font-style: italic; font-size: 1.9rem; color: #9aa0a8;}
.rw__side > span{display: block; margin-top: 6px; font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #cfd3d8;}
.rw__find{display: flex; margin-top: 14px; background: #fff; border-bottom: 4px solid var(--red);}
.rw__find label{flex: 1; display: flex; align-items: center; gap: 10px; padding: 0 14px;}
.rw__find label span{font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #2f343b; white-space: nowrap;}
.rw__find input{flex: 1; min-width: 0; height: 46px; border: 0; outline: 0; font-family: inherit; font-size: 1rem; font-weight: 700; color: #2f343b; background: transparent;}
.rw__find button{width: 48px; border: 0; background: var(--red); color: #fff; font-size: 1.2rem; cursor: pointer;}
.rw__wall{display: grid; grid-template-columns: 90px repeat(10, minmax(0, 1fr)); gap: 4px;}
.rw__dl{display: flex; align-items: center; font-size: 1.7rem; font-weight: 900; font-style: italic; color: #2f343b;}
.rw__t{position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 96px; padding: 8px 10px; overflow: hidden; background: #2f343b center / cover no-repeat; color: #fff; text-decoration: none;}
.rw__t--ph{filter: grayscale(1);}
.rw__t--ph:hover{filter: none;}
.rw__t::before{content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(47,52,59,.05), rgba(47,52,59,.85));}
.rw__t > *{position: relative;}
.rw__t b{font-size: 1.6rem; font-weight: 900; font-style: italic; line-height: .85;}
.rw__t span{margin-top: 3px; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #cfd3d8;}
.rw__t:hover b{color: #fff; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px;}
.rw__t--ch{background-color: var(--red); filter: none;}
.rw__t--ch::before{background: linear-gradient(180deg, rgba(206,26,39,.25), rgba(206,26,39,.92));}
.rw__t--ch span{color: #fff;}
.rw__t--no{background: #fff; color: #c9ced4; outline: 2px dashed #d3d7dc; outline-offset: -2px;}
.rw__t--no::before{display: none;}
.rw__t--no span{color: var(--red);}
.rw__t--no:hover{background: #fff4f4; color: var(--red); outline-color: var(--red);}
.rw__t--na{background: transparent;}
.rw__t--na::before{display: none;}
.rw__flag{position: absolute !important; top: 8px; right: 8px; padding: 3px 5px; background: #fff; color: var(--red); font-style: normal; font-size: 8px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase;}
.rw__lg{display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; margin-top: 18px; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #6b7078;}
.rw__sw{display: inline-block; width: 14px; height: 14px; margin-right: 8px; vertical-align: middle; background: #2f343b;}
.rw__sw--ch{background: var(--red);}
.rw__sw--no{background: #fff; outline: 2px dashed #c9ced4; outline-offset: -2px;}
.rw__note{margin-left: auto; font-family: var(--font-serif); font-size: .9rem; letter-spacing: 0; text-transform: none; font-weight: 400; color: #4a5058;}
.rw__note a{color: var(--red); text-decoration: underline; text-underline-offset: 3px;}
@media (max-width: 1000px){.rw__top{grid-template-columns: 1fr;}}
@media (max-width: 1000px){.rw__wall{grid-template-columns: 60px repeat(5, minmax(0, 1fr));}}
@media (max-width: 1000px){.rw__dl{grid-row: span 2; font-size: 1.2rem;}}
@media (max-width: 1000px){.rw__note{margin-left: 0;}}
@media (max-width: 560px){.rw__wall{grid-template-columns: repeat(5, minmax(0, 1fr));}}
@media (max-width: 560px){.rw__dl{grid-column: 1 / -1; grid-row: auto; padding-top: 10px;}}
@media (max-width: 560px){.rw__t{min-height: 64px; padding: 6px;}}
@media (max-width: 560px){.rw__t b{font-size: 1.05rem;}}
@media (max-width: 560px){.rw__t span{font-size: 7px; letter-spacing: .1em;}}
@media (max-width: 560px){.rw__flag{display: none;}}
.rw__top > *{min-width: 0;}
.rw__side{box-sizing: border-box; max-width: 100%;}
@media (max-width: 560px){.rw__find label span{display: none;}}
.rask{display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; align-items: center; margin: 0 0 26px; padding: 22px 28px; background: #ce1a27; color: #fff; font-family: var(--font-display);}
.rask__q{font-size: 110px; font-weight: 900; font-style: italic; line-height: .75; color: transparent; -webkit-text-stroke: 3px #fff; padding-right: 4px;}
.rask__txt{min-width: 0;}
.rask__k{display: block; font-size: 12px; font-weight: 900; letter-spacing: .3em; text-transform: uppercase;}
.rask__h{margin: 6px 0 8px; font-family: var(--font-display); font-size: clamp(28px, 3vw, 42px); font-weight: 900; text-transform: uppercase; line-height: .9; color: #fff;}
.rask__h em{font-style: italic;}
.rask__p{margin: 0; max-width: 68ch; font-family: var(--font-serif); font-size: 15px; line-height: 1.5; color: #fff;}
.rask__go{display: flex; flex-direction: column; gap: 8px;}
.rask__btn{display: block; padding: 15px 22px; background: #fff; color: #ce1a27; font-size: 13px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; text-decoration: none; text-align: center; white-space: nowrap;}
.rask__btn:hover,.rask__btn:focus-visible{background: #f3f4f6; color: #ac141d;}
.rask__btn--2{background: #2f343b; color: #fff;}
.rask__btn--2:hover,.rask__btn--2:focus-visible{background: #3d434b; color: #fff;}
.archive-section .rask{margin-bottom: 34px;}
@media (max-width: 860px){.rask{grid-template-columns: 1fr; gap: 14px; padding: 22px 20px;}}
@media (max-width: 860px){.rask__q{display: none;}}
@media (max-width: 860px){.rask__go{flex-direction: row; flex-wrap: wrap;}}
@media (max-width: 860px){.rask__btn{flex: 1 1 auto;}}