.roster-experience{background:#0b101a;color:var(--ink);padding:84px 5% 0;scroll-margin-top:78px}
.roster-content{background:#eeeee9;color:#161715;margin:68px -5.5556% 0;padding:70px 5% 76px}
.roster-experience [hidden],.roster-detail[hidden]{display:none!important}
.roster-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:42px}
.roster-intro .eyebrow{color:#62665c}.roster-intro h2{font-size:clamp(62px,7vw,112px);line-height:.88;letter-spacing:-.02em;margin-top:16px}
.roster-intro>p{color:#66695f;line-height:1.7;font-size:14px;padding-bottom:4px}
.roster-showcase{display:grid;grid-template-columns:minmax(0,1fr) 340px;border-top:1px solid #c8ccc2}
.roster-runway{min-width:0;position:relative;overflow:hidden}
.roster-stage-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px 0 0;font-size:9px;letter-spacing:1.5px;color:#60645b;position:relative;z-index:4}
.roster-experience button{font:inherit;color:inherit;cursor:pointer;border-radius:0}
.roster-stage-top button{border:0;background:none;font-size:11px;letter-spacing:0;padding:8px;display:flex;gap:12px;align-items:center}
/* Full-body figures share one canvas and baseline, including every outfit. */
.roster-experience{overflow-anchor:none}
.roster-stage{height:650px;perspective:1000px;perspective-origin:50% 31%;background:radial-gradient(ellipse 82% 105% at 18% 5%,#f4eee1 0%,#dedfd7 42%,transparent 74%),linear-gradient(140deg,#d5d8d1 5%,#c7cdc9 50%,#9aa5a8 100%);position:relative;overflow:hidden;touch-action:pan-y;isolation:isolate;outline-offset:-5px;transition:background 160ms ease}
.roster-stage{cursor:grab}.roster-stage.is-dragging,.roster-stage.is-dragging .roster-person-button{cursor:grabbing}
.roster-stage:before{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(180deg,transparent,#69746b20),radial-gradient(ellipse 65% 85% at 38% 82%,#f6e8cb35,transparent 78%);pointer-events:none}
.roster-stage.is-drop-target{background:#e1e7d9}
.roster-wordmark{display:none}
.roster-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(108deg,#ffe6bd0a,transparent 48%,#15232b16),radial-gradient(ellipse 90% 95% at 42% 40%,transparent 52%,#15221b18);pointer-events:none;z-index:250}
.roster-actor{--figure-width:338px;position:absolute;width:var(--figure-width);height:600px;left:50%;bottom:14px;margin-left:calc(var(--figure-width) / -2);transform-origin:50% 100%;transition:none;will-change:transform;opacity:0;pointer-events:none;contain:layout;z-index:1}

.roster-person-button{display:block;width:100%;height:100%;background:none;border:0;padding:0;position:relative;isolation:isolate;transform-origin:50% 100%}
.roster-photo{display:block;position:absolute;bottom:0;left:0;width:100%;height:auto;max-height:none;transform:translateY(var(--foot-inset,0%));filter:contrast(1.045) saturate(.97);pointer-events:none;user-select:none;z-index:2}
/* Each sole has its own measured contact point, including uneven stances. */
#roster-actors{position:absolute;inset:0;transform-style:preserve-3d}
.roster-floor{position:absolute;left:50%;top:calc(100% - 14px);width:var(--orbit-diameter);height:var(--orbit-diameter);transform:translateX(-50%) rotateX(-90deg);transform-origin:50% 0;border-radius:50%;background:radial-gradient(circle,#969e8f12 32%,#7b877617 68%,transparent 92%);pointer-events:none}
/* The current figure silhouette projects from its measured sole baseline. */
.roster-cast-shadow{position:absolute;left:0;bottom:0;width:100%;height:calc(var(--figure-width) * var(--figure-height-ratio,1.77));filter:blur(5px);opacity:.58;pointer-events:none;z-index:0}
.roster-cast-shadow:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 4%,#232b2229 42%,#232b2257 74%,#1b211b99 100%);mask-image:var(--figure-mask);mask-size:100% 100%;mask-repeat:no-repeat;transform-origin:50% 100%;transform:skewX(-58deg) scaleY(.15) translateY(var(--foot-inset,0%))}
.roster-foot{position:absolute;height:8px;transform:translateX(-50%);z-index:1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#151c16d9 18%,#1b241ba3 43%,#2330234d 62%,transparent 79%);filter:blur(.5px)}
.roster-foot-left{left:var(--left-foot,39%);bottom:calc(var(--figure-width) * var(--left-rise,0) - 3px);width:var(--left-width,19%)}
.roster-foot-right{left:var(--right-foot,63%);bottom:calc(var(--figure-width) * var(--right-rise,0) - 3px);width:var(--right-width,19%)}
.roster-foot:before{content:'';position:absolute;left:-30%;right:-70%;bottom:-8px;height:25px;background:radial-gradient(ellipse,#202b215e 12%,#26312524 48%,transparent 74%);filter:blur(4px);transform:skewX(-32deg);z-index:-1}
.roster-person-button.loading-look{cursor:progress}
.roster-caption .roster-kicker{margin-bottom:8px}
.roster-caption{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px 28px 27px 0;min-height:123px}
.roster-kicker{font-size:9px;letter-spacing:1.4px;line-height:1.5;color:#62665c;margin:0 0 10px}
.roster-caption h3{font-size:clamp(36px,4.1vw,64px);line-height:.92;text-transform:uppercase;letter-spacing:-.01em}
.roster-arrow-group{display:flex;align-items:center;gap:12px;flex-shrink:0}
.roster-arrow-group button{width:44px;height:44px;border:1px solid #b6baaf;background:transparent;font-size:23px;transition:background 150ms ease,transform 150ms ease}
.roster-arrow-group span{font-size:10px;min-width:40px;text-align:center;font-variant-numeric:tabular-nums}
.roster-fitting{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 28px 20px 0;color:#62665c}
.roster-fitting p{font-size:10px;line-height:1.5}.roster-fitting strong{display:block;color:#252922;font-weight:500}.roster-fitting span{display:block}.roster-fitting button{font-size:10px;border:0;border-bottom:1px solid #959c8d;background:none;padding:7px 0;flex-shrink:0}
.roster-shop{border-left:1px solid #c8ccc2;padding:28px 0 0 28px;display:flex;flex-direction:column;min-width:0}
.roster-shop-top h3{font-size:30px;line-height:1.05;margin:0 0 12px}.roster-shop-top>p:last-child{font-size:11px;color:#62665c;line-height:1.6;margin:0 0 20px}
.roster-piece{display:grid;grid-template-columns:76px 1fr;column-gap:18px;border-top:1px solid #c8ccc2;padding:19px 0;align-items:start;position:relative}
.roster-piece.is-wearing:before{content:'';position:absolute;inset:0 auto 0 -13px;width:2px;background:#455d30}
.roster-piece-image{border:0;background:transparent;padding:0;width:76px;height:95px;align-self:center;position:relative}
.roster-piece-image img{width:100%;height:100%;object-fit:contain;transition:transform 180ms ease}
.roster-piece h4{font:500 12px/1.5 Arial,sans-serif;margin:0 0 5px;letter-spacing:0;text-transform:none}
.roster-piece-price{font-size:11px;line-height:1.5;color:#62665c;min-height:17px}
.roster-piece-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:11px}
.roster-piece-actions button,.roster-piece-actions a{padding:4px 0;background:none;border:0;border-bottom:1px solid #acb1a3;font-size:10px;text-decoration:none;line-height:1.3}
.roster-piece-actions .roster-try{font-weight:700;color:#344c27;border-color:#344c27}
.roster-piece-actions a{font-weight:600}
.roster-shop-footer{margin-top:auto;padding:24px 0;border-top:1px solid #c8ccc2}
.roster-shop-footer>a{display:flex;justify-content:space-between;gap:15px;font-size:12px;line-height:1.5;text-decoration:none}.roster-shop-footer>p{color:#73776d;font-size:10px;line-height:1.6;margin:18px 0 0;max-width:280px}
.roster-no-pieces{border-top:1px solid #c8ccc2;padding:40px 0;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.roster-no-pieces>span{font:700 62px/.94 'Barlow Condensed',Impact,sans-serif;color:#30392a;max-width:240px}
.roster-no-pieces p{font-size:12px;color:#62665c;line-height:1.7}.roster-no-pieces a{font-size:12px;text-decoration:none;border-bottom:1px solid;padding-bottom:6px}
.roster-tabs{grid-column:1/-1;border-top:1px solid #c8ccc2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.roster-tab{background:none;border:0;border-top:3px solid transparent;margin-top:-1px;display:flex;align-items:flex-start;gap:12px;padding:22px 12px 16px 0;text-align:left;transition:background 150ms ease;min-width:0}
.roster-tab span{font-size:9px;color:#7f8578;margin-top:4px}.roster-tab strong{font:600 21px/1.05 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;color:#777e6e;overflow-wrap:normal}
.roster-tab[aria-pressed="true"]{border-top-color:#263b21}.roster-tab[aria-pressed="true"] strong{color:#20251b}
.roster-experience button:active{transform:scale(.97)}.roster-experience button:focus-visible,.roster-experience a:focus-visible{outline:2px solid #4f672a;outline-offset:4px}
.roster-experience .roster-person-button:active{transform:none}
.roster-fallback{display:flex;flex-wrap:wrap;gap:20px;font-size:14px}.roster-fallback>p{width:100%}
.roster-detail{width:min(860px,calc(100vw - 36px));max-height:90svh;background:#eeeee9;color:#161715;padding:0;border:0;overflow:auto;margin:auto}
.roster-detail::backdrop{background:#10150cb3;backdrop-filter:blur(5px)}
.roster-detail-close{position:absolute;right:18px;top:14px;width:42px;height:42px;background:#eeeee9;border:1px solid #bcc3b1;color:#151b11;font-size:24px;cursor:pointer;z-index:2}
.roster-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;min-height:400px}
.roster-detail-image{background:#e1e5da;display:flex;align-items:center;justify-content:center;padding:24px}.roster-detail-image img{width:100%;max-height:440px;object-fit:contain}
.roster-detail-copy{padding:65px 30px 35px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}.roster-detail h2{font-size:40px;line-height:1.04}.roster-detail-price{font-size:18px}.roster-detail-note{font-size:12px;color:#62665c;line-height:1.7}
.roster-detail-buy{display:flex;justify-content:space-between;gap:28px;align-items:center;background:#20251b;color:#fff;padding:17px 22px;text-decoration:none;width:100%;font-size:12px;min-height:48px}
.roster-detail-try{border:0;border-bottom:1px solid #637254;background:none;padding:7px 0;font-size:12px;cursor:pointer;color:#344c27}
@media(hover:hover) and (pointer:fine){.roster-tab:hover{background:#e2e6d9}.roster-piece-image:hover img{transform:scale(1.06)}.roster-arrow-group button:hover{background:#dce2d2}.roster-person-button:hover .roster-photo{filter:contrast(1.045) saturate(.97) brightness(1.015)}}
@media(max-width:1100px){
 .roster-showcase{grid-template-columns:minmax(0,1fr) 280px}.roster-shop{padding-left:22px}
 .roster-stage{height:600px}.roster-actor{height:550px;--figure-width:310px}
 .roster-caption{gap:12px}.roster-caption h3{font-size:42px}.roster-arrow-group{gap:5px}.roster-tab{gap:7px}.roster-tab strong{font-size:19px}
}
@media(max-width:760px){
 .roster-experience{padding:55px 5% 0}.roster-content{margin-top:44px;padding-top:50px;padding-bottom:44px}.roster-intro{margin-bottom:28px;align-items:flex-start;gap:20px}.roster-intro>p{font-size:11px;padding-top:28px}.roster-intro h2{font-size:62px}
 .roster-showcase{grid-template-columns:1fr}.roster-stage-top{padding:14px 0 0}.roster-stage{height:530px;perspective:650px;perspective-origin:50% 29%}.roster-actor{height:480px;--figure-width:271px}


 .roster-caption{padding:22px 0;min-height:106px}.roster-caption h3{font-size:40px}.roster-arrow-group button{width:40px;height:40px}.roster-caption .roster-kicker{font-size:8px}.roster-fitting{padding:0 0 20px}
 .roster-shop{border-left:0;border-top:1px solid #c8ccc2;padding:25px 0 0}.roster-shop-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px}.roster-shop-top .roster-kicker{width:100%;margin-bottom:4px}.roster-shop-top h3{font-size:30px}.roster-shop-top>p:last-child{margin-bottom:12px}
 .roster-piece{grid-template-columns:88px 1fr;padding:18px 0;gap:22px}.roster-piece-image{width:88px;height:95px}.roster-piece h4{font-size:13px}.roster-piece-actions{gap:20px;margin-top:13px}.roster-piece-actions button,.roster-piece-actions a{font-size:11px;min-height:28px}.roster-shop-footer{padding:22px 0}.roster-shop-footer>p{max-width:none}
 .roster-tabs{grid-row:2;grid-template-columns:repeat(10,110px);overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity;margin:0 0 20px;padding-bottom:8px}.roster-tab{scroll-snap-align:start;min-height:75px;padding-top:16px}.roster-tab strong{font-size:21px}.roster-no-pieces{padding:24px 0}.roster-no-pieces>span{font-size:48px;max-width:none}
 .roster-detail-grid{grid-template-columns:1fr}.roster-detail-image img{max-height:280px}.roster-detail-copy{padding:28px 24px;gap:16px}.roster-detail h2{font-size:34px}
}
@media(max-width:380px){.roster-intro>p{max-width:120px}.roster-intro h2{font-size:55px}.roster-caption h3{font-size:34px}.roster-arrow-group{gap:2px}.roster-arrow-group span{min-width:34px}}
@media(prefers-reduced-motion:reduce){.roster-actor,.roster-piece-image img{transition:none!important}}
html[data-input="keyboard"] .roster-actor{transition:none}

/* Automatic rotation uses a continuous position, not short slide bursts. */
.roster-stage.is-drifting .roster-actor{transition:none}
