/*
  Systeme visuel commun 2026.
  Ce fichier ne contient que la palette, la typographie et les composants
  partages. Les compositions propres a chaque page restent dans styles.css.
*/

:root {
  --brand-rose: #d8538c;
  --brand-rose-light: #ed8db5;
  --brand-rose-dark: #a63666;
  --brand-blue: #09a3fc;
  --brand-blue-light: #70c9fc;
  --brand-blue-dark: #0876b5;
  --brand-green: #4dda1c;
  --brand-green-light: #91ec70;
  --brand-green-dark: #318f13;
  --brand-orange: #ffa304;
  --brand-orange-light: #ffc45f;
  --brand-orange-dark: #b97000;
  --brand-black: #141414;
  --brand-white: #ffffff;
  --brand-off-white: #f8f8f5;
  --font-body: "Nunito Sans", Arial, Helvetica, sans-serif;
  --font-title: "Montserrat", Arial, Helvetica, sans-serif;

  /* Compatibilite avec les composants historiques encore utiles. */
  --ink: var(--brand-black);
  --muted: var(--brand-black);
  --white: var(--brand-white);
  --red: var(--brand-rose);
  --red-rgb: 216, 83, 140;
  --red-dark: var(--brand-rose-dark);
  --green: var(--brand-green-dark);
  --gold: var(--brand-orange);
  --line: rgba(20, 20, 20, 0.14);
  --paper: var(--brand-white);
  --soft: var(--brand-orange-light);
  --mint: var(--brand-green-light);
  --sky: var(--brand-blue-light);
  --pink: var(--brand-rose-light);
  --veil: rgba(255, 255, 255, 0.9);
  --menu-bar-height: 64px;
  --menu-mark-size: 58px;
  --menu-pink: var(--brand-rose);
  --menu-pink-light: var(--brand-rose-light);
}

html {
  background: var(--brand-blue) !important;
}

body {
  color: var(--brand-black);
  font-family: var(--font-body);
  background: var(--brand-blue);
}

body > main {
  background: var(--brand-blue) !important;
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
}

main p,
main li,
main dt,
main dd,
main address,
main figcaption,
main .story-text,
main .programme-event-text,
main .museum-text,
main .practical-grid,
main .programme-info-grid,
main .event-list {
  font-family: var(--font-body) !important;
  font-style: normal;
  text-shadow: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.eyebrow,
.site-header nav,
.programme-event-date,
.event-list time,
.home-welcome-slideshow,
.values strong,
.values span,
.workshop-grid h4,
.workshop-top-clothesline,
.mobile-family-title,
.image-lightbox__story-close,
.quinzaine-news-title,
.quinzaine-news-eyebrow,
.quinzaine-news-dates {
  font-family: var(--font-title) !important;
  font-style: normal;
  letter-spacing: 0;
  text-shadow: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--brand-black);
  font-weight: 700;
  text-transform: none;
}

h1::first-letter,
main h2::first-letter {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

main a {
  color: inherit;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.section,
.museum {
  border-top: 0 !important;
}

/*
  Grands aplats : seul le menu reste blanc. Les sections colorent toute la
  largeur de l'ecran, meme lorsque leur contenu conserve une largeur lisible.
*/
.association-home-intro,
body.association-intro-page #association.story,
.collective-page main,
.quinzaine-archives-body main,
.musee-presentation-page main,
.museum-empty-page,
.contact-page main {
  position: relative;
  isolation: isolate;
}

.association-home-intro::before,
body.association-intro-page #association.story::before,
.museum-empty-page::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 calc(50% - 50vw);
  background: var(--section-color);
}

.home-page main {
  background: var(--brand-blue) !important;
}

.home-welcome-slideshow {
  color: var(--brand-white) !important;
  font-weight: 700;
}

.association-home-intro {
  --section-color: var(--brand-orange);
  background: var(--brand-orange) !important;
}

body.association-intro-page #association.story {
  --section-color: var(--brand-blue);
  background: var(--brand-blue) !important;
}

.collective-page main,
.quinzaine-archives-body main {
  background: var(--brand-orange);
}

.musee-presentation-page main {
  background: var(--brand-green) !important;
}

