.roster{position:relative;isolation:isolate;margin:36px 0 25px;border:1px solid #49242b;background:linear-gradient(180deg,#06090d77,#09080bd9),url('/images/hero.webp') center 58%/cover;padding:0 24px 24px;overflow:hidden}
.roster-heading{position:absolute;top:26px;left:32px;z-index:2;max-width:65%;border-left:3px solid #ed3144;padding:16px 24px;background:#090a0de8;transition:opacity .35s;pointer-events:none}.roster-heading h2{font-family:Georgia,serif;font-size:clamp(2rem,3.4vw,3.2rem);margin:7px 0;letter-spacing:-.03em}.roster-heading p{margin:0;font-size:.88rem}.roster.is-focused .roster-heading{opacity:0}
.roster-stage{position:relative;height:620px}.roster-canvas{position:absolute;inset:0 -24px;pointer-events:none}.roster-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y}.roster.has-model .roster-canvas{pointer-events:auto}
.roster-loading{position:absolute;top:55%;left:0;right:0;text-align:center;color:#c5c1c6;font-size:.85rem;letter-spacing:.08em;pointer-events:none}.roster.has-model .roster-loading{display:none}
.roster-panels{position:absolute;right:2%;top:50%;transform:translateY(-50%);width:31%;z-index:2;pointer-events:auto}.roster-panel{padding:38px 30px;border:1px solid #6a353e;background:#080b10ee;border-radius:8px;animation:roster-info-in .4s ease-out}.roster-panel h3{font-family:Georgia,serif;text-transform:uppercase;font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;overflow-wrap:anywhere;margin:16px 0 24px}.roster-panel p{font-size:.95rem;line-height:1.9;margin:0;color:#c5c1c6}.roster-panel .eyebrow{font-size:.62rem;letter-spacing:.18em;color:#ef8490}
.roster-hint{text-align:center;font-size:.58rem;letter-spacing:.22em;color:#b8adb4;margin:0 0 26px}.roster-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.roster-tabs button{border:1px solid #53434b;border-radius:3px;padding:13px 20px;color:#eee;background:#090b10d9;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.roster-tabs button[aria-selected=true]{background:#c92037;border-color:#ff6878;color:#fff;box-shadow:0 0 22px #e5293633}.roster [hidden]{display:none!important}.roster .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes roster-info-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1600px){.roster-stage{height:690px}}
@media(max-width:900px){.roster-stage{height:540px}.roster-heading{left:20px;top:20px;padding:12px 18px}.roster-heading h2{font-size:2.3rem}.roster-panels{width:34%;right:0}.roster-panel{padding:25px 20px}.roster-panel h3{font-size:1.9rem}.roster-panel p{font-size:.85rem}}
@media(max-width:600px){.roster{padding:0 12px 20px}.roster-heading{position:relative;left:auto;top:auto;margin:18px 0 0;max-width:100%;padding:12px 15px;min-height:106px}.roster-heading h2{font-size:2rem}.roster-heading p{font-size:.75rem}.roster.is-focused .roster-heading{opacity:1}.roster-stage{height:350px}.roster.is-focused .roster-stage{height:auto;padding-top:350px}.roster-canvas{inset:0 -12px auto;height:350px}.roster-panels{position:relative;right:auto;top:auto;transform:none;width:100%;padding-bottom:20px}.roster-panel{padding:24px}.roster-panel h3{margin:12px 0;font-size:2rem}.roster-hint{font-size:.46rem;letter-spacing:.1em;margin-bottom:20px}.roster-tabs{gap:6px}.roster-tabs button{padding:11px 9px;font-size:.55rem;flex:1}}
@media(prefers-reduced-motion:reduce){.roster-heading{transition:none}.roster-panel{animation:none}}
.roster-traits{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:28px 0 0}.roster-traits li{border:1px solid #65303b;border-radius:20px;padding:7px 10px;color:#efb2b9;font-size:.59rem;text-transform:uppercase;letter-spacing:.06em}


.roster-embers{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.roster-loading{z-index:2}@media(max-width:600px){.roster-embers{height:350px}}
