@import url('https://fonts.googleapis.com/css2?family=Anybody:wdth,wght@75..125,300..900&family=Manrope:wght@400..800&display=swap');

:root{
  --cyan:#15D8D2;
  --cyan-vif:#27FFF7;
  --cyan-fonce:#087F7C;
  --cyan-pale:#CFF7F5;
  --scene:#111218;
  --scene-2:#1B1D25;
  --scene-3:#292C35;
  --papier:#F4F0E8;
  --papier-clair:#FFFDF8;
  --blanc:#FFFFFF;
  --gris:#C8C6C2;
  --gris-fonce:#73747B;
  --transparent:transparent;
  --voile-gauche:color-mix(in srgb,var(--scene) 93%,var(--transparent));
  --voile-bas:color-mix(in srgb,var(--scene) 84%,var(--transparent));
  --voile-leger:color-mix(in srgb,var(--scene) 18%,var(--transparent));
  --ombre:color-mix(in srgb,var(--scene) 36%,var(--transparent));
  --hachure:color-mix(in srgb,var(--cyan) 45%,var(--scene));
  --ft-titre:'Anybody',sans-serif;
  --ft-texte:'Manrope',sans-serif;
  --max:1500px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--scene);max-width:100%;overflow-x:clip}
body{margin:0;background:var(--papier);color:var(--scene);font-family:var(--ft-texte);font-size:1rem;line-height:1.65;max-width:100%;overflow-x:clip}
main{max-width:100%;overflow-x:clip}
body.menu-ouvert{overflow:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
.evitement{position:fixed;z-index:1000;top:-7rem;left:1rem;background:var(--cyan);color:var(--scene);padding:.8rem 1.1rem;font-weight:900;transition:top .25s ease,transform .25s ease}
.evitement:focus{top:1rem;transform:translateY(0)}
.visuel{position:relative;margin:0;background:repeating-linear-gradient(135deg,var(--hachure) 0,var(--hachure) 12px,var(--scene-2) 12px,var(--scene-2) 24px);overflow:hidden}
.visuel.image-absente{min-height:280px}
.visuel.image-absente img{display:none}
.visuel.image-absente::after{content:attr(data-fichier);position:absolute;inset:0;display:grid;place-items:center;padding:1rem;color:var(--blanc);font-weight:900;text-align:center}
.sur,.index-sec{margin:0 0 1.2rem;font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.index-sec{display:flex;align-items:center;gap:1rem}
.index-sec::after{content:"";width:48px;height:2px;background:currentColor;transform-origin:left;animation:ligneVivante 3.5s ease-in-out infinite alternate}

.hd{position:absolute;z-index:200;left:0;right:0;top:0;min-height:100px;padding:1.1rem clamp(1rem,3vw,3.5rem);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(1rem,2.2vw,2.5rem);color:var(--blanc);border-bottom:1px solid color-mix(in srgb,var(--blanc) 25%,var(--transparent));transition:background .35s ease,color .35s ease,min-height .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}
.hd.defile{position:fixed;min-height:78px;background:color-mix(in srgb,var(--scene) 88%,var(--transparent));backdrop-filter:blur(18px);box-shadow:0 10px 40px var(--ombre)}
.logo{display:flex;flex-direction:column;min-width:170px;line-height:.82;transition:color .25s ease,transform .25s ease}
.logo:hover{color:var(--cyan);transform:translateX(4px)}
.logo strong{font-family:var(--ft-titre);font-size:clamp(1.45rem,2.1vw,2.15rem);font-weight:900;font-stretch:125%;letter-spacing:-.06em;white-space:nowrap}
.logo small{margin-top:.55rem;font-size:.58rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.nav-principale{justify-self:center;display:flex;align-items:center;gap:clamp(.85rem,1.7vw,1.8rem);font-size:.76rem;font-weight:800;letter-spacing:.04em}
.nav-principale a{position:relative;padding:.7rem 0;transition:color .25s ease,transform .25s ease}
.nav-principale a::after{content:"";position:absolute;left:0;bottom:.35rem;width:100%;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:right;transition:transform .25s ease,background .25s ease}
.nav-principale a:hover{color:var(--cyan);transform:translateY(-2px)}
.nav-principale a:hover::after{transform:scaleX(1);transform-origin:left;background:var(--cyan-vif)}
.tel{display:flex;flex-direction:column;line-height:1.1;transition:color .25s ease,transform .25s ease}
.tel:hover{color:var(--cyan);transform:translateY(-2px)}
.tel span{font-size:.56rem;letter-spacing:.18em;text-transform:uppercase}
.tel strong{font-size:.86rem;white-space:nowrap}
.menu-bt{border:0;background:var(--cyan);color:var(--scene);min-height:48px;padding:.8rem 1rem;display:flex;align-items:center;gap:.8rem;font-size:.69rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
.menu-bt i{width:19px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;transition:transform .25s ease,border-color .25s ease}
.menu-bt:hover{background:var(--blanc);transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--cyan-fonce)}
.menu-bt[aria-expanded="true"] i{transform:rotate(90deg)}
.grand-menu{display:none;position:fixed;z-index:-1;inset:100px 0 0;background:var(--cyan);color:var(--scene);padding:clamp(2rem,6vw,7rem);grid-template-columns:1.4fr 1.2fr 1fr;gap:4rem;overflow:auto}
.grand-menu.ouvert{display:grid;animation:ouvreMenu .45s ease both}
.grand-menu>div{display:flex;flex-direction:column;align-items:flex-start}
.grand-menu p{font-size:.65rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;border-bottom:2px solid var(--scene);width:100%;padding-bottom:.7rem}
.grand-menu a{font-family:var(--ft-titre);font-size:clamp(1.4rem,2.6vw,3.2rem);font-weight:700;line-height:1.05;padding:.38rem 0;transition:transform .22s ease,color .22s ease,font-variation-settings .22s ease}
.grand-menu a:hover{transform:translateX(12px);color:var(--papier-clair);font-variation-settings:'wdth' 125}

.hero-s{height:100vh;min-height:780px;position:relative;background:var(--scene);color:var(--blanc);overflow:hidden}
.hero-s picture{position:absolute;inset:0;overflow:hidden}
.hero-photo{object-position:center center;filter:grayscale(1) contrast(1.15);animation:kenBurns 22s ease-in-out infinite alternate}
.hero-trame{position:absolute;inset:0;background:linear-gradient(90deg,var(--voile-gauche) 0,color-mix(in srgb,var(--scene) 60%,var(--transparent)) 38%,var(--voile-leger) 68%,var(--transparent) 100%),linear-gradient(0deg,var(--voile-bas) 0,var(--transparent) 45%);mix-blend-mode:multiply}
.hero-trame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--transparent) 0,var(--transparent) 72%,color-mix(in srgb,var(--cyan) 28%,var(--transparent)) 100%);mix-blend-mode:screen}
.hero-contenu{position:absolute;z-index:2;left:clamp(1rem,5vw,6rem);right:clamp(1rem,5vw,6rem);bottom:clamp(5rem,10vh,8rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);grid-template-rows:auto auto auto;column-gap:4rem;align-items:end}
.hero-contenu .sur{grid-column:1;animation:entreHero .7s .1s ease both}
.hero-contenu h1{grid-column:1;margin:0;font-family:var(--ft-titre);font-size:clamp(5rem,10.5vw,11.5rem);font-weight:900;font-stretch:125%;line-height:.78;letter-spacing:-.065em;text-transform:uppercase;animation:entreHero .8s .22s ease both}
.hero-intro{grid-column:1;max-width:550px;font-size:clamp(1.05rem,1.4vw,1.3rem);margin:1.7rem 0 0;animation:entreHero .8s .35s ease both}
.hero-module{grid-column:2;grid-row:1/4;align-self:end;display:grid;grid-template-columns:1fr auto;background:var(--papier-clair);color:var(--scene);border-left:7px solid var(--cyan);animation:entreModule .8s .5s ease both}
.hero-module p{grid-column:1/3;margin:0;padding:1.3rem 1.5rem;border-bottom:2px solid var(--scene);display:flex;flex-direction:column}
.hero-module span{font-size:.6rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.hero-module strong{font-family:var(--ft-titre);font-size:2.4rem;font-weight:900;text-transform:uppercase;line-height:1;margin:.4rem 0}
.hero-module small{font-size:.72rem;font-weight:700}
.hero-module>a{padding:1rem 1.3rem;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;transition:background .25s ease,color .25s ease,transform .25s ease}
.hero-module>a:hover{background:var(--cyan-pale);transform:translateX(3px)}
.hero-module .action{background:var(--cyan);border-left:2px solid var(--scene)}
.hero-module .action:hover{background:var(--scene);color:var(--blanc)}
.defilement{position:absolute;z-index:2;left:50%;bottom:1.3rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;transform:translateX(-50%)}
.defilement i{width:1px;height:38px;background:var(--cyan);transform-origin:top;animation:defile 2s ease-in-out infinite}

.essentiel{display:grid;grid-template-columns:1.5fr .7fr 1.2fr .8fr;background:var(--cyan);border-top:3px solid var(--scene);border-bottom:3px solid var(--scene)}
.essentiel>div{min-height:135px;padding:1.4rem clamp(1rem,2.4vw,2.7rem);display:flex;flex-direction:column;justify-content:center;border-right:2px solid var(--scene)}
.essentiel>div:last-child{border-right:0}
.essentiel span{font-size:.6rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.essentiel strong,.essentiel a{font-family:var(--ft-titre);font-size:clamp(1.05rem,1.7vw,1.75rem);font-weight:800;line-height:1.08;margin-top:.55rem;transition:color .2s ease,transform .2s ease}
.essentiel a:hover{color:var(--papier-clair);transform:translateX(5px)}

.programme-vivant{padding:clamp(6rem,10vw,11rem) clamp(1rem,4vw,5rem);background:var(--papier);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,7vw,9rem)}
.pv-intro{position:sticky;top:120px;align-self:start}
.pv-intro h2,.galerie-entete h2,.dates-titre h2,.coulisse-editorial h2,.accessibilite h2,.lieu-carte h2,.equipe-journal h2{margin:0;font-family:var(--ft-titre);font-size:clamp(3.4rem,6.4vw,7.4rem);font-weight:900;font-stretch:120%;line-height:.86;letter-spacing:-.055em;text-transform:uppercase}
.pv-intro>p:not(.index-sec):not(.instruction){max-width:34rem;font-size:1.08rem}
.instruction{margin-top:2rem;color:var(--cyan-fonce);font-weight:900}
.pv-choix{display:grid;grid-template-columns:1fr 1fr;border:3px solid var(--scene)}
.pv-choix button{min-height:70px;border:0;border-right:2px solid var(--scene);border-bottom:2px solid var(--scene);background:var(--papier-clair);font-weight:900;text-transform:uppercase;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease,letter-spacing .25s ease}
.pv-choix button:nth-child(2n){border-right:0}.pv-choix button:nth-last-child(-n+2){border-bottom:0}
.pv-choix button:hover{background:var(--cyan-pale);letter-spacing:.03em;transform:translateY(-2px)}
.pv-choix button.actif{background:var(--cyan);color:var(--scene);box-shadow:inset 0 0 0 4px var(--scene)}
.pv-resultat{margin-top:1.5rem;display:grid;grid-template-columns:150px minmax(230px,.75fr) 1fr;min-height:500px;background:var(--scene);color:var(--blanc);border:3px solid var(--scene)}
.pv-resultat.anime{animation:changeFiche .55s ease both}
.pv-date{padding:1.4rem;background:var(--cyan);color:var(--scene);display:flex;flex-direction:column;justify-content:space-between;border-right:3px solid var(--scene)}
.pv-date strong{font-family:var(--ft-titre);font-size:clamp(3rem,5vw,5.5rem);font-weight:900;line-height:.78;writing-mode:vertical-rl;transform:rotate(180deg)}
.pv-date span{font-weight:900;letter-spacing:.15em}
.pv-resultat .visuel{min-height:100%;filter:grayscale(.7);transition:filter .7s ease,transform .7s ease}
.pv-resultat:hover .visuel{filter:grayscale(0);transform:scale(.985)}
.pv-fiche{padding:clamp(1.5rem,3vw,3rem);display:flex;flex-direction:column}
.pv-fiche>p:first-child{margin:0;font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.pv-fiche h3{margin:1rem 0;font-family:var(--ft-titre);font-size:clamp(2.7rem,5vw,5.5rem);font-weight:900;line-height:.85;text-transform:uppercase}
.pv-fiche ul{margin:1rem 0;padding:0;list-style:none;border-top:1px solid var(--gris-fonce)}
.pv-fiche li{padding:.65rem 0;border-bottom:1px solid var(--gris-fonce);font-size:.8rem}
.pv-fiche a{margin-top:auto;color:var(--cyan);font-weight:900;border-bottom:2px solid var(--cyan);padding-bottom:.5rem;transition:color .25s ease,border-color .25s ease,transform .25s ease}
.pv-fiche a:hover{color:var(--blanc);border-color:var(--blanc);transform:translateX(5px)}

.phrase-scene{background:var(--cyan);padding:clamp(5rem,9vw,10rem) clamp(1rem,5vw,6rem);border-top:3px solid var(--scene);border-bottom:3px solid var(--scene)}
.phrase-scene blockquote{max-width:1400px;margin:1rem 0 4rem;font-family:var(--ft-titre);font-size:clamp(3rem,7vw,8.5rem);font-weight:700;font-stretch:112%;line-height:.88;letter-spacing:-.055em}
.phrase-scene>div{max-width:880px;margin-left:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,6rem)}

.galerie-scene{background:var(--scene);color:var(--blanc);padding:clamp(6rem,9vw,10rem) 0 0;overflow:hidden}
.galerie-entete{padding:0 clamp(1rem,5vw,6rem) 3rem;display:grid;grid-template-columns:1fr auto;align-items:end}
.galerie-entete .index-sec{grid-column:1/3}
.galerie-nav{display:flex;align-items:center;gap:1rem}
.galerie-nav button{width:52px;height:52px;border:1px solid var(--gris-fonce);background:var(--transparent);color:var(--blanc);font-size:1.3rem;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease,border-color .25s ease}
.galerie-nav button:hover{background:var(--cyan);color:var(--scene);transform:translateY(-3px);border-color:var(--cyan)}
.galerie-nav span{font-family:var(--ft-titre);font-size:1.5rem}
.galerie-piste{height:min(76vh,820px);position:relative}
.galerie-piste figure{position:absolute;inset:0;opacity:0;transform:scale(1.035);transition:opacity .8s ease,transform 1.2s ease}
.galerie-piste figure.actif{opacity:1;transform:scale(1);z-index:1}
.galerie-piste img{filter:saturate(.4) contrast(1.15)}
.galerie-piste figcaption{position:absolute;left:clamp(1rem,5vw,6rem);bottom:2rem;background:var(--cyan);color:var(--scene);padding:.7rem 1rem;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}

.dates{max-width:var(--max);margin:auto;padding:clamp(6rem,11vw,12rem) clamp(1rem,4vw,5rem);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,10rem)}
.dates-titre{align-self:start;position:sticky;top:120px}
.dates-titre a{display:inline-block;margin-top:2rem;border-bottom:3px solid var(--scene);font-weight:900;transition:color .25s ease,border-color .25s ease,transform .25s ease}
.dates-titre a:hover{color:var(--cyan-fonce);border-color:var(--cyan-fonce);transform:translateX(5px)}
.dates-liste{margin:0;padding:0;list-style:none;border-top:3px solid var(--scene)}
.dates-liste li{border-bottom:3px solid var(--scene)}
.dates-liste a{min-height:145px;display:grid;grid-template-columns:130px 1fr auto 42px;gap:1.5rem;align-items:center;padding:1.3rem 0;transition:background .3s ease,color .3s ease,padding .3s ease,transform .3s ease}
.dates-liste a:hover{background:var(--cyan);padding-left:1rem;padding-right:1rem;transform:translateX(-6px)}
.dates-liste time{font-family:var(--ft-titre);font-size:1.65rem;font-weight:900}
.dates-liste span{display:flex;flex-direction:column}
.dates-liste b{font-family:var(--ft-titre);font-size:clamp(1.8rem,3vw,3.4rem);line-height:.9;text-transform:uppercase}
.dates-liste small{margin-top:.5rem}.dates-liste em{font-style:normal;font-weight:800}.dates-liste i{font-size:1.8rem;font-style:normal}

