:root {
  --paper: #fafaf7;
  --ink: #8a6a60;
  --soft-ink: #8a6a60;
  --edge: clamp(24px, 4vw, 64px);
  --small: clamp(13px, 1.05vw, 17px);
  --menu: clamp(15px, 1.25vw, 21px);
  --intro: clamp(68px, 11vw, 178px);
}

* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}
button, a { font: inherit; color: inherit; }
button { border: 0; background: none; padding: 0; }
button, a { cursor: pointer; }

.page {
  display: none;
  min-height: 100svh;
  background: var(--paper);
  opacity: 0;
}
.page.active {
  display: block;
  animation: pageIn 360ms ease-out forwards;
}
@keyframes pageIn { to { opacity: 1; } }

.intro { background: #ffffff; }
.intro.active {
  display: grid;
  place-items: center;
  opacity: 1;
  animation: none;
  transition: opacity 3000ms cubic-bezier(.4, 0, .2, 1);
}
.intro.active.is-leaving { opacity: 0; }

.menu.active {
  animation-duration: 650ms;
}
.intro-enter {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: var(--intro);
  line-height: .86;
  letter-spacing: -.065em;
  font-weight: 300;
  text-transform: uppercase;
  color: #050505;
  transition: opacity 180ms ease, transform 300ms ease;
}
.intro-enter:hover { opacity: .72; transform: scale(.995); }

.menu.active { display: grid; align-items: center; }
.menu-wrap {
  width: min(1050px, calc(100vw - 2 * var(--edge)));
  margin-left: var(--edge);
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.7vh, 38px);
}
.menu-row {
  display: grid;
  grid-template-columns: minmax(180px, 29vw) 1fr;
  align-items: start;
}
.spectacles-row {
  margin-bottom: 0;
}
.menu-item {
  width: max-content;
  text-align: left;
  font-size: var(--menu);
  line-height: 1.05;
  letter-spacing: .17em;
  font-weight: 300;
}
.menu-item:hover, .submenu button:hover { opacity: .48; }
.submenu {
  display: flex;
  flex-direction: column;
  gap: 12px;
  opacity: 0;
  transform: translateX(-6px);
  pointer-events: none;
  transition: opacity 220ms ease, transform 220ms ease;
}
.submenu.open {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.submenu button {
  width: max-content;
  text-align: left;
  font-size: var(--small);
  line-height: 1.25;
  letter-spacing: .08em;
  font-weight: 300;
}

.menu-dbd {
  position: fixed;
  left: 50%;
  bottom: clamp(22px, 4vh, 46px);
  transform: translateX(-50%);
  font-size: clamp(9px, .65vw, 11px);
  line-height: 1;
  letter-spacing: .22em;
  font-weight: 300;
  pointer-events: none;
}

.content-page { min-height: 100svh; }
.content-grid {
  width: 100%;
  min-height: 100svh;
  padding: clamp(90px, 13vh, 180px) var(--edge) var(--edge);
  display: grid;
  grid-template-columns: minmax(260px, 35vw) minmax(300px, 1fr);
  column-gap: clamp(50px, 8vw, 150px);
  align-items: start;
}
.text-column { max-width: 460px; }
.section-title, .copy, .email, .story-fragment, .date-entry {
  font-size: var(--small);
  line-height: 1.55;
  letter-spacing: .03em;
  font-weight: 300;
}
.section-title {
  display: block;
  text-align: left;
  margin-bottom: clamp(54px, 8vh, 96px);
  letter-spacing: .09em;
}
.return-menu:hover { opacity: .45; }
.copy p { margin: 0 0 1.45em; }
.image-column { margin: 0; align-self: center; }
.image-column img {
  display: block;
  width: 100%;
  max-height: 64vh;
  object-fit: contain;
  object-position: center;
}

.scroll-story {
  min-height: 390vh;
  padding: 12vh var(--edge) 20vh;
}
.story-fragment {
  width: min(440px, 38vw);
  margin-bottom: 44vh;
}
.story-fragment p { margin: 0 0 1.5em; }
.first-fragment { margin-bottom: 38vh; }
.first-fragment .section-title { margin-bottom: 12vh; }
.offset-right { margin-left: 50vw; }
.story-image {
  margin: 0 0 45vh 45vw;
  width: min(46vw, 720px);
}
.story-image img { width: 100%; height: auto; display: block; }
.final-fragment { margin-bottom: 0; }

.simple-page {
  min-height: 100svh;
  padding: 18vh var(--edge) 10vh;
}
.simple-page .section-title { margin-bottom: 11vh; }
.dates-list {
  display: flex;
  flex-direction: column;
  gap: 12vh;
}
.date-entry p { margin: 0; }
.contact-layout .section-title { margin-bottom: 7vh; }
.email {
  text-decoration: none;
  display: inline-block;
  letter-spacing: .08em;
}
.email:hover { opacity: .5; }

.about-scroll {
  min-height: 300vh;
  padding: 14vh var(--edge) 24vh;
}
.about-title {
  display: block;
  font-size: clamp(34px, 4.1vw, 66px);
  line-height: .98;
  letter-spacing: -.025em;
  font-weight: 300;
  text-align: left;
  margin-bottom: 30vh;
}
.about-fragment {
  font-size: var(--small);
  line-height: 1.58;
  letter-spacing: .025em;
  width: min(430px, 38vw);
  margin: 0 0 38vh;
}
.about-fragment.right { margin-left: 52vw; }
.about-fragment.last { margin-bottom: 0; }

@media (max-width: 760px) {
  :root { --edge: 22px; --small: 14px; --menu: 16px; --intro: clamp(58px, 19vw, 95px); }
  .intro-enter { line-height: .9; }
  .menu-wrap { margin-left: var(--edge); }
  .menu-row { grid-template-columns: 1fr; row-gap: 20px; }
  .submenu { padding-left: 20px; }
  .content-grid {
    min-height: auto;
    padding-top: 12vh;
    grid-template-columns: 1fr;
    row-gap: 10vh;
  }
  .text-column { max-width: 92vw; }
  .image-column img { max-height: none; }
  .scroll-story { min-height: 350vh; padding-top: 11vh; }
  .story-fragment { width: min(88vw, 430px); margin-bottom: 34vh; }
  .offset-right { margin-left: 10vw; }
  .story-image { margin: 0 0 38vh 9vw; width: 82vw; }
  .about-scroll { min-height: 250vh; }
  .about-title { font-size: 34px; margin-bottom: 28vh; }
  .about-fragment { width: 82vw; margin-bottom: 32vh; }
  .about-fragment.right { margin-left: 11vw; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* V6 — navigation plus délicate */
.menu { position: relative; }
.menu-wrap {
  gap: clamp(16px, 2vh, 28px);
}
.spectacles-row {
  margin-bottom: clamp(28px, 5.5vh, 64px);
}
.spectacles-row {
  margin-bottom: 0;
}
.menu-item {
  font-size: clamp(14px, 1.15vw, 19px);
  letter-spacing: .18em;
  font-weight: 300;
}
.submenu button {
  font-size: clamp(12px, .9vw, 15px);
  letter-spacing: .11em;
}
.menu-dbd {
  position: fixed;
  left: 50%;
  bottom: clamp(22px, 4vh, 44px);
  transform: translateX(-50%);
  font-size: clamp(10px, .72vw, 12px);
  line-height: 1;
  letter-spacing: .2em;
  font-weight: 300;
  pointer-events: none;
}

@media (max-width: 760px) {
  .menu-item { font-size: 16px; }
  .spectacles-row { margin-bottom: 34px; }
  .menu-dbd { font-size: 10px; bottom: 24px; }
}

/* V8 — le sous-menu SPECTACLES ne réserve plus d’espace dans le menu */
.spectacles-row {
  position: relative;
  display: block;
  margin-bottom: 0;
}
.spectacles-row .submenu {
  position: absolute;
  left: max(180px, 29vw);
  top: 0;
}
@media (max-width: 760px) {
  .spectacles-row { margin-bottom: 0; }
  .spectacles-row .submenu {
    left: min(48vw, 210px);
    top: 0;
    padding-left: 0;
  }
}


/* V9 — générique sous la photographie de Les morts voyagent vite */
.credits-grid {
  width: 100%;
  padding: clamp(70px, 14vh, 170px) var(--edge) clamp(120px, 20vh, 240px);
  display: grid;
  grid-template-columns: minmax(260px, 35vw) minmax(300px, 1fr);
  column-gap: clamp(50px, 8vw, 150px);
}
.credits-block {
  grid-column: 2;
  width: min(100%, 720px);
  font-size: var(--small);
  line-height: 1.55;
  letter-spacing: .03em;
  font-weight: 300;
}
.credits-group { margin: 0 0 clamp(42px, 6vh, 72px); }
.credits-group:last-child { margin-bottom: 0; }
.credits-group p { margin: 0 0 1.45em; }
.credits-group p:last-child { margin-bottom: 0; }

@media (max-width: 760px) {
  .credits-grid {
    grid-template-columns: 1fr;
    padding-top: 14vh;
  }
  .credits-block { grid-column: 1; width: 100%; }
}


/* V12 — retour V10, seule la photo de Les morts voyagent vite est davantage réduite */
.les-morts .image-column {
  width: 70%;
  justify-self: start;
}
.les-morts .image-column img {
  max-height: 46vh;
}
.les-morts .content-grid {
  min-height: auto;
  padding-bottom: clamp(28px, 4vh, 52px);
}
.les-morts .credits-grid {
  padding-top: clamp(20px, 3vh, 38px);
}

@media (max-width: 760px) {
  .les-morts .image-column { width: 78%; }
  .les-morts .image-column img { max-height: none; }
  .les-morts .credits-grid { padding-top: 8vh; }
}

/* V13 — générique de Les morts voyagent vite : petit bloc compact, reste V12 inchangé */
.les-morts .credits-block {
  width: min(100%, 620px);
  font-size: clamp(9px, 0.72vw, 11px);
  line-height: 1.28;
  letter-spacing: .025em;
}
.les-morts .credits-group {
  margin: 0 0 1.15em;
}
.les-morts .credits-group p {
  margin: 0 0 .38em;
}
.les-morts .credits-group p:last-child {
  margin-bottom: 0;
}
.les-morts .supports-group {
  margin-top: 1.35em;
}

@media (max-width: 760px) {
  .les-morts .credits-block {
    font-size: 10px;
    line-height: 1.32;
  }
  .les-morts .credits-group {
    margin-bottom: 1.2em;
  }
}

/* V14 — Les morts voyagent vite : description plus fine, éditoriale / machine.
   Couleur, composition, photo et générique restent identiques à V13. */
.les-morts .les-morts-copy {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: clamp(11px, .82vw, 13px);
  line-height: 1.78;
  letter-spacing: .085em;
  font-weight: 300;
}
.les-morts .les-morts-copy p {
  margin-bottom: 1.8em;
}


/* V15 — seconde photographie de Les morts voyagent vite, intégrée sans modifier la D.A. V14 */
.les-morts-second-image {
  width: min(28vw, 430px);
  margin: clamp(10px, 2vh, 28px) var(--edge) clamp(120px, 18vh, 220px) auto;
}
.les-morts-second-image img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 760px) {
  .les-morts-second-image {
    width: 68vw;
    margin-top: 6vh;
    margin-bottom: 18vh;
  }
}

/* V16 — galerie photographique discrète : petites images cliquables, grande image principale inchangée */
.les-morts-gallery {
  width: min(54vw, 760px);
  margin: clamp(24px, 5vh, 64px) var(--edge) clamp(130px, 20vh, 240px) auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  gap: clamp(18px, 2.2vw, 34px);
}
.gallery-thumb {
  display: block;
  width: clamp(90px, 10vw, 150px);
  margin: 0;
  opacity: .92;
  transition: opacity 180ms ease;
}
.gallery-thumb:hover { opacity: .58; }
.gallery-thumb img {
  display: block;
  width: 100%;
  height: 105px;
  object-fit: contain;
  object-position: center;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(26px, 5vw, 80px);
  background: rgba(250, 250, 247, .96);
  opacity: 0;
  transition: opacity 240ms ease;
}
.lightbox.open {
  display: flex;
  opacity: 1;
}
.lightbox-image {
  display: block;
  max-width: min(88vw, 1300px);
  max-height: 86vh;
  width: auto;
  height: auto;
  object-fit: contain;
}
.lightbox-close {
  position: fixed;
  top: clamp(18px, 3vw, 40px);
  right: clamp(20px, 3.5vw, 52px);
  font-size: 22px;
  line-height: 1;
  font-weight: 200;
  opacity: .72;
}
.lightbox-close:hover { opacity: .35; }

@media (max-width: 760px) {
  .les-morts-gallery {
    width: calc(100vw - 2 * var(--edge));
    margin-top: 7vh;
    justify-content: flex-start;
    gap: 18px;
  }
  .gallery-thumb { width: 104px; }
  .gallery-thumb img { height: 88px; }
  .lightbox { padding: 22px; }
  .lightbox-image { max-width: 92vw; max-height: 82vh; }
}

/* V17 — toutes les petites photos réunies sous le texte de présentation. */
.les-morts .text-column .les-morts-gallery {
  width: 100%;
  margin: clamp(30px, 4.5vh, 54px) 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: clamp(10px, 1.25vw, 18px);
}
.les-morts .text-column .gallery-thumb {
  width: clamp(62px, 6.4vw, 92px);
}
.les-morts .text-column .gallery-thumb img {
  width: 100%;
  height: clamp(54px, 5.8vw, 78px);
  object-fit: contain;
  object-position: center;
}
@media (max-width: 760px) {
  .les-morts .text-column .les-morts-gallery {
    width: 100%;
    margin-top: 5vh;
    gap: 12px;
  }
  .les-morts .text-column .gallery-thumb { width: 74px; }
  .les-morts .text-column .gallery-thumb img { height: 64px; }
}

/* V18 — retour à une seule grande photo. Générique compact collé sous l’image principale ;
   une seule vignette machine reste cliquable et s’agrandit via la lightbox existante. */
.les-morts .les-morts-visual-column {
  align-self: start;
  justify-self: start;
  width: 100%;
}
.les-morts .main-stage-image { margin: 0; width: 100%; }
.les-morts .main-stage-image img {
  display: block;
  width: 100%;
  max-height: 46vh;
  object-fit: contain;
  object-position: left top;
}
.les-morts .credits-under-image {
  margin-top: clamp(8px, 1.1vh, 14px);
  width: 100%;
}
.les-morts .credits-under-image .credits-block {
  width: min(100%, 620px);
  font-size: clamp(8px, .62vw, 10px);
  line-height: 1.22;
  letter-spacing: .025em;
}
.les-morts .credits-under-image .credits-group { margin-bottom: .9em; }
.les-morts .credits-under-image .credits-group p { margin-bottom: .25em; }
.les-morts .machine-thumb {
  display: block;
  width: clamp(58px, 5.2vw, 82px);
  margin: clamp(18px, 2.4vh, 30px) 0 clamp(80px, 12vh, 150px) auto;
  opacity: .9;
  transition: opacity 180ms ease;
}
.les-morts .machine-thumb:hover { opacity: .55; }
.les-morts .machine-thumb img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 760px) {
  .les-morts .credits-under-image { margin-top: 10px; }
  .les-morts .credits-under-image .credits-block { font-size: 9px; }
  .les-morts .machine-thumb { width: 68px; margin-left: 0; }
}

/* V19 — galerie sous le texte + respiration entre distribution et soutiens */
.les-morts .text-column .les-morts-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 26px;
  padding: 0;
  justify-content: flex-start;
}
.les-morts .text-column .gallery-thumb {
  width: 76px;
  margin: 0;
}
.les-morts .text-column .gallery-thumb img {
  width: 100%;
  height: 66px;
  object-fit: cover;
  display: block;
}
.les-morts .credits-under-image .supports-group {
  margin-top: 2.8em;
}
@media (max-width: 760px) {
  .les-morts .text-column .les-morts-gallery { margin-top: 22px; gap: 7px; }
  .les-morts .text-column .gallery-thumb { width: 68px; }
  .les-morts .text-column .gallery-thumb img { height: 58px; }
}


