.concerts-banner{position:relative;background:#332637;isolation:isolate;overflow:hidden}
.concerts-full-art{width:100%;aspect-ratio:2.8;background:url('/assets/concerts-original.jpg') center/100% auto no-repeat}
.concerts-banner::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 65%,#181320),radial-gradient(ellipse at center,transparent 40%,#080d1288 100%)}
.concerts-banner .accessible-room-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.concerts-banner .back-link{position:absolute;z-index:1;left:max(4vw,24px);bottom:12px;margin:0;color:var(--gold);background:#090c13;border:1px solid var(--gold);padding:12px 18px;min-height:44px}
.concerts-intro{max-width:1100px}
.artist-door.duo{border-color:#ed69a1}
.artist-label{padding:16px 12px 18px}
.artist-label h3{font-size:clamp(1.25rem,1.6vw,1.6rem);line-height:1.3;margin:0 0 10px}
.golden-concert-invitation{margin-top:40px;padding-top:28px}
.concert-actions{margin-top:20px}
.artist-doors .solo:first-child img{object-position:85% 20%}
.artist-doors .solo:last-child img{object-position:50% 35%}
@media(max-width:800px){.concerts-full-art{aspect-ratio:16/9;background-size:cover}.concerts-banner .back-link{left:24px;bottom:8px;font-size:14px;padding:10px 16px}}
@media(max-width:550px){
 .artist-doors{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:100%;align-items:stretch}
 .artist-door.duo{grid-column:1/-1;grid-row:1;width:100%;max-width:none}
 .solo .artist-image{height:auto;aspect-ratio:3/4;overflow:hidden}
 .solo .artist-image img{width:100%;height:100%;object-fit:cover}
 .artist-label{padding:14px 8px 16px}
 .artist-label h3{font-size:20px;margin-bottom:8px}
 .watch-label{font-size:11px;letter-spacing:.6px;line-height:1.5}
 .door-star{width:28px;height:28px;top:8px;right:8px;font-size:18px}
}