.coulisse-editorial{display:grid;grid-template-columns:58% 42%;min-height:820px;background:var(--cyan);border-top:3px solid var(--scene);border-bottom:3px solid var(--scene)}
.coulisse-editorial>.visuel{clip-path:polygon(0 0,93% 0,100% 100%,0 100%)}
.coulisse-editorial>.visuel img{filter:grayscale(1) contrast(1.2);transition:filter .9s ease,transform 1.2s ease}
.coulisse-editorial:hover>.visuel img{filter:grayscale(0);transform:scale(1.025)}
.coulisse-editorial>div{padding:clamp(4rem,7vw,8rem) clamp(1.5rem,4vw,5rem);display:flex;flex-direction:column;justify-content:center}
.coulisse-editorial h2{font-size:clamp(3rem,5.7vw,6.8rem)}
.bt-contour,.bt-plein{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:50px;padding:.85rem 1.2rem;border:2px solid currentColor;font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
.bt-contour:hover{background:var(--scene);color:var(--blanc);transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--papier-clair)}
.bt-plein{background:var(--cyan);color:var(--scene);border-color:var(--cyan)}
.bt-plein:hover{background:var(--papier-clair);border-color:var(--papier-clair);transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--cyan-fonce)}

.accessibilite{background:var(--scene);color:var(--blanc);padding:clamp(6rem,10vw,11rem) clamp(1rem,5vw,6rem);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,8vw,9rem)}
.accessibilite h2{color:var(--cyan);font-size:clamp(3.5rem,6.5vw,7.5rem)}
.access-liste{border-top:1px solid var(--gris-fonce)}
.access-liste article{display:grid;grid-template-columns:70px 1fr;column-gap:1rem;padding:1.7rem 0;border-bottom:1px solid var(--gris-fonce);transition:background .3s ease,padding .3s ease,color .3s ease}
.access-liste article:hover{background:var(--scene-2);padding-left:1rem;padding-right:1rem}
.access-liste article span{grid-row:1/3;font-family:var(--ft-titre);font-size:2.6rem;color:var(--cyan)}
.access-liste h3{margin:0;font-family:var(--ft-titre);font-size:1.8rem;text-transform:uppercase}.access-liste p{margin:.4rem 0 0}
.access-liste>a{display:block;padding:1.5rem 0;color:var(--cyan);font-weight:900;transition:color .25s ease,letter-spacing .25s ease,transform .25s ease}
.access-liste>a:hover{color:var(--blanc);letter-spacing:.025em;transform:translateX(6px)}