/* V20 — petit repère DBD centré en haut de la page spectacle */
.les-morts .content-dbd {
  position: absolute;
  top: clamp(18px, 2.4vh, 30px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  font-size: clamp(9px, .66vw, 11px);
  line-height: 1;
  letter-spacing: .16em;
  font-weight: 300;
  opacity: .78;
  transition: opacity 180ms ease;
}
.les-morts .content-dbd:hover { opacity: .42; }

/* V21 — DBD légèrement agrandi */
.les-morts .content-dbd {
  font-size: clamp(11px, .82vw, 14px);
}

/* V22 — Théodule reprend strictement l'architecture de Les morts voyagent vite */
.theodule-v22 .content-grid {
  align-items: start;
  padding-bottom: clamp(90px, 14vh, 160px);
}
.theodule-v22 .visual-column {
  width: 100%;
  align-self: start;
}
.theodule-v22 .visual-column .image-column {
  width: 70%;
  margin: 0;
  justify-self: start;
}
.theodule-v22 .visual-column .image-column img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 46vh;
  object-fit: contain;
  object-position: left top;
}
.theodule-v22 .theodule-copy p {
  margin: 0 0 1.55em;
}
.theodule-v22 .theodule-copy p:last-child { margin-bottom: 0; }
@media (max-width: 760px) {
  .theodule-v22 .visual-column .image-column { width: 78%; }
  .theodule-v22 .visual-column .image-column img { max-height: none; }
}


