/* ==========================================================================
   AITAD 2027 — 3e Assises Internationales des Territoires d'Activités Durables
   Feuille de style principale (Bootstrap 5 + Font Awesome 6 + jQuery)
   ========================================================================== */

/* ---------- 1. Charte graphique ---------- */
:root {
  --sable:        #FFF1D8;   /* fond principal */
  --sable-fonce:  #F6E2BE;
  --violet:       #4D3082;   /* violet AITAD */
  --violet-fonce: #321C5C;
  --turquoise:    #35ABA9;
  --vert:         #BCC729;   /* vert anis */
  --encre:        #2A1F3D;   /* texte courant */
  --blanc:        #FFFFFF;

  --degrade: linear-gradient(90deg, var(--violet) 0%, var(--turquoise) 55%, var(--vert) 100%);
  --degrade-diag: linear-gradient(135deg, var(--violet) 0%, var(--turquoise) 60%, var(--vert) 100%);
  --degrade-vertical: linear-gradient(0deg, var(--violet) 0%, var(--turquoise) 55%, var(--vert) 100%); /* lignes verticales (timeline) */

  --font: "Lexend", "Segoe UI", system-ui, sans-serif;          /* texte courant */
  --font-titre: "Nunito", "Segoe UI Rounded", system-ui, sans-serif; /* titres – charte AITAD 2027 */
  --radius-pill: 999px;
  --radius: 1.25rem;
  --header-h: 84px;

  /* Surcharges Bootstrap */
  --bs-body-bg: var(--sable);
  --bs-body-color: var(--encre);
  --bs-body-font-family: var(--font);
  --bs-link-color: var(--violet);
  --bs-link-color-rgb: 77, 48, 130;
  --bs-link-hover-color: var(--turquoise);
  --bs-primary: var(--violet);
  --bs-primary-rgb: 77, 48, 130;
}