.lieu-plein{min-height:900px;position:relative;background:var(--scene)}
.lieu-plein>.visuel{position:absolute;inset:0}
.lieu-plein>.visuel img{filter:grayscale(.8) contrast(1.05);transition:filter 1s ease,transform 1.4s ease}
.lieu-plein:hover>.visuel img{filter:grayscale(.2);transform:scale(1.02)}
.lieu-plein::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--voile-gauche) 0,color-mix(in srgb,var(--scene) 80%,var(--transparent)) 48%,var(--transparent) 78%)}
.lieu-carte{position:relative;z-index:2;min-height:900px;width:min(58%,780px);padding:clamp(5rem,10vw,11rem) clamp(1rem,5vw,6rem);color:var(--blanc);display:flex;flex-direction:column;justify-content:center}
.lieu-carte h2{font-size:clamp(3.3rem,6.2vw,7rem)}
.lieu-carte dl{display:grid;grid-template-columns:repeat(3,1fr);margin:2rem 0;border-top:1px solid var(--gris-fonce);border-bottom:1px solid var(--gris-fonce)}
.lieu-carte dl div{padding:1rem;border-right:1px solid var(--gris-fonce)}.lieu-carte dl div:last-child{border-right:0}
.lieu-carte dt{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}.lieu-carte dd{margin:.35rem 0 0;font-size:.82rem}

