/* Setlist completo en una sola imagen, ajustado al alto disponible. */
.intro-logo{width:240px;max-width:65vw;height:auto;object-fit:contain;background:transparent;padding:0;border-radius:0;margin-bottom:10px}
.intro-event{margin:0 0 12px;font-size:12px;font-weight:700;line-height:1.6;color:#51483f}.intro-event span{font-weight:400}
@media(max-height:850px){#intro{padding-bottom:24px}#intro .intro-logo{width:220px;margin-bottom:8px}#intro .intro-tickets{margin-bottom:14px}#intro .time-display{margin-bottom:12px}#intro .time-display strong{font-size:42px}#intro .eyebrow{font-size:12px;margin-bottom:12px}#intro h1{font-size:clamp(44px,6.2vw,64px)}#intro #trigger{width:150px;height:150px;margin:16px 0 8px}#intro .warning{font-size:16px;margin:12px 0 0}#intro .aside{font-size:12px;margin:6px 0 0}}
@media(max-width:640px){#intro{padding-top:60px}#intro .intro-logo{width:200px;margin-bottom:8px}#intro .intro-event{font-size:11px;line-height:1.45;margin-bottom:10px}}
@media(max-width:640px) and (max-height:850px){#intro .time-display strong{font-size:34px}#intro #trigger{width:130px;height:130px}}
.intro-tickets{display:inline-flex;align-items:center;justify-content:center;gap:12px;max-width:100%;min-height:44px;padding:11px 18px;margin:0 0 22px;border:1px solid #847b6c;border-radius:5px;background:transparent;color:#352b27;font-size:14px;font-weight:700;line-height:1.3;text-decoration:none;transition:background .2s,border-color .2s,color .2s}.intro-tickets:hover,.intro-tickets:focus-visible{background:#f6eddf;border-color:#ad2137;color:#a11b31}.intro-tickets:focus-visible{outline:3px solid #ad2137;outline-offset:4px}.intro-tickets span{font-size:17px}
/* Cada llamada a la acción tiene un solo elemento que recibe el clic. */
.ticket-link::after{content:'↗';pointer-events:none;font-size:24px}
.intro-tickets.ticket-link::after{font-size:17px}
.concert-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;text-decoration:none}
.concert-link::after{content:'→';pointer-events:none}
.site-footer{flex-direction:column;gap:28px;opacity:1;border-top:1px solid #8884}.organizers{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;letter-spacing:0}.organizers-label{font-size:10px;letter-spacing:.2em;opacity:.75}.organizers a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;padding:8px 12px;color:inherit;text-decoration:none;border-radius:4px}.organizers a strong{font-size:23px;letter-spacing:-.035em}.organizers a span{font-size:12px;font-weight:400;opacity:.8}.organizers a:hover span,.organizers a:focus-visible span{text-decoration:underline;text-underline-offset:4px;opacity:1}.organizers-divider{font-size:18px;color:#bc2834}.footer-notes{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;opacity:.7}
@media(max-width:520px){.organizers{gap:8px 14px}.organizers-label{width:100%;text-align:center}.organizers a{padding:8px}.footer-notes{justify-content:center}}
.organizers .organizer-logo{display:block;width:160px;height:auto;aspect-ratio:561/276;object-fit:contain;filter:brightness(0);pointer-events:none}
body.active .organizers .organizer-logo{filter:none}
@media(max-width:520px){.organizers .organizer-logo{width:120px}}
.setlist-dialog{max-height:calc(100dvh - 24px);width:min(820px,calc(100vw - 24px));padding:18px 22px;overflow:hidden}.setlist-dialog .dialog-top{margin-bottom:10px}.setlist-dialog #detail-title,.setlist-accessible{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.setlist-poster{margin:0;text-align:center}.setlist-poster>a{display:block;line-height:0}.setlist-poster img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 165px);margin:auto;object-fit:contain;border-radius:3px}.setlist-poster figcaption{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:12px;font-size:14px}.setlist-poster figcaption a{color:#8f1e30;text-underline-offset:4px}
.musicians-dialog{width:min(850px,calc(100vw - 24px))}.musicians-headline{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(25px,4vw,37px);line-height:1.12;color:#a61f31;margin:22px 0 10px}.musicians-intro{font-size:16px;line-height:1.5;margin-bottom:24px}.musicians-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.musician-card{display:flex;flex-direction:column;align-items:flex-start;background:#f9f1e2;border:1px solid #cfc0a8;border-top:4px solid #b6202e;padding:20px}.musician-number{font-size:12px;font-weight:700;color:#a51c2d;letter-spacing:.15em}.musician-card h3{font-size:25px;line-height:1.1;margin:12px 0}.musician-card p{font-size:15px;line-height:1.55;margin:0 0 20px}.musician-card .tickets{margin-top:auto;padding:13px 14px;min-height:46px;font-size:13px;gap:8px;width:100%;white-space:normal;text-align:center}
@media(max-width:520px){.setlist-dialog{padding:14px 12px}.setlist-poster figcaption{gap:18px;font-size:13px}.musicians-grid{grid-template-columns:1fr;gap:12px}.musician-card{padding:16px}.musician-card h3{font-size:23px;margin:8px 0}.musician-card p{margin-bottom:14px}.musicians-intro{margin-bottom:16px}}

/* Titular y haces dentro del escenario, con un origen común por foco. */
.stage-presentation{min-width:0;width:100%;align-self:end}
.stage-presentation .stage{--cast-height:470px;--stage-headroom:56px;--beam-width:clamp(140px,16vw,250px);height:calc(var(--cast-height) + var(--stage-headroom))}
.stage-cast{position:absolute;inset:var(--stage-headroom) 0 0;z-index:1;pointer-events:none}
.stage-headline{position:absolute;top:30px;left:2%;width:96%;z-index:4;margin:0;padding:6px 12px;color:#f1dfbb;font-size:clamp(13px,1.2vw,17px);font-weight:800;letter-spacing:.085em;line-height:1.5;text-align:center;text-wrap:balance;text-shadow:0 2px 5px #000,0 0 16px #000}
.stage::after{content:none}
.stage .stage-lights{display:block;pointer-events:none;overflow:visible}
.stage .stage-lights i{--lamp-x:12.5%;--sweep-start:-23deg;--sweep-end:23deg;--sweep-duration:3.4s;--sweep-delay:0s;position:absolute;left:var(--lamp-x);top:10px;width:0;height:0;background:none;clip-path:none;transform:none;animation:none}
.stage .stage-lights i:nth-child(2){--lamp-x:37.5%;--sweep-start:22deg;--sweep-end:-20deg;--sweep-duration:4.1s;--sweep-delay:-1.8s}
.stage .stage-lights i:nth-child(3){--lamp-x:62.5%;--sweep-start:-21deg;--sweep-end:24deg;--sweep-duration:3.7s;--sweep-delay:-2.7s}
.stage .stage-lights i:nth-child(4){--lamp-x:87.5%;--sweep-start:23deg;--sweep-end:-23deg;--sweep-duration:4.4s;--sweep-delay:-.8s}
.stage .stage-lights i::before{content:'';position:absolute;top:0;left:calc(var(--beam-width) / -2);width:var(--beam-width);height:calc(var(--cast-height) + var(--stage-headroom));transform-origin:50% 0;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(180deg,#ffe3a26b,#dfaf4b30 48%,transparent 94%);animation:stage-beam-sweep var(--sweep-duration) ease-in-out var(--sweep-delay) infinite alternate;will-change:transform}
.stage .stage-lights i::after{content:'';position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#fff5cf;box-shadow:0 0 6px 2px #ffe7a2,0 0 16px 5px #eabb6d70}
@keyframes stage-beam-sweep{from{transform:rotate(var(--sweep-start))}to{transform:rotate(var(--sweep-end))}}
@media(min-width:1500px){.stage-presentation .stage{--cast-height:500px}}
@media(max-width:1000px){.stage-presentation .stage{--cast-height:410px}.stage-headline{font-size:13px;letter-spacing:.065em}}
@media(max-width:640px){.stage-presentation .stage{--cast-height:270px;--stage-headroom:72px;--beam-width:170px}.stage-headline{top:28px;font-size:12px;letter-spacing:.06em;padding:6px 8px}}
@media(prefers-reduced-motion:reduce){.stage .stage-lights i::before{animation:none;transform:rotate(0deg);will-change:auto}}