html { scroll-behavior: smooth; scroll-padding-top: var(--header-h); }
body { background: var(--sable); color: var(--encre); font-family: var(--font); font-weight: 300; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-titre); font-weight: 800; color: var(--violet); letter-spacing: .01em; }
strong, b { font-weight: 600; }
::selection { background: var(--turquoise); color: #fff; }

.text-violet    { color: var(--violet) !important; }
.text-turquoise { color: var(--turquoise) !important; }
.text-vert      { color: var(--vert) !important; }
.bg-sable       { background: var(--sable) !important; }
.bg-sable-fonce { background: var(--sable-fonce) !important; }
.bg-violet      { background: var(--violet) !important; color: #fff; }
.text-degrade {
  background: var(--degrade); -webkit-background-clip: text; background-clip: text;
  color: transparent;
}

/* ---------- 2. Boutons ---------- */
.btn-aitad, .btn-aitad-outline {
  white-space: nowrap; border-radius: var(--radius-pill); font-weight: 500; padding: .7rem 1.6rem;
  letter-spacing: .04em; text-transform: uppercase; font-size: .9rem; transition: all .25s ease;
}
.btn-aitad { background: var(--degrade); background-size: 200% 100%; color: #fff; border: 0; }
.btn-aitad:hover, .btn-aitad:focus { background-position: 100% 0; color: #fff; transform: translateY(-2px);
  box-shadow: 0 10px 25px -10px rgba(77, 48, 130, .6); }
.btn-aitad-outline { border: 2px solid currentColor; color: var(--violet); background: transparent; }
.btn-aitad-outline:hover { background: var(--violet); border-color: var(--violet); color: #fff; }
.btn-aitad-outline.light { color: #fff; }
.btn-aitad-outline.light:hover { background: #fff; color: var(--violet); border-color: #fff; }

/* ---------- 3. En-tête ---------- */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 1030; height: var(--header-h);
  display: flex; align-items: center; transition: background .35s ease, box-shadow .35s ease, height .35s ease;
}
.site-header .navbar { width: 100%; padding: 0; }
.site-header .brand { display: flex; align-items: center; gap: .6rem; text-decoration: none; }
.brand-text { font-weight: 700; font-size: 1.6rem; letter-spacing: .02em; line-height: 1; }
.brand-text small { display: block; white-space: nowrap; margin-top: .2rem; font-size: .7rem; font-weight: 400; letter-spacing: .12em; }

.site-header .nav-link {
  font-weight: 500; font-size: .88rem; padding: .5rem .65rem !important; white-space: nowrap; position: relative; color: var(--violet);
}
.site-header .nav-link::after {
  content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .2rem; height: 3px;
  border-radius: 3px; background: var(--degrade); transform: scaleX(0); transform-origin: left; transition: transform .25s;
}
.site-header .nav-link:hover::after, .site-header .nav-link.active::after { transform: scaleX(1); }

/* état transparent au-dessus de la vidéo (page d'accueil) */
.has-hero .site-header:not(.is-scrolled) .nav-link,
.has-hero .site-header:not(.is-scrolled) .brand-text,
.has-hero .site-header:not(.is-scrolled) .navbar-toggler { color: #fff; }
.has-hero .site-header:not(.is-scrolled) .navbar-toggler { border-color: rgba(255,255,255,.6); }
.has-hero .site-header:not(.is-scrolled) .brand-text small { color: rgba(255,255,255,.85); }

/* état opaque (au scroll, ou pages intérieures) */
/* Le fond flouté est porté par ::before : un backdrop-filter sur le header lui-même
   enfermerait le menu latéral (position fixed) dans la hauteur du header. */
.site-header::before {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .35s ease;
  background: rgba(255, 241, 216, .94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 6px 24px -14px rgba(50, 28, 92, .45);
}
.site-header.is-scrolled::before, body:not(.has-hero) .site-header::before { opacity: 1; }
.site-header.is-scrolled, body:not(.has-hero) .site-header { height: 70px; }
.site-header .navbar-toggler { border: 2px solid var(--violet); color: var(--violet); border-radius: .75rem; padding: .35rem .6rem; }
.site-header .navbar-toggler:focus { box-shadow: none; }




/* ---------- 4. Hero vidéo plein écran ---------- */
.hero {
  position: relative; height: 100vh; height: 100svh; min-height: 560px; overflow: hidden;
  color: #fff; display: flex; align-items: center; justify-content: center; text-align: center;
  background: var(--degrade-diag);  /* fallback si pas de vidéo */
}
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero__overlay {
  position: absolute; inset: 0; z-index: 1;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  background:
    linear-gradient(180deg, rgba(50, 28, 92, .65) 0%, rgba(255, 241, 216, .25) 40%, rgba(50, 28, 92, .65) 100%),
    linear-gradient(90deg, rgba(77, 48, 130, .25), rgba(46, 169, 165, .1), rgba(184, 200, 44, .15));
}
.hero__content { position: relative; z-index: 2; padding: var(--header-h) 1rem 4rem; max-width: 1100px; }
.hero__kicker {
  display: inline-block; font-weight: 600; letter-spacing: .3em; text-transform: uppercase;
  font-size: clamp(.8rem, 1.4vw, 1.05rem); padding: .45rem 1.2rem; border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .35); backdrop-filter: blur(6px);
}
.hero__logo { width: min(520px, 80vw); height: auto; margin: 1.5rem auto 1rem; display: block;
  filter: drop-shadow(0 10px 30px rgba(0,0,0,.25)); }
.hero__logo-text { font-size: clamp(4rem, 13vw, 9rem); font-weight: 700; line-height: .9; margin: 1.2rem 0 .6rem; letter-spacing: .02em; }
.hero__title { color: #fff; font-weight: 500; font-size: clamp(1rem, 2.2vw, 1.5rem); letter-spacing: .08em; text-transform: uppercase; }
.hero__date {
  display: inline-flex; align-items: center; gap: .75rem; flex-wrap: wrap; justify-content: center;
  margin: 1.25rem 0 2rem; font-weight: 600; font-size: clamp(1.05rem, 2.2vw, 1.5rem);
}
.hero__date .sep { width: 6px; height: 6px; border-radius: 50%; background: var(--vert); }
.hero__date .lieu { background: var(--violet); padding: .25rem 1rem; border-radius: var(--radius-pill); letter-spacing: .06em; }

.badge-30ans {
  position: absolute; z-index: 3; top: calc(var(--header-h) + 1.5rem); left: clamp(1rem, 4vw, 3rem);
  width: clamp(96px, 11vw, 150px); aspect-ratio: 1; border-radius: 50%; background: var(--violet);
  color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; text-transform: uppercase; font-weight: 600; line-height: 1.05;
  font-size: clamp(.5rem, .8vw, .72rem); box-shadow: 0 12px 30px -10px rgba(0,0,0,.45);
  transform: rotate(-8deg);
}
.badge-30ans .num { font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 700; line-height: .95; }

.hero__controls { position: absolute; z-index: 3; right: 1.25rem; bottom: 1.25rem; }
.hero__controls button {
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.5);
  background: rgba(255,255,255,.12); color: #fff; backdrop-filter: blur(6px);
}
.hero__controls button:hover { background: rgba(255,255,255,.3); }

.scroll-indicator {
  position: absolute; z-index: 3; left: 50%; bottom: 1.5rem; transform: translateX(-50%);
  color: #fff; text-decoration: none; display: flex; flex-direction: column; align-items: center;
  gap: .4rem; font-size: .72rem; letter-spacing: .25em; text-transform: uppercase;
}
.scroll-indicator .mouse { width: 26px; height: 42px; border: 2px solid #fff; border-radius: 14px; position: relative; }
.scroll-indicator .mouse::before {
  content: ""; position: absolute; left: 50%; top: 7px; width: 4px; height: 8px; margin-left: -2px;
  border-radius: 2px; background: #fff; animation: molette 1.8s infinite;
}
@keyframes molette { 0% { opacity: 1; transform: translateY(0); } 80% { opacity: 0; transform: translateY(14px); } 100% { opacity: 0; } }
.scroll-indicator:hover { color: var(--vert); }

/* ---------- 5. Sections ---------- */
.section { padding: clamp(4rem, 8vw, 7rem) 0; position: relative; }
.section-title { font-size: clamp(1.8rem, 3.5vw, 2.6rem); margin-bottom: .75rem; }
.section-title::after {
  content: ""; display: block; width: 72px; height: 5px; border-radius: 5px; background: var(--degrade); margin-top: .9rem;
}
.text-center .section-title::after, .section-title.text-center::after { margin-left: auto; margin-right: auto; }
.section-lead { font-size: 1.1rem; max-width: 760px; }

/* Bandeau titre (pilule blanche comme sur le visuel) */
.pill-titre {
  background: #fff; border-radius: var(--radius-pill); padding: 1.25rem 2.5rem;
  display: inline-flex; align-items: center; gap: 1rem; box-shadow: 0 20px 40px -25px rgba(50,28,92,.35);
}
.pill-titre .rang { font-size: clamp(3rem, 6vw, 4.5rem); font-weight: 700; line-height: 1; }
.pill-titre .rang sup { font-size: .35em; color: var(--violet); top: -1.3em; }
.pill-titre .l1 { color: var(--violet); font-weight: 600; font-size: clamp(1rem, 2.2vw, 1.55rem); letter-spacing: .08em; text-transform: uppercase; line-height: 1.15; }
.pill-titre .l2 { font-weight: 600; font-size: clamp(1rem, 2.2vw, 1.55rem); letter-spacing: .08em; text-transform: uppercase; line-height: 1.15; }

/* Bandeau thème dégradé */
.bandeau-theme {
  background: var(--degrade); color: #fff; border-radius: 2.5rem; padding: 1.5rem 2rem; text-align: center;
  box-shadow: 0 25px 50px -30px rgba(50,28,92,.6);
}
.bandeau-theme .theme { font-style: italic; font-weight: 500; font-size: clamp(1.15rem, 2.6vw, 2rem); text-transform: uppercase; margin: 0; color: #fff; }
.bandeau-theme .axes { font-style: italic; font-size: clamp(.95rem, 1.8vw, 1.35rem); margin: .4rem 0 0; text-transform: uppercase; letter-spacing: .04em; }

/* Partenaire d'accueil */
.partenaire-hote { text-align: center; }
.partenaire-hote .label { font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .85rem; color: var(--violet); }
.partenaire-hote .logo-box {
  display: inline-flex; align-items: center; justify-content: center; background: #fff; border-radius: 1.5rem;
  padding: 1.25rem 2rem; margin-top: .75rem; min-width: 260px; min-height: 120px;
  box-shadow: 0 15px 35px -25px rgba(50,28,92,.45); transition: transform .25s;
}
.partenaire-hote .logo-box:hover { transform: translateY(-4px); }
.partenaire-hote .logo-box img { max-height: 110px; width: auto; }

/* Formats */
.formats { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.format {
  flex: 1 1 170px; max-width: 210px; background: #fff; border-radius: var(--radius); padding: 1.75rem 1rem;
  text-align: center; transition: transform .25s, box-shadow .25s; position: relative; overflow: hidden;
}
.format::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: var(--degrade); }
.format:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -25px rgba(50,28,92,.5); }
.format i { font-size: 2rem; margin-bottom: .75rem; }
.format:nth-child(3n+1) i { color: var(--violet); }
.format:nth-child(3n+2) i { color: var(--turquoise); }
.format:nth-child(3n+3) i { color: var(--vert); }
.format h3 { font-size: 1rem; margin: 0; }

/* Compte à rebours */
.countdown-wrap { background: var(--violet); color: #fff; position: relative; overflow: hidden; }
.countdown-wrap::before, .countdown-wrap::after {
  content: ""; position: absolute; border-radius: 50%; filter: blur(60px); opacity: .5;
}
.countdown-wrap::before { width: 420px; height: 420px; background: var(--turquoise); top: -200px; right: -120px; }
.countdown-wrap::after  { width: 360px; height: 360px; background: var(--vert); bottom: -220px; left: -100px; opacity: .35; }
.countdown-wrap > .container { position: relative; z-index: 1; }
.countdown { display: flex; justify-content: center; gap: clamp(.5rem, 2vw, 1.5rem); flex-wrap: wrap; }
.countdown .unit {
  min-width: clamp(78px, 14vw, 130px); padding: 1rem .5rem; border-radius: var(--radius);
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); text-align: center;
}
.countdown .val { display: block; font-size: clamp(2rem, 5vw, 3.6rem); font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.countdown .lbl { display: block; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; margin-top: .4rem; color: var(--vert); }

/* Cartes génériques */
.card-aitad {
  background: #fff; border: 0; border-radius: var(--radius); padding: 1.75rem; height: 100%;
  box-shadow: 0 15px 35px -28px rgba(50,28,92,.55); transition: transform .25s, box-shadow .25s;
}
.card-aitad:hover { transform: translateY(-4px); box-shadow: 0 25px 45px -28px rgba(50,28,92,.6); }
.icone-ronde {
  width: 58px; height: 58px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--degrade-diag); color: #fff; font-size: 1.35rem; margin-bottom: 1rem;
}

/* Axes (Énergie / Gouvernance / Requalification) */
.axe { border-radius: var(--radius); padding: 2rem; color: #fff; height: 100%; position: relative; overflow: hidden; }
.axe { padding: 2rem 2rem 1.75rem; }
.axe h3 { color: #fff; font-size: clamp(1.45rem, 2.1vw, 1.9rem); font-weight: 900; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .6rem; }
.axe h3, .axe p { position: relative; z-index: 1; }
.axe p { font-size: .95rem; max-width: 30ch; }
/* icône de l'axe en filigrane */
.axe .axe__filigrane {
  position: absolute; right: 1.25rem; top: 50%; z-index: 0; pointer-events: none;
  font-size: clamp(5.5rem, 7.5vw, 7.5rem); line-height: 1; color: #fff; opacity: .16;
  transform: translateY(-50%) rotate(-12deg); transition: transform .6s cubic-bezier(.22,.61,.36,1), opacity .6s;
}
.axe:hover .axe__filigrane { transform: translateY(-50%) rotate(0deg) scale(1.1); opacity: .24; }
.axe--energie        { background: var(--violet); }
.axe--gouvernance    { background: var(--turquoise); }
.axe--requalification{ background: #8FA01E; }

/* Intervenants */
.intervenant { text-align: center; }
.intervenant .photo {
  width: 150px; height: 150px; border-radius: 50%; margin: 0 auto 1rem; overflow: hidden; position: relative;
  background: var(--sable-fonce); display: flex; align-items: center; justify-content: center;
  padding: 4px; background-image: var(--degrade-diag);
}
.intervenant .photo img, .intervenant .photo .placeholder {
  width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: var(--sable-fonce);
}
.intervenant .photo .placeholder { display: flex; align-items: center; justify-content: center; font-size: 2.6rem; color: var(--violet); opacity: .8; }
.intervenant h3 { font-size: 1rem; margin-bottom: .2rem; text-transform: uppercase; }
.intervenant p { font-size: .88rem; margin: 0; }
.intervenant .fonction { color: var(--turquoise); font-weight: 500; }

/* Partenaires */
.logos-partenaires { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.25rem; }
.logo-partenaire {
  width: 200px; height: 120px; background: #fff; border-radius: 1rem; display: flex; align-items: center; justify-content: center;
  padding: 1rem; transition: transform .25s, box-shadow .25s; color: #9a8f80; font-weight: 500; text-decoration: none;
}
.logo-partenaire img { max-width: 100%; max-height: 100%; transition: transform .3s; }
.logo-partenaire:hover { transform: translateY(-4px); box-shadow: 0 18px 35px -25px rgba(50,28,92,.55); }
.logo-partenaire:hover img { transform: scale(1.04); }
.niveau-partenaire { font-size: .85rem; letter-spacing: .2em; text-transform: uppercase; color: var(--turquoise); font-weight: 600; }

/* Galerie (activée après l'événement) */
.galerie { columns: 4 240px; column-gap: 1rem; }
.galerie a { display: block; margin-bottom: 1rem; border-radius: 1rem; overflow: hidden; break-inside: avoid; }
.galerie img { width: 100%; display: block; transition: transform .4s; }
.galerie a:hover img { transform: scale(1.05); }

/* ---------- 6. Pages intérieures ---------- */
.page-header {
  padding: calc(var(--header-h) + 4rem) 0 4rem; position: relative; overflow: hidden; color: #fff;
  background: var(--degrade-diag);
}
.page-header::after {
  content: ""; position: absolute; right: -6%; top: -30%; width: 45%; aspect-ratio: 1; border-radius: 50%;
  border: 50px solid rgba(255,255,255,.08);
}
.page-header h1 { color: #fff; font-size: clamp(2rem, 5vw, 3.4rem); }
.page-header .breadcrumb { --bs-breadcrumb-divider-color: rgba(255,255,255,.7); --bs-breadcrumb-item-active-color: #fff; margin: 0; }
.page-header .breadcrumb a { color: rgba(255,255,255,.85); text-decoration: none; }
.page-header .meta { font-weight: 500; letter-spacing: .08em; text-transform: uppercase; font-size: .85rem; opacity: .9; }

/* Programme */
.nav-jours { gap: .75rem; }
.nav-jours .nav-link {
  border-radius: var(--radius-pill); background: #fff; color: var(--violet); font-weight: 600; padding: .8rem 1.8rem;
}
.nav-jours .nav-link.active { background: var(--degrade); color: #fff; }
.timeline { position: relative; padding-left: 2rem; }
.timeline::before { content: ""; position: absolute; left: .55rem; top: .5rem; bottom: .5rem; width: 3px; background: var(--degrade-vertical); border-radius: 3px; }
.slot { position: relative; background: #fff; border-radius: var(--radius); padding: 1.25rem 1.5rem; margin-bottom: 1rem; }
.slot::before {
  content: ""; position: absolute; left: -1.95rem; top: 1.5rem; width: 16px; height: 16px; border-radius: 50%;
  background: var(--sable); border: 4px solid var(--turquoise);
}
.slot .heure { font-weight: 700; color: var(--turquoise); font-size: .95rem; }
.slot h3 { font-size: 1.1rem; margin: .25rem 0 .4rem; }
.tag { display: inline-block; font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; padding: .2rem .7rem; border-radius: var(--radius-pill); margin-right: .3rem; }
.tag-energie { background: rgba(77,48,130,.12); color: var(--violet); }
.tag-gouvernance { background: rgba(53,171,169,.15); color: #1d7a77; }
.tag-requalification { background: rgba(188,199,41,.22); color: #5d6a0e; }
.tag-temps-fort { background: var(--violet); color: #fff; }
.slot.pause { background: transparent; border: 2px dashed rgba(77,48,130,.2); }

/* Formulaires */
.form-aitad .form-control, .form-aitad .form-select {
  border-radius: .85rem; border: 2px solid transparent; background: #fff; padding: .8rem 1rem;
}
.form-aitad .form-control:focus, .form-aitad .form-select:focus { border-color: var(--turquoise); box-shadow: 0 0 0 .2rem rgba(53,171,169,.15); }
.form-aitad label { font-weight: 500; font-size: .9rem; margin-bottom: .35rem; color: var(--violet); }
.form-check-input:checked { background-color: var(--turquoise); border-color: var(--turquoise); }

/* Tarifs */
.tarif { text-align: center; }
.tarif .prix { font-size: 2.6rem; font-weight: 700; color: var(--violet); line-height: 1; }
.tarif .prix small { font-size: .9rem; font-weight: 400; color: var(--encre); }
.tarif.mise-en-avant { background: var(--violet); color: #fff; }
.tarif.mise-en-avant h3, .tarif.mise-en-avant .prix, .tarif.mise-en-avant .prix small { color: #fff; }
.tarif ul { list-style: none; padding: 0; text-align: left; margin: 1.5rem 0; }
.tarif li { padding: .35rem 0; }
.tarif li i { color: var(--turquoise); margin-right: .5rem; }
.tarif.mise-en-avant li i { color: var(--vert); }

/* Accordéon */
.accordion-aitad .accordion-item { border: 0; border-radius: 1rem !important; overflow: hidden; margin-bottom: .75rem; }
.accordion-aitad .accordion-button { font-weight: 600; color: var(--violet); }
.accordion-aitad .accordion-button:not(.collapsed) { background: #fff; box-shadow: none; color: var(--turquoise); }
.accordion-aitad .accordion-button:focus { box-shadow: none; }

/* Carte */
.carte-embed { border-radius: var(--radius); overflow: hidden; height: 100%; min-height: 360px; }
.carte-embed iframe { width: 100%; height: 100%; min-height: 360px; border: 0; }

/* ---------- 7. Pied de page ---------- */
.site-footer { background: var(--violet-fonce); color: rgba(255,255,255,.8); padding: 4rem 0 0; position: relative; }
.site-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: var(--degrade); }
.site-footer h4 { color: #fff; font-size: .9rem; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 1.2rem; }
.site-footer a { color: rgba(255,255,255,.8); text-decoration: none; }
.site-footer a:hover { color: var(--vert); }
.site-footer ul { list-style: none; padding: 0; }
.site-footer li { padding: .2rem 0; font-size: .92rem; }
.reseaux a {
  width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid rgba(255,255,255,.3); margin-right: .4rem; transition: all .25s;
}
.reseaux a:hover { background: var(--turquoise); border-color: var(--turquoise); color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 3rem; padding: 1.25rem 0; font-size: .82rem; }

/* Bouton retour haut */
.back-to-top {
  position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1020; width: 48px; height: 48px; border-radius: 50%;
  border: 0; background: var(--degrade-diag); color: #fff; opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: all .3s; box-shadow: 0 10px 25px -10px rgba(50,28,92,.6);
}
.back-to-top.show { opacity: 1; visibility: visible; transform: none; }

/* ---------- 8. Animations au scroll ---------- */
/* Éléments .reveal : invisibles jusqu'à leur entrée à l'écran, puis animés par animate.css
   (nom de l'animation dans data-animate, décalage dans data-delay, voir aitad.js §3) */
:root { --animate-duration: .8s; }
.reveal { opacity: 0; }
.reveal.animate__animated, .reveal.is-visible { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; }
  .scroll-indicator .mouse::before { animation: none; }
}

@media (max-width: 767.98px) {
  .pill-titre { border-radius: 2rem; padding: 1rem 1.25rem; }
  .badge-30ans { top: auto; bottom: 5.5rem; left: 1rem; }
  .hero__controls { bottom: 1rem; right: 1rem; }
}
.site-footer .brand-text small { white-space: normal; line-height: 1.4; }
.brand-text small { color: var(--violet); }
@media (max-width: 575.98px) {
  .countdown { gap: .4rem; flex-wrap: nowrap; }
  .countdown .unit { min-width: 0; flex: 1; padding: .8rem .2rem; }
  .countdown .lbl { font-size: .58rem; letter-spacing: .1em; }
  .brand-text small { display: none; }
}

/* ---------- 9. Typographie de titrage (Nunito) ---------- */
.brand-text, .hero__kicker, .hero__logo-text, .hero__title, .hero__date, .badge-30ans,
.pill-titre, .bandeau-theme, .partenaire-hote .label, .countdown .val, .countdown .lbl,
.btn-aitad, .btn-aitad-outline, .site-header .nav-link, .nav-jours .nav-link, .tag,
.slot .heure, .niveau-partenaire, .tarif .prix, .site-footer h4, .accordion-aitad .accordion-button,
.page-header .meta { font-family: var(--font-titre); }
.btn-aitad, .btn-aitad-outline { font-weight: 800; }
.site-header .nav-link { font-weight: 700; font-size: .92rem; }
.hero__kicker, .hero__title, .hero__date { font-weight: 800; }
.hero__logo-text { font-weight: 900; }
.pill-titre .l1, .pill-titre .l2 { font-weight: 800; }
.pill-titre .rang { font-weight: 900; }
.bandeau-theme .theme { font-weight: 800; }
.bandeau-theme .axes { font-weight: 700; }
.badge-30ans { font-weight: 800; }
.badge-30ans .num, .countdown .val, .tarif .prix { font-weight: 900; }
.brand-text { font-weight: 900; }
.brand-text small { font-weight: 700; }
.hero__title sup { text-transform: none; }

/* ---------- 10. Titre vectoriel AITAD dans le hero ---------- */
.hero { min-height: 640px; }
.hero__content { display: flex; flex-direction: column; align-items: center; gap: clamp(1rem, 2.5vh, 1.75rem); }
.hero__titre { display: block; width: min(820px, 78vw); height: auto; max-height: 30vh; max-height: 30svh; margin: 0 auto; }
.pill-titre--hero { padding: .75rem 1.75rem; gap: .75rem; }
.pill-titre--hero .rang { font-size: clamp(2.2rem, 4vw, 3.2rem); }
.pill-titre--hero .l1, .pill-titre--hero .l2 { font-size: clamp(.8rem, 1.5vw, 1.15rem); }

/* Logo du header : blanc sur la vidéo, couleur ailleurs */
.brand-logo { height: 40px; width: auto; transition: height .3s; }
.brand-logo--blanc { display: none; }
.has-hero .site-header:not(.is-scrolled) .brand-logo--couleur { display: none; }
.has-hero .site-header:not(.is-scrolled) .brand-logo--blanc { display: block; }
.site-header.is-scrolled .brand-logo { height: 34px; }
.brand .brand-text small { font-size: .7rem; letter-spacing: .04em; line-height: 1.25; text-transform: uppercase; }
.footer-titre { width: 100%; max-width: 300px; height: auto; display: block; }

@media (max-width: 767.98px) {
  .hero__titre { width: 100%; }
  .pill-titre--hero { border-radius: 1.5rem; }
}
@media (max-height: 760px) and (min-width: 768px) {
  .badge-30ans { width: 96px; }
}

/* ---------- 11. Hero : thème + partenaire ---------- */
.hero { height: auto; min-height: 100vh; min-height: 100svh; }
.hero__content { padding-top: calc(var(--header-h) + 1.5rem); padding-bottom: 6rem; }
.hero__titre { width: min(760px, 80vw); max-height: 24vh; max-height: 24svh; filter: drop-shadow(0 8px 24px rgba(20, 10, 40, .35)); }
.bandeau-theme--hero { width: min(1100px, 92vw); padding: .9rem 2rem; border-radius: 2rem; }
.bandeau-theme--hero .theme { font-size: clamp(1rem, 2.1vw, 1.65rem); }
.bandeau-theme--hero .axes { font-size: clamp(.85rem, 1.5vw, 1.15rem); margin-top: .2rem; }
.hero__partenaire { display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.hero__partenaire .label {
  margin: 0; color: #fff; font-family: var(--font-titre); font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; font-size: clamp(.8rem, 1.3vw, 1rem); text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.hero__partenaire .logo-box {
  display: inline-flex; background: #fff; border-radius: 1.25rem; padding: .6rem 1.1rem;
  box-shadow: 0 15px 35px -20px rgba(0,0,0,.6); transition: transform .25s;
}
.hero__partenaire .logo-box:hover { transform: translateY(-3px); }
.hero__partenaire img { height: clamp(56px, 8vh, 84px); width: auto; display: block; }
@media (max-width: 767.98px) {
  .bandeau-theme--hero { padding: .8rem 1.1rem; border-radius: 1.5rem; }
  .hero__content { padding-bottom: 7rem; }
}
@media (max-width: 767.98px) {
  .badge-30ans { top: calc(var(--header-h) + .25rem); bottom: auto; left: auto; right: 1rem; width: 82px; }
  .hero__content { padding-top: calc(var(--header-h) + 6rem); }
}

/* ---------- 12. Carousel intervenants (accueil) ---------- */
.inter-carousel { position: relative; display: flex; align-items: center; justify-content: center; gap: .75rem; }
/* largeur = nombre entier de cartes, calculée par aitad.js §8 (aucune carte coupée) */
.inter-viewport { overflow: hidden; flex: 0 1 auto; min-width: 0; padding: .5rem 0 1rem; }
/* fondu sur les bords (largeur réglable via --inter-fondu) */
.inter-viewport {
  --inter-fondu: 40px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--inter-fondu), #000 calc(100% - var(--inter-fondu)), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 var(--inter-fondu), #000 calc(100% - var(--inter-fondu)), transparent 100%);
}
@media (max-width: 575.98px) { .inter-viewport { --inter-fondu: 24px; } }
.inter-track { display: flex; will-change: transform; }
/* marges (et non gap) : le script décale de outerWidth(true) */
.inter-track > .intervenant { flex: 0 0 auto; width: var(--inter-w, 200px); margin: 0 12px; }
.inter-track .photo { width: 140px; height: 140px; }
.carousel-btn {
  flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--violet);
  background: transparent; color: var(--violet); transition: all .25s; z-index: 2;
}
.carousel-btn:hover { background: var(--violet); color: #fff; }
@media (max-width: 575.98px) {
  .inter-track > .intervenant { margin: 0 8px; }
  .inter-track .photo { width: 110px; height: 110px; }
  .carousel-btn { width: 38px; height: 38px; }
  .inter-carousel { gap: .25rem; }
}
.intervenant .photo img { display: block; }

/* ---------- 13. Programme : deux journées sur la même page ---------- */
.jour + .jour { margin-top: 4rem; }
.jour__titre {
  display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  margin-bottom: 1.75rem;
}
.jour__num {
  background: var(--degrade); color: #fff; border-radius: var(--radius-pill); padding: .3rem 1rem;
  font-size: .8em; letter-spacing: .04em; text-transform: uppercase;
}
.nav-jours a.nav-link:hover { background: var(--violet); color: #fff; }

/* ---------- 14. Reflet lumineux sur le logo du hero ---------- */
.hero__shine { position: relative; display: inline-block; line-height: 0; max-width: 100%; }
.hero__shine .hero__titre { object-fit: contain; }
.hero__shine::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  /* bande claire en diagonale */
  background: linear-gradient(110deg, transparent 42%, rgba(255,255,255,.85) 50%, transparent 58%) no-repeat;
  background-size: 250% 100%;
  background-position: 100% 0;
  /* le reflet n'apparaît que sur les formes du logo :
     silhouette du titre intégrée en data-URI (fonctionne aussi en local, sans serveur) */
  --masque-titre: url("data:image/svg+xml,%3Csvg viewBox=%220 0 1087 264%22 version=%221.1%22 xmlns=%22http://www.w3.org/2000/svg%22 xmlns:xlink=%22http://www.w3.org/1999/xlink%22 xml:space=%22preserve%22 style=%22fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;%22%3E%3Cg transform=%22matrix(0.303852,0,0,0.215467,616.500451,-102.487666)%22%3E%3Cpath d=%22M1495.432,1546.779C1524.242,1546.779 1547.631,1579.763 1547.631,1620.389C1547.631,1661.016 1524.242,1694 1495.432,1694L477.074,1694C448.265,1694 424.876,1661.016 424.876,1620.389C424.876,1579.763 448.265,1546.779 477.074,1546.779L1495.432,1546.779Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(0.658877,0,0,0.658877,-148.333763,-114.427446)%22%3E%3Cg transform=%22matrix(0,2.83128,-1.019515,0,1467.337927,-1484.877465)%22%3E%3Cpath d=%22M715.394,644C721.799,644 727,658.443 727,676.232C727,694.021 721.799,708.463 715.394,708.463L603.606,708.463C597.201,708.463 592,694.021 592,676.232C592,658.443 597.201,644 603.606,644L715.394,644Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(1.170094,2.026662,-1.730077,0.99886,1409.687195,-1373.05652)%22%3E%3Cpath d=%22M584.443,554.778L515,554.778C510.479,554.778 506.303,551.944 504.055,547.349C501.807,542.754 501.829,537.101 504.114,532.531L586.114,368.531C588.378,364.004 592.521,361.222 597,361.222C601.479,361.222 605.622,364.004 607.886,368.531L689.886,532.531C692.171,537.101 692.193,542.754 689.945,547.349C687.697,551.944 683.521,554.778 679,554.778L644.039,554.778C636.412,554.778 630.221,547.525 630.221,538.591C630.221,529.657 636.412,522.404 644.039,522.404L646.621,522.404L646.621,522.399C648.128,522.399 649.519,521.454 650.269,519.922C651.018,518.391 651.011,516.506 650.249,514.983L600.629,415.742C599.874,414.233 598.493,413.305 597,413.305C595.507,413.305 594.126,414.233 593.371,415.742L543.751,514.983C542.989,516.506 542.982,518.391 543.731,519.922C544.481,521.454 545.872,522.399 547.379,522.399L555.79,522.399L555.79,522.404L584.443,522.404C592.07,522.404 598.262,529.657 598.262,538.591C598.262,547.525 592.07,554.778 584.443,554.778Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(0,2.165086,-1.019515,0,1331.698628,-1000.553769)%22%3E%3Cpath d=%22M711.822,644C720.199,644 727,658.443 727,676.232C727,694.021 720.199,708.463 711.822,708.463L607.178,708.463C598.801,708.463 592,694.021 592,676.232C592,658.443 598.801,644 607.178,644L711.822,644Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(2.496296,0,-0,1.019515,-868.397677,-474.897119)%22%3E%3Cpath d=%22M623.75,644L713.836,644C721.102,644 727,658.443 727,676.232C727,694.021 721.102,708.463 713.836,708.463L623.75,708.463C626.39,699.359 627.942,688.236 627.942,676.232C627.942,664.228 626.39,653.104 623.75,644Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(2.378049,0,0,2.030042,-449.646092,-552.759072)%22%3E%3Cpath d=%22M584.443,554.778L515,554.778C510.479,554.778 506.303,551.944 504.055,547.349C501.807,542.754 501.829,537.101 504.114,532.531L586.114,368.531C588.378,364.004 592.521,361.222 597,361.222C601.479,361.222 605.622,364.004 607.886,368.531L689.886,532.531C692.171,537.101 692.193,542.754 689.945,547.349C687.697,551.944 683.521,554.778 679,554.778L644.039,554.778C636.412,554.778 630.221,547.525 630.221,538.591C630.221,529.657 636.412,522.404 644.039,522.404L646.621,522.404L646.621,522.399C648.128,522.399 649.519,521.454 650.269,519.922C651.018,518.391 651.011,516.506 650.249,514.983L600.629,415.742C599.874,414.233 598.493,413.305 597,413.305C595.507,413.305 594.126,414.233 593.371,415.742L543.751,514.983C542.989,516.506 542.982,518.391 543.731,519.922C544.481,521.454 545.872,522.399 547.379,522.399L555.79,522.399L555.79,522.404L584.443,522.404C592.07,522.404 598.262,529.657 598.262,538.591C598.262,547.525 592.07,554.778 584.443,554.778Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(0.723862,0,-0,1.51592,164.883288,-810.582326)%22%3E%3Cpath d=%22M715.948,676.232C715.948,691.108 690.655,703.186 659.5,703.186C628.345,703.186 603.052,691.108 603.052,676.232C603.052,661.355 628.345,649.277 659.5,649.277C690.655,649.277 715.948,661.355 715.948,676.232Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(1.130408,-0,0,1.130408,949.895624,305.819598)%22%3E%3Cpath d=%22M436.84 178Q431.52 178 429.01 175.48Q426.49 172.97 426.49 168.08Q426.49 164.91 428.07 162.18Q429.65 159.45 432.39 156.57L459.42 128.1Q465.46 121.63 468.12 116.6Q470.78 111.57 470.78 106.53Q470.78 100.21 466.68 96.9Q462.58 93.59 454.82 93.59Q450.65 93.59 446.26 94.82Q441.88 96.04 437.13 98.77Q433.97 100.5 431.31 99.99Q428.65 99.49 426.78 97.55Q424.91 95.61 424.33 92.87Q423.76 90.14 424.91 87.41Q426.06 84.68 429.22 82.81Q435.55 78.93 443.03 76.99Q450.5 75.04 457.84 75.04Q469.2 75.04 476.96 78.42Q484.73 81.8 488.75 88.27Q492.78 94.74 492.78 104.09Q492.78 110.13 490.91 115.88Q489.04 121.63 485.09 127.46Q481.13 133.28 474.66 139.89L455.11 159.74H488.47Q493.07 159.74 495.44 162.04Q497.81 164.34 497.81 168.8Q497.81 173.25 495.44 175.63Q493.07 178 488.47 178Z%22 style=%22fill:%23000;%22/%3E%3Cpath d=%22M609.39 178Q604.07 178 601.56 175.48Q599.04 172.97 599.04 168.08Q599.04 164.91 600.62 162.18Q602.2 159.45 604.94 156.57L631.97 128.1Q638.01 121.63 640.67 116.6Q643.33 111.57 643.33 106.53Q643.33 100.21 639.23 96.9Q635.13 93.59 627.37 93.59Q623.2 93.59 618.81 94.82Q614.43 96.04 609.68 98.77Q606.52 100.5 603.86 99.99Q601.2 99.49 599.33 97.55Q597.46 95.61 596.88 92.87Q596.31 90.14 597.46 87.41Q598.61 84.68 601.77 82.81Q608.1 78.93 615.58 76.99Q623.05 75.04 630.39 75.04Q641.75 75.04 649.51 78.42Q657.28 81.8 661.3 88.27Q665.33 94.74 665.33 104.09Q665.33 110.13 663.46 115.88Q661.59 121.63 657.64 127.46Q653.68 133.28 647.21 139.89L627.66 159.74H661.02Q665.62 159.74 667.99 162.04Q670.36 164.34 670.36 168.8Q670.36 173.25 667.99 175.63Q665.62 178 661.02 178Z M700.99 179.29Q696.82 179.29 694.23 177.35Q691.64 175.41 691.21 172.25Q690.78 169.08 692.94 165.2L730.76 95.03H691.07Q686.32 95.03 683.88 92.66Q681.43 90.29 681.43 85.83Q681.43 81.37 683.88 79Q686.32 76.63 691.07 76.63H745.85Q750.46 76.63 753.4 79.07Q756.35 81.51 756.35 85.97Q756.35 89.85 755.27 92.73Q754.19 95.61 752.47 98.91L713.64 172.1Q711.63 175.84 708.61 177.57Q705.59 179.29 700.99 179.29Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(0.782461,-0,0,0.782461,1194.972084,128.636615)%22%3E%3Cpath d=%22M439.58 178Q434.97 178 432.53 175.56Q430.09 173.11 430.09 168.8Q430.09 164.34 432.53 162.04Q434.97 159.74 439.58 159.74H454.1V101.21L443.6 107.69Q440.29 109.7 437.49 109.27Q434.69 108.84 432.67 106.82Q430.66 104.81 430.01 102.01Q429.37 99.2 430.52 96.4Q431.67 93.59 434.83 91.58L454.82 79.5Q457.84 77.63 460.93 76.48Q464.02 75.33 467.04 75.33Q471.35 75.33 473.87 77.56Q476.39 79.79 476.39 84.39V159.74H489.47Q493.93 159.74 496.37 162.04Q498.82 164.34 498.82 168.8Q498.82 173.25 496.37 175.63Q493.93 178 489.47 178Z M550.3 179.58Q537.35 179.58 528.3 173.54Q519.24 167.5 514.49 156.14Q509.75 144.78 509.75 128.68Q509.75 115.88 512.84 105.96Q515.93 96.04 521.68 89.14Q527.43 82.23 535.84 78.64Q544.26 75.04 554.75 75.04Q560.94 75.04 567.26 76.77Q573.59 78.5 579.05 81.95Q581.93 83.38 583.01 86.04Q584.09 88.7 583.66 91.44Q583.22 94.17 581.5 96.25Q579.77 98.34 577.11 98.99Q574.45 99.63 571 98.05Q566.54 95.61 562.45 94.6Q558.35 93.59 554.47 93.59Q546.85 93.59 541.52 97.04Q536.2 100.5 533.54 107.4Q530.88 114.3 530.88 124.51V127.1Q532.03 124.37 533.76 122.06Q537.21 117.32 542.68 114.73Q548.14 112.14 554.75 112.14Q563.38 112.14 570.07 116.38Q576.75 120.63 580.64 128.03Q584.52 135.44 584.52 144.93Q584.52 154.99 580.21 162.83Q575.89 170.67 568.2 175.12Q560.51 179.58 550.3 179.58ZM549.15 162.18Q553.6 162.18 556.98 160.17Q560.36 158.16 562.16 154.42Q563.96 150.68 563.96 145.79Q563.96 140.9 562.16 137.23Q560.36 133.57 556.98 131.48Q553.6 129.4 549.15 129.4Q544.69 129.4 541.31 131.48Q537.93 133.57 536.06 137.23Q534.19 140.9 534.19 145.79Q534.19 150.68 536.06 154.42Q537.93 158.16 541.31 160.17Q544.69 162.18 549.15 162.18Z%22 style=%22fill:%23000;%22/%3E%3Cpath d=%22M611.94 178.8Q606.29 178.8 602.12 176.99Q597.96 175.17 595.71 171.99Q593.46 168.8 593.46 164.52Q593.46 162.06 594.15 159.92Q594.84 157.79 596.18 156.01Q597.52 154.23 599.4 152.68Q601.29 151.12 603.61 149.82L603.68 149.74Q601.29 147.28 600.13 144.82Q598.68 141.92 598.68 138.87Q598.68 135.11 600.56 132.21Q602.45 129.31 605.85 127.72Q609.26 126.12 613.75 126.12Q619.98 126.12 623.6 129.27Q627.23 132.43 627.23 137.79Q627.23 140.61 626.14 143.11Q625.05 145.61 622.74 147.79Q620.92 149.6 618.17 151.12L626.79 159.96Q627.23 159.16 627.59 158.29Q628.24 156.55 628.75 154.6Q629.26 152.64 629.55 150.61Q629.98 148.44 631.1 147.35Q632.23 146.26 634.33 146.26Q636.57 146.26 637.7 147.53Q638.82 148.8 638.53 151.12Q638.1 154.38 637.23 157.35Q636.36 160.32 635.13 162.86Q634.26 164.6 633.24 166.19L638.68 171.48Q640.41 173.07 640.41 174.74Q640.41 176.41 639.15 177.53Q637.88 178.65 635.7 178.65Q633.75 178.65 632.55 177.89Q631.36 177.13 629.84 175.68L627.23 173Q624.47 175.39 621 176.91Q616.65 178.8 611.94 178.8ZM612.59 170.32Q615.71 170.32 618.17 169.16Q619.69 168.44 621.14 167.2L609.55 155.61Q607.95 156.55 606.94 157.5Q605.56 158.8 604.95 160.32Q604.33 161.84 604.33 163.65Q604.33 166.77 606.51 168.54Q608.68 170.32 612.59 170.32ZM613.75 133.59Q611.43 133.59 610.06 134.93Q608.68 136.27 608.68 138.58Q608.68 139.82 609.11 140.94Q609.55 142.06 610.56 143.29Q611.22 144.24 612.37 145.47Q614.19 144.45 615.42 143.58Q617.01 142.35 617.74 141.05Q618.46 139.74 618.46 138.22Q618.46 135.9 617.19 134.74Q615.92 133.59 613.75 133.59Z%22 style=%22fill:%23000;%22/%3E%3Cpath d=%22M666.11 178Q661.5 178 659.06 175.56Q656.62 173.11 656.62 168.8Q656.62 164.34 659.06 162.04Q661.5 159.74 666.11 159.74H680.63V101.21L670.13 107.69Q666.82 109.7 664.02 109.27Q661.22 108.84 659.2 106.82Q657.19 104.81 656.54 102.01Q655.9 99.2 657.05 96.4Q658.2 93.59 661.36 91.58L681.35 79.5Q684.37 77.63 687.46 76.48Q690.55 75.33 693.57 75.33Q697.88 75.33 700.4 77.56Q702.92 79.79 702.92 84.39V159.74H716Q720.46 159.74 722.9 162.04Q725.35 164.34 725.35 168.8Q725.35 173.25 722.9 175.63Q720.46 178 716 178Z M754.97 179.29Q750.8 179.29 748.21 177.35Q745.62 175.41 745.19 172.25Q744.76 169.08 746.92 165.2L784.73 95.03H745.05Q740.3 95.03 737.86 92.66Q735.41 90.29 735.41 85.83Q735.41 81.37 737.86 79Q740.3 76.63 745.05 76.63H799.83Q804.43 76.63 807.38 79.07Q810.33 81.51 810.33 85.97Q810.33 89.85 809.25 92.73Q808.17 95.61 806.45 98.91L767.62 172.1Q765.61 175.84 762.59 177.57Q759.57 179.29 754.97 179.29Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(0.691046,-0,0,0.691046,1225.656443,244.45092)%22%3E%3Cpath d=%22M425.2 179.15Q420.31 179.29 417.58 176.56Q414.84 173.83 414.84 169.52Q414.84 166.21 416.78 163.69Q418.73 161.18 422.46 161.03L426.63 160.74Q432.39 160.31 435.26 157.44Q438.14 154.56 438.14 148.67V86.69Q438.14 81.23 441.01 78.28Q443.89 75.33 449.21 75.33Q454.67 75.33 457.55 78.28Q460.43 81.23 460.43 86.69V148.38Q460.43 157.87 457.05 164.41Q453.67 170.95 446.91 174.55Q440.15 178.14 430.23 178.86Z M524.13 179.58Q513.34 179.58 505.07 176.78Q496.81 173.97 491.2 168.51Q485.59 163.05 482.79 154.78Q479.98 146.51 479.98 135.58V86.69Q479.98 81.08 482.86 78.21Q485.73 75.33 491.2 75.33Q496.52 75.33 499.39 78.21Q502.27 81.08 502.27 86.69V135.72Q502.27 148.09 507.88 154.35Q513.49 160.6 524.13 160.6Q534.77 160.6 540.3 154.35Q545.84 148.09 545.84 135.72V86.69Q545.84 81.08 548.71 78.21Q551.59 75.33 556.91 75.33Q562.23 75.33 565.03 78.21Q567.84 81.08 567.84 86.69V135.58Q567.84 150.1 562.88 159.95Q557.92 169.8 548.21 174.69Q538.51 179.58 524.13 179.58Z M598.75 179.29Q593.29 179.29 590.41 176.27Q587.54 173.25 587.54 167.79V86.84Q587.54 81.37 590.41 78.35Q593.29 75.33 598.75 75.33Q604.07 75.33 606.95 78.35Q609.83 81.37 609.83 86.84V167.79Q609.83 173.25 607.02 176.27Q604.22 179.29 598.75 179.29Z M640.6 179.29Q635.57 179.29 632.91 176.49Q630.25 173.69 630.25 168.51V86.55Q630.25 81.08 632.91 78.21Q635.57 75.33 640.02 75.33Q643.91 75.33 645.99 76.84Q648.08 78.35 650.81 81.8L697.4 141.19V85.97Q697.4 80.94 700.06 78.14Q702.72 75.33 707.75 75.33Q712.78 75.33 715.44 78.14Q718.1 80.94 718.1 85.97V168.94Q718.1 173.69 715.66 176.49Q713.21 179.29 709.04 179.29Q705.02 179.29 702.64 177.71Q700.27 176.13 697.54 172.68L650.95 113.15V168.51Q650.95 173.69 648.36 176.49Q645.77 179.29 640.6 179.29Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(2.378049,0,0,2.030042,-969.56399,-552.759072)%22%3E%3Cpath d=%22M584.443,554.778L515,554.778C510.479,554.778 506.303,551.944 504.055,547.349C501.807,542.754 501.829,537.101 504.114,532.531L586.114,368.531C588.378,364.004 592.521,361.222 597,361.222C601.479,361.222 605.622,364.004 607.886,368.531L689.886,532.531C692.171,537.101 692.193,542.754 689.945,547.349C687.697,551.944 683.521,554.778 679,554.778L644.039,554.778C636.412,554.778 630.221,547.525 630.221,538.591C630.221,529.657 636.412,522.404 644.039,522.404L646.621,522.404L646.621,522.399C648.128,522.399 649.519,521.454 650.269,519.922C651.018,518.391 651.011,516.506 650.249,514.983L600.629,415.742C599.874,414.233 598.493,413.305 597,413.305C595.507,413.305 594.126,414.233 593.371,415.742L543.751,514.983C542.989,516.506 542.982,518.391 543.731,519.922C544.481,521.454 545.872,522.399 547.379,522.399L555.79,522.399L555.79,522.404L584.443,522.404C592.07,522.404 598.262,529.657 598.262,538.591C598.262,547.525 592.07,554.778 584.443,554.778Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(-0,0.624475,-0.533088,-0,1824.764502,76.923762)%22%3E%3Cpath d=%22M584.443,554.778L515,554.778C510.479,554.778 506.303,551.944 504.055,547.349C501.807,542.754 501.829,537.101 504.114,532.531L586.114,368.531C588.378,364.004 592.521,361.222 597,361.222C601.479,361.222 605.622,364.004 607.886,368.531L689.886,532.531C692.171,537.101 692.193,542.754 689.945,547.349C687.697,551.944 683.521,554.778 679,554.778L644.039,554.778C636.412,554.778 630.221,547.525 630.221,538.591C630.221,529.657 636.412,522.404 644.039,522.404L646.621,522.404L646.621,522.399C648.128,522.399 649.519,521.454 650.269,519.922C651.018,518.391 651.011,516.506 650.249,514.983L600.629,415.742C599.874,414.233 598.493,413.305 597,413.305C595.507,413.305 594.126,414.233 593.371,415.742L543.751,514.983C542.989,516.506 542.982,518.391 543.731,519.922C544.481,521.454 545.872,522.399 547.379,522.399L555.79,522.399L555.79,522.404L584.443,522.404C592.07,522.404 598.262,529.657 598.262,538.591C598.262,547.525 592.07,554.778 584.443,554.778Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3Cg transform=%22matrix(2.378049,0,0,2.030042,-969.56399,-552.759072)%22%3E%3Cpath d=%22M584.443,554.778L515,554.778C510.479,554.778 506.303,551.944 504.055,547.349C501.807,542.754 501.829,537.101 504.114,532.531L586.114,368.531C588.378,364.004 592.521,361.222 597,361.222C601.479,361.222 605.622,364.004 607.886,368.531L689.886,532.531C692.171,537.101 692.193,542.754 689.945,547.349C687.697,551.944 683.521,554.778 679,554.778L644.039,554.778C636.412,554.778 630.221,547.525 630.221,538.591C630.221,529.657 636.412,522.404 644.039,522.404L646.621,522.404L646.621,522.399C648.128,522.399 649.519,521.454 650.269,519.922C651.018,518.391 651.011,516.506 650.249,514.983L600.629,415.742C599.874,414.233 598.493,413.305 597,413.305C595.507,413.305 594.126,414.233 593.371,415.742L543.751,514.983C542.989,516.506 542.982,518.391 543.731,519.922C544.481,521.454 545.872,522.399 547.379,522.399L555.79,522.399L555.79,522.404L584.443,522.404C592.07,522.404 598.262,529.657 598.262,538.591C598.262,547.525 592.07,554.778 584.443,554.778Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3C/g%3E%3Cg transform=%22matrix(0.170169,0,0,0.170169,689.10475,224.987823)%22%3E%3Cpath d=%22M463.01 179.44Q456.69 179.44 450.36 178.5Q444.03 177.57 438.43 175.63Q432.82 173.69 428.36 170.81Q425.77 169.08 424.76 166.64Q423.76 164.2 424.12 161.82Q424.48 159.45 425.99 157.65Q427.5 155.86 429.8 155.42Q432.1 154.99 434.83 156.72Q441.16 160.46 448.2 162.18Q455.25 163.91 463.01 163.91Q474.37 163.91 479.55 160.1Q484.73 156.29 484.73 150.25Q484.73 145.22 481.06 142.34Q477.39 139.46 468.48 137.59L452.66 134.29Q439 131.41 432.31 124.58Q425.63 117.75 425.63 106.53Q425.63 99.49 428.5 93.74Q431.38 87.99 436.63 83.82Q441.88 79.65 449.14 77.42Q456.4 75.19 465.17 75.19Q473.8 75.19 481.56 77.34Q489.33 79.5 495.51 83.67Q497.81 85.25 498.6 87.55Q499.39 89.85 498.96 92.08Q498.53 94.31 496.95 95.89Q495.37 97.48 492.99 97.76Q490.62 98.05 487.6 96.33Q482.28 93.31 476.82 92.01Q471.35 90.72 465.03 90.72Q458.41 90.72 453.67 92.59Q448.92 94.46 446.41 97.84Q443.89 101.21 443.89 105.82Q443.89 110.99 447.34 114.08Q450.79 117.18 459.13 118.9L474.8 122.21Q489.04 125.23 496.01 131.7Q502.99 138.17 502.99 148.95Q502.99 155.86 500.18 161.46Q497.38 167.07 492.13 171.1Q486.88 175.12 479.55 177.28Q472.22 179.44 463.01 179.44Z M527.72 179.15Q524.27 179.15 522.18 177.57Q520.1 175.99 519.67 173.33Q519.24 170.67 520.67 167.36L558.64 83.24Q560.51 79.07 563.17 77.27Q565.83 75.48 569.28 75.48Q572.58 75.48 575.24 77.27Q577.9 79.07 579.77 83.24L617.88 167.36Q619.46 170.67 619.03 173.4Q618.6 176.13 616.58 177.64Q614.57 179.15 611.26 179.15Q607.24 179.15 605.01 177.21Q602.78 175.27 601.06 171.24L593.87 154.56H544.4L537.35 171.24Q535.49 175.41 533.47 177.28Q531.46 179.15 527.72 179.15ZM568.99 96.61 550.73 139.89H587.54L569.28 96.61Z M651.53 179.15Q647.07 179.15 644.7 176.63Q642.32 174.12 642.32 169.66V84.97Q642.32 80.36 644.7 77.92Q647.07 75.48 651.53 75.48Q655.98 75.48 658.36 77.92Q660.73 80.36 660.73 84.97V169.66Q660.73 174.12 658.43 176.63Q656.13 179.15 651.53 179.15Z M700.13 179.15Q695.96 179.15 693.73 176.85Q691.5 174.55 691.5 170.24V84.68Q691.5 80.22 693.73 77.85Q695.96 75.48 699.55 75.48Q702.86 75.48 704.51 76.7Q706.17 77.92 708.47 80.8L759.8 147.37V84.25Q759.8 80.08 762.03 77.78Q764.26 75.48 768.43 75.48Q772.6 75.48 774.76 77.78Q776.91 80.08 776.91 84.25V170.52Q776.91 174.55 774.9 176.85Q772.89 179.15 769.44 179.15Q766.13 179.15 764.19 177.86Q762.25 176.56 759.95 173.69L708.61 106.97V170.24Q708.61 174.55 706.45 176.85Q704.3 179.15 700.13 179.15Z M841.33 179.15Q836.88 179.15 834.5 176.63Q832.13 174.12 832.13 169.66V92.01H804.09Q800.35 92.01 798.27 89.93Q796.18 87.84 796.18 84.25Q796.18 80.51 798.27 78.57Q800.35 76.63 804.09 76.63H878.58Q882.31 76.63 884.4 78.57Q886.48 80.51 886.48 84.25Q886.48 87.84 884.4 89.93Q882.31 92.01 878.58 92.01H850.54V169.66Q850.54 174.12 848.23 176.63Q845.93 179.15 841.33 179.15Z M903.6 146.65Q900.43 146.65 898.35 144.57Q896.26 142.48 896.26 139.46Q896.26 136.3 898.35 134.29Q900.43 132.27 903.6 132.27H934.22Q937.24 132.27 939.33 134.29Q941.41 136.3 941.41 139.46Q941.41 142.48 939.33 144.57Q937.24 146.65 934.22 146.65Z M961.26 179.01Q957.23 179.15 954.93 176.85Q952.63 174.55 952.63 170.95Q952.63 168.22 954.28 166.14Q955.94 164.05 959.1 163.91L963.41 163.62Q969.74 163.19 972.97 159.67Q976.21 156.14 976.21 149.53V84.82Q976.21 80.22 978.58 77.85Q980.96 75.48 985.41 75.48Q989.87 75.48 992.24 77.85Q994.62 80.22 994.62 84.82V149.39Q994.62 158.44 991.38 164.77Q988.14 171.1 981.82 174.62Q975.49 178.14 966.14 178.72Z M1035.02 178Q1030.28 178 1027.76 175.48Q1025.24 172.97 1025.24 168.22V86.4Q1025.24 81.66 1027.76 79.14Q1030.28 76.63 1035.02 76.63H1086.36Q1089.95 76.63 1091.89 78.5Q1093.83 80.36 1093.83 83.82Q1093.83 87.41 1091.89 89.35Q1089.95 91.29 1086.36 91.29H1042.93V119.19H1083.19Q1086.93 119.19 1088.8 121.06Q1090.67 122.93 1090.67 126.52Q1090.67 130.12 1088.8 131.99Q1086.93 133.86 1083.19 133.86H1042.93V163.33H1086.36Q1089.95 163.33 1091.89 165.2Q1093.83 167.07 1093.83 170.67Q1093.83 174.26 1091.89 176.13Q1089.95 178 1086.36 178Z M1118.85 179.15Q1115.4 179.15 1113.32 177.57Q1111.23 175.99 1110.8 173.33Q1110.37 170.67 1111.81 167.36L1149.77 83.24Q1151.64 79.07 1154.3 77.27Q1156.96 75.48 1160.41 75.48Q1163.72 75.48 1166.38 77.27Q1169.04 79.07 1170.91 83.24L1209.01 167.36Q1210.59 170.67 1210.16 173.4Q1209.73 176.13 1207.72 177.64Q1205.7 179.15 1202.4 179.15Q1198.37 179.15 1196.14 177.21Q1193.91 175.27 1192.19 171.24L1185 154.56H1135.53L1128.49 171.24Q1126.62 175.41 1124.6 177.28Q1122.59 179.15 1118.85 179.15ZM1160.12 96.61 1141.86 139.89H1178.67L1160.41 96.61Z M1242.08 179.15Q1237.91 179.15 1235.68 176.85Q1233.46 174.55 1233.46 170.24V84.68Q1233.46 80.22 1235.68 77.85Q1237.91 75.48 1241.51 75.48Q1244.81 75.48 1246.47 76.7Q1248.12 77.92 1250.42 80.8L1301.76 147.37V84.25Q1301.76 80.08 1303.99 77.78Q1306.21 75.48 1310.38 75.48Q1314.55 75.48 1316.71 77.78Q1318.87 80.08 1318.87 84.25V170.52Q1318.87 174.55 1316.86 176.85Q1314.84 179.15 1311.39 179.15Q1308.08 179.15 1306.14 177.86Q1304.2 176.56 1301.9 173.69L1250.57 106.97V170.24Q1250.57 174.55 1248.41 176.85Q1246.25 179.15 1242.08 179.15Z M1354.53 146.65Q1351.37 146.65 1349.28 144.57Q1347.2 142.48 1347.2 139.46Q1347.2 136.3 1349.28 134.29Q1351.37 132.27 1354.53 132.27H1385.16Q1388.18 132.27 1390.26 134.29Q1392.35 136.3 1392.35 139.46Q1392.35 142.48 1390.26 144.57Q1388.18 146.65 1385.16 146.65Z M1430.45 178Q1425.71 178 1423.19 175.48Q1420.67 172.97 1420.67 168.22V86.4Q1420.67 81.66 1423.19 79.14Q1425.71 76.63 1430.45 76.63H1458.35Q1483.8 76.63 1497.68 89.71Q1511.55 102.8 1511.55 127.24Q1511.55 139.46 1508.03 148.88Q1504.51 158.3 1497.68 164.77Q1490.85 171.24 1481 174.62Q1471.15 178 1458.35 178ZM1439.08 162.76H1457.2Q1466.11 162.76 1472.66 160.53Q1479.2 158.3 1483.58 153.91Q1487.97 149.53 1490.13 142.84Q1492.28 136.16 1492.28 127.24Q1492.28 109.41 1483.51 100.64Q1474.74 91.87 1457.2 91.87H1439.08Z M1548.65 178Q1543.9 178 1541.39 175.48Q1538.87 172.97 1538.87 168.22V86.4Q1538.87 81.66 1541.39 79.14Q1543.9 76.63 1548.65 76.63H1599.98Q1603.58 76.63 1605.52 78.5Q1607.46 80.36 1607.46 83.82Q1607.46 87.41 1605.52 89.35Q1603.58 91.29 1599.98 91.29H1556.56V119.19H1596.82Q1600.56 119.19 1602.43 121.06Q1604.3 122.93 1604.3 126.52Q1604.3 130.12 1602.43 131.99Q1600.56 133.86 1596.82 133.86H1556.56V163.33H1599.98Q1603.58 163.33 1605.52 165.2Q1607.46 167.07 1607.46 170.67Q1607.46 174.26 1605.52 176.13Q1603.58 178 1599.98 178Z M1637.94 146.65Q1634.78 146.65 1632.7 144.57Q1630.61 142.48 1630.61 139.46Q1630.61 136.3 1632.7 134.29Q1634.78 132.27 1637.94 132.27H1668.57Q1671.59 132.27 1673.68 134.29Q1675.76 136.3 1675.76 139.46Q1675.76 142.48 1673.68 144.57Q1671.59 146.65 1668.57 146.65Z M1712.72 179.15Q1708.69 179.15 1706.53 176.85Q1704.38 174.55 1704.38 170.52V84.1Q1704.38 79.93 1706.68 77.7Q1708.98 75.48 1713 75.48Q1716.6 75.48 1718.68 76.84Q1720.77 78.21 1722.49 81.51L1755.71 142.91L1788.93 81.51Q1790.65 78.21 1792.67 76.84Q1794.68 75.48 1798.27 75.48Q1802.3 75.48 1804.46 77.7Q1806.61 79.93 1806.61 84.1V170.52Q1806.61 174.55 1804.53 176.85Q1802.44 179.15 1798.27 179.15Q1794.25 179.15 1792.09 176.85Q1789.93 174.55 1789.93 170.52V109.7L1762.9 159.02Q1761.46 161.46 1759.88 162.61Q1758.3 163.76 1755.57 163.76Q1752.83 163.76 1751.11 162.54Q1749.38 161.32 1748.09 159.02L1721.06 109.99V170.52Q1721.06 174.55 1718.97 176.85Q1716.89 179.15 1712.72 179.15Z M1882.97 179.44Q1868.3 179.44 1857.3 172.97Q1846.3 166.5 1840.26 154.78Q1834.22 143.06 1834.22 127.24Q1834.22 115.31 1837.67 105.74Q1841.12 96.18 1847.52 89.35Q1853.92 82.52 1862.91 78.85Q1871.9 75.19 1882.97 75.19Q1897.78 75.19 1908.71 81.59Q1919.63 87.99 1925.67 99.63Q1931.71 111.28 1931.71 127.1Q1931.71 139.03 1928.26 148.67Q1924.81 158.3 1918.41 165.2Q1912.01 172.1 1903.03 175.77Q1894.04 179.44 1882.97 179.44ZM1882.97 163.62Q1892.31 163.62 1898.86 159.31Q1905.4 154.99 1908.92 146.8Q1912.45 138.6 1912.45 127.24Q1912.45 109.99 1904.75 100.5Q1897.06 91.01 1882.97 91.01Q1873.76 91.01 1867.15 95.25Q1860.54 99.49 1857.01 107.61Q1853.49 115.74 1853.49 127.24Q1853.49 144.35 1861.25 153.99Q1869.02 163.62 1882.97 163.62Z M1967.66 179.15Q1963.49 179.15 1961.26 176.85Q1959.03 174.55 1959.03 170.24V84.68Q1959.03 80.22 1961.26 77.85Q1963.49 75.48 1967.09 75.48Q1970.39 75.48 1972.05 76.7Q1973.7 77.92 1976 80.8L2027.34 147.37V84.25Q2027.34 80.08 2029.56 77.78Q2031.79 75.48 2035.96 75.48Q2040.13 75.48 2042.29 77.78Q2044.45 80.08 2044.45 84.25V170.52Q2044.45 174.55 2042.43 176.85Q2040.42 179.15 2036.97 179.15Q2033.66 179.15 2031.72 177.86Q2029.78 176.56 2027.48 173.69L1976.15 106.97V170.24Q1976.15 174.55 1973.99 176.85Q1971.83 179.15 1967.66 179.15Z M2108.87 179.15Q2104.41 179.15 2102.04 176.63Q2099.66 174.12 2099.66 169.66V92.01H2071.62Q2067.88 92.01 2065.8 89.93Q2063.71 87.84 2063.71 84.25Q2063.71 80.51 2065.8 78.57Q2067.88 76.63 2071.62 76.63H2146.11Q2149.85 76.63 2151.93 78.57Q2154.02 80.51 2154.02 84.25Q2154.02 87.84 2151.93 89.93Q2149.85 92.01 2146.11 92.01H2118.07V169.66Q2118.07 174.12 2115.77 176.63Q2113.47 179.15 2108.87 179.15Z M2204.78 179.44Q2198.45 179.44 2192.12 178.5Q2185.8 177.57 2180.19 175.63Q2174.58 173.69 2170.12 170.81Q2167.53 169.08 2166.53 166.64Q2165.52 164.2 2165.88 161.82Q2166.24 159.45 2167.75 157.65Q2169.26 155.86 2171.56 155.42Q2173.86 154.99 2176.59 156.72Q2182.92 160.46 2189.97 162.18Q2197.01 163.91 2204.78 163.91Q2216.14 163.91 2221.31 160.1Q2226.49 156.29 2226.49 150.25Q2226.49 145.22 2222.82 142.34Q2219.16 139.46 2210.24 137.59L2194.42 134.29Q2180.76 131.41 2174.08 124.58Q2167.39 117.75 2167.39 106.53Q2167.39 99.49 2170.27 93.74Q2173.14 87.99 2178.39 83.82Q2183.64 79.65 2190.9 77.42Q2198.16 75.19 2206.93 75.19Q2215.56 75.19 2223.33 77.34Q2231.09 79.5 2237.27 83.67Q2239.57 85.25 2240.36 87.55Q2241.16 89.85 2240.72 92.08Q2240.29 94.31 2238.71 95.89Q2237.13 97.48 2234.76 97.76Q2232.38 98.05 2229.36 96.33Q2224.04 93.31 2218.58 92.01Q2213.12 90.72 2206.79 90.72Q2200.17 90.72 2195.43 92.59Q2190.68 94.46 2188.17 97.84Q2185.65 101.21 2185.65 105.82Q2185.65 110.99 2189.1 114.08Q2192.55 117.18 2200.89 118.9L2216.57 122.21Q2230.8 125.23 2237.78 131.7Q2244.75 138.17 2244.75 148.95Q2244.75 155.86 2241.95 161.46Q2239.14 167.07 2233.89 171.1Q2228.65 175.12 2221.31 177.28Q2213.98 179.44 2204.78 179.44Z%22 style=%22fill:%23000;%22/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask: var(--masque-titre) center / contain no-repeat;
          mask: var(--masque-titre) center / contain no-repeat;
  animation: aitad-reflet 6s ease-in-out 1.5s infinite;
}
/* passage du reflet en ~1,4 s, puis pause jusqu'au cycle suivant (durée totale : 6 s) */
@keyframes aitad-reflet {
  0%        { background-position: 100% 0; }
  24%, 100% { background-position: 0% 0; }
}
/* Survol : la boucle automatique s'arrête et le reflet passe une seule fois.
   En quittant le logo, la boucle automatique reprend (changer de nom d'animation la relance). */
.hero__shine:hover::after { animation: aitad-reflet-survol 1.2s ease-in-out 1 forwards; }
@keyframes aitad-reflet-survol {
  from { background-position: 100% 0; }
  to   { background-position: 0% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero__shine::after { animation: none; display: none; }
}

/* ---------- 15. Effet de profondeur (vidéo pilotée par la souris, voir aitad.js §10) ---------- */
.hero__video { will-change: transform; transform: scale(1.06); }
@media (prefers-reduced-motion: reduce) { .hero__video { transform: none; } }

/* ---------- 16. Navigation : logo PALME + menu latéral mobile ---------- */
.site-header .brand-logo { height: 46px; width: auto; }
.site-header.is-scrolled .brand-logo { height: 38px; }
/* négatif provisoire : tant que logo-palme-blanc.svg n'existe pas, tout le logo passe en blanc */
.brand-logo--provisoire { filter: brightness(0) invert(1); }

/* Grand écran : le menu reste une barre horizontale */
@media (min-width: 1400px) {
  .nav-mobile { flex-grow: 1; }
  .nav-mobile .offcanvas-body { flex-grow: 1; align-items: center; }
  .nav-mobile__actions { display: flex; align-items: center; }
}

/* En dessous de 1400 px : panneau plein hauteur qui glisse depuis la droite */
@media (max-width: 1399.98px) {
  .nav-mobile {
    --bs-offcanvas-width: min(380px, 88vw);
    --bs-offcanvas-transition: transform .35s cubic-bezier(.22, .61, .36, 1);
    background: linear-gradient(165deg, var(--violet) 0%, var(--violet-fonce) 70%);
    color: #fff; border-left: 0 !important;
    box-shadow: -20px 0 50px -20px rgba(0, 0, 0, .5);
  }
  .nav-mobile::before {   /* liseré dégradé de la charte */
    content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px;
    background: linear-gradient(180deg, var(--violet), var(--turquoise), var(--vert));
  }
  .nav-mobile .offcanvas-header { padding: 1.25rem 1.25rem 1rem 1.75rem; gap: 1rem; align-items: flex-start; }
  .nav-mobile__titre { width: 70%; max-width: 230px; height: auto; }
  .nav-mobile__fermer {
    flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35);
    background: rgba(255,255,255,.08); color: #fff; font-size: 1.2rem; transition: background .2s;
  }
  .nav-mobile__fermer:hover { background: rgba(255,255,255,.2); }
  .nav-mobile .offcanvas-body { display: flex; flex-direction: column; padding: .5rem 1.25rem 1.5rem 1.75rem; }
  .nav-mobile .navbar-nav { gap: 0; }
  .site-header .nav-mobile .nav-link {
    color: #fff !important; font-size: 1.2rem; font-weight: 800; padding: .85rem 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: space-between;
  }
  .site-header .nav-mobile .nav-link::before {   /* chevron façon menu d'app */
    content: "\f054"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: .75rem;
    order: 2; opacity: .45; transition: transform .2s, opacity .2s;
  }
  .site-header .nav-mobile .nav-link:hover::before { opacity: 1; transform: translateX(3px); }
  .site-header .nav-mobile .nav-link::after { left: 0; right: auto; width: 40px; bottom: -1px; }
  .site-header .nav-mobile .nav-link.active { color: var(--vert) !important; }
  .nav-mobile__actions { margin-top: 1.75rem; }
  .nav-mobile__actions .btn { width: 100%; padding: .9rem 1rem; }
  .nav-mobile__pied { margin-top: auto; padding-top: 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
  .nav-mobile__pied .reseaux a { color: #fff; border-color: rgba(255,255,255,.3); }
  .nav-mobile__palme { color: rgba(255,255,255,.7); font-size: .85rem; text-decoration: none; }
  .nav-mobile__palme:hover { color: var(--vert); }
  .offcanvas-backdrop.show { opacity: .55; }
}
@media (prefers-reduced-motion: reduce) { .nav-mobile { --bs-offcanvas-transition: none; } }

/* ---------- 17. Programme : intervenants des créneaux ---------- */
.slot__tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.slot__tags .tag { margin: 0; }
.tag-format { background: var(--sable); color: var(--violet-fonce); border: 1px solid rgba(77,48,130,.18); }
.tag-format i { margin-right: .35rem; }

.orateurs-bloc { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px dashed rgba(77,48,130,.18); }
.orateurs__titre {
  font-family: var(--font-titre); font-weight: 800; font-size: .75rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--turquoise); margin: 0 0 .65rem;
}
.orateurs { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.orateur {
  display: flex; align-items: flex-start; gap: .75rem; padding: .7rem .8rem; border-radius: 1rem;
  background: #FBF7F0; transition: background .2s, transform .2s;
}
.orateur:hover { background: var(--sable); transform: translateY(-2px); }
.orateur__photo {
  flex: 0 0 auto; width: 58px; height: 58px; border-radius: 50%; padding: 3px; background: var(--degrade-diag);
}
.orateur__photo img, .orateur__photo .placeholder {
  width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: flex; align-items: center;
  justify-content: center; background: var(--sable-fonce); color: var(--violet); font-size: 1.3rem;
}
.orateur__infos { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.orateur__nom { font-family: var(--font-titre); font-weight: 800; color: var(--violet); font-size: .95rem; text-transform: uppercase; letter-spacing: .02em; }
.orateur__fonction { color: var(--turquoise); font-weight: 500; font-size: .82rem; margin-top: .15rem; }
.orateur__structure { font-size: .82rem; }
.orateur__pays { display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; color: #6b5f7d; margin-top: .3rem; }
.orateur__pays .fi { width: 1.25em; line-height: .95em; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); flex: 0 0 auto; }

/* animateur / animatrice : mis en avant */
.orateur--animation { background: rgba(77,48,130,.08); box-shadow: inset 4px 0 0 var(--violet); }
.orateur--animation:hover { background: rgba(77,48,130,.12); }
.orateur__role {
  align-self: flex-start; display: inline-flex; align-items: center; gap: .35rem; margin-bottom: .3rem;
  font-family: var(--font-titre); font-weight: 800; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
  color: #fff; background: var(--degrade); padding: .2rem .6rem; border-radius: var(--radius-pill);
}
@media (max-width: 575.98px) {
  .slot { padding: 1.1rem 1rem; }
  .orateurs { grid-template-columns: 1fr; }
}

/* ---------- 18. Vignettes cliquables + lightbox intervenant (aitad.js §9) ---------- */
.js-bio { cursor: pointer; }
.js-bio:focus-visible { outline: 3px solid var(--turquoise); outline-offset: 4px; border-radius: 1rem; }
.intervenant.js-bio .photo { transition: transform .3s ease, box-shadow .3s ease; }
.intervenant.js-bio:hover .photo { transform: scale(1.05); box-shadow: 0 12px 30px -14px rgba(50,28,92,.55); }
.intervenant.js-bio:hover h3 { color: var(--turquoise); }
.intervenant .pays { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; color: #6b5f7d; margin-top: .35rem; }
.intervenant .pays .fi, .bio-modal__pays .fi { width: 1.25em; line-height: .95em; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }

.bio-modal .modal-content { border: 0; border-radius: 1.75rem; overflow: hidden; background: #fff; }
.bio-modal .modal-dialog { max-width: 860px; }
.bio-modal.show .modal-content { animation: bio-entree .45s cubic-bezier(.22,.61,.36,1); }
@keyframes bio-entree { from { opacity: 0; transform: translateY(24px) scale(.97); } to { opacity: 1; transform: none; } }
.bio-modal__fermer {
  position: absolute; top: 1rem; right: 1rem; z-index: 2; width: 44px; height: 44px; border-radius: 50%;
  border: 0; background: var(--sable); color: var(--violet); font-size: 1.15rem; transition: background .2s, transform .2s;
}
.bio-modal__fermer:hover { background: var(--violet); color: #fff; transform: rotate(90deg); }
.bio-modal__grille { display: grid; grid-template-columns: 290px 1fr; min-height: 340px; }
.bio-modal__visuel {
  background: var(--degrade-diag); display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 1rem; padding: 2.5rem 1.5rem; position: relative;
}
.bio-modal__photo {
  width: 200px; height: 200px; border-radius: 50%; padding: 6px; background: rgba(255,255,255,.9);
  box-shadow: 0 25px 45px -20px rgba(20,10,40,.6);
}
.bio-modal__photo img, .bio-modal__photo .placeholder {
  width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: flex; align-items: center; justify-content: center;
  background: var(--sable-fonce); color: var(--violet); font-size: 4rem;
}
.bio-modal__pays {
  display: inline-flex; align-items: center; gap: .5rem; margin: 0; padding: .35rem .9rem; border-radius: var(--radius-pill);
  background: rgba(255,255,255,.92); color: var(--violet-fonce); font-family: var(--font-titre); font-weight: 800; font-size: .85rem;
}
.bio-modal__texte { padding: 2.5rem 2.5rem 2.25rem; }
.bio-modal__nom { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 900; text-transform: uppercase; margin: 0 3rem .5rem 0; line-height: 1.1; }
.bio-modal__fonction { color: var(--turquoise); font-weight: 600; margin: 0; }
.bio-modal__structure { margin: .15rem 0 0; }
.bio-modal__bio { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgba(77,48,130,.12); }
.bio-modal__bio::before { content: ""; display: block; width: 56px; height: 4px; border-radius: 4px; background: var(--degrade); margin: -1.4rem 0 1.15rem; }
.bio-modal__bio p { margin-bottom: .8rem; }
.bio-modal__bio p:last-child { margin-bottom: 0; }
.bio-modal__vide { font-style: italic; color: #6b5f7d; }
.modal-backdrop.show { opacity: .6; }
@media (max-width: 767.98px) {
  .bio-modal .modal-dialog { margin: .75rem; }
  .bio-modal__grille { grid-template-columns: 1fr; }
  .bio-modal__visuel { padding: 2rem 1rem 1.5rem; }
  .bio-modal__photo { width: 150px; height: 150px; }
  .bio-modal__texte { padding: 1.5rem 1.4rem 1.75rem; }
  .bio-modal__nom { margin-right: 0; }
  .bio-modal__fermer { background: rgba(255,255,255,.9); }
}
@media (prefers-reduced-motion: reduce) { .bio-modal.show .modal-content { animation: none; } }