.equipe-journal{max-width:var(--max);margin:auto;padding:clamp(6rem,11vw,12rem) clamp(1rem,4vw,5rem);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,8vw,10rem);align-items:center}
.portraits{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.portraits figure{aspect-ratio:3/4;border:3px solid var(--scene)}
.portraits figure:nth-child(2){margin-top:6rem}
.portraits img{filter:grayscale(1);transition:filter .7s ease,transform .9s ease}
.portraits figure:hover img{filter:grayscale(0);transform:scale(1.025)}
.portraits figcaption{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:var(--cyan);color:var(--scene);font-size:.68rem;font-weight:900;text-transform:uppercase}
.equipe-journal>div:last-child>a{display:inline-block;margin-top:1rem;font-family:var(--ft-titre);font-size:clamp(1.8rem,3vw,3.4rem);font-weight:900;border-bottom:4px solid var(--cyan-fonce);transition:color .25s ease,border-color .25s ease,transform .25s ease}
.equipe-journal>div:last-child>a:hover{color:var(--cyan-fonce);border-color:var(--scene);transform:translateX(7px)}

.finale{padding:clamp(5rem,9vw,10rem) clamp(1rem,5vw,6rem);background:var(--cyan);display:grid;grid-template-columns:1fr auto;align-items:end;border-top:3px solid var(--scene)}
.finale .sur{grid-column:1/3}.finale h2{margin:0;font-family:var(--ft-titre);font-size:clamp(7rem,18vw,20rem);font-weight:900;line-height:.72;letter-spacing:-.075em}.finale>div{padding-left:2rem;border-left:3px solid var(--scene)}
.finale .bt-plein{background:var(--scene);color:var(--blanc);border-color:var(--scene)}.finale .bt-plein:hover{background:var(--papier-clair);color:var(--scene);border-color:var(--papier-clair)}

.pied{padding:5rem clamp(1rem,4vw,5rem);display:grid;grid-template-columns:1.4fr .7fr .7fr 1fr;gap:clamp(2rem,4vw,5rem);background:var(--scene);color:var(--blanc);border-top:6px solid var(--cyan)}
.pied .logo{color:var(--cyan);max-width:max-content;margin-bottom:2rem}
.pied nav{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.pied nav a{border-bottom:1px solid var(--gris-fonce);transition:color .2s ease,padding-left .2s ease,border-color .2s ease}
.pied nav a:hover{color:var(--cyan);padding-left:.45rem;border-color:var(--cyan)}
.pied p{margin:0 0 1rem}.pied .credit{font-size:.7rem;color:var(--gris)}

.rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease var(--delai,0ms),transform .7s ease var(--delai,0ms)}
.rv.visible{opacity:1;transform:translateY(0)}

.page-hero{min-height:620px;padding:clamp(10rem,18vw,15rem) clamp(1rem,5vw,6rem) 5rem;background:var(--scene);color:var(--blanc);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0 0 0 72%;background-image:url('../images/foyer.webp');background-size:cover;background-position:center;filter:grayscale(1);opacity:.11}
.page-hero::after{content:"";position:absolute;right:-7vw;top:18%;width:42vw;height:42vw;border:4vw solid var(--scene-2);border-radius:50%;animation:tourneLent 28s linear infinite}
.page-hero>*{position:relative;z-index:1}
.page-hero h1{max-width:1180px;margin:0;font-family:var(--ft-titre);font-size:clamp(4.2rem,9.5vw,11rem);font-weight:900;font-stretch:120%;line-height:.82;letter-spacing:-.06em;text-transform:uppercase}
.page-hero>p:last-child{max-width:650px;font-size:1.15rem}
.page-shell{max-width:var(--max);margin:auto;padding:clamp(4rem,8vw,9rem) clamp(1rem,4vw,5rem)}
.page-shell h2{font-family:var(--ft-titre);font-size:clamp(2.8rem,5vw,6rem);font-weight:900;line-height:.88;letter-spacing:-.045em;text-transform:uppercase}
.deux-colonnes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,9rem);align-items:start}
.deux-colonnes>.visuel{min-height:600px}
.bande-negatif{margin:5rem 0;padding:clamp(2.5rem,5vw,5.5rem);background:var(--scene);color:var(--blanc);border-left:8px solid var(--cyan)}
.bande-negatif h2{color:var(--cyan)}
.programme-grille{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;background:var(--scene);border:3px solid var(--scene)}
.carte-programme{background:var(--papier-clair);display:grid;grid-template-columns:44% 56%;min-height:420px;transition:background .3s ease,color .3s ease,transform .3s ease}
.carte-programme:hover{background:var(--cyan);transform:translateY(-4px)}
.carte-programme>.visuel{min-height:100%}.carte-programme>div{padding:1.7rem}.carte-programme h2{font-size:clamp(2rem,3.5vw,4rem)}
.meta{font-size:.66rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.prix{font-weight:900}
.tableau{width:100%;border-collapse:collapse}.tableau th,.tableau td{padding:1rem;border-bottom:2px solid var(--scene);text-align:left}.tableau th{font-family:var(--ft-titre);font-size:1.25rem;text-transform:uppercase}
.liste-info{padding:0;margin:0;list-style:none;border-top:3px solid var(--scene)}.liste-info li{padding:1.2rem 0;border-bottom:2px solid var(--scene)}.liste-info strong{display:block;font-family:var(--ft-titre);font-size:1.5rem;text-transform:uppercase}
.fiche-hero{min-height:88vh;position:relative;background:var(--scene);color:var(--blanc);display:flex;align-items:flex-end;overflow:hidden}
.fiche-hero>.visuel{position:absolute;inset:0}.fiche-hero>.visuel img{filter:grayscale(.85) contrast(1.15);animation:kenBurns 24s ease-in-out infinite alternate}
.fiche-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--voile-bas) 0,color-mix(in srgb,var(--scene) 45%,var(--transparent)) 48%,var(--voile-leger) 100%)}
.fiche-hero>div{position:relative;z-index:1;padding:clamp(8rem,15vw,14rem) clamp(1rem,5vw,6rem) 5rem;width:100%}.fiche-hero h1{margin:0;font-family:var(--ft-titre);font-size:clamp(4.5rem,10vw,11rem);font-weight:900;line-height:.82;text-transform:uppercase}.fiche-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.fiche-meta span{padding:.6rem .8rem;border:1px solid var(--gris);font-size:.72rem;text-transform:uppercase}
.etapes{counter-reset:etape;border-top:3px solid var(--scene)}.etape{counter-increment:etape;display:grid;grid-template-columns:100px 1fr;padding:1.5rem 0;border-bottom:2px solid var(--scene)}.etape::before{content:"0" counter(etape);font-family:var(--ft-titre);font-size:2.6rem;font-weight:900}.etape h3{margin:0;font-family:var(--ft-titre);font-size:1.8rem;text-transform:uppercase}
.accordeon{border-top:3px solid var(--scene)}.accordeon button{width:100%;min-height:64px;padding:1rem 0;border:0;border-bottom:2px solid var(--scene);background:var(--transparent);display:flex;justify-content:space-between;text-align:left;font-weight:900;cursor:pointer;transition:color .25s ease,padding .25s ease,background .25s ease}.accordeon button:hover{color:var(--cyan-fonce);padding-left:1rem;background:var(--cyan-pale)}.accordeon div{padding:1rem 0 2rem}
.connexion{max-width:760px;margin:auto;padding:clamp(2rem,5vw,5rem);border:3px solid var(--scene);background:var(--papier-clair)}
.formulaire{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.champ{display:flex;flex-direction:column;gap:.4rem}.champ.large{grid-column:1/3}.champ label{font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.champ input,.champ select,.champ textarea{min-height:52px;border:2px solid var(--scene);background:var(--papier-clair);color:var(--scene);padding:.8rem;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.champ input:focus,.champ select:focus,.champ textarea:focus{outline:0;border-color:var(--cyan-fonce);background:var(--cyan-pale);transform:translateY(-2px);box-shadow:0 4px 0 var(--cyan-fonce)}

@keyframes kenBurns{0%{transform:scale(1)}100%{transform:scale(1.06)}}
@keyframes entreHero{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}
@keyframes entreModule{0%{opacity:0;transform:translateX(30px)}100%{opacity:1;transform:translateX(0)}}
@keyframes defile{0%{transform:scaleY(0);opacity:0}45%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0;transform-origin:bottom}}
@keyframes ouvreMenu{0%{opacity:0;clip-path:inset(0 0 100% 0)}100%{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes changeFiche{0%{opacity:.2;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
@keyframes ligneVivante{0%{transform:scaleX(.15)}100%{transform:scaleX(1)}}
@keyframes tourneLent{to{transform:rotate(360deg)}}
@keyframes signal{0%,100%{background:var(--cyan)}50%{background:var(--cyan-vif)}}
@keyframes respiration{0%,100%{opacity:.62}50%{opacity:1}}

@media (max-width:1200px){
  .nav-principale{display:none}.hd{grid-template-columns:auto 1fr auto auto}.tel{justify-self:end}
  .hero-contenu{grid-template-columns:1fr;bottom:5rem}.hero-module{grid-column:1;grid-row:auto;max-width:500px;margin-top:1.5rem}.hero-intro{max-width:500px}
  .programme-vivant,.dates{grid-template-columns:1fr}.pv-intro,.dates-titre{position:static}.pv-resultat{grid-template-columns:130px .8fr 1fr}
  .equipe-journal{grid-template-columns:1fr 1fr}.lieu-carte{width:72%}
  .programme-grille{grid-template-columns:1fr}
}

@media (max-width:780px){
  .hd{min-height:82px;padding:.8rem 1rem;grid-template-columns:auto 1fr auto}.hd .tel{grid-column:2;justify-self:end}.tel span{display:none}.tel strong{font-size:.72rem}.menu-bt{grid-column:3;padding:.7rem}.menu-bt span{display:none}.grand-menu{inset:82px 0 0;grid-template-columns:1fr;gap:2rem;padding:2rem 1rem}.grand-menu a{font-size:1.7rem}.grand-menu p{margin-top:0}
  .hero-s{min-height:760px;height:92svh}.hero-photo{object-position:60% center}.hero-trame{background:linear-gradient(0deg,var(--voile-bas) 0,color-mix(in srgb,var(--scene) 62%,var(--transparent)) 58%,var(--voile-leger) 100%)}.hero-contenu{left:1rem;right:1rem;bottom:3.5rem}.hero-contenu h1{max-width:100%;font-size:clamp(3.6rem,15vw,5rem);font-variation-settings:'wdth' 90;overflow-wrap:anywhere}.hero-intro{font-size:.98rem;margin-top:1rem}.hero-module{display:none}.defilement{display:none}
  .essentiel{grid-template-columns:1fr}.essentiel>div{min-height:105px;border-right:0;border-bottom:2px solid var(--scene)}
  .programme-vivant{padding:5rem 1rem}.pv-intro h2,.galerie-entete h2,.dates-titre h2,.coulisse-editorial h2,.accessibilite h2,.lieu-carte h2,.equipe-journal h2{font-size:clamp(3.2rem,15vw,5rem)}.pv-choix{grid-template-columns:1fr}.pv-choix button,.pv-choix button:nth-child(2n),.pv-choix button:nth-last-child(-n+2){border-right:0;border-bottom:2px solid var(--scene)}.pv-choix button:last-child{border-bottom:0}.pv-resultat{grid-template-columns:74px 1fr;grid-template-rows:300px auto}.pv-date{grid-row:1/3}.pv-resultat .visuel{grid-column:2;grid-row:1}.pv-fiche{grid-column:2;grid-row:2}.pv-date strong{font-size:3.2rem}
  .phrase-scene{padding:5rem 1rem}.phrase-scene blockquote{font-size:clamp(2.9rem,14vw,5rem)}.phrase-scene>div{grid-template-columns:1fr}
  .galerie-entete{padding:0 1rem 2rem;grid-template-columns:1fr}.galerie-entete .index-sec{grid-column:1}.galerie-nav{margin-top:1.5rem}.galerie-piste{height:62vh;min-height:480px}.galerie-piste img{object-position:center}.galerie-piste figcaption{left:1rem;bottom:1rem}
  .dates{padding:5rem 1rem}.dates-liste a{grid-template-columns:90px 1fr 32px;gap:.7rem}.dates-liste em{display:none}.dates-liste time{font-size:1.2rem}.dates-liste b{font-size:1.8rem}
  .coulisse-editorial{grid-template-columns:1fr}.coulisse-editorial>.visuel{min-height:440px;clip-path:none}.coulisse-editorial>div{padding:4rem 1rem}
  .accessibilite{grid-template-columns:1fr;padding:5rem 1rem}.access-liste article{grid-template-columns:55px 1fr}.access-liste article span{font-size:2rem}
  .lieu-plein{min-height:980px}.lieu-plein::after{background:linear-gradient(0deg,var(--voile-bas) 0,color-mix(in srgb,var(--scene) 75%,var(--transparent)) 70%,var(--voile-leger) 100%)}.lieu-carte{width:100%;min-height:980px;padding:18rem 1rem 4rem;justify-content:flex-end}.lieu-carte dl{grid-template-columns:1fr}.lieu-carte dl div{border-right:0;border-bottom:1px solid var(--gris-fonce)}
  .equipe-journal{grid-template-columns:1fr;padding:5rem 1rem}.portraits figure:nth-child(2){margin-top:3rem}.portraits figcaption{font-size:.56rem}
  .finale{grid-template-columns:1fr;padding:5rem 1rem}.finale .sur{grid-column:1}.finale h2{font-size:clamp(6rem,27vw,9rem)}.finale>div{margin-top:2rem;padding:1.5rem 0 0;border-left:0;border-top:3px solid var(--scene)}
  .pied{grid-template-columns:1fr 1fr;padding:4rem 1rem}.pied>div:first-child,.pied>div:last-child{grid-column:1/3}
  .page-hero{min-height:540px;padding:9rem 1rem 4rem}.page-hero h1{max-width:100%;font-size:clamp(3.5rem,16vw,5.5rem);font-variation-settings:'wdth' 88;overflow-wrap:anywhere}.page-shell{padding:4rem 1rem}.deux-colonnes{grid-template-columns:1fr}.deux-colonnes>.visuel{min-height:420px}.carte-programme{grid-template-columns:1fr}.carte-programme>.visuel{min-height:320px}.fiche-hero{min-height:86svh}.fiche-hero>div{padding:9rem 1rem 3rem}.fiche-hero h1{max-width:100%;font-size:clamp(3.6rem,16vw,5.5rem);font-variation-settings:'wdth' 88;overflow-wrap:anywhere}.bande-negatif h2{max-width:100%;font-size:clamp(2.5rem,12vw,4rem);font-variation-settings:'wdth' 85;overflow-wrap:anywhere}.etape{grid-template-columns:70px 1fr}.formulaire{grid-template-columns:1fr}.champ.large{grid-column:1}.tableau{font-size:.86rem}.tableau th,.tableau td{padding:.7rem .35rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}.hero-photo,.fiche-hero>.visuel img{animation:none}
}
