/* ==========================================================================
   Labadaude — feuille de style
   Couleurs et polices : modifier les variables ci-dessous.
   ========================================================================== */

/* Police provisoire (libre, OFL). Pour revenir à Forma DJR via Adobe Fonts,
   ajouter le <link> du kit Adobe dans build.py : « forma-djr-text » est déjà
   en tête de la pile --font. */
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;
  src:url(../fonts/instrument-sans-latin-500-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;
  src:url(../fonts/instrument-sans-latin-ext-500-normal.woff2) format("woff2");
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;
  src:url(../fonts/instrument-sans-latin-600-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;
  src:url(../fonts/instrument-sans-latin-ext-600-normal.woff2) format("woff2");
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:700;font-display:swap;
  src:url(../fonts/instrument-sans-latin-700-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:700;font-display:swap;
  src:url(../fonts/instrument-sans-latin-ext-700-normal.woff2) format("woff2");
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* Lettres grecques : Inter Tight (libre, OFL), très proche, prend le relais automatiquement */
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;
  src:url(../fonts/inter-tight-greek-500-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;
  src:url(../fonts/inter-tight-greek-ext-500-normal.woff2) format("woff2");unicode-range:U+1F00-1FFF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;
  src:url(../fonts/inter-tight-greek-600-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;
  src:url(../fonts/inter-tight-greek-ext-600-normal.woff2) format("woff2");unicode-range:U+1F00-1FFF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:700;font-display:swap;
  src:url(../fonts/inter-tight-greek-700-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:700;font-display:swap;
  src:url(../fonts/inter-tight-greek-ext-700-normal.woff2) format("woff2");unicode-range:U+1F00-1FFF}

:root{
  --cream:#dfd6b5;        /* lightAccent : titres, textes, boutons */
  --white:#eee8e6;        /* blanc cassé : sous-titres, dates */
  --blue:#3347ac;         /* darkAccent : pied de page */
  --orange:#d25d17;       /* accent */
  --black:#0b0b0b;
  --font:"forma-djr-text","Forma DJR Text","Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;

  --wrap:min(80vw,1200px);          /* largeur utile du contenu */
  --edge:max(16px,4vw);             /* marge latérale des éléments « en coin » */
  --h1:calc(16px + 3.6vw);
  --h2:calc(16px + 2.2vw);
  --h3:calc(16px + 1.44vw);
  --small:12.8px;
  --btn:12px;
  --large:calc(16px + .72vw);
  --track:-.02em;
  --w-text:600;           /* graisse des textes en capitales et titres */
  --w-read:500;           /* graisse des textes de lecture (minuscules) */
  --read:15.5px;          /* taille des textes de lecture */
}
@media (min-width:1500px){:root{--h1:70px;--h2:49px;--h3:37.6px;--large:26.8px}}
@media (max-width:767px){
  :root{--wrap:calc(100vw - 2*var(--edge));--edge:6vw;--h1:44px;--h2:32px;--h3:27px;--small:13.8px;--btn:13.3px;--large:22px;--read:16px}
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--black)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--black);color:var(--cream);font-family:var(--font);font-weight:var(--w-text);
  font-size:var(--small);line-height:1.21;letter-spacing:var(--track);text-transform:uppercase;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4,p,ul,dl,dd,figure{margin:0;padding:0}
ul{list-style:none}
strong,b{font-weight:700}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.clip-defs{position:absolute;width:0;height:0;overflow:hidden}
:focus-visible{outline:2px solid var(--white);outline-offset:3px}

/* ── Typographie ─────────────────────────────────────────────────────────── */
.h1{font-size:var(--h1);line-height:1.056;letter-spacing:var(--track);color:var(--cream);font-weight:var(--w-text)}
.h2{font-size:var(--h2);line-height:1.1;letter-spacing:var(--track);color:var(--cream);font-weight:var(--w-text)}
.h3{font-size:var(--h3);line-height:1.14;letter-spacing:var(--track);color:var(--white);font-weight:var(--w-text)}
.rich p+p{margin-top:1.21em}
.rich a{text-decoration:underline;text-underline-offset:2px}
.rich--justify{text-align:justify}
/* Textes de lecture (descriptions, à propos) : minuscules, plus grands, interligne aéré */
.rich--lire{text-transform:none;font-size:var(--read);line-height:1.55;letter-spacing:0;font-weight:var(--w-read)}
.rich--lire p+p{margin-top:.9em}
.rich--lire strong{font-weight:700}
.rich--lire ul{display:grid;gap:.45em}
.rich--lire li{position:relative;padding-left:1.1em}
.rich--lire li::before{content:"–";position:absolute;left:0}

/* ── Boutons (pilules) ───────────────────────────────────────────────────── */
.btn{display:inline-block;font-size:var(--btn);letter-spacing:.1em;line-height:1.2;color:var(--cream);
  text-decoration:none;border:1px solid var(--cream);border-radius:300px;padding:.4em 1.2em;white-space:nowrap;
  transition:background-color .2s,color .2s}
a.btn:hover,.card__link:hover .btn,a.btn:focus-visible{background:var(--cream);color:var(--black)}

/* ── Sections et fonds ───────────────────────────────────────────────────── */
.section{position:relative;isolation:isolate;overflow:hidden}
.section--dark{min-height:100vh}
.bg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--black)}
.bg__img{position:absolute;inset:0;background-size:cover;background-position:50% 50%;will-change:transform}
.bg--parallax .bg__img{inset:-15% 0}
.bg--blue{background:#0b3fd0}
.bg__ov{position:absolute;inset:0;background:#000}
.bg__tile{display:block;width:100%;height:100%}
.bg .liquid{z-index:0}

/* ── Formes d’images ─────────────────────────────────────────────────────── */
.art{position:relative;display:flex;align-items:center;justify-content:center}
.art__frame{position:relative;aspect-ratio:2/3;height:100%;max-width:100%;overflow:hidden}
.art__frame img{width:100%;height:100%;object-fit:cover}
.art--none .art__frame{aspect-ratio:4/5}
.art--none .art__frame img{object-fit:contain}
.art--rounded .art__frame{aspect-ratio:.707;border-radius:24%/17%}
.art--wide-horizontal-stacked-pills .art__frame,.art--wide-vertical-stacked-pills .art__frame{aspect-ratio:3/2}
.art--four-petal-flower .art__frame{aspect-ratio:1}
.art--hourglass .art__frame{clip-path:url(#clip-hourglass)}
.art--arched-window .art__frame{clip-path:url(#clip-arched-window)}
.art--vertical-stacked-circles .art__frame{clip-path:url(#clip-vertical-stacked-circles)}
.art--wide-horizontal-stacked-pills .art__frame{clip-path:url(#clip-wide-horizontal-stacked-pills)}
.art--wide-vertical-stacked-pills .art__frame{clip-path:url(#clip-wide-vertical-stacked-pills)}
.art--keystone .art__frame{clip-path:url(#clip-keystone)}
.art--vertical-parallelogram .art__frame{clip-path:url(#clip-vertical-parallelogram)}
.art--award .art__frame{clip-path:url(#clip-award)}
.art--narrow-horizontal-stacked-pills .art__frame{clip-path:url(#clip-narrow-horizontal-stacked-pills)}
.art--vertical-oval .art__frame{clip-path:url(#clip-vertical-oval)}
.art--four-petal-flower .art__frame{clip-path:url(#clip-four-petal-flower)}

/* ── Mise en page générale ───────────────────────────────────────────────── */
.wrap{width:var(--wrap);margin-inline:auto;position:relative}
/* Sélecteur de langue (en haut à droite de chaque page) */
.langs{position:absolute;z-index:20;top:max(14px,1.6vw);right:var(--edge);display:flex;align-items:center;gap:8px;
  font-size:12.5px;letter-spacing:.1em;color:var(--cream)}
.langs a{text-decoration:none;opacity:.7;padding:4px 1px;border-bottom:1px solid transparent}
.langs a:hover{opacity:1}
.langs a[aria-current]{opacity:1;border-bottom-color:currentColor}
.langs span{opacity:.5}

/* ── Vidéos (chargées au clic) ───────────────────────────────────────────── */
.video{position:relative;aspect-ratio:16/9;background:#151515;overflow:hidden}
.video__poster{position:absolute;inset:0;display:block}
.video__poster img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .2s}
.video__poster:hover img{opacity:1}
.video__play{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:12px;background:rgba(20,20,20,.8)}
.video__play::after{content:"";position:absolute;left:27px;top:14px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent var(--white)}
.video__poster:hover .video__play{background:#c00}
.video__ext{position:absolute;top:8px;right:8px;z-index:2;padding:6px 11px;border:1px solid rgba(238,232,230,.5);border-radius:20px;
  background:rgba(22,22,22,.9);color:var(--white);font:500 12px/1.3 var(--font);letter-spacing:.02em;text-decoration:none}
.video__ext:hover{background:var(--white);color:var(--black)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video.is-playing .video__poster,.video.is-playing .video__ext{display:none}

/* ── Bandeaux défilants ──────────────────────────────────────────────────── */
.marquee{position:relative;overflow:hidden;white-space:nowrap}
.marquee__track{display:flex;width:max-content;animation:marquee 40s linear infinite}
.marquee__chunk{display:flex;flex:none}
.marquee__chunk span{padding-right:.7em}
.marquee[data-paused="true"] .marquee__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee__track{animation-play-state:paused}}
.marquee__toggle{position:absolute;right:12px;bottom:12px;width:28px;height:28px;border-radius:50%;border:1px solid currentColor;
  background:rgba(0,0,0,.25);color:inherit;font:12px/1 var(--font);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.marquee__toggle:hover{background:rgba(0,0,0,.5)}

/* ==========================================================================
   Pages
   ========================================================================== */

/* Animation WebGL (bandeau de l’agenda) */
.liquid{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.2s}
.liquid.is-ready{opacity:1}

/* ── Accueil ─────────────────────────────────────────────────────────────── */
/* Boutons et images partagent la même largeur (--row) : ils sont alignés bord à bord. */
.section--home{min-height:100vh}
.home{--row:min(68vw,1000px);display:flex;flex-direction:column;align-items:center;padding:3.3vw 0 5vw}
.home__logo{width:min(25vw,370px)}
.home__logo img{width:100%}
.home__nav{display:flex;justify-content:space-between;width:var(--row);margin:6vw 0 5.8vw}
.home__arts{display:flex;justify-content:space-between;width:var(--row);height:min(22.7vw,340px)}
.home__arts .art{height:100%;width:auto}
/* Accueil : halo lumineux qui suit la souris */
.art__frame{background:var(--edge,transparent)}
.art__wrap{position:relative;height:100%;max-width:100%;display:flex}
.art__credit{position:absolute;left:100%;bottom:0;margin-left:7px;writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:9.5px;letter-spacing:.06em;line-height:1;color:var(--cream);opacity:.5;white-space:nowrap;pointer-events:none}
.glow{position:absolute;left:0;top:0;z-index:-1;width:min(32vw,440px);aspect-ratio:1;margin:calc(min(32vw,440px)/-2) 0 0 calc(min(32vw,440px)/-2);
  border-radius:50%;pointer-events:none;opacity:0;transition:opacity .8s ease;mix-blend-mode:screen;will-change:transform;
  background:radial-gradient(circle,rgba(255,244,214,.42) 0%,rgba(255,244,214,.2) 28%,rgba(170,200,255,.08) 52%,transparent 70%);filter:blur(18px)}
.glow.is-on{opacity:1}
@media (hover:none),(prefers-reduced-motion:reduce){.glow{display:none}}
/* Bandeau Instagram (accueil) */
.insta{width:var(--row);margin-top:6vw}
.insta__head{display:inline-flex;align-items:center;gap:.6em;font-size:var(--btn);letter-spacing:.1em;color:var(--cream);text-decoration:none;
  border-bottom:1px solid rgba(223,214,181,.45);padding-bottom:3px;transition:border-color .2s}
.insta__head:hover,.insta__head:focus-visible{border-bottom-color:var(--cream)}
.insta__grid{display:grid;grid-template-columns:repeat(var(--n,6),1fr);gap:10px;margin-top:1.4vw}
.insta__grid a{display:block;aspect-ratio:3/4;overflow:hidden;background:rgba(0,0,0,.15)}
.insta__grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .3s}
.insta__grid a:hover img,.insta__grid a:focus-visible img{transform:scale(1.04)}
@media (max-width:767px){
  .home{--row:88vw;flex-direction:row;flex-wrap:wrap;justify-content:center;padding:56px 6vw 50px}
  .home__arts{display:contents}
  .home__arts .home__art--1,.home__arts .home__art--2{order:1;height:192px;width:44vw}
  .home__logo{order:2;width:66vw;margin-top:24px}
  .home__nav{order:3;width:100%;flex-direction:column;align-items:center;gap:18px;margin:24px 0}
  .home__nav .btn{min-width:172px;text-align:center}
  .home__arts .home__art--3{order:4;height:192px;width:44vw}
  .insta{order:5;width:100%;margin-top:40px}
  .insta__grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
}

/* ── À propos ────────────────────────────────────────────────────────────── */
.about{display:grid;grid-template-columns:repeat(20,1fr);padding:3.3vw 0 6vw;align-items:start}
.about__home{position:absolute;left:calc((var(--wrap) - 100vw)/2 + var(--edge));top:3.3vw}
.about__art--1{grid-column:1/7;grid-row:1/3;height:min(33vw,500px);margin-top:3vw}
.about__art--2{grid-column:5/11;grid-row:3/5;height:min(33vw,500px);margin-top:3.5vw}
.about__title{grid-column:12/19;grid-row:1;margin-top:3vw}
.about__text{grid-column:12/21;grid-row:2/4;margin-top:6.5vw}
@media (max-width:767px){
  .about{grid-template-columns:1fr;padding:30px 0 50px}
  .about>*{grid-column:1!important;grid-row:auto!important}
  .about__home{position:static;margin-bottom:60px}
  .about__art{height:199px;margin:0!important}
  .about__title{margin:46px 7vw 0;font-size:40px}
  .about__text{margin:46px 7vw}
}

/* ── Programmes (liste) ──────────────────────────────────────────────────── */
.programs{padding:9.4vw 0 3vw}
.p-programs .section--dark{padding-bottom:5vw}
.corner{position:absolute;top:6.6vw}
.corner--left{left:calc((var(--wrap) - 100vw)/2 + var(--edge))}
.programs__title{margin-top:.2em}
.programs__title--2{margin-top:10vw}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0 2%;margin-top:2.6vw}
.card__link{display:flex;flex-direction:column;align-items:center;text-decoration:none}
.card__art{height:min(16.2vw,240px);width:100%}
.card{display:flex;flex-direction:column;align-items:center}
.card__link .btn{margin-top:3.6vw}
.card__video{margin-top:.9em;font-size:var(--btn);letter-spacing:.1em;color:var(--white);text-decoration:none;
  border-bottom:1px solid rgba(238,232,230,.45);padding-bottom:2px;cursor:pointer;opacity:.85;transition:opacity .2s,border-color .2s}
.card__video:hover,.card__video:focus-visible{opacity:1;border-bottom-color:currentColor}
/* Dépliants : chaque programme s’ouvre à même la page */
.card,.panel{order:var(--o)}
.card__link[aria-expanded=true] .btn{background:var(--cream);color:var(--black)}
.panel{grid-column:1/-1;display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease,margin .45s ease;position:relative}
.panel.is-open,.panel:target:not([data-js]){grid-template-rows:1fr;margin:2.6vw 0 1vw}
.panel:target:not([data-js]) .panel__in{opacity:1;transform:none}
.panel__clip{overflow:hidden;min-height:0}
.panel__in{position:relative;display:grid;grid-template-columns:38% 1fr;gap:0 7%;padding:3.4vw 3.6vw 3.8vw;
  background:rgba(8,8,8,.62);border:1px solid rgba(223,214,181,.35);opacity:0;transform:translateY(-8px);transition:opacity .35s ease,transform .35s ease}
.panel.is-open .panel__in{opacity:1;transform:none;transition-delay:.12s}
.panel::before{content:"";position:absolute;top:-9px;left:var(--cx,50%);width:16px;height:16px;margin-left:-8px;z-index:1;
  background:#141414;border-left:1px solid rgba(223,214,181,.35);border-top:1px solid rgba(223,214,181,.35);transform:rotate(45deg);opacity:0;transition:opacity .2s}
.panel.is-open::before{opacity:1;transition-delay:.2s}
.panel__close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:1px solid var(--cream);
  background:transparent;color:var(--cream);font:14px/1 var(--font);cursor:pointer;transition:background-color .2s,color .2s}
.panel__close:hover,.panel__close:focus-visible{background:var(--cream);color:var(--black)}
.panel__sub{margin-top:.8em;font-size:var(--btn);letter-spacing:.1em;line-height:1.5;color:var(--white)}
.panel__videos{display:grid;gap:12px;margin-top:2.4vw}
.panel__body .h3{font-size:calc(var(--h3)*.62);margin:0 0 .9em;color:var(--cream)}
.panel__body .rich+.h3{margin-top:2em}
.panel__body{padding-right:30px}
@media (prefers-reduced-motion:reduce){.panel,.panel__in{transition:none}}
.marquee--programs{font-size:var(--h1);color:var(--white);padding:3vw 0;margin-top:2vw}
.marquee--programs .marquee__toggle{bottom:6px}
/* Fenêtre vidéo (page Programmes) */
.lightbox{width:min(92vw,1100px);max-width:none;padding:0;border:0;background:transparent;overflow:visible}
.lightbox::backdrop{background:rgba(0,0,0,.85)}
.lightbox__frame{aspect-ratio:16/9;background:#000}
.lightbox__frame iframe{width:100%;height:100%;border:0;display:block}
.lightbox__close{position:absolute;top:-44px;right:0;width:36px;height:36px;border-radius:50%;border:1px solid var(--cream);
  background:transparent;color:var(--cream);font:16px/1 var(--font);cursor:pointer}
.lightbox__close:hover{background:var(--cream);color:var(--black)}
body.has-lightbox{overflow:hidden}
@media (max-width:767px){
  .programs{padding:60px 0 20px}
  .corner{top:16px;left:0!important}
  .corner .btn{margin-left:calc(-1*var(--edge) + 0px)}
  .programs__title{margin-top:12px}
  .cards{grid-template-columns:1fr;gap:0}
  .card{margin-top:24px}
  .card__art{height:199px}
  .card__link .btn{margin-top:46px}
  .programs__title--2{margin-top:46px}
  .marquee--programs{padding:20px 0}
  .card,.panel{order:var(--om)}
  .panel.is-open{margin:24px 0 8px}
  .panel__in{grid-template-columns:1fr;padding:56px 20px 30px}
  .panel__videos{margin-top:24px}
  .panel__body{margin-top:36px;padding-right:0}
  .panel__body .h3{font-size:19px}
}

/* ── Programme (détail) ──────────────────────────────────────────────────── */
.prog{display:grid;grid-template-columns:39.4% 16.2% 44.4%;padding:6.6vw 0 6.6vw}
.prog__buttons{position:absolute;left:calc((var(--wrap) - 100vw)/2 + var(--edge));right:calc((var(--wrap) - 100vw)/2 + var(--edge));top:6.6vw;display:flex;justify-content:space-between;z-index:2}
.prog__hero{grid-column:1/-1;height:min(30.4vw,450px)}
.prog__hero--moyenne{height:min(21.9vw,330px);margin-top:2.8vw}
.prog__left{grid-column:1;display:flex;flex-direction:column;margin-top:3.5vw}
.prog__head{margin:0}
.prog__sub{margin-top:.6vw;color:var(--white)}
.prog__body{grid-column:3;margin-top:3.5vw}
.prog__body .h3{margin:0 0 2.2vw}
.prog__body .rich+.h3{margin-top:2.2vw}
.prog__videos{margin:auto 0;padding-top:3vw;display:grid;gap:12px;width:92%}
@media (max-width:767px){
  .prog{grid-template-columns:1fr;padding:59px 0 40px}
  .prog>*{grid-column:1!important}
  .prog__hero{height:199px}
  .prog__left{margin-top:46px}
  .prog__sub{margin-top:24px}
  .prog__body{margin-top:46px}
  .prog__body .h3{margin-bottom:18px}
  .prog__body .rich+.h3{margin-top:36px}
  .prog__videos{margin:0;padding-top:36px;width:100%}
  .prog__buttons{position:static;order:10;margin-top:46px}
}

/* ── Musicien·ne·s ───────────────────────────────────────────────────────── */
.team{padding:6.6vw 0 4vw}
.team__home{position:absolute;left:calc((var(--wrap) - 100vw)/2 + var(--edge));top:4vw}
.team__title{font-size:calc(16px + 3.33vw);color:var(--cream);margin:5vw 0 5vw;scroll-margin-top:30px}
.team__title:first-of-type{margin-top:7.5vw}
.person{display:grid;grid-template-columns:1fr 1fr;column-gap:4%;margin-bottom:6vw}
.person__col{display:flex;flex-direction:column;align-items:center}
.person__photo{height:min(38.8vw,580px);width:100%}
.person__instr{height:min(33.2vw,500px);width:100%;margin-top:2.8vw}
.person__instr+.person__cap{margin-top:3.6vw}
.person__cap{margin-top:.8vw;text-align:center;font-size:var(--small);color:var(--cream);font-weight:500;min-height:1.2em}
.person__cap a{text-decoration:none;display:inline-flex;align-items:center;gap:.5em}
.person__cap .icon{width:15px;height:15px;flex:none}
.person__cap a:hover span{text-decoration:underline}
/* Bandeau des crédits (comme le site d’origine) : fine bande claire, petit texte */
@media (max-width:767px){
  .team{padding:60px 0 30px}
  .team__home{top:24px;left:0}
  .team__home .btn{margin-left:-6vw}
  .team__title,.team__title:first-of-type{font-size:26px;margin:46px 0 40px}
  .person{grid-template-columns:1fr;margin-bottom:46px}
  .person__photo,.person__instr{height:199px;margin:0}
  .person__cap{margin:10px 0 20px}
    .person__instr+.person__cap{margin-top:10px}
}

/* ── Agenda ──────────────────────────────────────────────────────────────── */
.agenda__home{position:absolute;z-index:3;top:max(14px,1.6vw);left:var(--edge)}
.agenda__banner{position:relative;margin:max(56px,4.6vw) 2vw 0;border-radius:20px;overflow:hidden;aspect-ratio:1382/330;background:#222}
.agenda__banner-img,.agenda__banner-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.agenda__banner-img .liquid{z-index:1}
.marquee--agenda{position:absolute;inset:0;z-index:2;font-size:3.6vw;line-height:1.1;color:var(--white)}
.marquee--agenda .marquee__track{position:absolute;left:0;bottom:12%}
.agenda__banner .marquee__toggle{position:absolute;z-index:3;right:1.2vw;top:1.2vw;bottom:auto}
.agenda{padding:1vw 0 6vw}
.agenda__year{font-size:min(12vw,180px);line-height:1;color:var(--cream);font-weight:var(--w-text);letter-spacing:-.02em;margin:3vw 0 2vw -4vw;white-space:nowrap}
.events{display:grid;grid-template-columns:1fr 1fr;column-gap:12%;row-gap:2.4vw;margin-left:-4vw}
.event__date{margin-bottom:2.4vw}
.event__info{color:var(--cream);line-height:1.21}
.event__info a{text-decoration:none}
@media (max-width:767px){
  .agenda__banner{margin:64px 6vw 0;aspect-ratio:343/120;border-radius:14px}
  .marquee--agenda{font-size:24px}
  .agenda__banner .marquee__toggle{top:8px;right:8px;width:24px;height:24px}
  .agenda__year{font-size:56px;margin:46px 0 24px}
  .events{grid-template-columns:1fr;row-gap:46px;margin-left:0}
  .event__date{margin-bottom:24px}
}

/* ── 404 ─────────────────────────────────────────────────────────────────── */
.section--404{min-height:70vh}
.notfound{text-align:center;padding:12vw 0 8vw;display:flex;flex-direction:column;align-items:center}
.notfound__art{height:min(13.4vw,200px);width:100%}
.notfound .h2{margin-top:3.6vw;max-width:570px}
.notfound .rich{margin-top:3.6vw;color:var(--white)}
.notfound__langs{margin-top:20px;color:var(--white)}
@media (max-width:767px){.notfound{padding:118px 0 60px}.notfound__art{height:199px}.notfound .h2{margin-top:12px}.notfound .rich{margin-top:12px}}

/* ==========================================================================
   Pied de page + newsletter
   ========================================================================== */
.footer{position:relative;isolation:isolate;overflow:hidden;background:var(--blue);color:var(--cream);padding:max(48px,6.5vw) var(--edge) max(48px,8vw)}
.footer__grid{display:grid;grid-template-columns:repeat(24,1fr);align-items:start}
.footer__newsletter{grid-column:1/11;grid-row:1}
.footer__logo{grid-column:12/17;grid-row:1;margin-top:3.2vw}
.footer__logo img{width:100%}
.footer__info{grid-column:18/-1;grid-row:1;margin-top:3.2vw;display:grid;gap:22px}
.footer__label{font-size:11.5px;letter-spacing:.12em;color:var(--white);opacity:.85;margin-bottom:9px}
.footer__links{display:flex;flex-wrap:wrap;gap:10px 20px}
.footer__links a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;color:var(--cream)}
.footer__links a span{border-bottom:1px solid rgba(223,214,181,.4);padding-bottom:1px;transition:border-color .2s}
.footer__links a:hover span{border-bottom-color:currentColor}
.footer__links .icon{flex:none}

.newsletter{max-width:470px;color:var(--white);text-transform:none;letter-spacing:0}
.newsletter__title{font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}
.newsletter__text{font-size:15px;line-height:1.5;margin-bottom:14px}
.newsletter .input{width:100%;padding:14px 16px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 16px/1.2 var(--font)}
.newsletter .input::placeholder{color:inherit;opacity:.7}
.newsletter__optin{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:13px;line-height:1.45;cursor:pointer}
.newsletter__optin input{width:16px;height:16px;margin:2px 0 0;flex:none;accent-color:var(--cream)}
.newsletter__small{font-size:12px;line-height:1.4;margin-top:6px;opacity:.9}
.newsletter details{margin-top:10px}
.newsletter summary{cursor:pointer;text-decoration:underline}
.newsletter details p{margin:8px 0}
.newsletter__button{margin-top:16px;padding:13px 24px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 15px/1 var(--font);cursor:pointer}
.newsletter__button:hover{background:var(--cream);color:#171717}
.newsletter .input--hidden{display:none!important}
.newsletter .entry__error{display:block;font-size:13px;color:#ffd2c8}
.newsletter .entry__error:empty{display:none}
.sib-form-message-panel{display:none;padding:12px 14px;margin-bottom:12px;border:1px solid currentColor;font-size:14px;line-height:1.4}
.sib-form-message-panel--active{display:block}
.newsletter__button{display:inline-flex;align-items:center;gap:.6em}
.newsletter__spinner{animation:nl-spin .9s linear infinite}
@keyframes nl-spin{to{transform:rotate(360deg)}}
.newsletter__button[disabled]{opacity:.7;cursor:wait}
.sib-hide-loader-icon{display:none}

@media (max-width:767px){
  .footer{padding:44px 6vw 50px}
  .footer__grid{grid-template-columns:1fr;row-gap:36px}
  .footer__grid>*{grid-column:1!important;margin:0!important}
  .footer__logo{grid-row:1!important;width:66vw;justify-self:center}
  .footer__newsletter{grid-row:2!important}
  .footer__info{grid-row:3!important;gap:20px}
}