/* V24 — Théodule calé exactement sur l’architecture de Les morts voyagent vite. */
.theodule .content-grid {
  min-height: auto;
  padding-bottom: clamp(28px, 4vh, 52px);
}
.theodule .content-dbd {
  position: absolute;
  top: clamp(18px, 2.4vh, 30px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  font-size: clamp(11px, .82vw, 14px);
  line-height: 1;
  letter-spacing: .16em;
  font-weight: 300;
  opacity: .78;
  transition: opacity 180ms ease;
}
.theodule .content-dbd:hover { opacity: .42; }
.theodule .les-morts-copy {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: clamp(11px, .82vw, 13px);
  line-height: 1.78;
  letter-spacing: .085em;
  font-weight: 300;
}
.theodule .les-morts-copy p { margin-bottom: 1.8em; }
.theodule .text-column .theodule-gallery {
  width: 100%;
  margin: 26px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}
.theodule .text-column .gallery-thumb { width: 76px; margin: 0; }
.theodule .text-column .gallery-thumb img {
  width: 100%;
  height: 66px;
  object-fit: cover;
  display: block;
}
.theodule .theodule-visual-column {
  align-self: start;
  justify-self: start;
  width: 70%;
}
.theodule .main-stage-image { margin: 0; width: 100%; }
.theodule .main-stage-image img {
  display: block;
  width: 100%;
  max-height: 46vh;
  object-fit: contain;
  object-position: left top;
}
.theodule .credits-under-image {
  margin-top: clamp(8px, 1.1vh, 14px);
  width: 100%;
}
.theodule .credits-under-image .credits-block {
  width: min(100%, 620px);
  font-size: clamp(8px, .62vw, 10px);
  line-height: 1.22;
  letter-spacing: .025em;
}
.theodule .credits-under-image .credits-group { margin: 0 0 .9em; }
.theodule .credits-under-image .credits-group p { margin: 0 0 .25em; }
.theodule .credits-under-image .credits-group p:last-child { margin-bottom: 0; }
.theodule .credits-under-image .supports-group { margin-top: 2.8em; }
@media (max-width: 760px) {
  .theodule .theodule-visual-column { width: 78%; }
  .theodule .main-stage-image img { max-height: none; }
  .theodule .credits-under-image { margin-top: 10px; }
  .theodule .credits-under-image .credits-block { font-size: 9px; }
  .theodule .text-column .theodule-gallery { margin-top: 22px; gap: 7px; }
  .theodule .text-column .gallery-thumb { width: 68px; }
  .theodule .text-column .gallery-thumb img { height: 58px; }
}

/* V25 — DREAM BABY DREAM : texte rassemblé */
.about-v25-content {
  min-height: 100vh;
  padding: clamp(110px, 17vh, 190px) var(--edge) clamp(100px, 16vh, 180px);
  width: min(100%, 760px);
}
.about-v25 .section-title { margin-bottom: clamp(22px, 4vh, 44px); }
.about-v25 .about-names,
.about-v25 .about-paragraph {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: clamp(11px, .82vw, 13px);
  line-height: 1.78;
  letter-spacing: .085em;
  font-weight: 300;
}
.about-v25 .about-names { margin: 0 0 clamp(26px, 4vh, 48px); }
.about-v25 .about-paragraph { margin: 0; width: min(100%, 650px); }
@media (max-width: 760px) {
  .about-v25-content { padding-top: 12vh; width: 100%; }
  .about-v25 .about-names, .about-v25 .about-paragraph { font-size: 11px; }
}


/* V29 — image plus subliminale, sortie plus longue vers le menu */
.transition-image {
  background: #050505;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 4000ms cubic-bezier(.4, 0, .2, 1);
}
.transition-image.active {
  display: flex;
  opacity: 0;
  animation: none;
}
.transition-image.active.is-visible { opacity: 1; transition-duration: 650ms; }
.transition-image img {
  width: 100vw;
  height: 100vh;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* Le menu arrive avec le même type de fondu que l'image. */
.menu.active {
  animation: menuFadeIn 1600ms cubic-bezier(.4, 0, .2, 1) forwards;
}
@keyframes menuFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* V27 — le repère DBD reste centré sur le viewport */
.content-dbd {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
}


/* V34 — le menu arrive plus tôt et plus lentement, sous l'image.
   L'image reste en surimpression pendant son fondu : aucune bascule de layout à la fin. */
.transition-image.active.crossfade-out {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: flex;
  opacity: 0;
  transition: opacity 3000ms cubic-bezier(.4, 0, .2, 1);
}
.menu.active.crossfade-menu {
  z-index: 10;
  display: grid;
  opacity: 0;
  animation: menuCrossfadeIn 4200ms cubic-bezier(.4, 0, .2, 1) forwards;
}
.menu.active.crossfade-complete {
  display: grid;
  opacity: 1;
  animation: none;
}
@keyframes menuCrossfadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}


/* V35 — repère DBD parfaitement centré et soutiens institutionnels très discrets */
.about-v25 .content-dbd {
  position: fixed !important;
  top: clamp(22px, 3.2vh, 38px) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: max-content;
  margin: 0;
}
.menu-supports {
  position: fixed;
  left: var(--edge);
  bottom: clamp(18px, 2.6vh, 30px);
  z-index: 2;
  width: min(430px, 42vw);
  opacity: .42;
  pointer-events: none;
}
.menu-supports p {
  margin: 0 0 7px;
  max-width: 410px;
  font-size: clamp(7px, .48vw, 9px);
  line-height: 1.35;
  letter-spacing: .025em;
  font-weight: 300;
}
.menu-supports img {
  display: block;
  width: min(255px, 100%);
  height: auto;
  filter: grayscale(1);
  opacity: .72;
}
/* DBD garde le centre bas, le cartouche institutionnel reste volontairement latéral. */
@media (max-width: 700px) {
  .menu-supports {
    width: min(280px, calc(100vw - 2 * var(--edge)));
    bottom: 54px;
    opacity: .38;
  }
  .menu-supports p { font-size: 7px; }
  .menu-supports img { width: 190px; }
}

/* V36 — DBD en haut du menu + soutiens bas gauche plus lisibles */
.menu .menu-dbd {
  top: clamp(22px, 3.2vh, 38px);
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(12px, .86vw, 14px);
}
.menu .menu-supports {
  left: var(--edge);
  bottom: clamp(18px, 2.6vh, 30px);
  opacity: .62;
}
.menu .menu-supports img {
  opacity: .88;
}
@media (max-width: 700px) {
  .menu .menu-dbd { top: 22px; bottom: auto; font-size: 11px; }
  .menu .menu-supports { bottom: 20px; opacity: .58; }
}

/* V37 — soutiens bas droite, plus présents */
.menu .menu-supports {
  left: auto;
  right: var(--edge);
  opacity: .82;
}
.menu .menu-supports p {
  opacity: 1;
}
.menu .menu-supports img {
  opacity: 1;
}
@media (max-width: 700px) {
  .menu .menu-supports {
    left: auto;
    right: var(--edge);
    opacity: .78;
  }
}

/* V38 — page partenaires dédiée ; accueil/menu libéré du bloc institutionnel */
.partners .content-dbd {
  position: fixed;
  top: clamp(22px, 3.2vh, 38px);
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
}
.partners-content {
  width: min(1120px, calc(100vw - 2 * var(--edge)));
  margin: 0 auto;
  padding: clamp(105px, 15vh, 160px) 0 clamp(70px, 10vh, 120px);
}
.partners-list {
  margin-top: clamp(34px, 5vh, 62px);
  font-family: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: clamp(11px, .82vw, 13px);
  line-height: 1.78;
  letter-spacing: .085em;
}
.partners-list p { margin: 0 0 .7em; }
.partners-institutional {
  margin-top: clamp(60px, 10vh, 110px);
  width: min(650px, 100%);
  opacity: 1;
}
.partners-institutional p {
  margin: 0 0 18px;
  font-size: clamp(9px, .72vw, 11px);
  line-height: 1.45;
  letter-spacing: .025em;
}
.partners-institutional img {
  display: block;
  width: min(420px, 100%);
  height: auto;
  opacity: 1;
  filter: none;
}
@media (max-width: 700px) {
  .partners-content { padding-top: 92px; }
  .partners-institutional { margin-top: 52px; }
  .partners-institutional img { width: min(360px, 100%); }
}

/* V39 — quatre paragraphes distincts pour la présentation de la compagnie */
.about-v25 .about-paragraph + .about-paragraph { margin-top: 1.65em; }

/* V40 — logos institutionnels transmis par la compagnie, non recolorisés. */
.official-support-logos { display:flex; align-items:center; gap:clamp(30px,5vw,75px); flex-wrap:wrap; margin-top:24px; }
.official-support-logo { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:9px; }
.official-support-logo span { font-size:11px; letter-spacing:.02em; }
.official-support-logo img { display:block; width:auto; height:auto; opacity:1; filter:none; object-fit:contain; }
.partners-institutional .official-support-prefet img { width:125px; max-width:100%; }
.partners-institutional .official-support-region img { width:min(330px,75vw); max-width:100%; }
@media(max-width:700px) { .official-support-logos { gap:28px; } .partners-institutional .official-support-prefet img { width:105px; } .partners-institutional .official-support-region img { width:min(270px,80vw); } }

/* V44 — coordonnées supplémentaires sur la page CONTACT */
.contact-layout .email { display: block; width: fit-content; margin-bottom: .55em; }

/* V45 — lien dossier au-dessus de la galerie Les morts voyagent vite */
.les-morts .text-column .les-morts-dossier-link {
  display: inline-block;
  margin-top: 26px;
  color: #8A6A60;
  font-family: inherit;
  font-size: 11px;
  letter-spacing: .09em;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 3px;
  transition: opacity .25s ease;
}
.les-morts .text-column .les-morts-dossier-link:hover { opacity: .55; }
.les-morts .text-column .les-morts-dossier-link + .les-morts-gallery { margin-top: 18px; }

/* V47 — repère DBD sur la page Contact, comme sur les autres pages */
.contact .content-dbd {
  position: fixed;
  top: clamp(22px, 3.2vh, 38px);
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  z-index: 5;
  font-size: clamp(11px, .82vw, 14px);
  letter-spacing: .16em;
  font-weight: 300;
  opacity: .78;
}
.contact .content-dbd:hover { opacity: .42; }

/* V50 — accueil blanc, typographie noire, fondu direct vers le menu. */
.intro, .intro.active { background: #ffffff; }
.intro-enter { color: #050505; }
.intro.active { position: fixed; inset: 0; z-index: 30; width: 100%; min-height: 100svh; transition: opacity 3500ms cubic-bezier(.4,0,.2,1); }
.intro.active.v49-intro-leaving { opacity: 0; pointer-events: none; }
.menu.active.v49-menu-enter { display: grid; opacity: 1; animation: none; }
@media (prefers-reduced-motion: reduce) { .intro.active { transition: none; } }

/* V52 — galerie photographique en fondu derrière le menu, inspirée de la référence fournie. */
.menu.active { position: relative; isolation: isolate; overflow: hidden; }
.menu-slideshow { position: absolute; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; }
.menu-slideshow img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  opacity: 0;
  animation: dbdSlide 84s linear infinite;
}
.menu-slideshow img:nth-child(1) { animation-delay: -84s; }
.menu-slideshow img:nth-child(2) { animation-delay: -77s; }
.menu-slideshow img:nth-child(3) { animation-delay: -70s; }
.menu-slideshow img:nth-child(4) { animation-delay: -63s; }
.menu-slideshow img:nth-child(5) { animation-delay: -56s; }
.menu-slideshow img:nth-child(6) { animation-delay: -49s; }
.menu-slideshow img:nth-child(7) { animation-delay: -42s; }
.menu-slideshow img:nth-child(8) { animation-delay: -35s; }
.menu-slideshow img:nth-child(9) { animation-delay: -28s; }
.menu-slideshow img:nth-child(10) { animation-delay: -21s; }
.menu-slideshow img:nth-child(11) { animation-delay: -14s; }
.menu-slideshow img:nth-child(12) { animation-delay: -7s; }

@keyframes dbdSlide {
  0% { opacity: 0; transform: scale(1.025); }
  2.5% { opacity: 1; }
  7.5% { opacity: 1; }
  10% { opacity: 0; transform: scale(1); }
  100% { opacity: 0; }
}
.menu-photo-veil { position: absolute; inset: 0; z-index: -1; background: rgba(250,250,247,.62); pointer-events: none; }
.menu.active .menu-wrap { position: relative; z-index: 2; }
.menu.active .menu-item, .menu.active .submenu button { color: #332b28; }
.menu-signature {
  position: absolute; z-index: 2; bottom: clamp(24px, 5vh, 62px); left: var(--edge);
  font-size: clamp(18px, 3.2vw, 48px); letter-spacing: -.045em;
  line-height: 1; font-weight: 300; color: #302723; pointer-events: none;
}
@media(max-width:760px) {
  .menu-photo-veil { background: rgba(250,250,247,.7); }
  .menu-signature { font-size: clamp(19px, 5vw, 32px); bottom: 32px; }
}
@media(prefers-reduced-motion:reduce) {
  .menu-slideshow img { animation: none !important; opacity: 0; }
  .menu-slideshow img:first-child { opacity: 1; }
}


/* V53 — patchwork photographique vivant, volontairement irrégulier. */
.menu.active { background: #f4f2ec; }
.menu-slideshow { inset: 0; z-index: -2; }
.menu-slideshow img {
  inset: auto; width: auto; height: auto; max-width: none;
  object-fit: cover; object-position: center;
  opacity: 0; transform: rotate(var(--r, 0deg)) scale(.97);
  animation: dbdPatchwork 25s ease-in-out infinite;
  animation-delay: var(--delay, 0s);
  box-shadow: 0 1px 7px rgba(15, 10, 8, .09);
}
.menu-slideshow img:nth-child(1) { left: 29%; top: -5%; width: 26%; height: 39%; --r:-3deg; --delay:-21s; }
.menu-slideshow img:nth-child(2) { left: 58%; top: 4%; width: 21%; height: 38%; --r:2deg; --delay:-13s; }
.menu-slideshow img:nth-child(3) { right: -3%; top: -7%; width: 24%; height: 51%; --r:-4deg; --delay:-8s; }
.menu-slideshow img:nth-child(4) { left: 40%; top: 32%; width: 24%; height: 34%; --r:4deg; --delay:-17s; }
.menu-slideshow img:nth-child(5) { left: 19%; top: 56%; width: 28%; height: 43%; --r:-2deg; --delay:-4s; }
.menu-slideshow img:nth-child(6) { left: 67%; top: 41%; width: 19%; height: 55%; --r:3deg; --delay:-23s; }
.menu-slideshow img:nth-child(7) { right: -5%; top: 57%; width: 25%; height: 48%; --r:-3deg; --delay:-11s; }
.menu-slideshow img:nth-child(8) { left: 48%; top: 71%; width: 23%; height: 35%; --r:2deg; --delay:-19s; }
.menu-slideshow img:nth-child(9) { left: 29%; top: 14%; width: 20%; height: 40%; --r:3deg; --delay:-6s; }
.menu-slideshow img:nth-child(10) { left: 76%; top: 16%; width: 24%; height: 33%; --r:4deg; --delay:-15s; }
.menu-slideshow img:nth-child(11) { left: 38%; top: 51%; width: 18%; height: 44%; --r:-5deg; --delay:-2s; }
.menu-slideshow img:nth-child(12) { left: 54%; top: -8%; width: 18%; height: 36%; --r:2deg; --delay:-25s; }
@keyframes dbdPatchwork {
  0%, 12%, 100% { opacity: 0; transform: rotate(var(--r)) translateY(13px) scale(.97); }
  19%, 69% { opacity: .94; transform: rotate(var(--r)) translateY(0) scale(1); }
  79% { opacity: 0; transform: rotate(var(--r)) translateY(-9px) scale(1.02); }
}
/* Voile uniquement du côté de la navigation : les images restent franches à droite. */
.menu-photo-veil { background: linear-gradient(90deg, rgba(250,250,247,.96) 0%, rgba(250,250,247,.84) 19%, rgba(250,250,247,.28) 43%, rgba(250,250,247,0) 75%); }
.menu.active .menu-wrap { z-index: 4; }
.menu-signature {
  left: auto; right: clamp(18px, 3.5vw, 62px); bottom: clamp(20px, 3.5vh, 50px);
  max-width: 95vw; font-size: clamp(38px, 6.7vw, 116px);
  font-weight: 400; letter-spacing: -.075em; line-height: .9;
  color: #151311; text-align: right; z-index: 5;
  text-shadow: 0 1px 12px rgba(250,250,247,.55);
}
@media(max-width:760px) {
  .menu-slideshow img { width: 46% !important; }
  .menu-slideshow img:nth-child(odd) { left: 42%; right: auto; }
  .menu-slideshow img:nth-child(even) { left: 66%; right: auto; }
  .menu-photo-veil { background: linear-gradient(90deg,rgba(250,250,247,.96),rgba(250,250,247,.65) 62%,rgba(250,250,247,.12)); }
  .menu-signature { right: 15px; bottom: 25px; font-size: clamp(29px, 7vw, 53px); }
}
@media(prefers-reduced-motion:reduce) {
  .menu-slideshow img { animation: none !important; opacity: .85; transform: rotate(var(--r)); }
}

/* V54 — composition photographique FIXE sur fond noir, sans animation. */
.menu.active { background:#050505; color:#f4f2ec; isolation:isolate; overflow:hidden; }
.menu-slideshow.menu-static-collage { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.menu-static-collage img {
  position:absolute; inset:auto; display:block; max-width:none; width:auto; height:auto;
  opacity:1 !important; animation:none !important; transition:none !important;
  transform:none !important; box-shadow:none; object-fit:cover;
}
/* Photos comme une composition éditoriale : formats et respirations irréguliers. */
.menu-static-collage img:nth-child(1) { left:35%; top:5%; width:22%; height:27%; }
.menu-static-collage img:nth-child(2) { left:59%; top:2%; width:18%; height:34%; }
.menu-static-collage img:nth-child(3) { right:3%; top:7%; width:17%; height:24%; }
.menu-static-collage img:nth-child(4) { left:41%; top:37%; width:23%; height:29%; }
.menu-static-collage img:nth-child(5) { left:68%; top:39%; width:28%; height:26%; }
.menu-static-collage img:nth-child(6) { left:29%; top:70%; width:17%; height:23%; }
.menu-static-collage img:nth-child(7) { left:49%; top:69%; width:17%; height:24%; }
.menu-static-collage img:nth-child(8) { right:3%; top:70%; width:23%; height:23%; }
.menu-static-collage img:nth-child(n+9) { display:none; }
.menu-photo-veil { display:none; }
.menu.active .menu-wrap { position:relative; z-index:4; }
.menu.active .menu-item, .menu.active .submenu button { color:#f5f3ed; text-shadow:none; }
.menu-signature {
  position:absolute; z-index:5; left:auto; right:clamp(14px,2.4vw,38px);
  bottom:clamp(15px,2.5vh,34px); max-width:97vw;
  font-size:clamp(38px,6.6vw,116px); line-height:.85; letter-spacing:-.075em;
  font-weight:400; color:#f5f3ed; text-align:right; text-shadow:0 1px 14px rgba(0,0,0,.7);
}
@media(max-width:760px) {
  .menu-static-collage img:nth-child(1) { left:48%; top:5%; width:47%; height:19%; }
  .menu-static-collage img:nth-child(2) { left:58%; top:27%; width:36%; height:23%; }
  .menu-static-collage img:nth-child(3) { left:40%; top:53%; width:54%; height:17%; }
  .menu-static-collage img:nth-child(4) { left:58%; top:73%; width:37%; height:16%; }
  .menu-static-collage img:nth-child(n+5) { display:none; }
  .menu-signature { right:12px; bottom:22px; font-size:clamp(27px,7vw,52px); }
}


/* V55 — le menu devient une page photographique longue, sur fond noir.
   Images fixes et autonomes, formats variables, respirations importantes.
   Navigation et signature au premier plan, toujours visibles pendant le défilement. */
.menu.active {
  position: relative;
  display: block;
  min-height: 460svh;
  overflow: visible;
  background: #050505;
  color: #f6f5f1;
  isolation: isolate;
}
.menu-slideshow.menu-static-collage {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.menu-static-collage img,
.menu-static-collage img:nth-child(n+9) {
  display: block;
  position: absolute;
  inset: auto;
  height: auto;
  max-height: none;
  width: auto;
  max-width: none;
  opacity: 1 !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
  object-fit: contain;
  box-shadow: none;
}
/* Neutralise les anciennes positions et hauteurs fixées dans V54. */
.menu-static-collage img:nth-child(n) { inset: auto; height: auto !important; display: block !important; }
/* Suite de fragments de tailles inégales : pas de grille, pas de mouvement automatique. */
.menu-static-collage img:nth-child(1)  { left: 39%; top: 10vh;  width: 35%; }
.menu-static-collage img:nth-child(2)  { right: 3%; top: 35vh;  width: 20%; }
.menu-static-collage img:nth-child(3)  { left: 23%; top: 103vh; width: 19%; }
.menu-static-collage img:nth-child(4)  { right: 5%; top: 111vh; width: 36%; }
.menu-static-collage img:nth-child(5)  { left: 6%;  top: 185vh; width: 34%; }
.menu-static-collage img:nth-child(6)  { right: 9%; top: 181vh; width: 21%; }
.menu-static-collage img:nth-child(7)  { left: 44%; top: 222vh; width: 23%; }
.menu-static-collage img:nth-child(8)  { left: 11%; top: 274vh; width: 40%; }
.menu-static-collage img:nth-child(9)  { right: 9%; top: 279vh; width: 20%; }
.menu-static-collage img:nth-child(10) { left: 33%; top: 329vh; width: 33%; }
.menu-static-collage img:nth-child(11) { right: 4%; top: 349vh; width: 25%; }
.menu-static-collage img:nth-child(12) { left: 13%; top: 402vh; width: 47%; }
/* Le menu reste accessible, posé devant les photographies. */
.menu.active .menu-wrap {
  position: fixed;
  left: clamp(24px, 4vw, 76px);
  top: clamp(33px, 6.2vh, 85px);
  z-index: 15;
  width: min(580px, 90vw);
  max-width: none;
  margin: 0;
  gap: clamp(15px, 2.3vh, 29px);
  align-items: flex-start;
}
.menu.active .menu-item {
  font-size: clamp(20px, 2.05vw, 34px);
  font-weight: 500;
  letter-spacing: .115em;
  line-height: 1.12;
  color: #f7f5f0;
  text-shadow: 0 2px 15px rgba(0,0,0,.88);
}
.menu.active .submenu button {
  font-size: clamp(13px, 1.16vw, 19px);
  font-weight: 500;
  letter-spacing: .07em;
  color: #f7f5f0;
  line-height: 1.25;
  text-shadow: 0 2px 12px rgba(0,0,0,.95);
}
.menu.active .spectacles-row .submenu {
  left: clamp(250px, 27vw, 415px);
  top: 1px;
  padding: 4px;
}
/* Signature monumentale ancrée au bord inférieur de l'écran, même en scrollant. */
.menu.active .menu-signature {
  position: fixed;
  z-index: 12;
  left: auto;
  right: clamp(12px, 2.2vw, 42px);
  bottom: clamp(17px, 2.4vh, 38px);
  width: max-content;
  max-width: 97vw;
  white-space: nowrap;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(55px, 10.7vw, 206px);
  font-weight: 800;
  letter-spacing: -.085em;
  line-height: .83;
  color: #fff;
  text-align: right;
  text-shadow: 0 2px 19px rgba(0,0,0,.7);
  pointer-events: none;
}
@media (max-width: 760px) {
  .menu.active { min-height: 545svh; }
  .menu.active .menu-wrap {
    left: 20px;
    top: 25px;
    width: calc(100vw - 40px);
    gap: 15px;
  }
  .menu.active .menu-item {
    font-size: clamp(17px, 4.6vw, 22px);
    letter-spacing: .095em;
  }
  .menu.active .submenu button { font-size: 12px; }
  .menu.active .spectacles-row .submenu {
    left: clamp(160px, 42vw, 245px);
    top: 0;
    padding: 2px;
    gap: 8px;
  }
  .menu.active .menu-signature {
    right: 10px;
    bottom: 20px;
    max-width: calc(100vw - 20px);
    font-size: clamp(34px, 9.5vw, 72px);
    letter-spacing: -.085em;
    font-weight: 800;
  }
  /* Plus d'espace entre les photos que sur la V54, même en petit écran. */
  .menu-static-collage img:nth-child(1)  { left: 47%; top: 25vh;  width: 46% !important; }
  .menu-static-collage img:nth-child(2)  { right: 8%; top: 81vh;  width: 63% !important; }
  .menu-static-collage img:nth-child(3)  { left: 9%;  top: 128vh; width: 42% !important; }
  .menu-static-collage img:nth-child(4)  { right: 4%; top: 169vh; width: 66% !important; }
  .menu-static-collage img:nth-child(5)  { left: 6%;  top: 221vh; width: 72% !important; }
  .menu-static-collage img:nth-child(6)  { right: 5%; top: 268vh; width: 44% !important; }
  .menu-static-collage img:nth-child(7)  { left: 6%;  top: 310vh; width: 41% !important; }
  .menu-static-collage img:nth-child(8)  { right: 8%; top: 355vh; width: 71% !important; }
  .menu-static-collage img:nth-child(9)  { left: 8%;  top: 401vh; width: 38% !important; }
  .menu-static-collage img:nth-child(10) { right: 5%; top: 441vh; width: 69% !important; }
  .menu-static-collage img:nth-child(11) { left: 8%;  top: 483vh; width: 51% !important; }
  .menu-static-collage img:nth-child(12) { right: 6%; top: 525vh; width: 72% !important; }
}


/* V56 — collage éditorial plus dense mais aéré. Théodule orangé, grand, à GAUCHE.
   12 images fixes, menu et signature toujours visibles, défilement raccourci. */
.menu.active {
  min-height: 355svh;
}
/* Positions en longueur de page. Les images conservent leurs proportions. */
.menu-static-collage img:nth-child(1)  { left: 55%; top: 8vh;   width: 29%; }
.menu-static-collage img:nth-child(2)  { left: 5%;  top: 35vh;  width: 45%; }
.menu-static-collage img:nth-child(3)  { left: 76%; top: 48vh;  width: 17%; }
.menu-static-collage img:nth-child(4)  { left: 56%; top: 92vh;  width: 36%; }
.menu-static-collage img:nth-child(5)  { left: 7%;  top: 139vh; width: 37%; }
.menu-static-collage img:nth-child(6)  { left: 86%; top: 8vh;   width: 12%; }
.menu-static-collage img:nth-child(7)  { left: 48%; top: 178vh; width: 20%; }
.menu-static-collage img:nth-child(8)  { left: 7%;  top: 229vh; width: 43%; }
.menu-static-collage img:nth-child(9)  { left: 79%; top: 150vh; width: 17%; }
.menu-static-collage img:nth-child(10) { left: 44%; top: 258vh; width: 34%; }
.menu-static-collage img:nth-child(11) { left: 9%;  top: 300vh; width: 34%; }
.menu-static-collage img:nth-child(12) { left: 69%; top: 306vh; width: 27%; }
/* La typographie devient plus grande et plus massive, sans découper le mot à l'écran. */
.menu.active .menu-signature {
  font-size: clamp(88px, 13.4vw, 260px);
  font-weight: 900;
  letter-spacing: -.095em;
  transform: scaleX(.78);
  transform-origin: right bottom;
  right: clamp(11px, 1.65vw, 35px);
  bottom: clamp(12px, 1.9vh, 32px);
  max-width: none;
}
@media (max-width: 760px) {
  .menu.active { min-height: 428svh; }
  .menu-static-collage img:nth-child(1)  { left: 63%; top: 16vh;  width: 31% !important; }
  .menu-static-collage img:nth-child(2)  { left: 5%;  top: 37vh;  width: 82% !important; }
  .menu-static-collage img:nth-child(3)  { left: 45%; top: 107vh; width: 49% !important; }
  .menu-static-collage img:nth-child(4)  { left: 5%;  top: 153vh; width: 89% !important; }
  .menu-static-collage img:nth-child(5)  { left: 14%; top: 202vh; width: 71% !important; }
  .menu-static-collage img:nth-child(6)  { left: 78%; top: 13vh;  width: 18% !important; }
  .menu-static-collage img:nth-child(7)  { left: 5%;  top: 251vh; width: 49% !important; }
  .menu-static-collage img:nth-child(8)  { left: 38%; top: 291vh; width: 57% !important; }
  .menu-static-collage img:nth-child(9)  { left: 56%; top: 245vh; width: 37% !important; }
  .menu-static-collage img:nth-child(10) { left: 6%;  top: 329vh; width: 83% !important; }
  .menu-static-collage img:nth-child(11) { left: 8%;  top: 379vh; width: 55% !important; }
  .menu-static-collage img:nth-child(12) { left: 35%; top: 402vh; width: 61% !important; }
  .menu.active .menu-signature {
    font-size: clamp(40px, 12.7vw, 96px);
    transform: scaleX(.76);
    letter-spacing: -.09em;
    font-weight: 900;
    right: 9px;
    bottom: 18px;
  }
}

/* Navigation légèrement amplifiée, au-dessus des photographies. */
.menu.active .menu-item { font-size: clamp(22px, 2.3vw, 38px); }
.menu.active .submenu button { font-size: clamp(14px, 1.25vw, 20px); }
@media (max-width: 760px) {
  .menu.active .menu-item { font-size: clamp(18px, 4.9vw, 24px); }
  .menu.active .submenu button { font-size: 12px; }
}


/* V57 — typographie de la V55, relevée du bord inférieur. */
.menu.active .menu-signature {
  font-size: clamp(55px, 10.7vw, 206px);
  font-weight: 800;
  letter-spacing: -.085em;
  line-height: .83;
  transform: none;
  right: clamp(12px, 2.2vw, 42px);
  bottom: clamp(48px, 8vh, 105px);
  max-width: 97vw;
}
@media (max-width: 760px) {
  .menu.active .menu-signature {
    font-size: clamp(34px, 9.5vw, 72px);
    font-weight: 800;
    letter-spacing: -.085em;
    transform: none;
    right: 10px;
    bottom: clamp(42px, 8vh, 75px);
    max-width: calc(100vw - 20px);
  }
}


/* V58 — sous-menu SPECTACLES accessible, sans zone vide entre les liens. */
.menu.active .spectacles-row {
  position: relative;
  width: max-content;
  min-width: 0;
  z-index: 30;
}
.menu.active .spectacles-row .submenu {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  width: max-content;
  max-width: min(90vw, 480px);
  padding: 10px 16px 12px 0;
  gap: 12px;
  z-index: 31;
  background: rgba(5,5,5,.88);
  border-radius: 2px;
}
.menu.active .spectacles-row .submenu button {
  white-space: normal;
  max-width: min(90vw, 480px);
}
.menu.active .spectacles-row:has(.submenu.open) {
  margin-bottom: 72px;
}
@media (max-width:760px) {
  .menu.active .spectacles-row .submenu {
    left: 0;
    top: calc(100% + 7px);
    max-width: calc(100vw - 45px);
    padding: 9px 12px 12px 0;
  }
  .menu.active .spectacles-row:has(.submenu.open) { margin-bottom: 58px; }
}

/* V59 — trajet continu de la souris entre SPECTACLES et ses deux liens. */
.menu.active .spectacles-row .submenu {
  top: 100%;
  padding-top: 16px;
  padding-bottom: 18px;
}
.menu.active .spectacles-row .submenu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 18px;
}
@media (max-width: 760px) {
  .menu.active .spectacles-row .submenu { top: 100%; padding-top: 15px; }
}

/* V61 — retour à la V59 : photographies plus grandes, plus frontales,
   rapprochées dans une composition fixe, sur fond noir. */
.menu.active { min-height: 295svh; }
.menu-static-collage img:nth-child(n) {
  transform: none !important;
  filter: none !important;
  object-fit: contain;
}
.menu-static-collage img:nth-child(1)  { left: 49%; top: 8vh;   width: 40% !important; }
.menu-static-collage img:nth-child(2)  { left: 4%;  top: 29vh;  width: 51% !important; }
.menu-static-collage img:nth-child(3)  { left: 76%; top: 50vh;  width: 21% !important; }
.menu-static-collage img:nth-child(4)  { left: 51%; top: 83vh;  width: 44% !important; }
.menu-static-collage img:nth-child(5)  { left: 5%;  top: 121vh; width: 46% !important; }
.menu-static-collage img:nth-child(6)  { left: 87%; top: 5vh;   width: 11% !important; }
.menu-static-collage img:nth-child(7)  { left: 50%; top: 152vh; width: 28% !important; }
.menu-static-collage img:nth-child(8)  { left: 5%;  top: 185vh; width: 50% !important; }
.menu-static-collage img:nth-child(9)  { left: 78%; top: 137vh; width: 20% !important; }
.menu-static-collage img:nth-child(10) { left: 45%; top: 212vh; width: 42% !important; }
.menu-static-collage img:nth-child(11) { left: 5%;  top: 251vh; width: 40% !important; }
.menu-static-collage img:nth-child(12) { left: 65%; top: 253vh; width: 32% !important; }
@media (max-width:760px) {
  .menu.active { min-height: 365svh; }
  .menu-static-collage img:nth-child(1)  { left: 48%; top: 17vh;  width: 46% !important; }
  .menu-static-collage img:nth-child(2)  { left: 4%;  top: 44vh;  width: 89% !important; }
  .menu-static-collage img:nth-child(3)  { left: 45%; top: 92vh;  width: 51% !important; }
  .menu-static-collage img:nth-child(4)  { left: 4%;  top: 126vh; width: 91% !important; }
  .menu-static-collage img:nth-child(5)  { left: 7%;  top: 171vh; width: 84% !important; }
  .menu-static-collage img:nth-child(6)  { left: 80%; top: 10vh;  width: 17% !important; }
  .menu-static-collage img:nth-child(7)  { left: 5%;  top: 209vh; width: 55% !important; }
  .menu-static-collage img:nth-child(8)  { left: 37%; top: 240vh; width: 59% !important; }
  .menu-static-collage img:nth-child(9)  { left: 59%; top: 205vh; width: 35% !important; }
  .menu-static-collage img:nth-child(10) { left: 5%;  top: 279vh; width: 90% !important; }
  .menu-static-collage img:nth-child(11) { left: 5%;  top: 322vh; width: 56% !important; }
  .menu-static-collage img:nth-child(12) { left: 37%; top: 344vh; width: 58% !important; }
}

/* V63 — base V61 : grandes photos frontales, grille aérée sans superposition. */
.menu.active { min-height: 100svh; height: auto; }
.menu-slideshow.menu-static-collage {
  position: relative !important;
  inset: auto !important;
  z-index: 0;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0,1fr));
  align-items: center;
  column-gap: clamp(20px,3.8vw,72px);
  row-gap: clamp(60px,10vh,145px);
  padding: clamp(140px,19vh,230px) clamp(22px,5vw,90px) 23vh;
  overflow: visible !important;
  pointer-events: none;
}
.menu-static-collage img:nth-child(n) {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: auto !important;
  max-height: 85vh;
  object-fit: contain !important;
  transform: none !important;
  opacity: 1 !important;
  animation: none !important;
  filter: none !important;
  justify-self: center;
}
.menu-static-collage img:nth-child(1)  { grid-column: 7 / 13; }
.menu-static-collage img:nth-child(2)  { grid-column: 1 / 7; }
.menu-static-collage img:nth-child(3)  { grid-column: 8 / 13; }
.menu-static-collage img:nth-child(4)  { grid-column: 2 / 9; }
.menu-static-collage img:nth-child(5)  { grid-column: 7 / 13; }
.menu-static-collage img:nth-child(6)  { grid-column: 1 / 6; }
.menu-static-collage img:nth-child(7)  { grid-column: 6 / 13; }
.menu-static-collage img:nth-child(8)  { grid-column: 1 / 8; }
.menu-static-collage img:nth-child(9)  { grid-column: 8 / 13; }
.menu-static-collage img:nth-child(10) { grid-column: 2 / 10; }
.menu-static-collage img:nth-child(11) { grid-column: 1 / 6; }
.menu-static-collage img:nth-child(12) { grid-column: 7 / 13; }
.menu.active .menu-wrap { z-index: 15; }
.menu.active .menu-signature { z-index: 16; }
@media (max-width: 760px) {
  .menu-slideshow.menu-static-collage {
    grid-template-columns: repeat(6,minmax(0,1fr));
    column-gap: 12px;
    row-gap: 50px;
    padding: 190px 18px 120px;
  }
  .menu-static-collage img:nth-child(n) { max-height: 65vh; }
  .menu-static-collage img:nth-child(3n+1) { grid-column: 1 / 7; }
  .menu-static-collage img:nth-child(3n+2) { grid-column: 2 / 7; }
  .menu-static-collage img:nth-child(3n)   { grid-column: 1 / 6; }
}

/* V64 — première photo en haut à gauche et navigation horizontale. */
.menu.active .menu-wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 22px clamp(18px,3vw,52px) 25px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(10px,1.6vw,30px);
  box-sizing: border-box;
  background: linear-gradient(to bottom, rgba(0,0,0,.96),rgba(0,0,0,.85) 80%,rgba(0,0,0,0));
  z-index: 40;
}
.menu.active .menu-wrap > .menu-item,
.menu.active .menu-wrap > .menu-row { flex: 0 0 auto; }
.menu.active .menu-item {
  font-size: clamp(12px,1.25vw,19px);
  font-weight: 400;
  white-space: nowrap;
  letter-spacing: .085em;
}
.menu.active .spectacles-row .submenu {
  left: 0;
  top: 100%;
  width: max-content;
  max-width: 330px;
  background: rgba(0,0,0,.94);
  padding: 16px 16px 18px 0;
}
.menu.active .spectacles-row:has(.submenu.open) { margin-bottom: 0; }
.menu-slideshow.menu-static-collage {
  padding-top: clamp(125px,17vh,190px);
}
.menu-static-collage img:nth-child(1) {
  grid-column: 1 / 7;
  grid-row: 1;
}
.menu-static-collage img:nth-child(2) {
  grid-column: 7 / 13;
  grid-row: 2;
}
@media (max-width:760px) {
  .menu.active .menu-wrap {
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: 18px;
    row-gap: 12px;
    padding: 17px 16px 25px;
  }
  .menu.active .menu-item { font-size: clamp(11px,3vw,14px); }
  .menu-slideshow.menu-static-collage { padding-top: 155px; }
  .menu-static-collage img:nth-child(1) {
    grid-column: 1 / 7;
    grid-row: 1;
  }
  .menu-static-collage img:nth-child(2) {
    grid-column: 2 / 7;
    grid-row: 2;
  }
}

/* V69 — agrandir uniquement la photo du corps allongé sous le néon. */
@media (min-width: 761px) {
  .menu-static-collage img[src="assets/menu-slide-08.jpg"] {
    grid-column: 1 / 11 !important;
    width: 100% !important;
    max-height: none !important;
  }
}
@media (max-width: 760px) {
  .menu-static-collage img[src="assets/menu-slide-08.jpg"] {
    grid-column: 1 / 7 !important;
    width: 100% !important;
    max-height: none !important;
  }
}

/* V70 — portfolio à profondeurs décalées, sans modifier les photos ni la navigation. */
@media (min-width: 761px) {
  .menu-slideshow.menu-static-collage { row-gap: clamp(24px, 5vh, 80px); }
  .menu-static-collage img:nth-child(n) { position: relative; z-index: 1; box-shadow: 0 24px 52px rgba(0,0,0,.35); }
  .menu-static-collage img:nth-child(1) { transform: translate(-2vw, 0); }
  .menu-static-collage img:nth-child(2) { transform: translate(-5vw, -7vh); z-index: 2; }
  .menu-static-collage img:nth-child(3) { transform: translate(3vw, 4vh); }
  .menu-static-collage img:nth-child(4) { transform: translate(-3vw, -9vh); z-index: 2; }
  .menu-static-collage img:nth-child(5) { transform: translate(3vw, 6vh); }
  .menu-static-collage img:nth-child(6) { transform: translate(0, -7vh); z-index: 3; }
  .menu-static-collage img:nth-child(7) { transform: translate(-2vw, 6vh); }
  .menu-static-collage img:nth-child(8) { transform: translate(3vw, -6vh); z-index: 2; }
}
@media (max-width: 760px) {
  .menu-static-collage img:nth-child(n) { position:relative; box-shadow: 0 15px 30px rgba(0,0,0,.3); }
  .menu-static-collage img:nth-child(2n) { transform: translateY(-15px); }
  .menu-static-collage img:nth-child(3n) { transform: translateY(12px); }
}

/* V71 : supprimer la photographie bleue et recentrer la première image. */
@media (min-width:761px) {
 .menu-static-collage img[src="assets/menu-slide-09.jpg"] {
   grid-column: 2 / 12 !important;
   grid-row: 1 !important;
   justify-self: center !important;
   width: 100% !important;
   max-width: 1000px !important;
   height: auto !important;
   max-height: none !important;
   object-fit: contain !important;
   transform: none !important;
 }
}
@media (max-width:760px) {
 .menu-static-collage img[src="assets/menu-slide-09.jpg"] {
   grid-column: 1 / 7 !important;
   grid-row: 1 !important;
   width: 100% !important;
   transform: none !important;
   object-fit: contain !important;
 }
}

/* V72 — la première photographie se termine avant la signature fixe.
   Aucune autre photographie ni règle de navigation modifiée. */
@media (min-width:761px) {
  .menu-static-collage img[src="assets/menu-slide-09.jpg"] {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(48svh, calc(100svh - clamp(125px,17vh,190px) - clamp(55px,10.7vw,206px) - 48px)) !important;
    object-fit: contain !important;
    justify-self: center !important;
  }
}
@media (max-width:760px) {
  .menu-static-collage img[src="assets/menu-slide-09.jpg"] {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(45svh, calc(100svh - 155px - clamp(34px,9.5vw,72px) - 65px)) !important;
    object-fit: contain !important;
    justify-self: center !important;
  }
}

/* V73 — cadrage d'ouverture selon la capture de référence.
   Première image ample, centrée et sous la signature fixe ; suite du portfolio inchangée. */
@media (min-width:761px) {
  .menu-slideshow.menu-static-collage { padding-top: clamp(45px, 5vh, 72px) !important; }
  .menu-static-collage img[src="assets/menu-slide-09.jpg"] {
    grid-column: 3 / 11 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: none !important;
    height: min(94vh, 940px) !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    justify-self: center !important;
    transform: none !important;
  }
}
@media (max-width:760px) {
  .menu-slideshow.menu-static-collage { padding-top: 95px !important; }
  .menu-static-collage img[src="assets/menu-slide-09.jpg"] {
    grid-column: 1 / 7 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: min(75svh, 650px) !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center top !important;
    transform: none !important;
  }
}


/* V75 — Trois pages intérieures recomposées d'après les captures de référence.
   Le menu V74, les scripts, les textes, les galeries et les fondus sont inchangés. */
.page.les-morts, .page.theodule, .page.about-v25 {
  background-color: #050505;
  color: #c4c4c4;
}
.page.les-morts {
  background-image: linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.12) 48%,rgba(0,0,0,.12)),url("assets/les-morts.jpg");
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
}
.les-morts .content-grid {
  grid-template-columns: minmax(300px, 39%) minmax(300px, 1fr);
  column-gap: 5vw;
  padding: clamp(95px,13vh,145px) 3vw 10vh;
  min-height: 100svh;
  align-items: start;
}
.les-morts .text-column { max-width: 510px; }
.les-morts .section-title { margin-bottom: clamp(60px,9vh,110px); }
.les-morts .les-morts-visual-column {
  width: 100% !important;
  justify-self: stretch !important;
  align-self: start;
  padding-top: clamp(95px, 12vh, 155px);
}
.les-morts .main-stage-image { display: none; }
.les-morts .credits-under-image {
  margin: 0;
  max-width: 640px;
}
.les-morts .credits-under-image .credits-block {
  width: 100%;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(9px,.67vw,11px);
  line-height: 1.26;
  letter-spacing: 0;
  color: #c8c8c8;
}
.les-morts .credits-under-image .credits-group { margin-bottom: 1em; }
.les-morts .credits-under-image .credits-group p { margin-bottom: .22em; }

.theodule .content-grid {
  grid-template-columns: minmax(300px, 39%) minmax(300px, 1fr);
  column-gap: clamp(30px, 7vw, 120px);
  padding: clamp(100px,13vh,155px) 3vw 10vh;
  align-items: start;
}
.theodule .text-column { max-width: 510px; }
.theodule .theodule-visual-column {
  width: 100% !important;
  max-width: 650px;
  justify-self: center !important;
  align-self: start;
}
.theodule .main-stage-image {
  background: #f0eee7;
  padding: clamp(12px,1.15vw,19px) clamp(12px,1.15vw,19px) clamp(34px,3vw,55px);
  width: 100%;
  margin: 0;
}
.theodule .main-stage-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none !important;
  object-fit: contain;
}
.theodule .credits-under-image { margin-top: 32px; }

.about-v25 {
  background-image: linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.32) 53%,rgba(0,0,0,.16)),url("assets/les-morts-machine.jpg");
  background-size: cover;
  background-position: center 43%;
  background-attachment: fixed;
}
.about-v25 .about-v25-content {
  position: relative;
  z-index: 1;
  padding: clamp(125px,17vh,190px) 4.8vw clamp(100px,16vh,180px);
  width: min(100%, 700px);
  color: #d0d0d0;
}
.about-v25 .about-paragraph,
.about-v25 .about-names { font-size: clamp(11px,.82vw,13px); }

