/* A live lighting composition around real I Love Events photographs. */
.show-stage{--show-rgb:151,178,255;--show-power:.65;--show-speed:11s;--show-aim:0deg;position:relative;overflow:hidden;padding:72px 5% 76px;background:#080a10;border-top:1px solid #ffffff20}
.show-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin:0 0 30px}
.show-heading .section-code{color:#a5a6ae}
.show-heading h2{font-size:clamp(49px,6.7vw,105px);line-height:.91;letter-spacing:-2.6px;margin-top:24px}
.show-heading h2 em{font-style:normal;color:#a4b9ed}
.show-heading>p{max-width:275px;color:#b3b5bf;font-size:11px;line-height:1.9;padding-bottom:4px}
.show-arena{position:relative;isolation:isolate;min-height:580px;aspect-ratio:1.9;overflow:hidden;border:1px solid #ffffff20;background:radial-gradient(ellipse at 50% 70%,#202337 0,#090b12 55%,#05060a 100%)}
.show-arena:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 0%,rgba(var(--show-rgb),.11),transparent 65%)}
.show-arena-top{position:absolute;top:22px;left:25px;right:25px;z-index:8;display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.5px;color:#a7adbb}
.show-arena-top span:last-child{color:#d4d9e4}
.show-rig{position:absolute;left:6%;right:6%;top:62px;height:11px;border-block:1px solid #747b893d;background:repeating-linear-gradient(45deg,transparent 0 17px,#747b893d 18px 19px,transparent 20px 38px);z-index:5}
.show-fixture{position:absolute;left:var(--fixture-x);top:69px;z-index:5;transform:rotate(var(--show-aim));transform-origin:0 0;transition:transform .3s ease-out;pointer-events:none}
.show-fixture:nth-of-type(1){--fixture-x:16%;--swing-a:-24deg;--swing-b:29deg;--show-delay:-3s}
.show-fixture:nth-of-type(2){--fixture-x:38%;--swing-a:34deg;--swing-b:-26deg;--show-delay:-8s}
.show-fixture:nth-of-type(3){--fixture-x:62%;--swing-a:-30deg;--swing-b:23deg;--show-delay:-1s}
.show-fixture:nth-of-type(4){--fixture-x:84%;--swing-a:28deg;--swing-b:-29deg;--show-delay:-6s}
.show-fixture-pivot{position:relative;transform-origin:0 0;animation:show-sweep var(--show-speed) var(--show-delay) ease-in-out infinite alternate}
.show-fixture-head{position:absolute;width:26px;height:33px;left:-13px;top:-8px;border:1px solid #8c94a854;border-radius:8px 8px 5px 5px;background:linear-gradient(90deg,#111722,#374151 48%,#121925);box-shadow:0 0 0 4px #05080dbb;z-index:2}
.show-fixture-head:after{content:'';position:absolute;bottom:-1px;left:5px;right:5px;height:5px;border-radius:50%;background:#e3ecff;box-shadow:0 0 13px 3px rgba(var(--show-rgb),var(--show-power))}
.show-beam{position:absolute;top:23px;left:-88px;width:176px;height:590px;transform-origin:50% 0;clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(var(--show-rgb),.75),rgba(var(--show-rgb),.13) 70%,transparent);opacity:calc(var(--show-power) * .7);mix-blend-mode:screen;transition:opacity .6s;pointer-events:none}
.show-beam:after{content:'';position:absolute;top:0;bottom:0;left:45%;width:10%;background:linear-gradient(#ffffff90,transparent);filter:blur(2px)}
.show-wash{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:var(--show-power);transition:opacity .6s;mix-blend-mode:screen}
.show-wash:before,.show-wash:after{content:'';position:absolute;top:10%;width:64%;height:95%;background:radial-gradient(ellipse at 50% 0,rgba(var(--show-rgb),.3),transparent 63%);transform-origin:50% 0;animation:show-wash 13s ease-in-out infinite alternate}
.show-wash:before{left:-14%}.show-wash:after{right:-14%;animation-delay:-7s}
.show-arena[data-light=beams] .show-wash{opacity:0}
.show-arena[data-light=wash] .show-beam{opacity:0}
.show-wall{position:absolute;z-index:2;left:19%;right:19%;top:25%;height:44%;border:4px solid #11151d;box-shadow:0 0 0 1px #ffffff26,0 0 70px rgba(var(--show-rgb),.14);transition:left .9s,right .9s,top .9s,height .9s,transform .9s;background:#07090e}
.show-wall>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:opacity .75s ease}
.show-wall>img.show-wall-fondu{opacity:0}
.show-stage.is-paused .show-wall>img,.show-stage.is-offscreen .show-wall>img{transition-duration:.25s}
.show-wall:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),#0005 calc(25% - 1px) 25%),repeating-linear-gradient(0deg,transparent 0 3px,#0002 3px 4px);pointer-events:none}
.show-wing{position:absolute;z-index:2;top:28%;width:13%;height:38%;background-image:var(--screen-photo);background-position:center;background-size:cover;border:3px solid #141b25;box-shadow:0 0 0 1px #ffffff1f;filter:brightness(.58);transition:all .9s}
.show-wing-left{left:5%;transform:perspective(600px) rotateY(26deg)}.show-wing-right{right:5%;transform:perspective(600px) rotateY(-26deg)}
.show-arena[data-screen=panorama] .show-wall{left:8%;right:8%;top:28%;height:39%}
.show-arena[data-screen=panorama] .show-wing{opacity:0;transform:scale(.8)}
.show-arena[data-screen=immersion] .show-wall{left:30%;right:30%;top:21%;height:49%}
.show-arena[data-screen=immersion] .show-wing{top:23%;width:22%;height:46%;filter:brightness(.8)}
.show-arena[data-screen=immersion] .show-wing-left{left:8%;transform:perspective(500px) rotateY(33deg)}
.show-arena[data-screen=immersion] .show-wing-right{right:8%;transform:perspective(500px) rotateY(-33deg)}
.show-floor{position:absolute;left:-20%;right:-20%;top:69%;height:80%;z-index:1;transform:perspective(480px) rotateX(58deg);transform-origin:50% 0;background:linear-gradient(180deg,rgba(var(--show-rgb),.13),transparent 60%),repeating-linear-gradient(90deg,transparent 0 8%,#ffffff08 8% calc(8% + 1px)),repeating-linear-gradient(0deg,transparent 0 33px,#ffffff08 33px 34px);border-top:1px solid #ffffff38}
.show-floor:after{content:'';position:absolute;top:1%;left:30%;right:30%;height:50%;background:radial-gradient(ellipse,rgba(var(--show-rgb),.19),transparent 70%);filter:blur(15px)}
.show-arena-caption{position:absolute;bottom:28px;left:28px;right:28px;z-index:7;display:flex;justify-content:space-between;gap:18px;align-items:flex-end}
.show-arena-caption>div>span{font-size:7px;letter-spacing:1.5px;color:#c6cddd}.show-arena-caption h3{font-size:32px;letter-spacing:-.7px;margin-top:8px}
.show-arena-caption .underlink{font-size:9px;display:flex;align-items:center;gap:18px;background:#090b1280;padding:10px 0;backdrop-filter:blur(4px)}
.show-console{display:grid;grid-template-columns:1.2fr 1.1fr .9fr auto;gap:28px;padding:27px 0 0;align-items:end}
.show-control-group{min-width:0}.show-control-label{display:block;font-size:7px;letter-spacing:1.3px;color:#888d99;margin-bottom:12px}
.show-choices{display:flex;gap:6px;flex-wrap:wrap}
.show-choices button,.show-pause{border:1px solid #ffffff29;border-radius:30px;padding:10px 13px;font-size:9px;color:#bfc3cf;transition:background .25s,border-color .25s,color .25s;min-height:38px}
.show-choices button[aria-pressed=true]{background:#acbfea13;border-color:#bacbf280;color:#f2f5ff}
.show-choices button:hover,.show-pause:hover{border-color:#bacbf2;color:#fff}
.show-range-label{display:flex;justify-content:space-between;gap:10px}.show-range-label output{color:#c2d4ff;letter-spacing:0}
.show-intensity{width:100%;height:25px;margin:0;accent-color:#a4b9ed;cursor:pointer}
.show-pause{display:flex;gap:9px;align-items:center;justify-content:center;white-space:nowrap;min-width:118px}
.show-pause svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.3}
.show-pause:disabled{opacity:.6;cursor:default}
.show-footnote{display:flex;justify-content:space-between;gap:20px;margin-top:22px;color:#777e8c;font-size:8px;line-height:1.8;letter-spacing:.3px}
.show-stage.is-offscreen *,.show-stage.is-offscreen *:before,.show-stage.is-offscreen *:after,.motion-paused .show-stage *,.motion-paused .show-stage *:before,.motion-paused .show-stage *:after,.show-stage.is-paused *,.show-stage.is-paused *:before,.show-stage.is-paused *:after{animation-play-state:paused!important}
@keyframes show-sweep{from{transform:rotate(var(--swing-a))}to{transform:rotate(var(--swing-b))}}
@keyframes show-wash{from{transform:rotate(-13deg) scaleX(.9)}to{transform:rotate(14deg) scaleX(1.15)}}
@media(min-width:1600px){.show-beam{height:760px;width:230px;left:-115px}}
@media(max-width:1100px){.show-console{grid-template-columns:1fr 1fr;gap:24px}.show-pause{justify-self:end;align-self:end}.show-arena{min-height:500px}.show-beam{height:520px}.show-heading h2{font-size:70px}}
@media(max-width:700px){.show-stage{padding:48px 5%}.show-heading{display:block;margin-bottom:26px}.show-heading h2{font-size:clamp(42px,10.5vw,66px);letter-spacing:-1.5px;margin-top:17px}.show-heading>p{max-width:340px;margin-top:22px;font-size:10px}.show-arena{aspect-ratio:auto;min-height:430px;margin:0 -2%;}.show-arena-top{top:17px;left:15px;right:15px;font-size:6px;letter-spacing:.7px}.show-rig{top:49px;left:4%;right:4%}.show-fixture{top:56px}.show-fixture-head{width:20px;left:-10px;height:27px}.show-fixture-head:after{left:4px;right:4px}.show-beam{top:17px;left:-52px;width:104px;height:425px}.show-wall{top:29%;height:34%;left:16%;right:16%;border-width:2px}.show-wing{top:32%;height:28%;width:12%;border-width:2px}.show-wing-left{left:3%}.show-wing-right{right:3%}.show-arena[data-screen=panorama] .show-wall{left:4%;right:4%;top:32%;height:29%}.show-arena[data-screen=immersion] .show-wall{left:28%;right:28%;top:25%;height:40%}.show-arena[data-screen=immersion] .show-wing{top:29%;height:32%;width:22%}.show-arena[data-screen=immersion] .show-wing-left{left:5%}.show-arena[data-screen=immersion] .show-wing-right{right:5%}.show-floor{top:65%}.show-arena-caption{left:16px;right:16px;bottom:19px;display:block}.show-arena-caption h3{font-size:27px}.show-arena-caption .underlink{display:inline-flex;margin-top:12px;font-size:8px;padding:5px 0;gap:10px}.show-console{grid-template-columns:1fr 1fr;gap:22px 12px}.show-control-group:first-child{grid-column:1/-1}.show-choices button{font-size:8px;padding:10px 12px}.show-control-group:nth-child(2){grid-column:1/-1}.show-console>.show-control-group:nth-child(3){grid-column:1}.show-pause{grid-column:2;font-size:8px;padding-inline:12px;min-width:106px}.show-footnote{font-size:7px}.show-pointer-note{display:none}}
@media(prefers-reduced-motion:reduce){.show-stage *,.show-stage *:before,.show-stage *:after{animation:none!important;transition:none!important}.show-fixture-pivot{transform:rotate(var(--swing-a))}.show-pointer-note{display:none}}

/* ---------------------------------------------------------- Lyre spot */
/* Faisceaux serrés et balayage plus vif : la découpe suit les artistes. */
.show-arena[data-light=spot]{--show-speed:6.5s}
.show-arena[data-light=spot] .show-beam{width:88px;left:-44px;clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);opacity:calc(var(--show-power) * .95)}
.show-arena[data-light=spot] .show-beam:after{left:42%;width:16%}
.show-arena[data-light=spot] .show-wash{opacity:calc(var(--show-power) * .22)}

/* ------------------------------------------------- Barres LED / pixels */
/* Des barres à lentilles rondes (COB) : éteintes elles restent sombres, allumées elles donnent une lumière ambre. */
.show-ledbars{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .5s}
.show-ledbar{position:absolute;display:flex;align-items:center;justify-content:center;gap:3px;padding:2px;overflow:hidden;
  border-radius:4px;background:linear-gradient(180deg,#171b24,#0b0e14);box-shadow:0 0 0 1px #ffffff1f,inset 0 1px 0 #ffffff14}
.show-ledbar.vertical{flex-direction:column}
.show-ledbar:nth-child(1){left:9%;right:9%;top:86px;height:14px}
.show-ledbar:nth-child(2){left:13%;right:13%;bottom:27%;height:13px}
.show-ledbar:nth-child(3){left:2%;top:18%;bottom:24%;width:14px}
.show-ledbar:nth-child(4){right:2%;top:18%;bottom:24%;width:14px}
.show-ledbar i{flex:0 0 auto;border-radius:50%;
  background:repeating-linear-gradient(45deg,#ffffff0a 0 1px,transparent 1px 3px),radial-gradient(circle at 50% 42%,#272c36,#10131a 72%);
  box-shadow:inset 0 0 4px #000a,0 0 0 1px #ffffff1a;
  animation:show-cob 2.4s linear infinite;animation-delay:calc(var(--pixel) * -.09s)}
/* L'ambre d'une lentille COB : un cœur blanc chaud, un halo doré, puis l'extinction. */
@keyframes show-cob{
  0%,66%{background:repeating-linear-gradient(45deg,#ffffff0a 0 1px,transparent 1px 3px),radial-gradient(circle at 50% 42%,#272c36,#10131a 72%);
    box-shadow:inset 0 0 4px #000a,0 0 0 1px #ffffff1a}
  74%{background:repeating-linear-gradient(45deg,#ffffff26 0 1px,transparent 1px 3px),radial-gradient(circle at 50% 42%,#fff8e8,#ffc965 52%,#e0821f);
    box-shadow:0 0 26px 9px rgba(255,176,70,.72),0 0 0 1px #ffdca8}
  86%{background:repeating-linear-gradient(45deg,#ffffff14 0 1px,transparent 1px 3px),radial-gradient(circle at 50% 42%,#ffd79a,#c97c22 60%,#5d3a10);
    box-shadow:0 0 12px 3px rgba(255,170,60,.3),0 0 0 1px #ffffff26}
  100%{background:repeating-linear-gradient(45deg,#ffffff0a 0 1px,transparent 1px 3px),radial-gradient(circle at 50% 42%,#272c36,#10131a 72%);
    box-shadow:inset 0 0 4px #000a,0 0 0 1px #ffffff1a}
}
.show-arena[data-light=pixel] .show-ledbars{opacity:1}
.show-arena[data-light=mix] .show-ledbars{opacity:.5}
.show-arena[data-light=pixel] .show-wash{opacity:calc(var(--show-power) * .3)}
.show-arena[data-light=pixel] .show-beam{opacity:calc(var(--show-power) * .5)}

/* --------------------------------------------------------- Stroboscope */
.show-strobe{position:absolute;inset:0;z-index:6;pointer-events:none;background:#eaf2ff;opacity:0;mix-blend-mode:screen}
.show-arena[data-light=strobe] .show-strobe{animation:show-strobe .66s steps(1,end) infinite}
.show-arena[data-light=strobe] .show-beam{opacity:calc(var(--show-power) * .45)}
@keyframes show-strobe{
  0%,7%{opacity:calc(var(--show-power) * .8)}
  8%,20%{opacity:0}
  21%,27%{opacity:calc(var(--show-power) * .62)}
  28%,46%{opacity:0}
  47%,52%{opacity:calc(var(--show-power) * .7)}
  53%,100%{opacity:0}
}

/* ------------------------------------------------------------ Blinders */
/* Panneaux chauds tournés vers le public : des éclats, pas un éclairage continu. */
.show-blinders{position:absolute;left:0;right:0;bottom:23%;height:70px;z-index:6;display:flex;justify-content:space-evenly;align-items:flex-end;pointer-events:none;opacity:0;transition:opacity .5s}
.show-blinder{position:relative;width:clamp(54px,7vw,92px);height:42px;border-radius:4px;border:1px solid #ffffff24;background:repeating-linear-gradient(90deg,#272c38 0 7px,#151922 7px 14px)}
.show-blinder:after{content:'';position:absolute;inset:3px;border-radius:3px;background:radial-gradient(ellipse at 50% 60%,#fff7e6,#ffc271 52%,#ff9440);opacity:.12;animation:show-blind 3.4s ease-in-out infinite;animation-delay:var(--show-delay,0s)}
.show-blinder:nth-child(2){--show-delay:-.5s}.show-blinder:nth-child(3){--show-delay:-1.1s}.show-blinder:nth-child(4){--show-delay:-1.7s}
@keyframes show-blind{
  0%,58%{opacity:.1;box-shadow:0 0 12px #ffcf8f22}
  66%{opacity:1;box-shadow:0 -12px 95px 34px rgba(255,200,130,calc(var(--show-power) * .75))}
  73%{opacity:.22;box-shadow:0 0 14px #ffcf8f2e}
  80%{opacity:.92;box-shadow:0 -10px 72px 24px rgba(255,200,130,calc(var(--show-power) * .6))}
  100%{opacity:.1;box-shadow:0 0 12px #ffcf8f22}
}
.show-arena[data-light=blinder] .show-blinders{opacity:1}
.show-arena[data-light=blinder] .show-wash{opacity:calc(var(--show-power) * .3)}
@media(max-width:700px){
  .show-ledbar:nth-child(1){top:56px;height:10px}
  .show-ledbar:nth-child(2){bottom:30%;height:9px}
  .show-ledbar:nth-child(3),.show-ledbar:nth-child(4){width:10px;top:24%;bottom:28%;left:1%}
  .show-ledbar:nth-child(4){left:auto;right:1%}
  .show-blinders{height:48px;bottom:26%}.show-blinder{height:30px}
}

/* ------------------------------------------------------------- PAR LED */
/* Rampe de projecteurs PAR au pied de l'écran : chaque lentille balaie le spectre,
   le faisceau remonte sur l'image en lumière colorée. */
.show-pars{position:absolute;left:13%;right:13%;bottom:20%;height:30px;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none;opacity:0;transition:opacity .5s}
.show-par{position:relative;width:30px;height:24px;--par-delai:calc(var(--par) * -1.45s);
  transform:rotate(var(--par-angle,0deg));transform-origin:50% 100%}
.show-par i{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:26px;height:19px;border-radius:5px 5px 3px 3px;
  background:linear-gradient(180deg,#262b36,#0e1218);box-shadow:0 0 0 1px #ffffff1f,0 3px 8px #000a;z-index:2}
.show-par i:after{content:'';position:absolute;inset:3px 3px 5px;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,#ffffff1c 0 6deg,transparent 6deg 12deg),radial-gradient(circle at 50% 40%,#ff6b8a,#c81d4a 68%,#3a0a18);
  box-shadow:0 0 14px 2px #ff4f7a99;animation:show-par-teinte 11s linear infinite;animation-delay:var(--par-delai)}
.show-par b{position:absolute;bottom:16px;left:50%;width:130px;height:min(290px,24vh);transform:translateX(-50%);
  clip-path:polygon(44% 100%,56% 100%,100% 0,0 0);
  background:linear-gradient(0deg,#ff4f7ac4,#ff4f7a40 42%,#ff4f7a00 80%);
  filter:blur(4px);mix-blend-mode:screen;opacity:calc(.2 + var(--show-power) * .36);
  animation:show-par-teinte 11s linear infinite;animation-delay:var(--par-delai)}
.show-par:after{content:'';position:absolute;bottom:-6px;left:50%;width:70px;height:16px;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(ellipse,#ff4f7a80,transparent 70%);filter:blur(4px);mix-blend-mode:screen;
  animation:show-par-teinte 11s linear infinite;animation-delay:var(--par-delai)}
/* Le balayage des couleurs : une seule teinte de départ, pivotée en continu. */
@keyframes show-par-teinte{from{filter:blur(0) hue-rotate(0deg) saturate(1.15)}to{filter:blur(0) hue-rotate(360deg) saturate(1.15)}}
.show-par b{animation-name:show-par-faisceau}
@keyframes show-par-faisceau{from{filter:blur(4px) hue-rotate(0deg) saturate(1.2)}to{filter:blur(4px) hue-rotate(360deg) saturate(1.2)}}
.show-par:after{animation-name:show-par-tache}
@keyframes show-par-tache{from{filter:blur(4px) hue-rotate(0deg)}to{filter:blur(4px) hue-rotate(360deg)}}
.show-arena[data-light=par] .show-pars{opacity:1}
.show-arena[data-light=mix] .show-pars{opacity:.62}
.show-arena[data-light=par] .show-wash{opacity:calc(var(--show-power) * .3)}
.show-arena[data-light=par] .show-beam{opacity:calc(var(--show-power) * .45)}
@media(max-width:700px){
  .show-pars{left:4%;right:4%;bottom:22%;height:22px}
  .show-par{width:20px;height:17px}
  .show-par i{width:18px;height:13px}
  .show-par b{width:86px;height:170px;bottom:11px}
}

/* Rampe de PAR accrochée à la structure, entre les lyres : les faisceaux descendent sur la scène. */
.show-pars-haut{position:absolute;left:9%;right:9%;top:66px;height:26px;z-index:5;display:flex;justify-content:space-around;align-items:flex-start;pointer-events:none;opacity:0;transition:opacity .5s}
.show-par-haut{transform-origin:50% 0}
.show-par-haut i{top:0;bottom:auto;border-radius:3px 3px 6px 6px}
.show-par-haut i:after{inset:5px 3px 3px}
.show-par-haut b{top:15px;bottom:auto;clip-path:polygon(0 100%,100% 100%,56% 0,44% 0);
  background:linear-gradient(180deg,#ff4f7ac4,#ff4f7a40 42%,#ff4f7a00 80%)}
.show-par-haut:after{display:none}
.show-arena[data-light=par] .show-pars-haut{opacity:1}
.show-arena[data-light=mix] .show-pars-haut{opacity:.62}
@media(max-width:700px){
  .show-pars-haut{top:44px;height:18px;left:6%;right:6%}
  .show-par-haut i{width:16px;height:12px}
  .show-par-haut b{width:80px;height:150px;top:10px}
}
