.roster-section{background:#ededed;padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,5vw,5rem) clamp(4rem,8vw,7.5rem)}.roster-section__heading{margin-bottom:clamp(2rem,4vw,3.75rem);max-width:80rem;margin-inline:auto}.roster-section__heading h2{color:var(--color-ink);font-family:var(--font-heading);font-size:clamp(3rem,8.2vw,7.5rem);font-weight:var(--weight-heavy);letter-spacing:-.085em;margin:0;line-height:.94}.roster-section__heading h2 span{display:block}.roster-section__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,3.5rem) clamp(1rem,2.4vw,2rem);max-width:80rem;margin-inline:auto;display:grid}.roster-card{perspective:1000px;min-width:0}.roster-card__image{aspect-ratio:1;transform:rotateX(var(--roster-tilt-x,0deg)) rotateY(var(--roster-tilt-y,0deg));transform-style:preserve-3d;background:#deddd7;transition:transform .18s ease-out;position:relative;overflow:hidden}.roster-card__image img{object-fit:cover;transition:transform .45s cubic-bezier(.2,.65,.3,1)}.roster-card:hover .roster-card__image img{transform:scale(1.035)}.roster-card__details{border-top:1px solid #1719165c;justify-content:space-between;align-items:baseline;gap:.75rem;padding-top:.8rem;display:flex}.roster-card__details h3{font-family:var(--font-heading);font-size:clamp(1rem,1.55vw,1.35rem);font-weight:var(--weight-bold);letter-spacing:-.035em;margin:0;line-height:1.2}.roster-card__details a{color:var(--color-ink);font-family:var(--font-brand);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.07em;text-underline-offset:.3em;flex:none;text-decoration:underline}.roster-card__details a:hover{color:#b21f2d}.roster-card__details a:focus-visible{outline-offset:4px;outline:2px solid #b21f2d}.roster-section__footer{justify-content:flex-end;max-width:80rem;margin:clamp(2.25rem,4vw,3.5rem) auto 0;display:flex}.roster-section__view-all{min-height:2.75rem;color:var(--color-ink);font-family:var(--font-brand);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.09em;border:1px solid;border-radius:0;justify-content:center;align-items:center;padding:.5rem .9rem;text-decoration:none;display:inline-flex}.roster-section__view-all:hover{color:#b21f2d}.roster-section__view-all:focus-visible{outline-offset:4px;outline:2px solid #b21f2d}@media (max-width:640px){.roster-section__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem .75rem}.roster-card__details{flex-direction:column;align-items:flex-start;gap:.4rem}}@media (max-width:360px){.roster-section__grid{grid-template-columns:1fr}.roster-card__details{flex-direction:row;align-items:baseline}}@media (prefers-reduced-motion:reduce){.roster-card__image{transition:none;transform:none}.roster-card__image img{transition:none}}
.roster-directory{background:#ededed;min-height:60vh;padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,5vw,5rem) clamp(4rem,8vw,7rem)}.roster-directory__heading,.roster-directory__controls,.roster-directory__count,.roster-directory__grid,.roster-directory__empty,.roster-directory__pagination{max-width:80rem;margin-inline:auto}.roster-directory__heading{margin-bottom:clamp(2.5rem,5vw,4rem)}.roster-directory__heading h1{font-size:clamp(3rem,8vw,7rem);font-weight:var(--weight-heavy);letter-spacing:-.085em;margin:0;line-height:.95}.roster-directory__controls{border-top:1px solid #1111113d;border-bottom:1px solid #1111113d;grid-template-columns:minmax(12rem,1.5fr) repeat(3,minmax(9rem,.7fr));gap:1rem;padding:1.25rem 0;display:grid}.roster-directory__controls label,.roster-directory__filter{gap:.45rem;display:grid}.roster-directory__controls label>span,.roster-directory__filter-label{font-family:var(--font-brand);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.1em}.roster-directory__controls input,.roster-directory__dropdown-trigger{width:100%;min-height:2.75rem;color:var(--color-ink);font:inherit;background:0 0;border:1px solid #1111115c;border-radius:0;padding:.5rem .7rem}.roster-directory__filter{position:relative}.roster-directory__dropdown-trigger{text-align:left;white-space:nowrap;cursor:pointer;justify-content:space-between;align-items:center;gap:.35rem;display:flex}.roster-directory__dropdown-trigger:after{content:"";border-bottom:1px solid;border-right:1px solid;flex:none;width:.45rem;height:.45rem;transform:translateY(-.12rem)rotate(45deg)}.roster-directory__dropdown-trigger[aria-expanded=true]:after{transform:translateY(.12rem)rotate(225deg)}.roster-directory__dropdown-options{z-index:5;background:#f8f8f8;border:1px solid #11111180;max-height:15rem;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow-y:auto;box-shadow:0 .75rem 1.5rem #1111111f}.roster-directory__dropdown-option{width:100%;color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:.7rem;display:block}.roster-directory__dropdown-option[aria-selected=true],.roster-directory__dropdown-option:hover,.roster-directory__dropdown-option:focus-visible{background:#17191614}.roster-directory__controls input:focus-visible,.roster-directory__dropdown-trigger:focus-visible,.roster-directory__dropdown-option:focus-visible,.roster-directory__pagination button:focus-visible{outline-offset:3px;outline:2px solid #b21f2d}.roster-directory__count{font-size:var(--text-sm);margin-top:1rem;margin-bottom:1.5rem}.roster-directory__grid{row-gap:2.5rem}.roster-directory__empty{padding:3rem 0}.roster-directory__pagination{font-family:var(--font-brand);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;justify-content:flex-end;align-items:center;gap:1.5rem;margin-top:3rem;display:flex}.roster-directory__pagination button{min-width:7rem;min-height:2.75rem;color:var(--color-ink);font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:1px solid #1719166b;padding:.5rem .7rem}.roster-directory__pagination button:hover:not(:disabled){background:#1719160f}.roster-directory__pagination button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:640px){.roster-directory__controls{grid-template-columns:1fr 1fr}.roster-directory__search{grid-column:1/-1}.roster-directory__pagination{justify-content:space-between}}@media (max-width:360px){.roster-directory__controls{grid-template-columns:1fr}}