@media (max-width:760px) {
  .page.les-morts, .page.about-v25 { background-attachment: scroll; }
  .page.les-morts { background-position: 55% center; }
  .les-morts .content-grid,
  .theodule .content-grid {
    grid-template-columns: 1fr;
    padding: 110px 6vw 12vh;
    row-gap: 5vh;
  }
  .les-morts .les-morts-visual-column { padding-top: 12px; }
  .les-morts .credits-under-image .credits-block { font-size: 10px; }
  .theodule .theodule-visual-column { width: 100% !important; max-width: 520px; }
  .about-v25 { background-position: 61% center; }
  .about-v25 .about-v25-content { padding: 115px 6vw 100px; }
}

/* V76: rubrique Hans Kùnze & Simon Slave importée de V100 */
.hans-simon-page { background:#050505; color:#f0eee9; min-height:100vh; }
.hans-simon-page.active { display:block; }
.hans-simon-back { position:fixed; top:27px; right:35px; z-index:20; background:transparent; border:0; color:#f0eee9; font-size:14px; font-weight:300; letter-spacing:.18em; cursor:pointer; }
.hans-simon-heading { margin:0; padding:100px 5vw 65px; font-size:clamp(17px,2.1vw,32px); font-weight:300; letter-spacing:.17em; line-height:1.35; }
.hans-simon-gallery { display:flex; flex-direction:column; align-items:center; gap:clamp(95px,16vh,220px); padding:0 5vw 20vh; }
.hans-simon-photo { margin:0; width:min(100%,1000px); }
.hans-simon-photo img { display:block; width:100%; height:auto; }
.hans-simon-photo-1 { width:min(100%,1150px); }
.hans-simon-photo-2 { width:min(68%,690px); align-self:flex-start; margin-left:7%; }
.hans-simon-photo-3 { width:min(100%,1100px); }
.hans-simon-photo-4 { width:min(65%,670px); align-self:flex-end; margin-right:7%; }
.hans-simon-photo-5 { width:min(76%,790px); }
@media (max-width:760px){.hans-simon-heading{padding:100px 22px 55px;font-size:17px}
.hans-simon-gallery{padding:0 18px 100px;gap:75px}
.hans-simon-photo:nth-child(n){width:100%;margin:0;align-self:center}
.hans-simon-back{top:22px;right:20px}}
.hans-simon-page { background: #050505; color: #f0eee9; min-height: 100svh; }
.hans-simon-page.active { display: block; }
.hans-simon-hero { margin: 0; width: 100%; height: min(78svh, 880px); overflow: hidden; }
.hans-simon-hero img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.hans-simon-heading { margin: 0; padding: clamp(42px,7vw,100px) 5vw clamp(115px,17vh,240px); font-size: clamp(23px,4.2vw,72px); line-height: 1.15; font-weight: 300; letter-spacing: .085em; text-align: center; }
.hans-simon-heading span { font-weight: 200; }
.hans-simon-gallery { display: flex; flex-direction: column; align-items: center; gap: clamp(90px,16vh,220px); padding: 0 5vw clamp(150px,22vh,290px); }
.hans-simon-photo { margin: 0; width: min(100%, 1000px); }
.hans-simon-photo img { display: block; width: 100%; height: auto; }
.hans-simon-photo-2 { width: min(66%, 690px); align-self: flex-start; margin-left: 7%; }
.hans-simon-photo-3 { width: min(100%, 1100px); }
.hans-simon-photo-4 { width: min(64%, 670px); align-self: flex-end; margin-right: 7%; }
.hans-simon-photo-5 { width: min(78%, 790px); }
.hans-simon-venues { padding: 0 7vw clamp(120px,20vh,220px); color: #e2dfd9; }
.hans-simon-venues h2 { margin: 0 0 34px; font-size: 12px; font-weight: 300; letter-spacing: .24em; }
.hans-simon-venues p { margin: 0; font-size: clamp(16px,1.6vw,24px); font-weight: 300; line-height: 2; letter-spacing: .06em; }
@media (max-width:760px) {.hans-simon-hero { height: 55svh; }
.hans-simon-heading { padding: 48px 20px 95px; font-size: clamp(21px,5.3vw,33px); }
.hans-simon-gallery { padding: 0 18px 125px; gap: 80px; }
.hans-simon-photo:nth-child(n) { width: 100%; margin: 0; align-self: center; }
.hans-simon-venues { padding: 0 24px 110px; }
.hans-simon-venues p { font-size: 16px; }}
.hans-simon-page.active .hans-simon-hero img {
  animation: hs-soft-reveal 950ms ease-out both !important;
}
.hans-simon-heading {
  padding-top: clamp(20px,3vw,42px) !important;
  padding-bottom: clamp(48px,7vh,90px) !important;
}
.hans-simon-gallery {
  gap: clamp(55px,9vh,120px) !important;
  padding-bottom: clamp(90px,14vh,160px) !important;
}
@media  (max-width:760px) {.hans-simon-heading { padding: 24px 20px 55px !important; }
.hans-simon-gallery { gap: 60px !important; }}
@media  (prefers-reduced-motion:reduce) {.hans-simon-page.active .hans-simon-hero img { animation:none !important; }}
.hs-transition-curtain {
  position:fixed; inset:0; z-index:9999; background:#050505;
  opacity:0; pointer-events:none;
}
.hans-simon-page.active .hans-simon-hero img { animation:none !important; }
.hans-simon-hero { height: clamp(260px, 46svh, 560px) !important; }
.hans-simon-hero img { object-position: center 52%; }
.hans-simon-venues h2 {
  font-size: clamp(15px,1.35vw,21px);
  font-weight: 300;
  letter-spacing: .035em;
  text-transform: none;
  line-height: 1.6;
  margin-bottom: 26px;
}
@media (max-width:760px) {.hans-simon-hero { height: clamp(200px, 34svh, 350px) !important; }
.hans-simon-venues h2 { font-size: 16px; }}
.hans-simon-page.active { position: relative; background: #030303; overflow: visible; }
.hans-simon-page .hans-simon-heading {
  position: fixed !important;
  inset: auto 0 !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 12;
  margin: 0 !important;
  padding: 0 2.5vw !important;
  pointer-events: none;
  color: #f6f4f0;
  text-align: center;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(40px, 8.1vw, 148px) !important;
  font-weight: 500 !important;
  letter-spacing: -.055em !important;
  line-height: .93 !important;
  text-transform: uppercase;
  text-shadow: 0 2px 30px rgba(0,0,0,.5);
}
.hans-simon-page .hans-simon-heading span {
  display: inline-block;
  font-weight: 200 !important;
  font-size: .77em;
  vertical-align: .06em;
  margin: 0 .015em;
}
.hans-simon-page .hans-simon-hero {
  position: relative;
  width: 86% !important;
  height: clamp(360px, 76svh, 900px) !important;
  margin: 12svh auto 20svh !important;
  overflow: hidden;
  z-index: 1;
}
.hans-simon-page .hans-simon-hero img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 52%;
}
.hans-simon-page .hans-simon-gallery {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(140px, 30svh, 340px) !important;
  padding: 0 5vw 40svh !important;
}
.hans-simon-page .hans-simon-photo:nth-child(n) { margin-top: 0; margin-bottom: 0; }
.hans-simon-page .hans-simon-photo-2 { width: min(72%, 850px); align-self: flex-start; margin-left: 3%; }
.hans-simon-page .hans-simon-photo-3 { width: min(95%, 1120px); align-self: center; }
.hans-simon-page .hans-simon-photo-4 { width: min(72%, 850px); align-self: flex-end; margin-right: 3%; }
.hans-simon-page .hans-simon-photo-5 { width: min(82%, 950px); align-self: center; }
.hans-simon-page .hans-simon-back { z-index: 30; }
@media  (max-width: 760px) {.hans-simon-page .hans-simon-heading {
    font-size: clamp(35px, 10.2vw, 75px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.055em !important;
    padding: 0 12px !important;
  }
.hans-simon-page .hans-simon-hero {
    width: 94% !important;
    height: 64svh !important;
    margin: 12svh auto 18svh !important;
  }
.hans-simon-page .hans-simon-gallery {
    gap: 23svh !important;
    padding: 0 12px 30svh !important;
  }
.hans-simon-page .hans-simon-photo:nth-child(n) {
    width: 94% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
  }}
.hans-simon-page .hans-simon-hero {
  margin: 0 auto 18svh !important;
  width: 100% !important;
  height: clamp(390px, 80svh, 980px) !important;
  background: #030303 !important;
}
.hans-simon-page .hans-simon-hero img {
  display: block;
  object-fit: cover !important;
  object-position: center 50% !important;
}
.hans-simon-page .hans-simon-heading {
  color: #fff !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: clamp(50px, 10.2vw, 185px) !important;
  font-weight: 600 !important;
  letter-spacing: -.075em !important;
  line-height: .83 !important;
  text-shadow: 0 3px 32px rgba(0,0,0,.65) !important;
  padding: 0 1vw !important;
  white-space: nowrap;
}
.hans-simon-page .hans-simon-heading .hs-name {
  display: block !important;
  font-size: 1em !important;
  font-weight: inherit !important;
  margin: 0 !important;
}
.hans-simon-page .hans-simon-heading .hs-amp {
  display: block !important;
  font-size: .68em !important;
  font-weight: 300 !important;
  margin: .06em 0 .1em !important;
  line-height: .85 !important;
}
@media (max-width:760px) {.hans-simon-page .hans-simon-hero { height: 76svh !important; margin: 0 auto 14svh !important; }
.hans-simon-page .hans-simon-heading {
   font-size: clamp(39px, 10.8vw, 82px) !important;
   letter-spacing: -.072em !important;
   line-height: .91 !important;
 }}
.hans-simon-page .hans-simon-heading {
  top: 66% !important;
  font-family: Impact, "Arial Narrow", "Helvetica Neue Condensed Bold", "Arial Black", sans-serif !important;
  font-stretch: condensed;
  font-size: clamp(62px, 11.6vw, 210px) !important;
  font-weight: 900 !important;
  letter-spacing: -.055em !important;
  line-height: .78 !important;
  text-transform: uppercase !important;
  text-shadow: 1px 2px 0 rgba(0,0,0,.45), 0 7px 28px rgba(0,0,0,.5) !important;
}
.hans-simon-page .hans-simon-heading .hs-amp {
  font-family: Impact, "Arial Narrow", "Arial Black", sans-serif !important;
  font-weight: 900 !important;
  font-size: .62em !important;
  margin: .10em 0 .12em !important;
}
@media (max-width:760px) {.hans-simon-page .hans-simon-heading {
   top: 63% !important;
   font-size: clamp(42px, 12vw, 95px) !important;
   line-height: .86 !important;
 }}
.hans-simon-page .hans-simon-heading {
  top: 70% !important;
  left: 50% !important;
  right: auto !important;
  width: max-content !important;
  max-width: 92vw !important;
  transform: translate(-50%,-50%) !important;
  padding: 0 !important;
  text-align: left !important;
  font-family: "Courier New", Courier, monospace !important;
  font-size: clamp(29px, 5.15vw, 83px) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.7) !important;
  white-space: nowrap;
}
.hans-simon-page .hans-simon-heading .hs-name {
  display: block !important;
  font-family: inherit !important;
  font-weight: 400 !important;
}
.hans-simon-page .hans-simon-heading .hs-amp {
  display: block !important;
  font-family: inherit !important;
  font-size: 1em !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  margin: 0 0 0 1.8em !important;
}
@media (max-width:760px) {.hans-simon-page .hans-simon-heading {
   top: 69% !important;
   font-size: clamp(23px, 6.1vw, 48px) !important;
 }}
.hans-simon-page .hans-simon-heading {
  position: fixed !important; inset: 0 !important; top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100vw !important; max-width: none !important; height: 100svh !important;
  transform: none !important; margin: 0 !important; padding: 0 !important;
  background-image: url("assets/hans-simon-typography-v87.png") !important;
  background-position: center center !important; background-size: contain !important;
  background-repeat: no-repeat !important;
  font-size: 0 !important; color: transparent !important; text-shadow: none !important;
  pointer-events: none !important; z-index: 12 !important;
}
.hans-simon-page .hans-simon-heading span { color: transparent !important; font-size: 0 !important; }
.hans-simon-page .hans-simon-heading {
 background-image: url("assets/hans-simon-typography-v88.png") !important;
 background-size: min(79vw, 1000px) auto !important;
 background-position: center 76% !important;
}
@media  (max-width: 760px) {.hans-simon-page .hans-simon-heading {
  background-size: 94vw auto !important;
  background-position: center 72% !important;
 }}
.hans-simon-page .hans-simon-heading { background-image: url("assets/hans-simon-typography-v89.png") !important; }
.hans-simon-page .hans-simon-heading {
  opacity: 1;
  transition: opacity 1.5s ease-in-out !important;
  animation: none !important;
  visibility: visible !important;
}
.hans-simon-page .hans-simon-heading.hs-scrolled-away { opacity: 0 !important; }
/* V77 — corrections ciblées, sans modifier le reste du site. */

/* Supprime le flash dû à l'animation d'opacité du menu lors de son activation.
   Le fondu d'entrée de 3,5 s reste assuré par l'introduction au-dessus du menu. */
.page.menu.active:not(.crossfade-menu) {
  opacity: 1;
  animation: none !important;
}
.page.menu.active.v49-menu-enter { opacity: 1; }

/* DREAMBABYDREAM : priorité au sommet de la photo pour ne pas couper le crâne. */
.page.about-v25 {
  background-position: center top !important;
}

/* Les Morts voyagent vite : distribution sur un panneau noir lisible,
   sans modifier son texte ni l'image de fond. */
.les-morts .credits-under-image {
  background: rgba(0,0,0,.88);
  padding: clamp(18px,2.1vw,34px);
  box-sizing: border-box;
  border-radius: 0;
  max-width: 690px;
}
.les-morts .credits-under-image .credits-block {
  color: #e2e2e2;
}
@media (max-width:760px) {
  .page.about-v25 { background-position: 61% top !important; }
  .les-morts .credits-under-image { padding: 18px; }
}

/* V78 : photographie entièrement visible, distribution sous l'image sur fond noir. */
.page.les-morts {
  position: relative;
  isolation: isolate;
  background: #000 !important;
}
.page.les-morts::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  height: 100svh;
  background-image: url("assets/les-morts.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
}
.les-morts .content-grid {
  min-height: 100svh !important;
  box-sizing: border-box;
}
.les-morts .les-morts-black-distribution {
  position: relative;
  z-index: 1;
  background: #000;
  padding: clamp(55px,8vh,110px) clamp(24px,5vw,90px) clamp(75px,10vh,140px);
}
.les-morts .les-morts-black-distribution .credits-under-image {
  margin: 0 auto !important;
  max-width: 920px !important;
  background: transparent !important;
  padding: 0 !important;
}
.les-morts .les-morts-black-distribution .credits-block {
  color: #dedede;
  font-size: clamp(11px,.86vw,14px);
  line-height: 1.5;
}
@media(max-width:760px) {
 .page.les-morts::before {background-position: 52% center;}
 .les-morts .content-grid {min-height:100svh !important;}
}

/* V79 — distribution alignée au bord gauche, sans toucher au reste. */
.les-morts .les-morts-black-distribution {
  padding-left: clamp(12px, 3vw, 48px) !important;
  padding-right: clamp(12px, 3vw, 48px) !important;
}
.les-morts .les-morts-black-distribution .credits-under-image {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 920px !important;
}

/* V80 — distribution poussée vers le bord droit, sans changer les textes. */
.les-morts .les-morts-black-distribution .credits-under-image {
  margin-left: auto !important;
  margin-right: 0 !important;
  width: min(920px, 100%) !important;
}

/* V81 — une amorce de la deuxième photo visible dès l'ouverture du portfolio. */
@media (min-width:761px) {
  .menu-static-collage img[src="assets/menu-slide-09.jpg"] {
    height: 66svh !important;
  }
  .menu-static-collage img:nth-child(2) {
    margin-top: -2svh !important;
    position: relative;
  }
}
@media (max-width:760px) {
  .menu-static-collage img[src="assets/menu-slide-09.jpg"] {
    height: 54svh !important;
    object-fit: cover !important;
  }
  .menu-static-collage img:nth-child(2) {
    margin-top: -3svh !important;
  }
}

/* V82 — remonter la distribution LMVV et reprendre la taille de Théodule. */
.les-morts .les-morts-black-distribution {
  padding-top: clamp(12px, 2vh, 24px) !important;
}
.les-morts .les-morts-black-distribution .credits-block {
  width: min(100%, 620px);
  font-size: clamp(8px, .62vw, 10px) !important;
  line-height: 1.22 !important;
  letter-spacing: .025em !important;
}
@media (max-width:760px) {
  .les-morts .les-morts-black-distribution .credits-block { font-size: 9px !important; }
}

/* V83 — papier Polaroid légèrement patiné, propre et subtilement texturé. */
.theodule .main-stage-image {
  position: relative;
  background-color: #eae7de !important;
  background-image:
    repeating-linear-gradient(98deg, rgba(108,99,81,.025) 0px, rgba(108,99,81,.025) 1px, transparent 1px, transparent 5px),
    repeating-linear-gradient(4deg, rgba(255,255,255,.18) 0px, rgba(255,255,255,.18) 1px, transparent 1px, transparent 4px),
    linear-gradient(132deg, #f2efe7 0%, #e9e5dc 52%, #e4dfd5 100%) !important;
  box-shadow: 0 5px 18px rgba(0,0,0,.22), inset 0 0 18px rgba(111,100,80,.045);
}
.theodule .main-stage-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 2px rgba(84,77,63,.12);
}

/* V85 — typographie noire uniquement sur les pages DATES et CONTACT. */
.page.dates, .page.dates .section-title, .page.dates .date-entry, .page.contact, .page.contact .section-title, .page.contact .email, .page.contact .content-dbd { color: #111 !important; }

/* V86 : tous les petits boutons DBD en haut, centrés et légèrement agrandis. */
.page .content-dbd,
.page.hans-simon-page .hans-simon-back {
  position: fixed !important;
  top: clamp(20px, 3.2vh, 38px) !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  width: max-content !important;
  font-size: clamp(15px, 1.15vw, 18px) !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  z-index: 40 !important;
}
.page.dates .content-dbd { color: #111 !important; }

/* V90 : sixième image orange supprimée ; conserver la position de la dernière photographie. */
@media (min-width:761px) { .menu-static-collage img[src="assets/menu-slide-06.jpg"] { grid-column: 7 / 12; grid-row: 4; } }

/* V93 : nouvelle photo verte en troisième position, à gauche. */
@media (min-width: 761px) {
  .menu-static-collage img[src="assets/menu-slide-v93-green-stage.jpg"] {
    grid-column: 1 / 7 !important;
    justify-self: start !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
  }
}
@media (max-width: 760px) {
  .menu-static-collage img[src="assets/menu-slide-v93-green-stage.jpg"] {
    grid-column: 1 / 6 !important;
    justify-self: start !important;
    width: 100% !important;
  }
}

/* V94 : texte du live, après la galerie, sans changer la composition existante. */
.hans-simon-page .hans-simon-presentation {
  position: relative;
  z-index: 2;
  width: min(760px, 86%);
  margin: 0 auto;
  padding: 0 0 clamp(110px, 18vh, 220px);
  color: #e6e5e2;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  font-size: clamp(15px, 1.18vw, 19px);
  line-height: 1.72;
  letter-spacing: .012em;
  text-align: left;
}
.hans-simon-page .hans-simon-presentation p { margin: 0 0 1.3em; }
@media (max-width: 760px) {
  .hans-simon-page .hans-simon-presentation {
    width: auto;
    margin: 0 25px;
    padding-bottom: 110px;
    font-size: 15px;
    line-height: 1.65;
  }
}

/* V95 : présentation en regard de la deuxième photographie. */
@media (min-width: 761px) {
 .hans-simon-page .hs-photo-text-row {
   display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
   align-items:center; gap:clamp(26px,4vw,90px);
   width: min(1400px, 92vw); margin:0 auto;
 }
 .hans-simon-page .hs-photo-text-row .hans-simon-photo-2 {
   width:100% !important; max-width:none !important;
   margin:0 !important; align-self:center !important;
 }
 .hans-simon-page .hs-photo-text-row .hans-simon-presentation {
   width:100% !important; max-width:none !important;
   margin:0 !important; padding:0 !important;
   color:#c8c8c8 !important;
   font-family:"Courier New", Courier, monospace !important;
   font-size:clamp(11px,.91vw,15px) !important;
   font-weight:400 !important; line-height:1.55 !important;
   letter-spacing:.01em !important;
 }
 .hans-simon-page .hs-photo-text-row .hans-simon-presentation p {margin-bottom:1.05em;}
}
@media (max-width:760px) {
 .hans-simon-page .hs-photo-text-row {
   width:100%; display:flex; flex-direction:column; gap:32px; align-items:stretch;
 }
 .hans-simon-page .hs-photo-text-row .hans-simon-photo-2 {
   width:100% !important; max-width:100% !important; margin:0 !important;
 }
 .hans-simon-page .hs-photo-text-row .hans-simon-presentation {
   margin:0 16px !important; width:auto !important;
   padding:0 !important; color:#c8c8c8 !important;
   font-family:"Courier New", Courier, monospace !important;
   font-size:12px !important; line-height:1.55 !important;
 }
}


/* V97 — photographie bleue à gauche du cercueil, sur la même ligne ;
   cercueil réduit. Les autres photographies restent inchangées. */
@media (min-width: 761px) {
  .menu-static-collage img[src="assets/menu-slide-05.jpg"] {
    grid-column: 1 / 7 !important;
    grid-row: 4 !important;
    align-self: center !important;
    justify-self: start !important;
    width: 100% !important;
    transform: none !important;
  }
  .menu-static-collage img[src="assets/menu-slide-06.jpg"] {
    grid-column: 9 / 13 !important;
    grid-row: 4 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 78% !important;
    max-width: 100% !important;
    transform: none !important;
  }
}

/* V98 : nouvelle photographie en deuxième position, à gauche de la photographie orange.
   L'ordre et la composition des autres images restent inchangés. */
@media (min-width: 761px) {
 .menu-static-collage img[src="assets/menu-slide-v98-hans-purple.jpg"] {
   grid-column: 1 / 7 !important; grid-row: 2 !important;
   justify-self: start !important; align-self: center !important;
   width: 100% !important; max-width: 100% !important;
   transform: none !important;
 }
 .menu-static-collage img[src="assets/menu-slide-03.jpg"] {
   grid-column: 8 / 13 !important; grid-row: 2 !important;
   justify-self: end !important; align-self: center !important;
   width: 100% !important; transform: none !important;
 }
 .menu-static-collage img[src="assets/menu-slide-v93-green-stage.jpg"] {grid-row:3 !important;}
 .menu-static-collage img[src="assets/menu-slide-08.jpg"] {grid-row:3 !important;}
 .menu-static-collage img[src="assets/menu-slide-05.jpg"] {grid-row:4 !important;}
 .menu-static-collage img[src="assets/menu-slide-06.jpg"] {grid-row:4 !important;}
}
@media (max-width: 760px) {
 .menu-static-collage img[src="assets/menu-slide-v98-hans-purple.jpg"] {
   display:block !important; grid-column:1 / 7 !important;
   grid-row:2 !important; width:100% !important;
   transform:none !important;
 }
 .menu-static-collage img[src="assets/menu-slide-03.jpg"] {
   grid-column:2 / 7 !important; grid-row:3 !important;
 }
 .menu-static-collage img[src="assets/menu-slide-v93-green-stage.jpg"] {grid-row:4 !important;}
 .menu-static-collage img[src="assets/menu-slide-08.jpg"] {grid-row:5 !important;}
}

/* V99 — supprimer le chevauchement des photos violette et orange,
   sans modifier l’ordre ni la disposition des autres photographies. */
@media (min-width: 761px) {
  .menu-static-collage img[src="assets/menu-slide-v98-hans-purple.jpg"],
  .menu-static-collage img[src="assets/menu-slide-03.jpg"] {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }
  .menu-static-collage img[src="assets/menu-slide-v98-hans-purple.jpg"] {
    grid-column: 1 / 6 !important;
    grid-row: 2 !important;
    justify-self: start !important;
  }
  .menu-static-collage img[src="assets/menu-slide-03.jpg"] {
    grid-column: 8 / 13 !important;
    grid-row: 2 !important;
    justify-self: end !important;
  }
}
@media (max-width: 760px) {
  .menu-static-collage img[src="assets/menu-slide-v98-hans-purple.jpg"],
  .menu-static-collage img[src="assets/menu-slide-03.jpg"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: none !important;
  }
}

/* V100 : la 5e photo (sous la 4e) ne se superpose plus à la 4e.
   Ordre DOM inchangé ; les photos suivantes descendent d'une ligne. */
@media (min-width:761px) {
 .menu-static-collage img[src="assets/menu-slide-v93-green-stage.jpg"] {grid-row:3 !important;}
 .menu-static-collage img[src="assets/menu-slide-08.jpg"] {grid-row:4 !important; grid-column:1 / 11 !important; transform:none !important; margin:0 !important;}
 .menu-static-collage img[src="assets/menu-slide-05.jpg"] {grid-row:5 !important;}
 .menu-static-collage img[src="assets/menu-slide-06.jpg"] {grid-row:5 !important;}
}

/* V101 : photographie orange réduite de 35 %, sans changer son emplacement ni l'ordre. */
.menu-static-collage img[src="assets/menu-slide-03.jpg"] {
  width: 65% !important;
  max-width: 65% !important;
  justify-self: end !important;
  transform: none !important;
}