.musee-presentation-page .museum-media {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.musee-presentation-page :is(.museum-title, .museum-media, .museum-goals) {
  top: 0 !important;
}

.museum-empty-page {
  --section-color: var(--brand-blue);
  background: var(--brand-blue) !important;
}

.contact-page main {
  background: var(--brand-green);
}

.contact-page .practical-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

.contact-page .practical-grid article {
  width: 100% !important;
}

.contact-page .contact-info-text {
  margin-inline: auto;
}

body:has(.programme-info-grid) > main,
body:has(.event-list) > main,
body:has(.programme-events) > main,
body:has(.room-schedule) > main,
body:has(.museum-realisations) > main {
  background: var(--brand-blue) !important;
}

.collective-page > main {
  background: var(--brand-orange) !important;
}

/* Les listes d'informations et d'evenements alternent les quatre aplats. */
.programme-info-grid > article,
.programme-events > article,
.event-list > article,
.room-schedule > article,
.practical-grid > article,
.museum-realisations .boite-card {
  color: var(--brand-black) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.programme-info-grid,
.programme-events,
.event-list,
.room-schedule,
.practical-grid,
.museum-realisations .boite-grid {
  width: 100vw !important;
  max-width: none !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
  gap: 0 !important;
}

.programme-info-grid > article,
.programme-events > article,
.event-list > article,
.room-schedule > article,
.practical-grid > article,
.museum-realisations .boite-card {
  border-radius: 0 !important;
  background-clip: border-box !important;
  background-origin: border-box !important;
}

.programme-info-grid > article:nth-child(4n + 1),
.programme-events > article:nth-child(4n + 1),
.event-list > article:nth-child(4n + 1),
.room-schedule > article:nth-child(4n + 1),
.practical-grid > article:nth-child(4n + 1),
.museum-realisations .boite-card:nth-child(4n + 1) {
  background: var(--brand-rose) !important;
}

.programme-info-grid > article:nth-child(4n + 2),
.programme-events > article:nth-child(4n + 2),
.event-list > article:nth-child(4n + 2),
.room-schedule > article:nth-child(4n + 2),
.practical-grid > article:nth-child(4n + 2),
.museum-realisations .boite-card:nth-child(4n + 2) {
  background: var(--brand-blue) !important;
}

.programme-info-grid > article:nth-child(4n + 3),
.programme-events > article:nth-child(4n + 3),
.event-list > article:nth-child(4n + 3),
.room-schedule > article:nth-child(4n + 3),
.practical-grid > article:nth-child(4n + 3),
.museum-realisations .boite-card:nth-child(4n + 3) {
  background: var(--brand-green) !important;
}

.programme-info-grid > article:nth-child(4n),
.programme-events > article:nth-child(4n),
.event-list > article:nth-child(4n),
.room-schedule > article:nth-child(4n),
.practical-grid > article:nth-child(4n),
.museum-realisations .boite-card:nth-child(4n) {
  background: var(--brand-orange) !important;
}

.programme-info-grid > article :is(h3, h4, p, li, a),
.programme-events > article :is(h3, h4, p, li, a),
.event-list > article :is(h3, h4, p, li, a, time),
.room-schedule > article :is(h3, h4, p, li, a),
.practical-grid > article :is(h3, h4, p, li, a),
.museum-realisations .boite-card :is(h3, h4, p, li, a, figcaption) {
  color: var(--brand-black) !important;
}

.programme-event-card .event-poster,
.event-list .event-photo,
.quinzaine-news-poster,
.programme-original-pages figure,
.poster-gallery figure {
  background: transparent !important;
}

.programme-event-card .event-poster img,
.event-list .event-photo,
.quinzaine-news-poster img,
.poster-gallery img {
  border: 0 !important;
  border-radius: 0 !important;
}

.programme-event-date,
.event-list time,
.programme-info-grid h3,
.programme-block > h3,
.quinzaine-rates h4,
.section-heading h2,
.museum-title h2 {
  color: var(--brand-black) !important;
}

.values article:nth-child(1) { background: var(--brand-rose) !important; }
.values article:nth-child(2) { background: var(--brand-blue) !important; }
.values article:nth-child(3) { background: var(--brand-orange) !important; }
.values article :is(strong, span) { color: var(--brand-black) !important; }

/* La page Mode d'emploi reste lisible en un seul ecran sur ordinateur. */
@media (min-width: 901px) {
  .musee-presentation-page .museum-media img {
    width: auto !important;
    max-width: 100% !important;
    max-height: min(58vh, 540px) !important;
  }

  .association-mode-page .programme-page-no-title {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .association-mode-page .programme-info-grid article {
    padding: clamp(10px, 1.4vh, 14px) clamp(16px, 1.8vw, 24px) !important;
  }

  .association-mode-page .programme-info-grid h3 {
    font-family: var(--font-title) !important;
    font-size: clamp(1.42rem, min(1.85vw, 2.6vh), 1.82rem) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
  }

  .association-mode-page .programme-info-grid p {
    font-family: var(--font-body) !important;
    font-size: clamp(1.06rem, min(1.45vw, 2.15vh), 1.35rem) !important;
    line-height: 1.12 !important;
  }
}

/* Palette actualisee des familles d'ateliers. */
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-journal-creatif.html"]),
.programme-ateliers-page .workshop-grid article.atelier-gravure,
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-croyances-traditions.html"]) {
  --cloth-color: var(--brand-blue) !important;
}

.programme-ateliers-page .workshop-grid article:has(a[href="atelier-choeur-en-tete.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-pop-en-tete.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-chant-diphonique.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-danses-ecossaises.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-danses-ligne.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-danses-salon.html"]),
.programme-ateliers-page .workshop-grid article.atelier-rythme-percussions {
  --cloth-color: var(--brand-rose) !important;
}

.programme-ateliers-page .workshop-grid article:has(a[href="atelier-occitan.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-francais-langue-etrangere.html"]),
.programme-ateliers-page .workshop-grid article.atelier-conversation-fle,
.programme-ateliers-page .workshop-grid article.atelier-lectures-reportages-fle,
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-ecriture.html"]) {
  --cloth-color: var(--brand-orange) !important;
}

.programme-ateliers-page .workshop-grid article:has(a[href="atelier-rencontres-decouvertes.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-clinique-informatique.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-rendezvousenergie.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-degustation-vins.html"]) {
  --cloth-color: var(--brand-orange-light) !important;
}

.programme-ateliers-page .workshop-grid article:has(a[href="atelier-yoga.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-chi-kong-tous-niveaux.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-chi-kong-tai-chi-chuan.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-chi-kong-meditation.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-kung-fu-adultes.html"]),
.programme-ateliers-page .workshop-grid article:has(a[href="atelier-kung-fu-enfant.html"]) {
  --cloth-color: var(--brand-green) !important;
}

.programme-ateliers-page .top-note-blue { --top-cloth-color: var(--brand-blue) !important; }
.programme-ateliers-page .top-note-pink { --top-cloth-color: var(--brand-rose) !important; }
.programme-ateliers-page .top-note-orange { --top-cloth-color: var(--brand-orange) !important; }
.programme-ateliers-page .top-note-yellow { --top-cloth-color: var(--brand-orange-light) !important; }
.programme-ateliers-page .top-note-green { --top-cloth-color: var(--brand-green) !important; }

.programme-ateliers-page .workshop-grid h4,
.programme-ateliers-page .top-note-label {
  color: var(--brand-black) !important;
  font-family: var(--font-title) !important;
  font-weight: 700 !important;
}

/* Navigation blanche, stable et commune a toutes les pages. */
.site-header,
.home-page .site-header,
.contact-page .site-header,
body:not(.home-page):not(.contact-page) .site-header,
body.is-scrolled .site-header {
  position: fixed !important;
  inset: 0 0 auto !important;
  z-index: 1000 !important;
  width: 100% !important;
  height: var(--menu-bar-height) !important;
  min-height: var(--menu-bar-height) !important;
  padding: 0 !important;
  overflow: visible !important;
  background: var(--brand-white) !important;
  border: 0 !important;
  box-shadow: 0 1px 0 rgba(20, 20, 20, 0.1), 0 7px 20px rgba(20, 20, 20, 0.08) !important;
}

.site-header nav,
.home-page .site-header nav,
.contact-page .site-header nav,
body:not(.home-page):not(.contact-page) .site-header nav {
  min-height: var(--menu-bar-height);
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  color: var(--brand-black) !important;
  font-family: var(--font-title) !important;
}

.site-header nav > a,
.site-header nav > .nav-item > .submenu-trigger,
.site-header nav > .nav-item > .submenu-toggle,
.site-header nav > .nav-item > .submenu-toggle:hover {
  color: var(--brand-black) !important;
  font-family: var(--font-title) !important;
  font-weight: 700;
  text-shadow: none !important;
}

.site-header nav > a[aria-current="page"] {
  color: var(--brand-rose) !important;
}

.site-header .header-mark,
.home-page .site-header .header-mark,
.contact-page .site-header .header-mark,
body:not(.home-page):not(.contact-page) .site-header .header-mark,
body.is-scrolled .site-header .header-mark {
  position: fixed !important;
  top: 3px !important;
  right: max(9px, env(safe-area-inset-right)) !important;
  left: auto !important;
  z-index: 1002 !important;
  width: var(--menu-mark-size) !important;
  height: var(--menu-mark-size) !important;
  padding: 3px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.site-header .header-mark img,
body.is-scrolled .site-header .header-mark img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  filter: none !important;
}

.nav-association {
  --submenu-color: var(--brand-rose);
  --submenu-light: var(--brand-rose-light);
  --submenu-dark: var(--brand-rose-dark);
}

.site-header nav > .nav-has-submenu:not(.nav-association):not(.nav-musee) {
  --submenu-color: var(--brand-orange);
  --submenu-light: var(--brand-orange-light);
  --submenu-dark: var(--brand-orange-dark);
}

.nav-musee {
  --submenu-color: var(--brand-blue);
  --submenu-light: var(--brand-blue-light);
  --submenu-dark: var(--brand-blue-dark);
}

.submenu,
body:not(.home-page):not(.contact-page) .submenu {
  border: 0 !important;
  border-radius: 0 0 12px 12px !important;
  background: linear-gradient(180deg, var(--submenu-color) 0%, var(--submenu-light) 100%) !important;
  box-shadow: none !important;
  color: var(--brand-black) !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  overflow: hidden;
}

.submenu a {
  color: var(--brand-black) !important;
  font-family: var(--font-body) !important;
  font-size: 1.02rem;
  font-weight: 700;
  text-shadow: none !important;
}

.submenu a:hover,
.submenu a:focus-visible {
  color: var(--brand-black) !important;
  background: rgba(255, 255, 255, 0.36) !important;
  outline: none;
}

.submenu a[aria-current="page"] {
  color: var(--brand-black) !important;
  background: var(--brand-white) !important;
  text-decoration: none !important;
}

.nav-has-submenu.is-open {
  z-index: 24;
  color: var(--brand-black) !important;
  background: var(--submenu-color) !important;
}

.nav-has-submenu.is-open > :is(.submenu-trigger, .submenu-toggle) {
  color: var(--brand-black) !important;
}

@media (min-width: 901px) {
  .site-header nav,
  .home-page .site-header nav,
  .contact-page .site-header nav,
  body:not(.home-page):not(.contact-page) .site-header nav {
    width: 100%;
    padding-right: calc(var(--menu-mark-size) + 26px) !important;
    padding-left: clamp(14px, 2.4vw, 38px) !important;
  }

  .nav-has-submenu.is-open {
    border-radius: 10px 10px 0 0;
    -webkit-filter:
      drop-shadow(1px 0 0 var(--submenu-dark))
      drop-shadow(-1px 0 0 var(--submenu-dark))
      drop-shadow(0 1px 0 var(--submenu-dark))
      drop-shadow(0 -1px 0 var(--submenu-dark));
    filter:
      drop-shadow(1px 0 0 var(--submenu-dark))
      drop-shadow(-1px 0 0 var(--submenu-dark))
      drop-shadow(0 1px 0 var(--submenu-dark))
      drop-shadow(0 -1px 0 var(--submenu-dark));
  }

  .site-header .nav-has-submenu.is-open > .submenu {
    box-shadow: none !important;
  }
}

@media (max-width: 900px) {
  :root {
    --menu-bar-height: calc(60px + env(safe-area-inset-top, 0px));
    --menu-mark-size: 60px;
  }

  .site-header,
  .home-page .site-header,
  .contact-page .site-header,
  body:not(.home-page):not(.contact-page) .site-header,
  body.is-scrolled .site-header {
    pointer-events: none !important;
  }

  .site-header::before {
    content: none !important;
    display: none !important;
  }

  .site-header .header-mark.menu-toggle,
  body.is-scrolled .site-header .header-mark.menu-toggle {
    top: env(safe-area-inset-top, 0px) !important;
    right: max(4px, env(safe-area-inset-right, 0px)) !important;
    left: auto !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    height: 60px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    pointer-events: auto !important;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .site-header .header-mark.menu-toggle picture,
  body.is-scrolled .site-header .header-mark.menu-toggle picture {
    display: none !important;
  }

  .site-header .header-mark.menu-toggle::before,
  body.is-scrolled .site-header .header-mark.menu-toggle::before {
    content: "" !important;
    position: absolute;
    top: 18px;
    right: 14px;
    display: block !important;
    width: 34px;
    height: 24px;
    background:
      linear-gradient(var(--brand-rose), var(--brand-rose)) top / 34px 4px no-repeat,
      linear-gradient(var(--brand-rose), var(--brand-rose)) center / 34px 4px no-repeat,
      linear-gradient(var(--brand-rose), var(--brand-rose)) bottom / 34px 4px no-repeat;
    border-radius: 2px;
    transform: none !important;
    pointer-events: none !important;
  }

  .site-header .header-mark.menu-toggle::after,
  body.is-scrolled .site-header .header-mark.menu-toggle::after {
    content: none !important;
    display: none !important;
  }

  .site-header nav,
  .home-page .site-header nav,
  .contact-page .site-header nav,
  body:not(.home-page):not(.contact-page) .site-header nav {
    position: fixed;
    top: var(--menu-bar-height);
    right: 0;
    width: min(340px, 100dvw);
    max-height: calc(100dvh - var(--menu-bar-height));
    min-height: 0;
    padding: 10px !important;
    overflow-y: auto;
    color: var(--brand-black) !important;
    background: var(--brand-white) !important;
    border-radius: 0 0 0 14px;
    box-shadow: 0 16px 30px rgba(20, 20, 20, 0.18) !important;
  }

  .home-welcome-slideshow {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 14px;
    font-size: clamp(2.55rem, 14.5vw, 4rem) !important;
    line-height: 0.98 !important;
    white-space: normal !important;
    overflow-wrap: normal;
    word-break: keep-all;
    text-align: center;
  }

  .home-welcome-slide {
    width: 100%;
    white-space: normal !important;
    text-align: center;
  }

  .contact-page .practical {
    padding-top: var(--menu-bar-height) !important;
  }

  body.menu-open .site-header nav {
    pointer-events: auto !important;
  }

  .site-header nav > a,
  .site-header nav > .nav-item > .submenu-trigger,
  .site-header nav > .nav-item > .submenu-toggle {
    color: var(--brand-black) !important;
  }

  .nav-has-submenu.is-open {
    border: 2px solid var(--submenu-dark);
    border-radius: 10px;
    background: var(--submenu-color) !important;
    box-shadow: none !important;
    filter: none !important;
    overflow: hidden;
  }

  .nav-has-submenu.is-open > .submenu {
    width: 100%;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-header nav,
  .submenu {
    transition: none !important;
  }
}

/*
  Ajustements editoriaux de juillet 2026.
  Ces regles finales remplacent les anciens placements fixes des pages
  concernees par des bandes fluides qui gardent leur ordre a toute largeur.
*/

body:has(> .site-header) > main {
  box-sizing: border-box;
  padding-top: var(--menu-bar-height) !important;
}

.site-footer-band {
  background: var(--brand-rose) !important;
}

@media (min-width: 901px) {
  .site-header .nav-has-submenu {
    position: relative;
  }

  .site-header .nav-has-submenu > .submenu {
    right: auto !important;
    left: 0 !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    transform: translateY(-8px) !important;
  }

  .site-header .nav-has-submenu:hover > .submenu,
  .site-header .nav-has-submenu:focus-within > .submenu,
  .site-header .nav-has-submenu.is-open > .submenu {
    transform: translateY(0) !important;
  }

  .site-header .submenu a {
    padding-inline: 8px;
    white-space: normal;
    overflow-wrap: normal;
  }
}

/* Accueil : aucune traduction ne peut sortir de la fenetre. */
.home-welcome-slideshow,
.home-welcome-slide {
  box-sizing: border-box;
  max-width: 100% !important;
}

.home-welcome-slideshow {
  overflow: hidden;
}

.home-welcome-slide {
  inset-inline: 0;
  padding-inline: clamp(10px, 3vw, 28px);
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Presentation de l'association : une succession de vraies bandes. */
.association-intro-page {
  display: flex !important;
  min-height: 100vh !important;
  height: auto !important;
  flex-direction: column;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

.association-intro-page > main {
  display: block !important;
  min-height: 0 !important;
  flex: 1 0 auto;
}

.association-intro-page .association-home-intro {
  width: 100vw !important;
  max-width: none !important;
  margin-inline: calc(50% - 50vw) !important;
  padding: clamp(24px, 4vw, 54px) max(18px, calc((100vw - 1180px) / 2)) !important;
  background: var(--brand-orange) !important;
}

.association-intro-page #association.story {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.association-intro-page #association.story::before {
  content: none !important;
}

.association-intro-page .association-stats,
.association-intro-page .presentation-photo-row,
.association-intro-page .presentation-portrait-row,
.association-intro-page .story-text > p {
  box-sizing: border-box;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.association-intro-page .association-stats {
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 4vw, 52px) !important;
  padding: clamp(25px, 4vw, 52px) max(20px, calc((100vw - 920px) / 2)) !important;
  background: var(--brand-blue) !important;
}

.association-intro-page .association-stats article {
  position: static !important;
  justify-self: center;
  transform: none !important;
}

.association-intro-page #association.story > *,
.association-intro-page .story-text > p {
  position: static !important;
  inset: auto !important;
  float: none !important;
  transform: none !important;
}

.association-intro-page .association-stats article:nth-child(1) {
  background: var(--brand-rose) !important;
}

.association-intro-page .association-stats article:nth-child(2) {
  background: var(--brand-green) !important;
}

.association-intro-page .association-stats article:nth-child(3) {
  background: var(--brand-orange) !important;
}

.association-intro-page .presentation-photo-row,
.association-intro-page .presentation-portrait-row {
  position: static !important;
  display: grid !important;
  align-items: center;
  justify-items: center;
  gap: clamp(14px, 2.5vw, 34px) !important;
  padding: clamp(20px, 3vw, 38px) max(18px, calc((100vw - 1180px) / 2)) !important;
  background: var(--brand-green) !important;
}

.association-intro-page .presentation-photo-row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  padding-bottom: 10px !important;
}

.association-intro-page .presentation-portrait-row {
  grid-template-columns: repeat(2, minmax(0, 310px)) !important;
  justify-content: center;
  padding-top: 10px !important;
}

.association-intro-page :is(.presentation-photo-row, .presentation-portrait-row) img {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 42vh !important;
  object-fit: contain !important;
  transform: none !important;
}

.association-intro-page .story-text {
  display: contents !important;
}

.association-intro-page .story-text > p {
  padding: clamp(26px, 4vw, 52px) max(22px, calc((100vw - 980px) / 2)) !important;
  color: var(--brand-black) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1.05rem, 1.5vw, 1.3rem) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

.association-intro-page .story-text > p:first-child {
  background: var(--brand-rose) !important;
}

.association-intro-page .story-text > p:last-child {
  background: var(--brand-orange) !important;
}

/* Mode d'emploi : le bleu devient une zone parmi les autres. */
.association-mode-page:not(.collective-page) > main,
.association-mode-page:not(.collective-page) .programme-page {
  background: var(--brand-orange) !important;
}

.association-mode-page:not(.collective-page) .programme-info-grid {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.association-mode-page:not(.collective-page) .programme-info-grid > article {
  min-width: 0;
  margin: 0 !important;
}

/* Ou quand qui : une couleur par ligne sur ordinateur, par fiche sur mobile. */
.where-page > main,
.where-page .programme-page {
  background: var(--brand-orange) !important;
}

.where-page .contact-board {
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.where-page .contact-board > h3 {
  margin: 0 !important;
  padding: clamp(20px, 3vw, 34px) 20px !important;
  color: var(--brand-black) !important;
  background: var(--brand-orange) !important;
  text-align: center;
}

.where-page .contact-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
  background: linear-gradient(
    to bottom,
    var(--brand-rose) 0 20%,
    var(--brand-blue) 20% 40%,
    var(--brand-green) 40% 60%,
    var(--brand-orange) 60% 80%,
    var(--brand-rose) 80% 100%
  ) !important;
}

.where-page .contact-grid > p {
  min-width: 0;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(18px, 2.4vw, 30px) clamp(14px, 2vw, 26px) !important;
  justify-self: stretch !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.where-page .contact-grid :is(strong, span, a),
.where-page .room-schedule :is(h3, strong, span, p, a) {
  color: var(--brand-black) !important;
  text-shadow: none !important;
}

.where-page .room-schedule {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.where-page .room-card {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.where-page .slot-list > p {
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.32) !important;
}

/* Realisations collectives : un projet entier par bande. */
.collective-page > main,
.collective-page .programme-page {
  background: var(--brand-orange) !important;
}

.collective-page .collective-gallery {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
}

.collective-page .collective-gallery > figure,
.collective-page .collective-gallery > .collective-figure-wide,
.collective-page .collective-gallery > .collective-figure-center {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(24px, 4vw, 54px) max(20px, calc((100vw - 940px) / 2)) !important;
  align-items: center;
  flex-direction: column;
  border: 0 !important;
  border-radius: 0 !important;
}

.collective-page .collective-gallery > figure:nth-child(4n + 1) { background: var(--brand-rose) !important; }
.collective-page .collective-gallery > figure:nth-child(4n + 2) { background: var(--brand-blue) !important; }
.collective-page .collective-gallery > figure:nth-child(4n + 3) { background: var(--brand-green) !important; }
.collective-page .collective-gallery > figure:nth-child(4n) { background: var(--brand-orange) !important; }

.collective-page .collective-gallery img {
  width: auto !important;
  max-width: min(100%, 820px) !important;
  max-height: 70vh !important;
  object-fit: contain !important;
}

.collective-page .collective-image-pair {
  width: min(100%, 900px);
}

.collective-page .collective-gallery figcaption {
  width: min(100%, 900px);
  margin: 0 0 18px !important;
  color: var(--brand-black) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1.05rem, 1.5vw, 1.3rem) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

/* Quinzaine en cours : aplats alternes et tarifs robustes. */
.quinzaine-current-page > main,
.quinzaine-current-page .quinzaine-news-page {
  background: var(--brand-orange) !important;
}

.quinzaine-current-page .event-list {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.quinzaine-current-page .event-list article :is(time, h3, h4, p, strong, a, dt, dd, span) {
  color: var(--brand-black) !important;
  text-shadow: none !important;
}

.quinzaine-music-burst {
  box-sizing: border-box;
  display: flex !important;
  width: min(100%, 12ch) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  justify-content: center;
  white-space: nowrap !important;
  font-size: clamp(3.4rem, 12vw, 10rem) !important;
  line-height: 0.9 !important;
}

.quinzaine-rates dl,
.quinzaine-rates dl > div {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
}

.quinzaine-rates dl {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

.quinzaine-rates dl > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
  gap: 14px !important;
}

.quinzaine-rates :is(dt, dd) {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

.quinzaine-rates dd {
  text-align: right;
}

/* Archives : chaque affiche possede sa propre plage de couleur. */
.quinzaine-archives-body > main,
.quinzaine-archives-body .quinzaine-archives-page {
  background: var(--brand-orange) !important;
}

.quinzaine-archives-body .poster-gallery {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
}

.quinzaine-archives-body .poster-gallery > figure {
  display: flex;
  min-width: 0;
  margin: 0 !important;
  padding: clamp(16px, 2vw, 28px) clamp(8px, 1vw, 16px) !important;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  border: 0 !important;
  border-radius: 0 !important;
}

.quinzaine-archives-body .poster-gallery > figure:nth-child(4n + 1) { background: var(--brand-rose) !important; }
.quinzaine-archives-body .poster-gallery > figure:nth-child(4n + 2) { background: var(--brand-blue) !important; }
.quinzaine-archives-body .poster-gallery > figure:nth-child(4n + 3) { background: var(--brand-green) !important; }
.quinzaine-archives-body .poster-gallery > figure:nth-child(4n) { background: var(--brand-orange) !important; }

.quinzaine-archives-body .poster-gallery img {
  width: 100% !important;
  height: auto !important;
  max-height: 62vh !important;
  object-fit: contain !important;
}

/* Petit musee, projet : titre et image ensemble, objectifs dans la bande suivante. */
.musee-presentation-page > main,
.musee-presentation-page .museum-presentation {
  background: var(--brand-orange) !important;
}

.musee-presentation-page .museum-presentation {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.musee-presentation-page :is(.museum-title, .museum-media, .museum-goals) {
  position: static !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
  transform: none !important;
}

.musee-presentation-page .museum-title {
  padding: clamp(24px, 4vw, 50px) max(20px, calc((100vw - 1050px) / 2)) 12px !important;
  background: var(--brand-orange) !important;
}

.musee-presentation-page .museum-media {
  padding: 12px max(20px, calc((100vw - 900px) / 2)) clamp(28px, 4vw, 52px) !important;
  background: var(--brand-orange) !important;
}

.musee-presentation-page .museum-media img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  max-height: 62vh !important;
  margin-inline: auto;
  object-fit: contain !important;
}

.musee-presentation-page .museum-goals {
  display: grid !important;
  gap: 0 !important;
  padding: clamp(26px, 4vw, 52px) max(22px, calc((100vw - 900px) / 2)) !important;
  background: var(--brand-green) !important;
}

.musee-presentation-page .museum-goals p {
  color: var(--brand-black) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1.05rem, 1.5vw, 1.3rem) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-shadow: none !important;
}

/* Petit musee, atelier : un paragraphe par bande, puis deux photos par bande. */
.musee-atelier-page > main,
.musee-atelier-page .museum-empty-page {
  background: var(--brand-orange) !important;
}

.musee-atelier-page .museum-empty-page,
.musee-atelier-page .atelier-intro,
.musee-atelier-page .museum-text {
  display: contents !important;
}

.musee-atelier-page .museum-text > p,
.musee-atelier-page .atelier-photo-intro,
.musee-atelier-page .atelier-gallery {
  box-sizing: border-box;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.musee-atelier-page .museum-text > p {
  padding: clamp(26px, 4vw, 52px) max(22px, calc((100vw - 980px) / 2)) !important;
  color: var(--brand-black) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1.05rem, 1.5vw, 1.3rem) !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

.musee-atelier-page .museum-text > p:nth-child(1) { background: var(--brand-rose) !important; }
.musee-atelier-page .museum-text > p:nth-child(2) { background: var(--brand-blue) !important; }
.musee-atelier-page .museum-text > p:nth-child(3) { background: var(--brand-green) !important; }

.musee-atelier-page .atelier-photo-intro {
  padding: clamp(24px, 4vw, 50px) max(20px, calc((100vw - 820px) / 2)) !important;
  background: var(--brand-orange) !important;
}

.musee-atelier-page .atelier-gallery {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

.musee-atelier-page .atelier-gallery > figure {
  position: static !important;
  inset: auto !important;
  display: flex;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: clamp(18px, 3vw, 38px) !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
}

.musee-atelier-page .atelier-gallery > figure:nth-child(-n + 2) { background: var(--brand-rose) !important; }
.musee-atelier-page .atelier-gallery > figure:nth-child(n + 3):nth-child(-n + 4) { background: var(--brand-green) !important; }
.musee-atelier-page .atelier-gallery > figure:nth-child(5) {
  grid-column: 1 / -1;
  background: var(--brand-orange) !important;
}

.musee-atelier-page :is(.atelier-photo-intro, .atelier-gallery) img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  max-height: 68vh !important;
  margin-inline: auto;
  object-fit: contain !important;
}

/* Les liens : trois zones distinctes et sans vide artificiel. */
.contact-page > main,
.contact-page .practical {
  background: var(--brand-rose) !important;
}

.contact-page .practical {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: column;
}

.contact-page .practical-grid,
.contact-page .contact-icons,
.contact-page .contact-writing {
  box-sizing: border-box;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.contact-page .practical-grid > article {
  padding: clamp(24px, 4vw, 48px) max(20px, calc((100vw - 850px) / 2)) !important;
  background: var(--brand-rose) !important;
}

.contact-page .contact-icons {
  display: flex !important;
  padding: clamp(28px, 4vw, 52px) 20px !important;
  justify-content: center;
  background: var(--brand-green) !important;
}

.contact-page .contact-writing {
  padding: clamp(32px, 5vw, 68px) 20px !important;
  color: var(--brand-black) !important;
  background: var(--brand-orange) !important;
  text-align: center;
  text-shadow: none !important;
}

/* Agenda : seules les images mobiles sont recentrees. */
@media (max-width: 900px) {
  .agenda-page .programme-event-card .event-poster,
  .agenda-page .programme-event-card .event-poster img {
    justify-self: center !important;
    margin-inline: auto !important;
  }

  .association-intro-page .association-stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .association-intro-page .presentation-photo-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .association-intro-page .presentation-portrait-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .association-intro-page :is(.presentation-photo-row, .presentation-portrait-row) img {
    max-height: none !important;
  }

  .association-mode-page:not(.collective-page) .programme-info-grid > article,
  .association-mode-page:not(.collective-page) .programme-info-grid > .association-mode-wide {
    grid-column: auto !important;
    width: 100% !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  .association-mode-page:not(.collective-page) .keep-together {
    font-size: 0.78em !important;
  }

  .where-page .contact-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    background: transparent !important;
  }

  .where-page .contact-grid > p:nth-child(4n + 1) { background: var(--brand-rose) !important; }
  .where-page .contact-grid > p:nth-child(4n + 2) { background: var(--brand-blue) !important; }
  .where-page .contact-grid > p:nth-child(4n + 3) { background: var(--brand-green) !important; }
  .where-page .contact-grid > p:nth-child(4n) { background: var(--brand-orange) !important; }

  .where-page .room-schedule {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .collective-page .collective-image-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .quinzaine-current-page .quinzaine-news-page {
    overflow-x: hidden;
  }

  .quinzaine-music-burst {
    font-size: clamp(3.2rem, 19vw, 6.5rem) !important;
  }

  .quinzaine-rates dl > div {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .quinzaine-rates dd {
    text-align: left;
  }

  .quinzaine-archives-body .poster-gallery {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .quinzaine-archives-body .poster-gallery > figure {
    padding: 24px max(24px, calc((100vw - 430px) / 2)) !important;
  }

  .musee-atelier-page .atelier-gallery > figure {
    padding: 14px !important;
  }

  .contact-page .contact-icons {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .home-welcome-slideshow {
    padding-inline: 10px !important;
    font-size: clamp(2rem, 12vw, 3.6rem) !important;
  }

  .home-welcome-slide-long {
    font-size: 0.72em !important;
  }

  .programme-ateliers-page .programme-page {
    transform: none !important;
  }

  /* Signature du chapitre dans la barre mobile blanche. */
  body {
    --mobile-wordmark-color: var(--brand-black);
  }

  body:has(.nav-association a[aria-current="page"]),
  body.agenda-page {
    --mobile-wordmark-color: var(--brand-rose);
  }

  body:has(.site-header a[href^="quinzaine-"][aria-current="page"]) {
    --mobile-wordmark-color: var(--brand-orange);
  }

  body:has(.nav-musee a[aria-current="page"]) {
    --mobile-wordmark-color: var(--brand-blue);
  }

  body.contact-page {
    --mobile-wordmark-color: var(--brand-green);
  }

  .site-header::before,
  .home-page .site-header::before,
  .contact-page .site-header::before,
  body:not(.home-page):not(.contact-page) .site-header::before {
    content: "" !important;
    position: fixed;
    top: max(6px, env(safe-area-inset-top, 0px));
    left: max(10px, env(safe-area-inset-left, 0px));
    z-index: 1003;
    display: block !important;
    width: min(138px, calc(100vw - 84px));
    height: 48px;
    background: var(--mobile-wordmark-color) !important;
    -webkit-mask: url("assets/logo-texte-blanc.svg") left center / contain no-repeat;
    mask: url("assets/logo-texte-blanc.svg") left center / contain no-repeat;
    pointer-events: none;
  }
}

/* Neutralise l'ancien plan de placement manuel de la presentation desktop. */
@media (min-width: 901px) {
  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association.story {
    position: relative !important;
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association .association-stats {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(18px, 4vw, 52px) !important;
    box-sizing: border-box;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 calc(50% - 50vw) !important;
    padding: clamp(25px, 4vw, 52px) max(20px, calc((100vw - 920px) / 2)) !important;
    background: var(--brand-blue) !important;
  }

  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association .values article,
  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association [data-layout-id^="pastille"] {
    position: static !important;
    inset: auto !important;
    justify-self: center !important;
    width: clamp(126px, 12vw, 172px) !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association .presentation-photo-row,
  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association .presentation-portrait-row {
    position: static !important;
    inset: auto !important;
    display: grid !important;
    box-sizing: border-box;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 calc(50% - 50vw) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: clamp(14px, 2.5vw, 34px) !important;
    background: var(--brand-green) !important;
  }

  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association .presentation-photo-row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    padding: clamp(22px, 3vw, 38px) max(18px, calc((100vw - 1180px) / 2)) 10px !important;
  }

  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association .presentation-portrait-row {
    grid-template-columns: repeat(2, minmax(0, 310px)) !important;
    justify-content: center !important;
    padding: 10px max(18px, calc((100vw - 760px) / 2)) clamp(22px, 3vw, 38px) !important;
  }

  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association [data-layout-id^="photo"] {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 42vh !important;
    margin: 0 !important;
    object-fit: contain !important;
    transform: none !important;
  }

  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association [data-layout-id="texte-association"] {
    position: static !important;
    inset: auto !important;
    display: contents !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association .story-text p {
    position: static !important;
    inset: auto !important;
    box-sizing: border-box;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 calc(50% - 50vw) !important;
    padding: clamp(26px, 4vw, 52px) max(22px, calc((100vw - 980px) / 2)) !important;
    color: var(--brand-black) !important;
    font-family: var(--font-body) !important;
    font-size: clamp(1.05rem, 1.5vw, 1.3rem) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    transform: none !important;
  }

  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association .story-text p:first-child {
    background: var(--brand-rose) !important;
  }

  body.presentation-page.association-intro-page:not(.collective-page):not(.musee-presentation-page) #association .story-text p:last-child {
    background: var(--brand-orange) !important;
  }
}
