/* Local ensemble selector. Original photographs are displayed without retouching. */
#formats .ensemble-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:38px}
#formats .ensemble-heading .eyebrow{display:block;margin-bottom:24px}
#formats .ensemble-heading h2{font-size:clamp(38px,4.5vw,64px);line-height:1.08}
#formats .ensemble-heading h2 span{display:block;color:var(--gold)}
#formats .ensemble-heading>p{max-width:340px;padding-bottom:5px;font-size:14px;color:#b0b1a7;line-height:1.7}
#formats .ensemble-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:8px;padding:12px 0}
#formats .ensemble-choice{min-width:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 12px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
#formats .ensemble-choice span{font-size:25px;font-weight:400;line-height:1}
#formats .ensemble-choice strong{font-size:12px;line-height:1.3;font-weight:500}
#formats .ensemble-choice[aria-pressed=true]{background:var(--ink);color:var(--bg)}
#formats .ensemble-choice:not([aria-pressed=true]):hover{border-color:var(--line);background:#ffffff07}
#formats .ensemble-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:26px 0 28px;min-height:64px}
#formats .ensemble-summary h3{font-size:22px;line-height:1.35;margin:0 0 6px;font-weight:500}
#formats .ensemble-summary p{font-size:13px;color:#b0b1a7;line-height:1.6;max-width:720px}
#formats #ensemble-count{font-size:12px;white-space:nowrap;color:var(--gold)}
#formats .ensemble-stage{display:flex;justify-content:center;align-items:flex-start;gap:12px;min-height:480px;isolation:isolate}
#formats .ensemble-person{flex:1 1 0;min-width:0;max-width:360px;margin:0}
#formats .ensemble-person[hidden]{display:none}
#formats .ensemble-image{position:relative;height:420px;overflow:hidden;background:#181a17}
#formats .ensemble-image img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;max-width:none}
#formats [data-member=guitar] img{object-position:60% 50%}
#formats [data-member=vocal] img{object-position:51% 38%}
#formats [data-member=drums] img{object-position:48% 38%}
#formats [data-member=bass] img{object-position:48% 38%}
#formats [data-member=sax] img{object-position:54% 35%}
#formats .ensemble-person figcaption{padding:16px 0 0;line-height:1.35}
#formats .ensemble-role{display:block;font-size:13px;color:var(--ink)}
#formats .ensemble-role-detail{display:block;font-size:11px;color:var(--muted);margin-top:4px}
#formats .ensemble-keys .ensemble-image{display:grid;place-items:center}
#formats .ensemble-key-light{position:absolute;width:300px;aspect-ratio:1;border:1px solid #c6b79b38;border-radius:50%;opacity:.7}
#formats .ensemble-keyboard{position:absolute;top:47%;left:9%;width:82%;height:66px;display:flex;gap:2px;transform:rotate(-16deg);padding:7px 5px 4px;border:1px solid #c6b79b55;background:#151613;border-radius:3px}
#formats .ensemble-keyboard i{position:relative;flex:1;background:#d7d4ca;border-radius:0 0 2px 2px}
#formats .ensemble-keyboard i:not(:nth-child(7n+3)):not(:nth-child(7n)){margin-right:0}
#formats .ensemble-keyboard i:not(:nth-child(7n+3)):not(:nth-child(7n))::after{content:'';position:absolute;z-index:1;top:0;right:-45%;height:62%;width:70%;background:#151613;border:1px solid #9993}
#formats .ensemble-key-plus{position:absolute;top:20%;color:var(--gold);font-size:28px;font-weight:300}
@media(min-width:1400px){#formats .ensemble-image{height:450px}#formats .ensemble-stage{min-height:510px}}
@media(min-width:810px) and (max-width:1099px){#formats .ensemble-image{height:340px}#formats .ensemble-stage{min-height:400px;gap:8px}#formats .ensemble-choice{gap:8px;padding-inline:6px}#formats .ensemble-choice strong{font-size:11px}#formats .ensemble-role{font-size:11px}}
/* Keep the complete mobile lineup beside its controls, with no carousel. */
@media(max-width:809px), (max-width:1023px) and (max-height:500px){
 #formats .ensemble-heading{display:block;margin-bottom:20px}
 #formats .ensemble-heading>p{margin-top:14px;font-size:12px;line-height:1.5}
 #formats .ensemble-heading .eyebrow{margin-bottom:16px}
 #formats .ensemble-selector{gap:4px;padding-block:6px}
 #formats .ensemble-choice{flex-direction:column;gap:5px;min-height:62px;padding:6px 2px}
 #formats .ensemble-choice span{font-size:20px}
 #formats .ensemble-choice strong{font-size:10px;line-height:1.2;letter-spacing:-.02em;overflow-wrap:normal;hyphens:manual}
 #formats .ensemble-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;align-items:baseline;gap:4px 8px;margin:12px 0;min-height:64px}
 #formats .ensemble-summary>div{display:contents}
 #formats .ensemble-summary h3{grid-column:1;grid-row:1;font-size:17px;line-height:1.3;margin:0}
 #formats .ensemble-summary p{grid-column:1/-1;grid-row:2;font-size:11px;line-height:1.4;max-width:none}
 #formats #ensemble-count{grid-column:2;grid-row:1;font-size:10px;padding:0}
 #formats .ensemble-stage{--ensemble-image-height:clamp(86px,min(37vw,calc((100svh - 356px)/2)),280px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 8px;min-height:0;align-items:start}
 #formats .ensemble-person{grid-column:span 2;max-width:none;width:100%}
 #formats .ensemble-stage[data-count="1"] .ensemble-person{grid-column:2/span 4;max-width:200px;justify-self:center}
 #formats .ensemble-stage[data-count="4"] .ensemble-person:nth-child(4){grid-column:3/span 2}
 #formats .ensemble-stage[data-count="5"] .ensemble-person:nth-child(4){grid-column:2/span 2}
 #formats .ensemble-stage[data-count="5"] .ensemble-person:nth-child(5){grid-column:4/span 2}
 #formats .ensemble-image{height:var(--ensemble-image-height)}
 #formats .ensemble-image img{object-fit:contain;object-position:50% 50%}
 /* Fill the portrait frame with the landscape shot; keep the face, hands and guitar in view. */
 #formats [data-member=guitar] .ensemble-image img{object-fit:cover;object-position:72% 50%}
 #formats .ensemble-stage[data-count="1"] .ensemble-image{height:auto;aspect-ratio:4/5;max-height:calc(var(--ensemble-image-height)*1.6)}
 #formats .ensemble-person figcaption{padding-top:6px;min-height:38px;line-height:1.3}
 #formats .ensemble-role{font-size:11px}
 #formats .ensemble-role-detail{font-size:10px;margin-top:2px}
 #formats .ensemble-key-light{width:120px}
 #formats .ensemble-keyboard{top:46%;height:34px;padding:4px 3px 2px;gap:1px}
 #formats .ensemble-key-plus{top:15%;font-size:20px}
}
@media(max-width:1023px) and (max-height:500px){
 #formats .ensemble-selector{padding-block:4px}
 #formats .ensemble-choice{flex-direction:row;gap:6px;min-height:44px;padding:5px 2px}
 #formats .ensemble-choice span{font-size:18px}
 #formats .ensemble-choice strong{font-size:9px}
 #formats .ensemble-summary{min-height:42px;margin:8px 0}
 #formats .ensemble-summary h3{font-size:16px}
 #formats .ensemble-stage{--ensemble-image-height:clamp(70px,calc(100svh - 264px),130px);display:flex;justify-content:center;gap:6px}
 #formats .ensemble-person{max-width:150px}
 #formats .ensemble-stage[data-count="1"] .ensemble-person{max-width:150px}
 #formats .ensemble-stage[data-count="1"] .ensemble-image{height:var(--ensemble-image-height)}
 #formats .ensemble-person figcaption{min-height:30px;padding-top:4px}
 #formats .ensemble-role{font-size:10px}
 #formats .ensemble-role-detail{font-size:9px}
}
@media(prefers-reduced-motion:reduce){#formats .ensemble-choice{transition:none}}
