﻿/* Polices: les fichiers locaux Blauer Nue / Aeonick n'existent pas — on s'appuie
   sur la chaîne de fallback définie dans --font-title / --font-body. */

:root {
  --jaune:  #E3FF15;
  --violet: #652FEA;
  --noir:   #0A0A0A;
  --blanc:  #FFFFFF;
  --gris:   #F1F1F1;
  --font-title:'Blauer Nue','Syne',sans-serif;
  --font-body:'Aeonick','Aeonik','DM Sans','Helvetica Neue',Arial,sans-serif;
  --secondary-size:clamp(14px, 1.05vw, 18px);
  --secondary-line:1.45;
  --section-space-y:clamp(62px, 6.2vw, 84px);
  --section-space-x:clamp(20px, 5vw, 60px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:#fff;
  color:var(--noir);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body::before{
  content:"";
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:3px;
  z-index:1300;
  transform-origin:left center;
  transform:scaleX(var(--scroll-progress, 0));
  background:linear-gradient(90deg, rgba(10,10,10,.96) 0%, rgba(101,47,234,.92) 52%, rgba(10,10,10,.96) 100%);
  box-shadow:0 0 12px rgba(101,47,234,.24);
  pointer-events:none;
}
body.modal-open::before{
  opacity:0;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4,.hero-title,.resume-title,.sec-title,.countdown-title,.cta-title,.mat-card-title,.prog-title,.prog-badge{
  font-family:var(--font-title);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[role="button"]:focus-visible,
.inscription-modal-iframe:focus-visible{
  outline:3px solid var(--noir);
  outline-offset:3px;
  box-shadow:0 0 0 4px rgba(227,255,21,.48);
}
:focus:not(:focus-visible){
  outline:none;
}
.resume,
.materiel,
.programme,
.countdown-section,
.inscription,
.cta-section{
  content-visibility:auto;
  contain-intrinsic-size:1px 900px;
}
.hero{
  content-visibility:visible;
}

.btn-hero,
.btn-cta,
.inscription-open-btn,
.inscription-modal-close{
  border-radius:999px;
  border:1px solid transparent;
  box-shadow:0 8px 22px rgba(0,0,0,.2);
  transition:
    transform .2s ease,
    box-shadow .25s ease,
    opacity .2s ease,
    background-color .25s ease,
    color .25s ease;
}
.btn-hero:hover,
.btn-cta:hover,
.inscription-open-btn:hover,
.inscription-modal-close:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,0,0,.24);
  opacity:1;
}
.btn-hero:active,
.btn-cta:active,
.inscription-open-btn:active,
.inscription-modal-close:active{
  transform:translateY(0);
  box-shadow:0 7px 16px rgba(0,0,0,.18);
}
.btn-hero:focus-visible,
.btn-cta:focus-visible,
.inscription-open-btn:focus-visible,
.inscription-modal-close:focus-visible{
  outline:2px solid rgba(227,255,21,.95);
  outline-offset:2px;
}
.btn-hero,
.btn-cta,
.inscription-open-btn{
  animation:ctaBreathe 10s ease-in-out infinite;
}

/* Animation d'apparition douce au scroll */
body.reveal-ready .reveal-on-scroll{
  opacity:0;
  transform:translateY(24px);
  filter:saturate(.96);
  transition:
    opacity .45s cubic-bezier(.22,.61,.36,1),
    transform .45s cubic-bezier(.22,.61,.36,1),
    filter .45s ease;
  will-change:opacity,transform;
}
body.reveal-ready .reveal-on-scroll.is-visible{
  opacity:1;
  transform:none;
  filter:none;
}
body.reveal-ready .reveal-on-scroll.reveal-stagger{
  transition-delay:calc(var(--reveal-index, 0) * 70ms);
}

@keyframes ctaBreathe{
  0%,100%{filter:saturate(1) brightness(1)}
  50%{filter:saturate(1.015) brightness(1.015)}
}


/* ─── SECTION 1 : HERO ─────────────────────── */
.hero{
  position:relative;
  overflow:hidden;
  background:#E3FF15;
  display:flex;
  flex-direction:column;
}
.hero::before{ display:none; }
.hero::after{ display:none; }
.hero-overlay{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:clamp(410px, 63vh, 530px);
}
.hero-overlay::before{ display:none; }
.hero-nav{
  width:min(1320px, 100%);
  margin:0 auto;
  padding:clamp(16px, 2vw, 28px) clamp(20px, 5vw, 60px) 0;
  display:flex;align-items:center;
}
.logo{display:flex;align-items:center;gap:9px}
.logo-icon{width:36px;height:36px;flex-shrink:0}
.logo-texts{display:flex;flex-direction:column;line-height:1}
.logo-name{
  font-family:var(--font-body);
  font-size:15px;font-weight:800;
  color:var(--noir);letter-spacing:-0.01em;
}
.logo-sub{
  font-family:var(--font-body);
  font-size:10.5px;font-weight:500;
  color:var(--noir);letter-spacing:0.04em;
  margin-top:2px;
}
.logo-img{
  display:block;
  width:clamp(82px, 9.2vw, 142px);
  height:auto;
  max-width:100%;
  object-fit:contain;
  filter:brightness(0);
}
.hero-body{
  flex:1;
  display:grid;
  grid-template-columns:min(540px, 47%) 1fr;
  grid-template-areas:"left photos" "cta photos";
  column-gap:clamp(24px, 4vw, 64px);
  row-gap:clamp(16px, 1.8vw, 20px);
  width:min(1320px, 100%);
  margin:0 auto;
  padding:clamp(12px, 1.5vw, 20px) clamp(20px, 5vw, 60px) clamp(28px, 4vw, 40px);
  position:relative;
  z-index:5;
}
.hero-left{
  display:flex;flex-direction:column;
  align-items:flex-start;
  gap:8px;
  grid-area:left;
  align-self:start;
}
/* Photos héro */
.hero-photos{
  grid-area:photos;
  grid-row:1 / span 2;
  display:flex;
  flex-direction:row;
  align-items:flex-end;
  justify-content:center;
  gap:clamp(10px, 1.5vw, 20px);
  align-self:center;
  min-width:0;
  z-index:3;
  padding:clamp(12px, 2vw, 24px) 0;
}
.hero-cta{
  grid-area:cta;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  align-self:start;
}
.hero-cta .btn-hero{
  margin-top:clamp(4px, 1.4vw, 18px);
}
.hero-photos::before{display:none}
.hero-photo-wrap{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  flex:1;
  min-width:0;
}
.hero-photo-wrap-1{z-index:2;}
.hero-photo-wrap-2{z-index:1;}
.hero-photo-name{
  font-family:var(--font-title);
  font-size:clamp(9px, 0.7vw, 12px);
  font-weight:700;
  color:#E3FF15;
  background:#101014;
  padding:4px 10px;
  border-radius:999px;
  text-align:center;
  white-space:nowrap;
  letter-spacing:0.03em;
  line-height:1;
  flex-shrink:0;
}
.hero-photo-item{
  position:relative;
  width:100%;
  border-radius:50%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 0 0 3px #101014;
}
.hero-photo-item::before{ display:none; }
.hero-photo-1{
  aspect-ratio:1/1;
  background:#c9b89a;
}
.hero-photo-2{
  aspect-ratio:1/1;
  background:#d4885a;
}
.hero-photo-item img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  padding:0;
  filter:none;
  display:block;
}
/* Cadrage spécifique par photo */
.hero-photo-1 img{
  transform:scale(1.05);
  transform-origin:center top;
}
.hero-photo-2 img{
  transform:scale(1.25);
  transform-origin:center top;
  object-position:center 18%;
}
.hero-title{
  font-family:var(--font-title);
  font-size:clamp(28px, 4.8vw, 64px);
  font-weight:700;
  line-height:1;
  color:#101014;
  letter-spacing:-0.01em;
  max-width:100%;
}
.hero-line{
  display:block;
  white-space:nowrap;
}
.hero-sub-line{
  display:block;
}
.hero-sub-line:first-child{
  white-space:nowrap;
}
.hero-sub-line:last-child{
  white-space:nowrap;
}
.hero-sub{
  font-family:var(--font-body);
  font-size:clamp(14px, 1.22vw, 18px);
  font-weight:400;
  line-height:1.45;
  color:rgba(10,10,20,.72);
  max-width:34ch;
  margin-top:clamp(4px, .9vw, 10px);
}
.hero-mobile-image{display:none}
.btn-hero{
  display:inline-flex;align-items:center;justify-content:center;
  background:#101014;color:#E3FF15;
  font-family:var(--font-title);
  font-size:clamp(14px, 1vw, 16px);
  font-weight:700;
  min-width:188px;
  min-height:50px;
  padding:0 24px;
  border-radius:999px;
  white-space:nowrap;
  border:none;cursor:pointer;
  letter-spacing:0;
  line-height:1.2;
  text-align:center;
  margin-top:clamp(8px, 1.4vw, 14px);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 4px 22px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.1);
  max-width:100%;
}
.hero-note{
  font-size:clamp(12px, .88vw, 14px);
  line-height:1.35;
  color:rgba(10,10,20,.6);
  margin-top:2px;
}

/* ─── DATE + LIEU HERO ───────────────────────── */
.hero-event-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}
.hero-event-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 12px 5px 8px;
  border-radius:999px;
  background:#101014;
  color:#E3FF15;
  font-family:var(--font-body);
  font-size:clamp(11px, .9vw, 13px);
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}
.hero-event-item svg{
  width:13px;
  height:13px;
  stroke:#E3FF15;
  flex-shrink:0;
}

/* ─── TARIF HERO ─────────────────────────────── */
.hero-price{
  display:inline-flex;
  flex-direction:column;
  gap:3px;
  align-self:flex-start;
}
.hero-price-label{
  font-family:var(--font-body);
  font-size:clamp(15px, 1.3vw, 19px);
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  color:rgba(10,10,20,.72);
  line-height:1;
}
.hero-price-value{
  display:flex;
  align-items:baseline;
  gap:8px;
}
.hero-price-amount{
  font-family:var(--font-title);
  font-size:clamp(38px, 5vw, 72px);
  font-weight:800;
  color:#101014;
  line-height:1;
  letter-spacing:-0.03em;
}
.hero-price-currency{
  font-family:var(--font-title);
  font-size:clamp(16px, 1.6vw, 24px);
  font-weight:700;
  color:rgba(10,10,20,.58);
  letter-spacing:.05em;
  line-height:1;
  padding-bottom:4px;
}

/* ─── SECTION 2 : RÉSUMÉ ────────────────────── */
.resume{
  background-color:var(--violet);
  min-height:0;
  padding:clamp(40px, 5vw, 64px) var(--section-space-x);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.resume-inner{
  width:min(1260px, 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 31%);
  gap:clamp(32px, 4.6vw, 72px);
  align-items:center;
  padding:0;
  position:relative;
  z-index:1;
}
.resume-copy{
  width:100%;
  max-width:760px;
}
.resume-media{
  width:min(100%, 360px);
  justify-self:end;
  position:relative;
  overflow:visible;
}
.resume-media::before{
  content:"";
  position:absolute;
  inset:11% 9% 14% 12%;
  border-radius:50%;
  background:
    radial-gradient(circle at 48% 42%, rgba(255,255,255,.24) 0%, rgba(255,255,255,.14) 18%, rgba(160,219,254,.18) 34%, rgba(227,255,21,.14) 48%, rgba(101,47,234,0) 74%);
  filter:blur(20px);
  opacity:.95;
  z-index:0;
}
.resume-media img{
  position:relative;
  z-index:1;
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  object-position:center;
  border-radius:0;
  transform:none;
  filter:drop-shadow(0 24px 40px rgba(18,4,51,.34));
}
.resume-title{
  font-size:clamp(28px, 3.8vw, 52px);
  font-weight:700;
  color:var(--jaune);
  line-height:1.1;letter-spacing:0;
  max-width:100%;
  margin-bottom:clamp(12px, 1.5vw, 20px);
}
.resume-text{
  font-size:clamp(14px, 1.1vw, 18px);
  font-weight:400;
  line-height:1.65;
  color:rgba(255,255,255,.9);
  text-align:left;
  max-width:100%;
  margin-bottom:0;
}
.resume-text:last-child{margin-bottom:0}
.resume-list{
  font-size:clamp(14px, 1.1vw, 18px);
  font-weight:400;
  line-height:1.65;
  color:var(--clr-text,#e8e8e8);
  margin:8px 0 16px 0;
  padding-left:1.4em;
  list-style:disc;
}
.resume-list li{margin-bottom:6px}

/* ─── SECTION 3 : MATÉRIEL ──────────────────── */
.materiel{
  background:#F3F2EF;
  padding:clamp(32px, 4vw, 52px) var(--section-space-x);
  display:flex;flex-direction:column;
  align-items:center;
}
.sec-header{text-align:center;margin-bottom:clamp(24px, 3vw, 48px)}
.sec-title{
  font-size:clamp(32px, 4.8vw, 70px);font-weight:800;
  color:var(--noir);letter-spacing:-0.02em;
  margin-bottom:clamp(12px, 1.8vw, 22px);
}
.sec-sub{
  font-size:var(--secondary-size);
  color:rgba(10,10,10,.84);
  line-height:var(--secondary-line);
  max-width:700px;margin:0 auto;
}
.materiel .sec-header{
  width:100%;
  max-width:100%;
  margin-bottom:24px;
}
.materiel .sec-title{
  font-size:clamp(22px, 3vw, 42px);
  font-weight:700;
  letter-spacing:0;
  line-height:1.2;
  max-width:100%;
  margin:0 auto clamp(8px, 1vw, 14px);
  text-align:center;
}
.materiel .sec-sub{
  font-size:clamp(13px, 1vw, 15px);
  line-height:1.4;
  color:rgba(10,10,10,.88);
  max-width:100%;
  text-align:center;
}
.mat-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  width:100%;
  margin:0 auto;
}
.mobile-sticky-cta{
  position:fixed;
  left:50%;
  bottom:calc(12px + env(safe-area-inset-bottom, 0px));
  transform:translateX(-50%);
  z-index:1160;
  display:none;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid rgba(10,10,10,.15);
  background:#000;
  color:var(--jaune);
  font-family:var(--font-title);
  font-size:14px;
  font-weight:700;
  letter-spacing:0;
  line-height:1.2;
  box-shadow:0 12px 26px rgba(0,0,0,.25);
  transition:transform .22s ease, opacity .22s ease;
}
.mobile-sticky-cta.is-hidden{
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) translateY(16px);
}
.mobile-sticky-cta.is-tap{
  transform:translateX(-50%) scale(.98);
}
body.modal-open .mobile-sticky-cta{
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) translateY(16px);
}
.mat-card{
  background:var(--mat-bg, #f0efeb);
  border-radius:14px;
  padding:14px 16px;
  display:grid;
  grid-template-columns:46px 1fr;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:12px;
  row-gap:5px;
  border:none;
  text-align:left;
  justify-items:start;
  width:100%;
  min-height:0;
  position:relative;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.1);
  transition:transform .2s ease, box-shadow .2s ease;
}
/* Icônes colorées */
.mat-icon{
  width:46px;
  height:46px;
  min-height:46px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  grid-column:1;
  grid-row:1 / span 2;
  align-self:center;
  flex-shrink:0;
}
.mat-icon img{
  width:58%;
  height:58%;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.mat-card--laptop .mat-icon  { background:#3b82f6; }
.mat-card--phone .mat-icon   { background:#22c55e; }
.mat-card--notes .mat-icon   { background:#f59e0b; }
.mat-card--charger .mat-icon { background:#8b5cf6; }
.mat-card--phone .mat-card-title{max-width:100%;}
.mat-card--notes .mat-card-title{max-width:100%;}
.mat-card--charger .mat-card-title{max-width:100%;}
.mat-card-title{
  font-size:clamp(12px, 1.1vw, 15px);
  font-weight:700;
  color:var(--noir);
  line-height:1.2;
  letter-spacing:0;
  max-width:100%;
  text-align:left;
  margin:0;
  grid-column:2;
  grid-row:1;
}
.mat-card-desc{
  font-size:clamp(10px, .78vw, 12px);
  color:rgba(10,10,10,.72);
  line-height:1.35;
  max-width:100%;
  margin:0;
  padding-top:0;
  text-align:left;
  grid-column:2;
  grid-row:2;
}
/* ─── BANDE DÉFILANTE ──────────────────────── */
.materiel-note-band{
  width:calc(100% + 2 * var(--section-space-x));
  margin-left:calc(-1 * var(--section-space-x));
  margin-top:28px;
  margin-bottom:28px;
  background:var(--violet);
  border-radius:0;
  padding:12px 0;
  overflow:hidden;
}
.materiel-note-track{
  display:flex;
  white-space:nowrap;
  animation:marqueeScroll 10s linear infinite;
  font-family:var(--font-title);
  font-size:clamp(12px, 1.1vw, 16px);
  font-weight:700;
  color:#fff;
}
.materiel-note-track span{
  padding:0 clamp(24px, 3vw, 48px);
}
@keyframes marqueeScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-33.333%)}
}
@media(prefers-reduced-motion:reduce){
  .materiel-note-track{animation:none}
}
.materiel-bottom{
  width:100%;
  margin:0 auto;
  background:#F3F2EF;
  border-radius:16px;
  display:flex;
  align-items:stretch;
  flex-wrap:nowrap;
  padding:0;
  gap:0;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
}
.materiel-bottom-item{
  flex:1;
  padding:14px 16px;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  border-right:1px solid rgba(0,0,0,.08);
}
.materiel-bottom-item:last-child{border-right:none}
.mb-icon{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:10px;
  background:#101014;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#E3FF15;
}
.mb-icon svg{
  width:20px;
  height:20px;
}
.mb-text{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.materiel-bottom-label{
  display:block;
  font-size:clamp(9px, .65vw, 11px);
  font-weight:600;
  color:rgba(0,0,0,.45);
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1;
}
.materiel-bottom-value{
  font-size:clamp(11px, .9vw, 13px);
  font-weight:700;
  color:#101014;
  line-height:1.2;
  display:block;
  white-space:nowrap;
}

/* ─── SECTION 4 : PROGRAMME ─────────────────── */
.programme{
  background:var(--jaune);
  min-height:0;
  padding:clamp(24px, 3vw, 40px) var(--section-space-x);
  display:flex;flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.programme .sec-title{
  font-size:clamp(18px, 2.4vw, 32px);
  font-weight:700;
  line-height:1.2;
  letter-spacing:0;
  max-width:100%;
  margin-bottom:clamp(10px, 1.4vw, 18px);
  color:var(--noir);
  text-align:center;
}
/* ─── SECTION 4 : PROGRAMME (LISTE) ─────────── */
.prog-list{
  width:min(100%, 680px);
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0 auto;
}
.prog-item{
  display:flex;
  align-items:center;
  gap:clamp(10px, 1.6vw, 16px);
  padding:clamp(10px, 1.2vw, 14px) clamp(12px, 1.8vw, 20px);
  border-radius:14px;
  transition:transform .22s ease, box-shadow .22s ease;
  cursor:pointer;
}
.prog-item:hover{
  transform:translateX(5px);
  box-shadow:0 6px 20px rgba(0,0,0,.14);
}
.prog-badge{
  font-family:var(--font-title);
  font-size:clamp(12px, 1.3vw, 17px);
  font-weight:700;
  width:clamp(32px, 3.8vw, 44px);
  height:clamp(32px, 3.8vw, 44px);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  line-height:1;
}
.prog-content{flex:1;min-width:0}
.prog-title{
  font-family:var(--font-title);
  font-size:clamp(13px, 1.2vw, 16px);
  font-weight:700;
  line-height:1.2;
  margin-bottom:1px;
}
.prog-sub{
  font-family:var(--font-body);
  font-size:clamp(10px, .8vw, 12px);
  font-weight:400;
  line-height:1.35;
  opacity:.82;
}
/* Alternance 2 couleurs : impairs = noir, pairs = jaune */
.prog-item--1,.prog-item--3,.prog-item--5{background:#101014}
.prog-item--1 .prog-badge,
.prog-item--3 .prog-badge,
.prog-item--5 .prog-badge{background:#E3FF15;color:#101014}
.prog-item--1 .prog-title,.prog-item--1 .prog-sub,
.prog-item--3 .prog-title,.prog-item--3 .prog-sub,
.prog-item--5 .prog-title,.prog-item--5 .prog-sub{color:#fff}

.prog-item--2,.prog-item--4{background:#E3FF15;border:2px solid #101014;box-shadow:4px 4px 0 #101014}
.prog-item--2 .prog-badge,
.prog-item--4 .prog-badge{background:#101014;color:#E3FF15}
.prog-item--2 .prog-title,.prog-item--2 .prog-sub,
.prog-item--4 .prog-title,.prog-item--4 .prog-sub{color:#101014}

.mat-card::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.08) 40%, rgba(255,255,255,.02) 100%);
  pointer-events:none;
}
.mat-card::after{
  content:"";
  position:absolute;
  width:56%;
  height:44%;
  top:-14%;
  left:-8%;
  background:radial-gradient(closest-side, rgba(255,255,255,.55), rgba(255,255,255,0));
  pointer-events:none;
}
.mat-card > *{
  position:relative;
  z-index:1;
}
.mat-card:hover{
  transform:translateY(-6px) scale(1.02);
  box-shadow:0 22px 44px rgba(0,0,0,.18);
}
.mat-card{
  cursor:pointer;
}

/* ─── FOCUS INTERACTIF CARTES MATÉRIEL ──────── */
.mat-cards.has-focus .mat-card{
  opacity:.28;
  filter:blur(3px) saturate(55%);
  transform:scale(0.965);
  transition:opacity .38s ease, filter .38s ease, transform .38s ease, box-shadow .25s ease;
}
.mat-cards.has-focus .mat-card.is-active{
  opacity:1;
  filter:none;
  transform:translateY(-7px) scale(1.035);
  border-color:rgba(10,10,10,.62);
  box-shadow:
    0 24px 48px rgba(0,0,0,.2),
    inset 0 1px 0 rgba(255,255,255,.58),
    inset 0 -1px 0 rgba(255,255,255,.24);
  transition:opacity .38s ease, filter .38s ease, transform .38s ease, box-shadow .38s ease;
}
.mat-cards.has-focus .mat-card:not(.is-active):hover{
  transform:scale(0.965);
  box-shadow:
    0 10px 24px rgba(0,0,0,.1),
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(255,255,255,.16);
}
@media(prefers-reduced-motion:reduce){
  .mat-cards.has-focus .mat-card,
  .mat-cards.has-focus .mat-card.is-active{
    filter:none;
    transition:none;
  }
}
/* styles mod-* retirés — programme converti en prog-list */

/* ─── SECTION 5 : FORMULAIRE ────────────────── */
.inscription{
  background:var(--violet);
  min-height:0;
  padding:clamp(24px, 3vw, 36px) 24px clamp(12px, 1.5vw, 20px);
  display:flex;flex-direction:column;
  align-items:center;justify-content:flex-start;
  scroll-margin-top:18px;
}
.inscription .sec-title{
  font-size:clamp(22px, 3.4vw, 48px);
  font-weight:700;
  line-height:1.2;
  letter-spacing:0;
  color:var(--jaune);
  text-align:center;
  max-width:100%;
  margin:0 auto clamp(10px, 1.2vw, 16px);
}
.inscription-direct{
  width:min(100%, 960px);
  margin:0 auto;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 32px rgba(0,0,0,.18);
}
.inscription-direct-iframe{
  width:100%;
  height:1350px;
  border:none;
  background:#fff;
  display:block;
  overflow:hidden;
}
.inscription-open-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  min-height:52px;
  padding:0 28px;
  border-radius:999px;
  border:none;
  background:#000;
  color:var(--jaune);
  font-family:var(--font-title);
  font-size:16px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
}
.inscription-open-btn.is-tap{
  transform:scale(.98);
}
.inscription-trust{
  margin:0 auto clamp(16px, 2vw, 24px);
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
}
.inscription-trust-item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.95);
  font-size:12px;
  line-height:1.3;
}

.inscription-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:block;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility 0s linear .28s;
}
.inscription-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .28s ease;
}
.inscription-modal-backdrop{
  position:absolute;
  inset:0;
  border:none;
  background:rgba(0,0,0,0.55);
  cursor:pointer;
  opacity:0;
  transition:opacity .28s ease;
}
.inscription-modal.is-open .inscription-modal-backdrop{
  opacity:1;
}
.inscription-modal-dialog{
  position:relative;
  width:100vw;
  height:100dvh;
  background:var(--violet);
  display:grid;
  grid-template-rows:auto 1fr;
  transform:translateY(14px) scale(.986);
  opacity:0;
  transition:transform .3s cubic-bezier(.22,.61,.36,1), opacity .25s ease;
}
.inscription-modal-dialog::after{
  content:"Chargement du formulaire...";
  position:absolute;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(227,255,21,.34);
  color:var(--jaune);
  background:rgba(10,10,10,.42);
  font-family:var(--font-body);
  font-size:12px;
  letter-spacing:.02em;
  opacity:1;
  transition:opacity .24s ease;
  pointer-events:none;
}
.inscription-modal.is-loaded .inscription-modal-dialog::after{
  opacity:0;
}
.inscription-modal.is-open .inscription-modal-dialog{
  transform:none;
  opacity:1;
}
.inscription-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,0.2);
}
.inscription-modal-title{
  margin:0;
  color:var(--jaune);
  font-family:var(--font-title);
  font-size:clamp(20px, 4vw, 32px);
  line-height:1.2;
}
.inscription-modal-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  min-height:38px;
  border:none;
  border-radius:999px;
  padding:0 14px;
  background:#000;
  color:var(--jaune);
  font-family:var(--font-title);
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}
.inscription-modal-iframe{
  width:100%;
  height:100%;
  border:none;
  background:#fff;
}
body.modal-open{
  overflow:hidden;
}

/* ─── SECTION 6 : CTA + FOOTER ──────────────── */
.cta-section{
  background:#E3FF15;
  padding:0;
  display:flex;flex-direction:column;
  justify-content:space-between;
  min-height:0;
}
.cta-main{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;
  padding:clamp(40px, 5vw, 64px) clamp(20px, 4vw, 40px);
  flex:1;
}
.cta-title{
  font-size:clamp(26px, 4.2vw, 58px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:0;
  color:#101014;
  max-width:100%;
  margin-bottom:clamp(10px, 1.5vw, 18px);
  display:flex;
  flex-direction:column;
  align-items:center;
}
.cta-line{
  display:block;
  white-space:normal;
}
.cta-sub{
  font-size:clamp(13px, 1.1vw, 17px);
  font-weight:400;
  color:rgba(10,10,20,.68);
  margin-bottom:clamp(18px, 2.5vw, 28px);
  max-width:600px;
  line-height:1.5;
  text-align:center;
}
.btn-cta{
  display:inline-flex;align-items:center;
  justify-content:center;
  width:auto;
  min-width:180px;
  min-height:52px;
  background:#101014;color:#E3FF15;
  font-family:var(--font-title);
  font-size:clamp(14px, 1.2vw, 18px);
  font-weight:700;
  padding:0 32px;
  border-radius:999px;
  border:none;cursor:pointer;
  letter-spacing:0;line-height:1.2;
  max-width:90%;
  box-shadow:0 6px 24px rgba(0,0,0,.15);
}

/* --- SECTION : COMPTE A REBOURS --- */
.countdown-section{
  background:#fff;
  padding:clamp(16px, 2vw, 28px) var(--section-space-x);
  display:flex;
  justify-content:center;
}
.countdown-shell{
  width:min(660px, 100%);
  border:1px solid rgba(10,10,10,.1);
  border-radius:16px;
  padding:16px 18px 14px;
  text-align:center;
  background:transparent;
  box-shadow:none;
}
.countdown-eyebrow{
  font-family:var(--font-title);
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(10,10,10,.5);
  margin-bottom:4px;
}
.countdown-title{
  font-size:clamp(13px, 1.6vw, 20px);
  font-weight:700;
  line-height:1.2;
  color:var(--noir);
  margin-bottom:10px;
}
.countdown-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:6px;
}
.countdown-item{
  border:1.5px solid rgba(10,10,10,.08);
  border-radius:12px;
  background:#f5f5f5;
  min-height:70px;
  padding:8px 6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.countdown-item:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(0,0,0,.12);
}
.countdown-value{
  font-family:var(--font-title);
  font-size:clamp(20px, 2.4vw, 32px);
  font-weight:700;
  line-height:1;
  color:var(--noir);
}
.countdown-label{
  font-size:clamp(8px, .65vw, 10px);
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(10,10,10,.7);
}
.countdown-note{
  margin-top:6px;
  font-size:clamp(10px, .8vw, 12px);
  color:rgba(10,10,10,.72);
  line-height:1.35;
}
.countdown-availability{
  margin-top:4px;
  font-size:clamp(10px, .8vw, 12px);
  line-height:1.35;
  color:rgba(10,10,10,.82);
}
.countdown-availability strong{
  font-family:var(--font-title);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 2px;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(10,10,10,.12);
  color:var(--noir);
  font-weight:700;
}
.countdown-availability.is-low strong{
  background:rgba(101,47,234,.18);
}
/* Couleurs supprimées — toutes les cases sont neutres */
.countdown-grid.is-ended .countdown-item{
  opacity:.82;
}
.countdown-value.is-tick{
  animation:countdownTick .28s ease-out;
}
@keyframes countdownTick{
  0%{transform:translateY(0) scale(1)}
  35%{transform:translateY(-1px) scale(1.09)}
  100%{transform:translateY(0) scale(1)}
}
@media (prefers-reduced-motion: reduce){
  .btn-hero,
  .btn-cta,
  .inscription-open-btn,
  .inscription-modal-close,
  .mat-card,
  .prog-item,
  .countdown-item,
  .hero-bg,
  .hero-mobile-image,
  .inscription-modal,
  .inscription-modal-backdrop,
  .inscription-modal-dialog{
    transition:none;
    animation:none;
  }
  body::before{display:none}
  body.reveal-ready .reveal-on-scroll{
    opacity:1;
    transform:none;
    filter:none;
  }
  .countdown-value.is-tick{
    animation:none;
  }
}

/* footer */
.footer{
  background:#101014;
  padding:0;
  display:flex;
  flex-direction:column;
  position:relative;
}
.footer::before{ display:none; }
.ft-logo{
  display:flex;
  align-items:center;
  width:clamp(60px, 6vw, 90px);
  height:auto;
  flex-shrink:0;
  margin-left:0;
  background-color:#E3FF15;
  -webkit-mask:url('data:image/png;base64,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') no-repeat left center / contain;
  mask:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMYAAAA6CAYAAADryyY/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAC8RJREFUeAHtnf9147gRx7+7L/9H6WCugvNVEKSCOBUIqcC+CsRUYF0F4lVgpwJqK5CvAioVeDvYCBa5hsABMABByrfm5z08S+QAM/gx+EnKwMKCHDqFb05QAXnFyBOub1eUv2DhPUI4VyxZ115O4Y9TeD6Fr1iYlMUx3hf6FNaI93ZPp/DbKeyxMAmfsfAeuDmF9hR2kE0Bbk+h6eQJC8VZHOP6mBHCNHJCOnpE3IUApaZS6hR+xrnnM2FlBcOxC2ZuvD+FLzjPlT86pqxqzz1TVmbK9L/ue1++5MiZ78Y5fsGy9ngXqFPY4rwo/JYR+qkDYR6IseEe14NwLgOuXFQgngZf5o+YHsIH2ZXKQeHcQ30rGBpMn5Hao/da1OCdggRxCbxTKUwLJepU+ACOQSjvEG7YYboRpPXoVJgfQr5T9CiUc/SVUI4wr2NMZVcx7pA/ZUoNpoGsURYd0LfF/GjGjpw8b5HXIIzMDsPO4oDwzhh59Jm1T+OEG6Q7hipo14GxqQ+m3G4xkgfM4xBu2KAch4Ae4/DSnqkUDYadQQ6EYX6qgLyCf+TkOigS6FPgHcB3nUbadRDaJc3jBomYxtJkKiwVdhjPjUBPhflYoWw+GyetxiO3QV7DubHSIJR3jFy7KGJXSjDOJu4cDyOVvRfnqAU6DpgPxej/J/Jxp1MvjMwd8su/xVujIZR1jCntSg0NBORMn0yFmErSuNxvp+67mdPVkA+ZdtggD0rQoTAPqrDueyY9GwK/PjT1cNfdp86GGnzZVFZapRyDPLoOhey6s2yww20gveD2faoXN0ivWAVZT26HnMWSRlo+5kDD31imSK9m7teB9Ewn5jpSPwoRyjlGzdwLbYTcgnfukF3IzOcAgrwhtRjX0xluIR9BXpDegKRp92GORbjG9I5h58Mtg1aQZgXeRkI5x3iZwa6c9F7juc9KPUDGHudHEPYYx1OXzpNA1lS21D6DRnqDm+Mk/Mhc+xn5EHOtfzSEe4SkQhyu5x5jo4vCsBOqEIezi5APl97rZoPtGBqy6crvp/APlHsux6Tzr1P4j0DW2KcgY4107jA9R+baT5DBjWhug322PhMj/wfimDo5Otf+hnJw+fgv4nB2EfLh0nstT9sxNoizx9mBpqDC2eliSOwkhB3I9wDjCtMvwo8YVoZkV4pwXge5o5pyvtt5W3n0XxvOrlIdbRF6x1CIe97xFP6NablHvOIU4o23Ctw74jzi+ZA43ljc3lEhnCczkpndGjPMP1iyGsNGtrc+c41Nuo6aY71lQ0I5qV1/Fcq56b0+zdw7hkacCtP3NqYiJc4XmvIRwj3wHm+Pv3MoXB5qTQG3pvI5pMmrmQvbFbjDOZ9unCMunY4bGTXiEKZ1DM4uyTS+f6XBhesAfkEcxaR3cabl7ly4ocG81IjvUPnQkbjUyamATIXpaRi9mwRZLuyYuNyWZKzR10zaGtPvSuXaZTgUyif1NxXiBa4wLwr5NrWBOG5P7Tvdn+P5KeXRvWFkCfHOqwU/HakY2QP8U5e1J32Nso6xLWhXTj43iHQs94gX+DVoELbrnomjInHcKdZ9YvqlqeAv8/7klvA2bQrlzTcVMQ7uO/neWDpCJ8JTOAYhfCKfYlcsn316N3h7HfhbwLZXHhEu8B2uQ4V0u0J5aRl5X2Ga0GAeaoTzKQlVREes85MEjfLPSpWyq0ePSKey0nldfMemDE+4DvvIfXeBTAgv4Crmmlm0+baIFeaZQmrIznBCxHZgtgV0TEFpu+rM9Eycyr3YIuxJuTs0hHGL2BXCdrkjQB2RJ48eFYizxXyYco7VRShIdnWUUAcnozHd+xh6pF0uBNnT4S08nd+nTiCEOfHMOXzp991r5J9/xGz7ZH02mSSPXB2xoQFfQCbfP2HewyeFcyM3J7DUha9deMZ5JDV1snHimftmi/KIdB19/C84zxD2GE5Vf+/0u4/l/NbF3Qiv/wp/eapMu/aC9FZd6MsxFO+VmFfl4D62vkEesV6kRyNvtOgJzXUrvE+MM9t2mrWSZNRYEFLaMTaedHKcQ2pbG5BpBHpCi/A5X2JKwdjc5zu0LTk1FS6nJj8MsR85IHlS7DPzY5xD4hgqIrOGjCqQhsJ06E63HZQwrpGbcx3EUeEHdYxQb5vaKCQLnlTniFEHdKVUFGHcqJNLO7O+0lT4QR0jdo6RctBFkO0ulHIOQjnbDU0grSlOwm88uq7xyyW5VPgBHcOcY3yJyEgeie454vzk6jEiV6GMc8QWm6lnMKE98ClOwpX1+Wh9Nk6Ru02+UAiFeA+f2nsR5hk5Qjp2yMO35npBeRpcroVs3ddeO0ip8INOpUI7Mn2okA5hWufQKLc2sqkmSJPDPcAkXE5rpY1shbcXs3yPZXPypaZqFeQ2E2Tv/risInFi97OpEW5kOT9EAEzrHE0gvTFbrKET9wblsHfwenvd8xQKxFfwl8ELLp3Y5MmUsVsX5vsO8bpVOI9ghy6OHV4QdgzV2ck9/h7TrcH/oNy6u8/lqWHStO31LQ1uHbnvxscab26jIJR3DoqktcY4mkDapeb+NYbTPtcpfeuaB4Tz31qypixiMwJfmRHSfo2ydeJvBHFePLpjcWM7oMpKy76uwaMdue+0KNt4bahw+jXklZODCqRfau5vl4eyrtsV3jDxNuAbV2ul2acXO1cKNSZC+rNbrdDOmG6dqNfncP10cZRjSI1ZIw9CGeegSPwdyjDlS0zuNq3NNqCLMGyIyqODMCzvCuFf+Gus+Ny9Wyt+H7YYOkbMzhWGazlbd+OJq8G/+deP4u5UtB9xRzmGa9CYxuuDMN45dCQuoQxTvsRkp9049xT8PWkNeV41ZA1i68j1C3j72mNAT4WhY9RCO90yVt11+9o6oK+316ax7j0x6WnwaAQcQ0HmGCbscJ0FeRuxqRRTvsRkV16FYS/s27a1R7FYXrkGwuE6gcZwCkaB+BWGjmHb+QL//6lwR2XjKO5o6jZ8jUAD9tjj5o8jli77Lq4vGMVrpEOQOYebdmzOrFCW7QS6QrtevjLusR0mNmq1mbIalz157PymYmyVLPZ9HZtC2Ck1ZnCMz4yAKZQ9ZBDefsG8z5Rk/n2E7IS8xqVz3CGc5h5lCfW0sVN3HwppEMI/wykhRdawGhHXjf+n5LPnuvnJzCPkEN72nPudh3649G1vHpHmHIRwo6pQnj38zmZsymkAOQ7Vx7Ebacq2cUiWOxw7Wp8J4Xxy947W5xrnl70k4VdMg8S5xXVJGPeqpXTKYSpNMvSG9q2nfOgutAivkI5dpqHn0Oz89iOXu2NFgfhS2TsMpxrkXHuALD/91KWGrG4I54V9g7efH1UoP5WybfRtJDxG0h0YLnmUfIxjGKTO4Qs7TEdoEd6mJTVYWIac2W3YBsXoJ098TvaGkXHzprt7jXN94+gytj+ALw8lsJMw7HgJ0ziGu1Z011wbDOtWRMqCPMcxDGOcgzAtFcbnz6CteE1EVnn0cHVxwNsujynDG4FsCz4/uovrq48G/CMedkM0PHriPoLvbLeefBMu0Uh3DOWxNVQOYjTyplYKcnKco8H0UCH9jRWvEshz27YrxM+bGks29r6NzzGA9BPo1oprdEtnG7UVT6G8Y7jXJSGJ/sSyTVCgkEaqc6wxD03ABun6JrVc7EbtPhipEa6HG6Gsmy/t6CH4H8F5wWXjbzFEB3Sb+O60RmEaxwjZYvJwMbp+Qh7UZWCD+DTG7DztkYapVFNhsQZ3hPyfroxFwT86mBecKsQh6/NRIL/CZRkcGZkbXO4cPXdyXyOy5v6++6ssmWf4/31AH7+Xe8bldvJX+P/3CGfnc0BPz965T7gsx9B9nz22Lb0dGtZaNdcxXCV/x3lLsX+cwCbHMQyEeK/qK9yp0J7rpgKesPBnpsbb7OO5hGO49Pvids8g2UdeWLgWhMv3OGosLHxwFIabBAoLCx8IM91vwb992IcdFhY+GBrhHc7vGz6fsbCwsMfZacxG0et6eIrF98LCe4Uw3DL/CmZz6P8teLpR+AmImAAAAABJRU5ErkJggg==') no-repeat left center / contain;
}
.ft-logo-img{display:block;width:100%;height:auto;object-fit:contain;opacity:0}
.ft-logo > a{display:block;line-height:0}
.ft-logo-texts{display:none}
.ft-brand{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  flex:1 1 auto;
}
.ft-brand-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  max-width:none;
  flex:1 1 auto;
}
.ft-kicker{
  font-family:var(--font-title);
  font-size:clamp(12px, .95vw, 16px);
  letter-spacing:.01em;
  color:#E3FF15;
  line-height:1.15;
}
.ft-copy{
  font-size:clamp(11px, .78vw, 13px);
  line-height:1.2;
  color:rgba(255,255,255,.72);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.footer-top{
  position:relative;
  z-index:1;
  width:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:8px clamp(16px, 2.5vw, 32px);
  border-bottom:none;
  background:transparent;
}
.ft-contact{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-self:end;
  gap:10px;
  flex:0 0 auto;
}
.ft-contact-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(16,16,20,.56);
  white-space:nowrap;
}
.ft-contact-label::before{
  content:"";
  width:20px;
  height:1px;
  border-radius:999px;
  background:#101014;
}
.ft-links{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
}
.ft-link{
  display:inline-flex;
  align-items:center;
  font-size:clamp(11px, .78vw, 13px);
  line-height:1.2;
  white-space:nowrap;
  color:#E3FF15;
  background:none;
  border:none;
  padding:0;
  border-radius:0;
  box-shadow:none;
  text-decoration:none;
  transition:opacity .2s ease;
}
.ft-link--sky,
.ft-link--coral,
.ft-link--lime{
  color:#E3FF15;
  background:none;
  border:none;
}
.ft-link:hover,
.ft-link:focus-visible,
.ft-link--sky:hover,
.ft-link--sky:focus-visible,
.ft-link--coral:hover,
.ft-link--coral:focus-visible,
.ft-link--lime:hover,
.ft-link--lime:focus-visible{
  opacity:.7;
  transform:none;
  box-shadow:none;
  background:none;
  color:#E3FF15;
  border:none;
  text-decoration:underline;
}
.footer-legal{
  position:relative;
  z-index:1;
  width:100%;
  margin:0;
  padding:6px clamp(16px, 2.5vw, 32px);
  text-align:center;
  font-size:clamp(9px, .7vw, 11px);
  color:#E3FF15;
  line-height:1.4;
  background:#101014;
}

/* ─── RESPONSIVE ─────────────────────────────── */

/* Tablettes larges / petits desktops */
@media(max-width:1280px){
  .hero-overlay{min-height:clamp(420px, 66vh, 560px)}
  .hero-body{padding:clamp(56px, 6vw, 74px) 5% clamp(28px, 4vw, 36px);column-gap:clamp(20px, 3vw, 44px);grid-template-columns:min(500px, 48%) 1fr}
  .hero-title{font-size:clamp(28px, 4.6vw, 60px)}
  .resume{padding:64px 40px 82px}
  .resume-copy{max-width:680px}
}

/* Tablettes larges / petits desktops */
@media(max-width:1200px){
  .materiel{padding:72px 40px 64px}
  .programme{padding:36px 40px 44px}
  .countdown-section{padding:clamp(28px,3.5vw,48px) 40px}
  .footer-top{padding:12px 20px 8px}
  .footer-legal{padding:8px 20px 10px}
}

@media(max-width:1184px){
  .hero-body{padding:56px 5% 30px;column-gap:clamp(18px, 2.5vw, 34px);grid-template-columns:min(420px, 46%) 1fr}
  .hero-title{font-size:clamp(26px, 4.6vw, 50px)}
  .hero-sub{font-size:clamp(14px, 1.7vw, 25px)}
  .resume{padding:60px 32px 74px}
  .resume-copy{max-width:100%}
  .resume-text{max-width:100%}
  .resume-media{
    justify-self:center;
    width:min(100%, 310px);
  }
}


/* Tablettes portrait */
@media(max-width:900px){
  .hero-overlay{min-height:clamp(400px, 64vh, 540px)}
  .hero-body{padding:52px 5% 26px;column-gap:clamp(16px, 2vw, 24px);grid-template-columns:min(320px, 44%) 1fr}
  .hero-title{font-size:clamp(24px, 4.6vw, 44px)}
  .hero-sub{font-size:clamp(14px, 1.7vw, 25px);max-width:100%}
  .resume{padding:56px 24px 64px}
  .resume-media{
    width:min(100%, 270px);
  }
  .materiel{padding:64px 32px 56px}
  .mat-cards{grid-template-columns:repeat(2,1fr)}
  .mat-card{min-height:190px;border-radius:18px}
  .materiel-bottom{flex-wrap:wrap}
  .materiel-bottom-item{
    min-width:50%;
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.08);
    gap:10px;
  }
  .materiel-bottom-item:nth-child(odd){border-right:1px solid rgba(0,0,0,.08)}
  .materiel-bottom-item:nth-child(3),
  .materiel-bottom-item:nth-child(4){border-bottom:none}
  .mb-icon{width:36px;height:36px;min-width:36px;border-radius:8px}
  .mb-icon svg{width:18px;height:18px}
  .materiel-bottom-value{white-space:normal}
  .programme{padding:32px 32px 40px}
  .countdown-section{padding:28px 32px 36px}
  .countdown-shell{
    border-radius:16px;
    padding:16px 18px 14px;
  }
  .countdown-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }
  .countdown-item{
    min-height:78px;
    border-radius:12px;
  }
  .inscription{padding:24px 20px 20px}
  .inscription-direct-iframe{height:1300px}
  .cta-main{padding:72px 32px 56px}
  .footer-top{
    grid-template-columns:1fr;
    align-items:flex-start;
    padding:18px 24px 12px;
  }
  .ft-contact{
    justify-self:start;
    align-items:flex-start;
  }
  .ft-links{justify-content:flex-start}
}

/* Grands téléphones */
@media(max-width:700px){
  .mobile-sticky-cta{display:inline-flex}
  .hero-overlay{min-height:0}
  .hero-body{display:flex;flex-direction:column;align-items:center}
  .hero-cta{
    grid-area:unset;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:8px;
    width:100%;
    position:relative;
    z-index:4;
  }
  .hero-cta .btn-hero{
    margin-top:8px;
  }
  .hero-price{align-self:center}
  .hero-price-amount{font-size:clamp(24px, 7vw, 34px);letter-spacing:-0.01em}
  .hero-price-currency{font-size:clamp(11px, 3vw, 14px)}
  .hero-overlay::before{display:none}
  .hero-nav{
    padding:14px 18px 0;
    width:100%;
    margin:0;
  }
  .hero-body{
    flex-direction:column;
    align-items:center;
    padding:10px 18px 28px;
    gap:16px;
  }
  .hero-left{
    width:100%;
    max-width:100%;
    flex:unset;
    gap:8px;
    align-items:center;
    align-self:auto;
    text-align:center;
    position:relative;
    z-index:3;
  }
  .hero-event-meta{
    justify-content:center;
  }
  .hero-title{
    font-size:clamp(24px, 7.5vw, 36px);
    line-height:1.08;
    text-align:center;
  }
  .hero-line{white-space:normal}
  .hero-sub{
    font-size:clamp(14px, 4vw, 18px);
    line-height:1.35;
    max-width:34ch;
    margin-top:6px;
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .hero-sub-line:first-child,.hero-sub-line:last-child{white-space:normal}
  .hero-photos{
    flex-direction:row;
    width:100%;
    max-width:340px;
    padding:6px 0 0;
    gap:10px;
    margin-top:6px;
  }
  .hero-photo-wrap{
    flex:1;
    flex-direction:column;
  }
  .hero-photo-wrap-2{
    flex-direction:column;
  }
  .hero-photo-item{
    position:relative;
    width:100%;
    transform:none;
    border-radius:50%;
    box-shadow:0 0 0 3px #101014;
  }
  .hero-photo-1{
    aspect-ratio:1/1;
  }
  .hero-photo-2{
    aspect-ratio:1/1;
  }
  .hero-photo-name{
    font-size:9px;
    padding:3px 8px;
  }
  .hero-photo-item img{
    padding:0;
  }
  .btn-hero{
    margin-top:8px;
    min-width:180px;
    min-height:46px;
    padding:0 26px;
    font-size:14px;
    max-width:100%;
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    z-index:4;
  }
  .hero-note{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    z-index:4;
  }
  .resume{padding:40px 18px 44px}
  .resume-inner{
    grid-template-columns:1fr;
    gap:14px;
  }
  .resume-title{
    margin-bottom:14px;
    font-size:clamp(30px, 8vw, 42px);
  }
  .resume-text{line-height:1.4;font-size:clamp(14px, 4vw, 17px)}
  .resume-media{display:none}
  .materiel{padding:40px 16px 36px}
  .mat-cards{
    grid-template-columns:1fr;
    max-width:480px;
    gap:8px;
    margin:0 auto;
  }
  .mat-card{
    padding:14px 16px;
    grid-template-columns:44px 1fr;
    column-gap:14px;
    min-height:0;
    border-radius:12px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
  }
  .mat-icon{
    width:44px;
    height:44px;
    min-height:44px;
    border-radius:10px;
  }
  .mat-card-title{
    font-size:14px;
    line-height:1.2;
  }
  .mat-card-desc{
    font-size:12px;
    line-height:1.4;
  }
  .materiel-note{
    margin:22px auto 16px;
    font-size:clamp(12px, 2.8vw, 14px);
    line-height:1.28;
  }
  .materiel-bottom{flex-wrap:nowrap;flex-direction:column;border-radius:14px}
  .materiel-bottom-item{
    min-width:100%;
    border-right:none;
    border-bottom:1px solid rgba(0,0,0,.08);
    padding:12px 16px;
    gap:10px;
  }
  .materiel-bottom-item:last-child{border-bottom:none}
  .mb-icon{width:34px;height:34px;min-width:34px;border-radius:8px}
  .mb-icon svg{width:17px;height:17px}
  .materiel-bottom-value{
    font-size:clamp(12px, 2.8vw, 14px);
    white-space:normal;
  }
  .programme{padding:28px 20px 34px}
  .programme .sec-title{
    margin-bottom:12px;
    font-size:clamp(20px, 6vw, 28px);
  }
  .prog-list{gap:7px}
  .prog-item{
    padding:11px 14px;
    border-radius:14px;
  }
  .prog-badge{
    width:36px;
    height:36px;
    font-size:14px;
  }
  .prog-title{font-size:clamp(13px, 3.8vw, 16px)}
  .prog-sub{font-size:clamp(11px, 3vw, 13px)}
  .countdown-section{padding:18px 18px 22px}
  .countdown-shell{
    border-radius:14px;
    padding:10px 9px 9px;
  }
  .countdown-eyebrow{font-size:9px;margin-bottom:3px}
  .countdown-title{
    margin-bottom:7px;
    font-size:clamp(12px, 4.3vw, 17px);
  }
  .countdown-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:4px;
  }
  .countdown-item{
    min-height:54px;
    border-radius:9px;
    padding:5px 4px;
    gap:2px;
  }
  .countdown-value{font-size:clamp(15px, 4.6vw, 20px)}
  .countdown-label{font-size:8px;letter-spacing:.03em}
  .countdown-note{
    margin-top:5px;
    font-size:9px;
    line-height:1.22;
  }
  .countdown-availability{
    margin-top:4px;
    font-size:9px;
    line-height:1.22;
  }
  .countdown-availability strong{
    padding:2px 6px;
  }
  .inscription{
    padding:18px 12px 16px;
    gap:0;
  }
  .inscription .sec-title{margin-bottom:12px}
  .inscription-direct-iframe{height:1350px}
  .inscription-trust{gap:8px}
  .inscription-trust-item{font-size:11px;padding:5px 10px}
  .inscription-modal-close{
    min-width:84px;
    min-height:34px;
    font-size:13px;
  }
  .cta-main{
    padding:40px 20px 34px;
  }
  .cta-title{
    margin-bottom:12px;
    font-size:clamp(24px, 7vw, 40px);
  }
  .cta-sub{
    margin-bottom:20px;
    font-size:clamp(13px, 3vw, 16px);
  }
  .btn-cta{
    min-height:52px;
    min-width:180px;
    padding:0 28px;
    font-size:15px;
  }
  .ft-brand{
    flex-direction:row;
    align-items:center;
    gap:8px;
    flex:0 1 auto;
    min-width:0;
  }
  .footer-top{
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:10px 12px 8px;
  }
  .ft-logo{
    width:52px;
    margin-left:-8px;
  }
  .ft-brand-copy{
    gap:0;
    min-width:0;
  }
  .ft-kicker{display:none}
  .ft-copy{display:none}
  .ft-contact{
    justify-self:auto;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
  }
  .ft-contact-label{display:none}
  .ft-links{
    width:auto;
    gap:4px;
    justify-content:flex-end;
    flex-wrap:nowrap;
  }
  .ft-link{
    width:auto;
    min-height:26px;
    justify-content:center;
    padding:0 8px;
    font-size:10px;
    border-radius:999px;
  }
}

/* Téléphones standard */
@media(max-width:480px){
  .mobile-sticky-cta{
    min-height:42px;
    padding:0 16px;
    font-size:13px;
    bottom:calc(10px + env(safe-area-inset-bottom, 0px));
  }
  .hero-nav{padding:12px 14px 0;width:100%;margin:0}
  .hero-body{padding:8px 14px 24px;gap:14px}
  .hero-price-amount{font-size:clamp(22px, 8vw, 30px)}
  .hero-photos{
    max-width:300px;
    gap:10px;
  }
  .hero-photo-2{margin-top:0}
  .hero-title{font-size:clamp(22px, 8.4vw, 32px)}
  .hero-sub{font-size:clamp(13px, 3.8vw, 17px);line-height:1.34;max-width:100%}
  .btn-hero{
    height:auto;
    min-height:46px;
    min-width:182px;
    padding:0 18px;
    margin-top:4px;
    line-height:1.2;
    font-size:14px;
    border-radius:999px;
  }
  .resume{padding:34px 14px 38px}
  .resume-title{
    margin-bottom:12px;
    font-size:clamp(28px, 8.5vw, 36px);
  }
  .resume-text{line-height:1.3;font-size:clamp(13px, 3.8vw, 16px)}
  .materiel{padding:36px 14px 32px}
  .mat-cards{
    max-width:100%;
    grid-template-columns:1fr;
    gap:7px;
  }
  .mat-card{
    padding:12px 14px;
    grid-template-columns:40px 1fr;
    column-gap:12px;
    min-height:0;
    border-radius:11px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
  }
  .mat-icon{
    width:40px;
    height:40px;
    min-height:40px;
    border-radius:9px;
  }
  .mat-card-title{
    font-size:13px;
    line-height:1.2;
  }
  .mat-card-desc{
    font-size:11.5px;
    line-height:1.4;
  }
  .materiel-note{
    margin:16px auto 12px;
    font-size:12px;
    line-height:1.24;
  }
  .materiel-bottom{border-radius:14px}
  .materiel-bottom-item{padding:10px 12px}
  .materiel-bottom-value{
    font-size:12px;
    line-height:1.2;
  }
  .programme{padding:24px 16px 30px}
  .programme .sec-title{
    margin-bottom:10px;
    font-size:clamp(18px, 7.5vw, 26px);
  }
  .prog-list{gap:6px}
  .prog-item{padding:10px 12px;border-radius:12px}
  .prog-badge{width:32px;height:32px;font-size:13px}
  .prog-title{font-size:clamp(12px, 3.5vw, 15px)}
  .prog-sub{font-size:clamp(10px, 2.8vw, 12px)}
  .countdown-section{padding:14px 14px 18px}
  .countdown-shell{
    border-radius:12px;
    padding:9px 7px 7px;
  }
  .countdown-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:4px;
  }
  .countdown-item{
    min-height:48px;
    border-radius:8px;
    padding:4px 3px;
    gap:2px;
  }
  .countdown-value{font-size:clamp(13px, 5vw, 18px)}
  .countdown-label{font-size:7px;letter-spacing:.02em}
  .countdown-note{
    margin-top:5px;
    font-size:8px;
    line-height:1.2;
  }
  .countdown-availability{
    margin-top:4px;
    font-size:8px;
    line-height:1.2;
  }
  .countdown-availability strong{padding:2px 5px}
  .inscription{padding:14px 10px 12px}
  .inscription-direct-iframe{height:1400px}
  .inscription-trust{gap:6px}
  .inscription-trust-item{font-size:10px;padding:5px 9px}
  .inscription-modal-title{font-size:clamp(18px, 5.5vw, 24px)}
  .cta-main{padding:34px 16px 28px}
  .cta-title{
    margin-bottom:10px;
    font-size:clamp(22px, 8vw, 34px);
  }
  .cta-sub{
    margin-bottom:16px;
    font-size:13px;
  }
  .btn-cta{
    min-height:48px;
    min-width:170px;
    padding:0 22px;
    font-size:14px;
  }
  .footer-top{
    gap:6px;
    padding:9px 10px 8px;
  }
  .ft-logo{
    width:46px;
    margin-left:-6px;
  }
  .ft-link{
    min-height:24px;
    padding:0 7px;
    font-size:9px;
  }
  .footer-legal{padding:14px 16px 18px}
}

/* Tr�s petits t�l�phones */
@media(max-width:360px){
  .mobile-sticky-cta{
    min-height:40px;
    padding:0 14px;
    font-size:12px;
  }
  .hero-nav{padding:10px 12px 0;width:100%;margin:0}
  .hero-body{padding:6px 12px 20px;gap:14px}
  .hero-photos{
    max-width:264px;
    gap:8px;
  }
  .hero-photo-2{margin-top:0}
  .hero-title{font-size:clamp(16px, 7.5vw, 26px)}
  .hero-sub{
    font-size:clamp(12px, 3.5vw, 15px);
    line-height:1.3;
    max-width:100%;
  }
  .resume{padding:28px 12px 32px}
  .resume-title{
    margin-bottom:10px;
    font-size:clamp(24px, 8.5vw, 32px);
  }
  .materiel{padding:32px 12px 28px}
  .mat-cards{
    grid-template-columns:1fr;
    gap:6px;
  }
  .mat-card{
    padding:11px 13px;
    grid-template-columns:38px 1fr;
    column-gap:11px;
    min-height:0;
    border-radius:10px;
  }
  .mat-icon{
    width:38px;
    height:38px;
    min-height:38px;
    border-radius:8px;
  }
  .mat-card-title{font-size:12.5px;line-height:1.2}
  .mat-card-desc{
    font-size:11px;
    line-height:1.4;
  }
  .materiel-note{
    margin:12px auto 10px;
    font-size:11px;
    line-height:1.2;
  }
  .materiel-bottom{border-radius:12px}
  .materiel-bottom-item{padding:8px 10px}
  .materiel-bottom-value{
    font-size:11px;
    line-height:1.18;
  }
  .programme{padding:20px 12px 26px}
  .programme .sec-title{
    margin-bottom:10px;
    font-size:clamp(16px, 7.5vw, 22px);
  }
  .prog-item{
    padding:8px 10px;
    border-radius:10px;
    gap:8px;
  }
  .prog-badge{
    width:28px;
    height:28px;
    font-size:12px;
  }
  .prog-title{font-size:clamp(11px,3.5vw,14px)}
  .prog-sub{font-size:clamp(10px,2.8vw,12px)}
  .countdown-section{padding:12px 10px 14px}
  .countdown-shell{
    border-radius:10px;
    padding:8px 6px 6px;
  }
  .countdown-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:3px;
  }
  .countdown-item{
    min-height:44px;
    border-radius:7px;
    padding:4px 2px;
  }
  .countdown-value{font-size:clamp(12px, 5.1vw, 16px)}
  .countdown-label{
    font-size:6.5px;
    letter-spacing:.01em;
  }
  .countdown-note{
    margin-top:5px;
    font-size:7.5px;
    line-height:1.2;
  }
  .countdown-availability{
    margin-top:4px;
    font-size:7.5px;
    line-height:1.18;
  }
  .countdown-availability strong{padding:1px 5px}
  .inscription-direct-iframe{height:1450px}
  .inscription-trust-item{font-size:9.5px;padding:4px 8px}
  .inscription-modal-title{font-size:18px}
  .btn-hero{
    min-width:160px;
    min-height:42px;
    padding:0 14px;
    margin-top:4px;
    font-size:12.5px;
  }
  .cta-main{padding:30px 14px 24px}
  .cta-title{
    margin-bottom:8px;
    font-size:clamp(20px, 8.2vw, 30px);
  }
  .cta-sub{
    margin-bottom:14px;
    font-size:12.5px;
  }
  .btn-cta{
    min-height:44px;
    min-width:160px;
    padding:0 18px;
    font-size:13px;
  }
  .footer-top{
    gap:5px;
    padding:8px 8px 7px;
  }
  .ft-logo{
    width:42px;
    margin-left:-4px;
  }
  .ft-link{
    min-height:23px;
    padding:0 6px;
    font-size:8.5px;
  }
}

@media(max-width:1264px) and (min-width:701px){
  .hero-body{
    padding-top:24px;
    padding-bottom:30px;
    padding-right:5%;
    grid-template-columns:min(420px, 48%) 1fr;
  }
  .hero-title{
    font-size:clamp(26px, 4.1vw, 48px);
    line-height:1.03;
  }
  .hero-sub{
    font-size: clamp(14px, 1.7vw, 25px);
    line-height:1.35;
    margin-top:6px;
    max-width:34ch;
  }
  .hero-line:last-child{
    max-width:none;
  }
  .hero-sub-line{
    display:block;
  }
}

@media(max-width:1264px) and (min-width:701px){
  .btn-hero{
    font-size:clamp(14px, 1.5vw, 18px);
    min-height:50px;
    padding:0 24px;
    border-radius:999px;
    margin-top:12px;
  }
}

@media(max-width:900px) and (min-width:701px){
  .hero-sub-line{white-space:nowrap}
  .hero-body{
    padding-top:20px;
    padding-bottom:26px;
    padding-right:5%;
    grid-template-columns:min(360px, 46%) 1fr;
  }
  .hero-title{
    font-size:clamp(24px, 3.8vw, 36px);
  }
  .hero-line:last-child{
    max-width:none;
  }
  .hero-sub{
    font-size: clamp(14px, 1.7vw, 25px);
    line-height:1.32;
    max-width:32ch;
  }
  .btn-hero{
    min-height:48px;
    padding:0 22px;
    font-size:14px;
  }
}

@media(min-width:901px) and (max-width:1199px){
  .hero-left{
    transform:none;
  }
  .hero-body{
    grid-template-columns:min(470px, 48%) 1fr;
    padding-top:26px;
    padding-bottom:32px;
    padding-right:clamp(28px, 5vw, 56px);
  }
  .hero-title{
    font-size:clamp(36px, 4.8vw, 58px);
    line-height:1.02;
  }
  .hero-sub{
    font-size: clamp(14px, 1.7vw, 25px);
    line-height:1.35;
    max-width:34ch;
  }
}

@media(min-width:1200px){
  .hero-left{
    transform:none;
  }
  .hero-body{
    padding-top:30px;
    padding-bottom:34px;
  }
}


/* ============================================================
   SURCHARGES ET COMPOSANTS SPÉCIFIQUES ATELIER IA 3
   ============================================================ */

  /* ===== TICKER TOP ===== */
  .top-ticker {
    background: #0A0A0A;
    overflow: hidden;
    white-space: nowrap;
    height: 36px;
    display: flex;
    align-items: center;
  }
  .top-ticker-track {
    display: inline-flex;
    animation: topTickerScroll 22s linear infinite;
    flex-shrink: 0;
  }
  .top-ticker-track span {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    color: #E3FF15;
    letter-spacing: 0.06em;
    padding: 0 40px;
  }
  .top-ticker-track span::after {
    content: '✦';
    margin-left: 40px;
    opacity: 0.5;
  }
  @keyframes topTickerScroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }

  /* ===== SHARE WHATSAPP ===== */
  .share-wrap { text-align: center; margin-top: 28px; }
  .share-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #25D366;
    color: #fff;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    padding: 12px 24px;
    border-radius: 50px;
    text-decoration: none;
    transition: transform 0.2s ease;
  }
  .share-btn:hover { transform: translateY(-2px); }
  .share-btn svg { width: 18px; height: 18px; flex-shrink: 0; }

  /* Désactive l'animation reveal-on-scroll (supprime la translation 24px qui exposait
     une bande de couleur du body entre les sections au chargement / au scroll) */
  body.reveal-ready .reveal-on-scroll,
  body.reveal-ready .reveal-on-scroll.reveal-stagger {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    transition-delay: 0s !important;
  }

  /* ===== CTA FINAL (sizes/spacings AtelierIA2 — fontes & couleurs originales) ===== */
  .cta-section {
    background: var(--jaune);
    text-align: center;
    padding: 80px var(--section-space-x);
  }
  .cta-section .cta-main {
    padding: 0;
    align-items: center;
  }
  .cta-section .cta-title {
    font-family: var(--font-title);
    font-size: clamp(40px, 5.5vw, 72px);
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: var(--noir);
    margin: 0 0 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .cta-section .cta-line {
    display: block;
    white-space: normal;
  }
  .cta-section .cta-sub {
    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 400;
    color: var(--noir);
    opacity: 0.75;
    line-height: 1.5;
    margin: 0 0 36px;
    max-width: 600px;
  }
  .cta-section .btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--noir);
    color: var(--jaune);
    padding: 20px 44px;
    border-radius: 100px;
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1;
    min-width: 0;
    min-height: 0;
    box-shadow: none;
    transition: transform 0.2s ease;
  }
  .cta-section .btn-cta:hover { transform: translateY(-3px); }
  .cta-section .btn-cta svg { width: 20px; height: 20px; flex-shrink: 0; }

  @media (max-width: 900px) {
    .cta-section { padding: 60px var(--section-space-x); }
    .cta-section .cta-sub { margin-bottom: 28px; }
    .cta-section .btn-cta { padding: 16px 36px; }
  }
  @media (max-width: 600px) {
    .cta-section { padding: 48px var(--section-space-x); }
    .cta-section .cta-sub { font-size: 15px; margin-bottom: 24px; }
    .cta-section .btn-cta { padding: 14px 28px; font-size: 15px; }
  }

  /* ===== FOOTER (sizes/spacings AtelierIA2 — couleurs originales) ===== */
  .footer {
    background: #000;
    color: #fff;
    padding: 50px 0 0;
  }
  .footer .ft-logo {
    width: clamp(110px, 11vw, 150px);
    height: auto;
    aspect-ratio: 198 / 58;
  }
  .footer .footer-top {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--section-space-x);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    background: transparent;
  }
  .footer .ft-link {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    opacity: 0.7;
    text-decoration: none;
    transition: opacity 0.2s ease, color 0.2s ease;
  }
  .footer .ft-link:hover {
    opacity: 1;
    color: var(--jaune);
  }
  .footer .ft-links {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    align-items: center;
  }
  .footer .ft-contact {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
  }
  .footer .ft-social {
    display: flex;
    gap: 10px;
    align-items: center;
  }
  .footer .ft-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
    text-decoration: none;
    opacity: 0.85;
    transition: opacity 0.2s ease, color 0.2s ease, background 0.2s ease, transform 0.2s ease;
  }
  .footer .ft-social-icon:hover,
  .footer .ft-social-icon:focus-visible {
    opacity: 1;
    color: var(--jaune);
    background: rgba(227, 255, 21, 0.1);
    border-color: rgba(227, 255, 21, 0.4);
    transform: translateY(-2px);
  }
  .footer .ft-social-icon svg {
    width: 16px;
    height: 16px;
    display: block;
  }
  .footer .footer-legal {
    width: 100%;
    max-width: none;
    margin: 30px 0 0;
    padding: 20px var(--section-space-x) 16px;
    text-align: center;
    font-family: var(--font-body);
    font-size: 12px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: #000;
  }

  @media (max-width: 600px) {
    .footer { padding: 40px var(--section-space-x) 24px; }
    .footer .footer-top { gap: 16px; flex-direction: column; align-items: center; text-align: center; }
    .footer .ft-contact { width: 100%; justify-content: center; }
    .footer .ft-links { justify-content: center; }
    .footer .ft-social {
      width: 100%;
      justify-content: center;
      margin: 0 auto;
    }
  }

  /* ===== INSCRIPTION (sizes/spacings d'AtelierIA2 — fontes & couleurs originales) ===== */
  .inscription {
    padding: 80px var(--section-space-x);
  }
  .inscription .sec-title {
    font-family: var(--font-title);
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: var(--jaune);
    text-align: center;
    margin: 0 auto 24px;
    max-width: 100%;
  }
  .inscription-trust {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 auto 40px;
  }
  .inscription-trust-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.95);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
  }

  @media (max-width: 900px) {
    .inscription { padding: 60px var(--section-space-x); }
  }
  @media (max-width: 600px) {
    .inscription { padding: 48px var(--section-space-x); }
    .inscription-trust { margin-bottom: 28px; gap: 8px; }
    .inscription-trust-item { padding: 7px 14px; font-size: 12px; }
  }

  /* ===== Brevo form principal (sur fond violet de .inscription) ===== */
  /* Carte glass blanche sur violet : forte lisibilité, accent jaune pour CTA */
  .inscription #sib-container {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 24px !important;
    box-shadow: none;
    padding: 28px 28px 20px !important;
    max-width: 540px !important;
    margin: 0 auto !important;
    position: relative;
  }
  /* Champs texte / textarea / select : fond clair, lisible sur le violet */
  .inscription #sib-container input.input,
  .inscription #sib-container textarea.input,
  .inscription #sib-container select.input {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 10px;
    color: #0a0a0a;
  }
  .inscription #sib-container input.input:focus,
  .inscription #sib-container textarea.input:focus,
  .inscription #sib-container select.input:focus {
    background: #fff;
    outline: 2px solid var(--jaune);
    outline-offset: 1px;
  }
  /* Placeholders : gris doux */
  .inscription #sib-container input::placeholder,
  .inscription #sib-container textarea::placeholder {
    color: #94a3b8;
    opacity: 1;
  }
  /* Confort tactile pour les radios (Féminin/Masculin, LinkedIn/Instagram…) */
  .inscription #sib-container .entry__choice {
    min-height: 44px;
    display: flex;
    align-items: center;
    margin-bottom: 4px;
  }
  .inscription #sib-container .entry__choice label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    line-height: 1.4;
  }
  .inscription #sib-container .entry__choice .radio-button {
    flex-shrink: 0;
    margin: 0;
  }
  /* Espacement texte ↔ bouton radio + suppression du text-indent négatif Brevo */
  .inscription #sib-container .entry__choice .radio-button + span {
    margin-left: 12px;
    text-indent: 0;
  }
  /* Disclaimer "⚠️ Place réservée..." en jaune sous le bouton Envoyer */
  .inscription .form-payment-disclaimer {
    margin: 12px auto 0;
    max-width: 540px;
    text-align: center;
    font-family: var(--font-body);
    font-size: 13px;
    font-style: italic;
    font-weight: 500;
    color: var(--jaune);
    line-height: 1.4;
  }

  /* ===== GALERIE PHOTOS atelier passé (carrousel + lightbox) ===== */
  .gallery-block {
    max-width: 1200px;
    margin: 70px auto 0;
  }
  .gallery-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    flex-wrap: wrap;
  }
  .gallery-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--jaune);
    color: var(--noir);
    padding: 6px 14px;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 10px;
  }
  .gallery-eyebrow::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--noir);
  }
  .gallery-title {
    font-family: var(--font-title);
    font-size: clamp(28px, 3.6vw, 44px);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 0;
  }
  .gallery-counter {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,0.75);
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  .gallery-counter strong { color: var(--jaune); font-weight: 800; }
  .gallery-viewport {
    overflow: hidden;
    border-radius: 24px;
    cursor: grab;
    -webkit-user-select: none;
    user-select: none;
  }
  .gallery-viewport:active { cursor: grabbing; }
  .gallery-track {
    display: flex;
    gap: 16px;
    transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
  }
  .gallery-track.is-dragging { transition: none; }
  .gallery-card {
    flex: 0 0 calc((100% - 32px) / 3);
    aspect-ratio: 4 / 3;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    cursor: zoom-in;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin: 0;
  }
  .gallery-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  }
  .gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
  }
  .gallery-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 22px;
    gap: 16px;
  }
  .gallery-progress {
    flex: 1;
    height: 4px;
    background: rgba(255,255,255,0.15);
    border-radius: 100px;
    overflow: hidden;
    max-width: 320px;
  }
  .gallery-progress-bar {
    height: 100%;
    background: var(--jaune);
    border-radius: 100px;
    width: 33%;
    transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .gallery-arrows { display: flex; gap: 10px; }
  .gallery-arrow {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--jaune);
    border: none;
    color: var(--noir);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, opacity 0.2s ease;
    padding: 0;
  }
  .gallery-arrow:hover:not(:disabled) { transform: scale(1.08); }
  .gallery-arrow:disabled { opacity: 0.35; cursor: not-allowed; }
  .gallery-arrow svg { width: 18px; height: 18px; }
  .gallery-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.92);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    transition: opacity 0.25s ease;
  }
  .gallery-lightbox.is-open { display: flex; opacity: 1; }
  .gallery-lightbox-stage {
    position: relative;
    max-width: min(1200px, 95vw);
    max-height: 90vh;
    width: auto;
  }
  .gallery-lightbox-stage img {
    max-width: 95vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    border-radius: 16px;
    display: block;
  }
  .gallery-lightbox-close {
    position: absolute;
    top: -52px;
    right: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--jaune);
    border: none;
    color: var(--noir);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
  }
  .gallery-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--jaune);
    border: none;
    color: var(--noir);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
  }
  .gallery-lightbox-nav svg { width: 22px; height: 22px; }
  .gallery-lightbox-prev { left: -72px; }
  .gallery-lightbox-next { right: -72px; }
  .gallery-lightbox-caption {
    position: absolute;
    bottom: -48px;
    left: 0;
    right: 0;
    text-align: center;
    color: rgba(255,255,255,0.85);
    font-family: var(--font-body);
    font-size: 13px;
    letter-spacing: 0.04em;
  }
  .gallery-lightbox-caption strong { color: var(--jaune); font-weight: 700; margin-right: 8px; }
  @media (max-width: 900px) {
    .gallery-card { flex: 0 0 calc((100% - 16px) / 2); }
    .gallery-block { margin-top: 50px; }
    .gallery-lightbox-prev { left: 8px; }
    .gallery-lightbox-next { right: 8px; }
    .gallery-lightbox-nav { width: 44px; height: 44px; }
  }
  @media (max-width: 600px) {
    .gallery-card { flex: 0 0 100%; aspect-ratio: 4 / 3; }
    .gallery-track { gap: 12px; }
    .gallery-progress { max-width: none; }
    .gallery-arrow { width: 40px; height: 40px; }
    .gallery-lightbox-close { top: -44px; width: 36px; height: 36px; }
  }

  /* ===== COMMENT ÇA MARCHE ? (2 cartes côte à côte) ===== */
  .howitworks {
    padding: 80px var(--section-space-x);
    background: #fff;
  }
  .howitworks .sec-title {
    font-family: var(--font-title);
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: var(--noir);
    text-align: center;
    margin: 0 auto 16px;
    max-width: 100%;
  }
  .howitworks .sec-sub {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.5;
    color: rgba(10, 10, 10, 0.7);
    text-align: center;
    max-width: 600px;
    margin: 0 auto 48px;
  }
  .howitworks .hiw-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
    align-items: stretch;
  }
  .howitworks .hiw-card {
    border-radius: 32px;
    padding: 44px 40px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
  }
  .howitworks .hiw-card--dark {
    background: var(--noir);
    color: #fff;
  }
  .howitworks .hiw-card--yellow {
    background: var(--jaune);
    color: var(--noir);
  }
  .howitworks .hiw-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 100px;
    margin-bottom: 16px;
    width: fit-content;
  }
  .howitworks .hiw-card--dark .hiw-eyebrow {
    background: var(--jaune);
    color: var(--noir);
  }
  .howitworks .hiw-card--yellow .hiw-eyebrow {
    background: var(--noir);
    color: var(--jaune);
  }
  .howitworks .hiw-title {
    font-family: var(--font-title);
    font-size: clamp(26px, 2.6vw, 32px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 28px;
  }
  .howitworks .hiw-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .howitworks .hiw-step {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 14px;
    align-items: flex-start;
    position: relative;
  }
  .howitworks .hiw-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-title);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 2px;
  }
  .howitworks .hiw-card--dark .hiw-num {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
  }
  .howitworks .hiw-card--yellow .hiw-num {
    background: rgba(10, 10, 10, 0.08);
    border: 1px solid rgba(10, 10, 10, 0.18);
    color: var(--noir);
  }
  .howitworks .hiw-step-text {
    font-family: var(--font-body);
    font-size: 15.5px;
    font-weight: 500;
    line-height: 1.45;
    padding-top: 4px;
  }
  .howitworks .hiw-step-text strong { font-weight: 800; }
  .howitworks .hiw-card--dark .hiw-step-text { color: rgba(255, 255, 255, 0.9); }
  .howitworks .hiw-card--yellow .hiw-step-text { color: var(--noir); }
  .howitworks .hiw-step--current .hiw-num {
    background: var(--jaune) !important;
    color: var(--noir) !important;
    border-color: var(--jaune) !important;
    box-shadow: 0 0 0 4px rgba(227, 255, 21, 0.25);
    animation: hiw-pulse 2s ease-in-out infinite;
  }
  @keyframes hiw-pulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(227, 255, 21, 0.25); }
    50% { box-shadow: 0 0 0 8px rgba(227, 255, 21, 0.12); }
  }
  .howitworks .hiw-step--current .hiw-step-text {
    color: #fff !important;
    font-weight: 700;
  }
  .howitworks .hiw-here-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--jaune);
    color: var(--noir);
    padding: 3px 10px;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-left: 10px;
    vertical-align: middle;
    line-height: 1;
  }
  .howitworks .hiw-here-tag::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--noir);
    animation: hiw-blink 1.4s ease-in-out infinite;
  }
  @keyframes hiw-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
  }
  .howitworks .hiw-foot {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid currentColor;
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
  }
  .howitworks .hiw-card--dark .hiw-foot { border-color: rgba(255, 255, 255, 0.15); color: rgba(255, 255, 255, 0.7); }
  .howitworks .hiw-card--yellow .hiw-foot { border-color: rgba(10, 10, 10, 0.18); color: rgba(10, 10, 10, 0.7); }
  .howitworks .hiw-foot svg { width: 18px; height: 18px; flex-shrink: 0; }
  .howitworks .hiw-wave-amount {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 20px;
    font-family: var(--font-title);
  }
  .howitworks .hiw-wave-amount-num {
    font-size: 40px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.03em;
  }
  .howitworks .hiw-wave-amount-cur {
    font-size: 16px;
    font-weight: 700;
    opacity: 0.7;
  }
  .howitworks .hiw-phone-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--noir);
    color: var(--jaune);
    padding: 8px 14px;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-top: 6px;
    text-decoration: none;
    transition: transform 0.2s ease;
  }
  .howitworks .hiw-phone-pill:hover { transform: translateY(-2px); }
  .howitworks .hiw-phone-pill svg { width: 14px; height: 14px; }
  @media (max-width: 900px) {
    .howitworks { padding: 60px var(--section-space-x); }
    .howitworks .hiw-grid { grid-template-columns: 1fr; gap: 18px; }
    .howitworks .hiw-card { padding: 36px 28px; }
  }
  @media (max-width: 600px) {
    .howitworks { padding: 48px var(--section-space-x); }
    .howitworks .hiw-card { padding: 32px 24px; border-radius: 24px; }
    .howitworks .hiw-title { font-size: 22px; margin-bottom: 22px; }
    .howitworks .hiw-step-text { font-size: 14.5px; }
    .howitworks .hiw-num { width: 30px; height: 30px; font-size: 13px; }
    .howitworks .hiw-step { grid-template-columns: 32px 1fr; gap: 12px; }
    .howitworks .hiw-here-tag { font-size: 9px; padding: 2px 8px; margin-left: 6px; }
    .howitworks .hiw-wave-amount-num { font-size: 32px; }
  }

  /* ===== Bloc PayDunya (QR + bouton de paiement direct) ===== */
  .howitworks .hiw-paydunya {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin: 8px 0 4px;
    text-align: center;
  }
  .howitworks .hiw-paydunya-qr-link {
    display: inline-block;
    background: var(--noir);
    padding: 14px;
    border-radius: 16px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    line-height: 0;
  }
  .howitworks .hiw-paydunya-qr-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  }
  .howitworks .hiw-paydunya-qr {
    display: block;
    width: 180px;
    height: 180px;
    border-radius: 8px;
    background: #fff;
  }
  .howitworks .hiw-paydunya-hint {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: rgba(10, 10, 10, 0.75);
  }
  .howitworks .hiw-paydunya-hint svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
  }
  .howitworks .hiw-paydunya-or {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 220px;
    margin: 4px 0;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(10, 10, 10, 0.55);
  }
  .howitworks .hiw-paydunya-or::before,
  .howitworks .hiw-paydunya-or::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(10, 10, 10, 0.18);
  }
  .howitworks .hiw-paydunya-or span {
    padding: 0 12px;
  }
  .howitworks .hiw-paydunya-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--noir);
    color: var(--jaune);
    padding: 14px 26px;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    width: fit-content;
  }
  .howitworks .hiw-paydunya-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
  }
  .howitworks .hiw-paydunya-btn svg {
    width: 18px;
    height: 18px;
  }
  .howitworks .hiw-paydunya-methods {
    margin: 0;
    font-family: var(--font-body);
    font-size: 11.5px;
    font-weight: 600;
    color: rgba(10, 10, 10, 0.6);
    letter-spacing: 0.02em;
    line-height: 1.5;
  }
  @media (max-width: 600px) {
    .howitworks .hiw-paydunya-qr { width: 150px; height: 150px; }
    .howitworks .hiw-paydunya-btn { font-size: 14px; padding: 12px 22px; }
    .howitworks .hiw-paydunya-methods { font-size: 11px; }
  }

  /* ===== PAS DISPONIBLE LE 9 MAI ? (waitlist — atténué pour ne pas
     concurrencer visuellement le formulaire d'inscription principal) ===== */
  .waitlist {
    padding: 56px var(--section-space-x);
    background: #F5F4F1;
  }
  .waitlist .sec-title {
    font-family: var(--font-title);
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--noir);
    text-align: center;
    margin: 0 auto 10px;
    max-width: 100%;
  }
  .waitlist .sec-sub {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.5;
    color: rgba(10, 10, 10, 0.6);
    text-align: center;
    max-width: 540px;
    margin: 0 auto 28px;
  }
  .waitlist .sib-form { padding: 0; }
  .waitlist .waitlist-submit-frame {
    width: 0;
    height: 0;
    border: 0;
    position: absolute;
    pointer-events: none;
    opacity: 0;
  }
  /* Carte outlined : pas de fond coloré, juste une fine bordure violette
     pour rester très discrète sur le gris clair de la section. */
  .waitlist #sib-container-wl {
    background: transparent;
    border: 1px solid rgba(101, 47, 234, 0.35);
    border-radius: 20px;
    padding: 22px 24px 18px !important;
    box-shadow: none;
    max-width: 540px !important;
    margin: 0 auto !important;
  }
  /* Libellés : en violet (au lieu du jaune inline) — lisibles sur fond clair */
  .waitlist #sib-container-wl .entry__label {
    color: var(--violet) !important;
    font-size: 13px !important;
    letter-spacing: 0.02em;
  }
  /* Texte d'aide ("Veuillez renseigner…") : gris foncé au lieu du blanc */
  .waitlist #sib-container-wl .entry__specification {
    color: rgba(10, 10, 10, 0.55) !important;
  }
  /* Texte des cases à cocher (sessions) : noir au lieu du blanc */
  .waitlist #sib-container-wl .entry__choice span:not(.checkbox):not(.radio-button) {
    color: var(--noir) !important;
  }
  /* Inputs : fond blanc + bordure violette discrète */
  .waitlist #sib-container-wl input.input,
  .waitlist #sib-container-wl select.input {
    background: #fff;
    border: 1px solid rgba(101, 47, 234, 0.25);
    border-radius: 10px;
  }
  .waitlist #sib-container-wl input.input:focus,
  .waitlist #sib-container-wl select.input:focus {
    outline: 2px solid var(--violet);
    outline-offset: 1px;
  }
  /* Bouton "Me prévenir" : seul accent fort (jaune) */
  .waitlist #sib-container-wl .sib-form-block__button {
    padding: 12px 28px !important;
    font-size: 14px !important;
  }
  .waitlist #sib-container-wl .sib-form-block__button[aria-busy="true"] {
    opacity: 0.82;
    cursor: wait;
  }
  .waitlist #sib-container-wl .sib-form-block__button.is-success {
    background-color: #dff6e8 !important;
    color: #14623a !important;
  }
  /* Le séparateur (border violet) reste tel quel — il devient l'accent visuel discret */
  /* zone tactile confortable + corrige le chevauchement texte/checkbox sur le markup Brevo */
  .waitlist #sib-container-wl .entry__choice {
    min-height: 44px;
    display: flex;
    align-items: center;
    margin-bottom: 4px;
  }
  .waitlist #sib-container-wl .entry__choice label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    line-height: 1.4;
  }
  .waitlist #sib-container-wl .checkbox__label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    line-height: 1.4;
  }
  .waitlist #sib-container-wl .entry__choice .radio-button {
    flex-shrink: 0;
    margin: 0;
  }
  .waitlist #sib-container-wl .checkbox__label .checkbox {
    flex-shrink: 0;
    margin: 0;
  }
  /* Espace explicite (12px) entre la checkbox visuelle et le libellé texte +
     neutralisation du text-indent:-24px hérité de sib-styles.css de Brevo
     qui faisait disparaître la 1ʳᵉ lettre derrière la case. */
  .waitlist #sib-container-wl .checkbox__label .checkbox + span {
    margin-left: 12px;
    text-indent: 0;
  }
  .waitlist #sib-container-wl .entry__choice .radio-button + span {
    margin-left: 12px;
    text-indent: 0;
  }
  @media (max-width: 900px) {
    .waitlist { padding: 60px var(--section-space-x); }
  }
  @media (max-width: 600px) {
    .waitlist { padding: 48px var(--section-space-x); }
    .waitlist .sec-sub { margin-bottom: 28px; }
    .waitlist #sib-container-wl { padding: 22px 20px !important; }
  }

  /* Disclaimer sous le bouton "Envoyer" */
  .form-payment-disclaimer {
    margin: 12px auto 0;
    max-width: 540px;
    text-align: center;
    font-family: var(--font-body);
    font-size: 13px;
    font-style: italic;
    font-weight: 500;
    color: var(--jaune);
    line-height: 1.4;
  }

  /* ===== Brevo form — fond translucide style "Réponse rapide" ===== */
  #sib-container {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 24px;
    box-shadow: none;
    padding: 28px 28px 20px !important;
    position: relative;
  }
  /* champs texte/textarea/select sur fond glass plus clair */
  #sib-container input.input,
  #sib-container textarea.input,
  #sib-container select.input {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 10px;
  }
  #sib-container input.input:focus,
  #sib-container textarea.input:focus,
  #sib-container select.input:focus {
    background: #fff;
    outline: 2px solid var(--jaune);
    outline-offset: 1px;
  }

  /* ===== Brevo form (fontes Roboto + placeholders) ===== */
  @font-face {
    font-display: block;
    font-family: Roboto;
    src: url(https://assets.brevo.com/font/Roboto/Latin/normal/normal/7529907e9eaf8ebb5220c5f9850e3811.woff2) format("woff2"),
         url(https://assets.brevo.com/font/Roboto/Latin/normal/normal/25c678feafdc175a70922a116c9be3e7.woff) format("woff");
  }
  @font-face {
    font-display: fallback;
    font-family: Roboto;
    font-weight: 600;
    src: url(https://assets.brevo.com/font/Roboto/Latin/medium/normal/6e9caeeafb1f3491be3e32744bc30440.woff2) format("woff2"),
         url(https://assets.brevo.com/font/Roboto/Latin/medium/normal/71501f0d8d5aa95960f6475d5487d4c2.woff) format("woff");
  }
  @font-face {
    font-display: fallback;
    font-family: Roboto;
    font-weight: 700;
    src: url(https://assets.brevo.com/font/Roboto/Latin/bold/normal/3ef7cf158f310cf752d5ad08cd0e7e60.woff2) format("woff2"),
         url(https://assets.brevo.com/font/Roboto/Latin/bold/normal/ece3a1d82f18b60bcce0211725c476aa.woff) format("woff");
  }
  #sib-container input:-ms-input-placeholder { text-align: left; font-family: Poppins, webFonts; color: #c0ccda; }
  #sib-container input::placeholder { text-align: left; font-family: Poppins, webFonts; color: #c0ccda; }
  #sib-container textarea::placeholder { text-align: left; font-family: Poppins, webFonts; color: #c0ccda; }
  #sib-container a { text-decoration: underline; color: #2BB2FC; }

  /* ===== HERO (Atelier IA v2 — fontes originales) ===== */
  .hero {
    --yellow: #E6FF17;
    --violet: #5928E5;
    --black: #000000;
    --white: #FFFFFF;
    --gray-bg: #F5F5F5;
    background: var(--yellow);
    padding: 32px 0 72px;
    position: relative;
    color: var(--black);
    font-family: var(--font-body);
    overflow: hidden;
  }
  .hero * { box-sizing: border-box; }
  .hero .container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px;
  }

  /* Sticker NOUVEAU */
  .hero .corner-sticker {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 175px;
    height: 175px;
    border-radius: 50%;
    background: var(--black);
    color: var(--yellow);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    transform: rotate(12deg);
    z-index: 5;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    border: 5px solid var(--yellow);
    padding: 14px;
    animation: hero-pulse-sticker 2.5s ease-in-out infinite;
  }
  .hero .corner-sticker::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 50%;
    border: 2px dashed var(--yellow);
    opacity: 0.5;
    pointer-events: none;
  }
  @keyframes hero-pulse-sticker {
    0%, 100% { transform: rotate(12deg) scale(1); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4); }
    50% { transform: rotate(12deg) scale(1.06); box-shadow: 0 12px 44px rgba(0, 0, 0, 0.55); }
  }
  .hero .corner-sticker-burst {
    font-family: var(--font-title);
    font-size: 26px;
    font-weight: 900;
    color: var(--yellow);
    line-height: 0.9;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
    text-transform: uppercase;
  }
  .hero .corner-sticker-line {
    font-family: var(--font-title);
    font-size: 14px;
    font-weight: 900;
    background: var(--yellow);
    color: var(--black);
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    padding: 4px 8px;
    border-radius: 4px;
    margin-bottom: 4px;
  }
  .hero .corner-sticker-sub {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    color: var(--yellow);
    line-height: 1.1;
    font-style: italic;
    letter-spacing: 0.02em;
  }

  .hero .hero-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 56px;
  }
  .hero .logo-block {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
  }
  .hero .logo-block .logo-img {
    width: 168px;
    height: auto;
    max-width: 100%;
    display: block;
    filter: none;
  }

  .hero .hero-content {
    display: grid;
    grid-template-columns: minmax(350px, 0.92fr) minmax(500px, 1.08fr);
    gap: clamp(36px, 5vw, 92px);
    align-items: start;
  }
  .hero .hero-left {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    grid-area: auto;
    align-self: auto;
    padding-top: 26px;
  }

  .hero .hero-pills-top {
    display: flex;
    gap: 14px;
    margin-bottom: 34px;
    flex-wrap: wrap;
  }
  .hero .pill-info {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--black);
    color: var(--yellow);
    padding: 10px 18px;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.01em;
  }
  .hero .pill-info svg { width: 14px; height: 14px; }

  .hero .hero-title {
    font-family: var(--font-title);
    font-size: clamp(64px, 7vw, 96px);
    font-weight: 900;
    color: var(--black);
    line-height: 0.88;
    letter-spacing: -0.055em;
    margin: 0 0 28px;
    text-transform: none;
    max-width: 7.3ch;
  }
  .hero .hero-title-line {
    display: block;
  }
  .hero .hero-subtitle {
    font-size: 18px;
    font-weight: 500;
    color: var(--black);
    opacity: 0.82;
    line-height: 1.45;
    margin: 0 0 36px;
    max-width: 470px;
  }

  .hero .price-block { margin-bottom: 30px; }
  .hero .price-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--black);
    margin-bottom: 8px;
  }
  .hero .price-amount {
    font-family: var(--font-title);
    font-size: clamp(58px, 6vw, 78px);
    font-weight: 900;
    color: var(--black);
    line-height: 1;
    letter-spacing: -0.05em;
  }
  .hero .price-amount .currency {
    font-size: clamp(22px, 2vw, 32px);
    font-weight: 700;
    color: var(--black);
    opacity: 0.55;
    margin-left: 8px;
    vertical-align: top;
    margin-top: 12px;
    display: inline-block;
  }
  .hero .price-row {
    display: flex;
    align-items: flex-end;
    gap: 16px 22px;
    flex-wrap: wrap;
  }
  .hero .claude-pro-badge {
    background: linear-gradient(135deg, #FF5242 0%, #C81F17 100%);
    color: #fff;
    padding: 14px 24px 12px;
    transform: skewX(-10deg) rotate(-2deg);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    box-shadow: 0 14px 28px rgba(200, 31, 23, 0.24);
  }
  .hero .claude-pro-badge::before,
  .hero .claude-pro-badge::after {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: 24px;
    pointer-events: none;
  }
  .hero .claude-pro-badge::before {
    left: -8px;
    transform: skewX(18deg);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
  }
  .hero .claude-pro-badge::after {
    right: -10px;
    transform: skewX(-18deg);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.34));
  }
  .hero .claude-pro-badge > * {
    transform: skewX(10deg);
    display: block;
    position: relative;
    z-index: 1;
  }
  .hero .claude-pro-badge strong {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.015em;
  }
  .hero .claude-pro-badge span {
    font-size: 12px;
    font-weight: 500;
  }

  .hero .hero-cta {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--black);
    color: var(--yellow);
    padding: 20px 34px;
    border-radius: 100px;
    text-decoration: none;
    font-family: var(--font-title);
    font-weight: 800;
    font-size: 17px;
    letter-spacing: 0.02em;
    width: fit-content;
    min-width: 0;
    min-height: 0;
    margin: 0;
    grid-area: auto;
    align-self: auto;
    box-shadow: none;
    animation: none;
    transition: transform 0.2s ease;
  }
  .hero .hero-cta:hover { transform: translateY(-3px); }
  .hero .hero-cta svg { flex-shrink: 0; }

  .hero .hero-speakers {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 38px;
  }
  .hero .hero-speakers-title {
    font-family: var(--font-title);
    font-size: clamp(34px, 3vw, 46px);
    font-weight: 900;
    color: var(--black);
    margin: 0 0 26px;
    letter-spacing: -0.02em;
    text-transform: none;
    align-self: center;
  }
  .hero .hero-speakers-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    justify-content: center;
    gap: clamp(6px, 1.2vw, 18px);
    width: 100%;
  }
  .hero .hero-sparkle {
    font-size: 30px;
    color: var(--black);
    margin-top: -34px;
    flex-shrink: 0;
    line-height: 1;
    position: relative;
    transform: rotate(10deg);
  }
  .hero .hero-sparkle::before {
    content: "✦";
    position: absolute;
    top: -10px;
    right: -10px;
    font-size: 16px;
  }
  .hero .hero-speaker {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-self: center;
    max-width: 280px;
    width: 100%;
  }
  .hero .hero-speaker-photo {
    width: min(100%, 250px);
    height: auto;
    border-radius: 0;
    object-fit: contain;
    border: none;
    background: transparent;
    margin-bottom: 10px;
    filter: grayscale(100%) contrast(1.03);
    mix-blend-mode: multiply;
  }
  .hero .hero-speaker--annick .hero-speaker-photo {
    width: min(100%, 236px);
  }
  .hero .hero-speaker--nana .hero-speaker-photo {
    width: min(100%, 268px);
  }
  .hero .hero-speaker-info {
    text-align: center;
    max-width: 280px;
  }
  .hero .hero-speaker-name {
    display: block;
    font-size: clamp(18px, 1.6vw, 24px);
    font-weight: 400;
    color: var(--black);
    background: none;
    padding: 0;
    border-radius: 0;
    letter-spacing: 0;
    text-transform: none;
    margin-bottom: 6px;
    line-height: 1.15;
  }
  .hero .hero-speaker-name .ln {
    font-weight: 900;
  }
  .hero .hero-speaker-role {
    display: block;
    font-size: 14px;
    color: var(--black);
    opacity: 0.78;
    font-weight: 500;
    line-height: 1.4;
  }

  @media (max-width: 900px) {
    .hero .hero-content { grid-template-columns: 1fr; gap: 40px; }
    .hero .hero-left { padding-top: 0; }
    .hero .hero-title { font-size: clamp(50px, 11vw, 78px); max-width: 7.8ch; }
    .hero .hero-subtitle { max-width: 100%; }
    .hero .hero-speakers { padding-top: 0; }
    .hero .hero-speaker-photo { width: min(100%, 190px); }
    .hero .hero-speaker--annick .hero-speaker-photo { width: min(100%, 182px); }
    .hero .hero-speaker--nana .hero-speaker-photo { width: min(100%, 202px); }
    .hero .hero-sparkle { margin-top: -14px; font-size: 24px; }
    .hero .corner-sticker { width: 130px; height: 130px; top: 20px; right: 20px; padding: 10px; }
    .hero .corner-sticker-burst { font-size: 18px; }
    .hero .corner-sticker-line { font-size: 11px; }
    .hero .corner-sticker-sub { font-size: 8px; }
    .hero .logo-block .logo-img { width: 130px; }
  }
  @media (max-width: 600px) {
    .hero .logo-block .logo-img { width: 110px; }
    .hero { padding: 24px 0 40px; }
    .hero .hero-header { margin-bottom: 30px; }
    .hero .hero-pills-top { gap: 10px; margin-bottom: 24px; }
    .hero .pill-info { font-size: 12px; padding: 8px 14px; }
    .hero .hero-title { font-size: clamp(42px, 14vw, 60px); margin-bottom: 20px; }
    .hero .hero-subtitle { font-size: 16px; margin-bottom: 26px; }
    .hero .price-amount { font-size: 42px; }
    .hero .claude-pro-badge strong { font-size: 12px; }
    .hero .claude-pro-badge span { font-size: 11px; }
    .hero .corner-sticker { width: 100px; height: 100px; top: 16px; right: 16px; padding: 8px; border-width: 3px; }
    .hero .corner-sticker-burst { font-size: 14px; margin-bottom: 4px; }
    .hero .corner-sticker-line { font-size: 9px; padding: 3px 5px; }
    .hero .corner-sticker-sub { display: none; }
    .hero .hero-speakers-title { font-size: 28px; margin-bottom: 18px; }
    .hero .hero-speakers-grid {
      grid-template-columns: 1fr 1fr;
      gap: 18px 12px;
    }
    .hero .hero-sparkle { display: none; }
    .hero .hero-speaker-photo { width: min(100%, 150px); }
    .hero .hero-speaker--annick .hero-speaker-photo { width: min(100%, 142px); }
    .hero .hero-speaker--nana .hero-speaker-photo { width: min(100%, 156px); }
    .hero .hero-speaker-name { font-size: 14px; }
    .hero .hero-speaker-role { font-size: 11px; }
    .hero .price-row { gap: 14px; }
    .hero .hero-cta { width: 100%; }
  }

  /* ===== HERO SHOWCASE V3 ===== */
  .hero.hero-showcase {
    position: relative;
    padding: 42px 0 20px;
    overflow: hidden;
    isolation: isolate;
    background-color: #E6FF17;
    background-image:
      linear-gradient(rgba(10, 10, 10, 0.08) 1px, transparent 1px),
      linear-gradient(90deg, rgba(10, 10, 10, 0.08) 1px, transparent 1px);
    background-size: 118px 118px;
  }
  .hero.hero-showcase::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.22), transparent 34%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0));
    pointer-events: none;
    z-index: 0;
  }
  .hero.hero-showcase .hero-showcase__container {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    padding: 0 24px;
    text-align: center;
  }
  .hero.hero-showcase .hero-showcase__brand {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
  }
  .hero.hero-showcase .hero-showcase__logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .hero.hero-showcase .hero-showcase__logo {
    width: clamp(132px, 13vw, 182px);
    height: auto;
  }
  .hero.hero-showcase .hero-showcase__copy {
    max-width: 1100px;
    margin: 0 auto;
    font-family: var(--font-body);
  }
  .hero.hero-showcase .hero-showcase__title {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(40px, 5.25vw, 68px);
    font-weight: 700;
    line-height: 0.96;
    letter-spacing: -0.04em;
  }
  .hero.hero-showcase .hero-showcase__title span {
    display: block;
  }
  .hero.hero-showcase .hero-showcase__lead {
    max-width: 780px;
    margin: 26px auto 14px;
    font-size: clamp(16px, 1.6vw, 22px);
    line-height: 1.45;
    color: rgba(10, 10, 10, 0.82);
  }
  .hero.hero-showcase .hero-showcase__meta {
    margin: 0 0 28px;
    font-size: 18px;
    font-weight: 600;
    color: rgba(10, 10, 10, 0.9);
  }
  .hero.hero-showcase .hero-showcase__offer-art {
    display: block;
    width: clamp(190px, 22vw, 320px);
    height: auto;
    margin: 0 auto 18px;
  }
  .hero.hero-showcase .hero-showcase__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 58px;
    padding: 0 28px;
    border-radius: 999px;
    background: #0A0A0A;
    color: #E6FF17;
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 16px 28px rgba(10, 10, 10, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .hero.hero-showcase .hero-showcase__cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 36px rgba(10, 10, 10, 0.24);
  }
  .hero.hero-showcase .hero-showcase__cta svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }
  .hero.hero-showcase .hero-showcase__marquee-shell {
    position: relative;
    z-index: 1;
    margin-top: 36px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  }
  .hero.hero-showcase .hero-showcase__marquee-track {
    display: flex;
    width: max-content;
    align-items: flex-end;
    gap: 0;
    padding: 14px 0 24px;
    will-change: transform;
    animation: heroShowcaseScroll 44s linear infinite;
  }
  .hero.hero-showcase .hero-showcase__marquee-shell:hover .hero-showcase__marquee-track {
    animation-play-state: paused;
  }
  .hero.hero-showcase .hero-showcase__rail {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    width: max-content;
    padding: 0 14px;
  }
  .hero.hero-showcase .hero-showcase__pair {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    flex: 0 0 auto;
    transform: translateY(var(--hero-pair-offset, 0));
    transform-origin: center bottom;
  }
  .hero.hero-showcase .hero-showcase__photo-card,
  .hero.hero-showcase .hero-showcase__claude-badge {
    flex: 0 0 auto;
    transform-origin: center bottom;
  }
  .hero.hero-showcase .hero-showcase__photo-card {
    transform: translateY(var(--hero-shift, 0)) rotate(var(--hero-tilt, 0deg));
    width: clamp(178px, 17.8vw, 258px);
    aspect-ratio: 0.84;
    overflow: hidden;
    border-radius: 24px;
    border: 6px solid rgba(255, 255, 255, 0.9);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 38px rgba(10, 10, 10, 0.18);
  }
  .hero.hero-showcase .hero-showcase__photo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--hero-focus, 50% 50%);
    display: block;
  }
  .hero.hero-showcase .hero-showcase__claude-badge {
    transform: translateY(var(--hero-offset, 0)) rotate(var(--hero-tilt, 0deg));
    width: clamp(56px, 5.6vw, 76px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    padding: 10px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 30px rgba(10, 10, 10, 0.16);
  }
  .hero.hero-showcase .hero-showcase__claude-mark {
    width: 100%;
    height: 100%;
    display: block;
  }
  @keyframes heroShowcaseScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }

  /* ===== BLOCS MASQUÉS DANS CETTE VERSION ===== */
  .mobile-sticky-cta {
    display: none !important;
  }

  /* ===== SECTION GALERIES (wrappers pour les 2 galeries atelier 1 + 2) ===== */
  .galleries {
    background: var(--violet);
    color: #fff;
    padding: 40px var(--section-space-x) 80px;
  }
  .galleries .gallery-block + .gallery-block {
    margin-top: 56px;
  }
  @media (max-width: 600px) {
    .galleries { padding: 24px var(--section-space-x) 56px; }
    .galleries .gallery-block + .gallery-block { margin-top: 40px; }
  }
  .share-wrap {
    margin-top: 44px;
  }

  @media (max-width: 900px) {
    .hero.hero-showcase {
      padding-top: 32px;
      background-size: 84px 84px;
    }
    .hero.hero-showcase .hero-showcase__lead {
      max-width: 560px;
    }
    .hero.hero-showcase .hero-showcase__offer-art {
      width: clamp(176px, 30vw, 260px);
      margin-bottom: 16px;
    }
    .hero.hero-showcase .hero-showcase__rail {
      gap: 14px;
    }
    .hero.hero-showcase .hero-showcase__pair {
      gap: 12px;
    }
    .hero.hero-showcase .hero-showcase__photo-card {
      width: clamp(156px, 25vw, 216px);
      border-radius: 20px;
      border-width: 5px;
    }
    .hero.hero-showcase .hero-showcase__claude-badge {
      width: clamp(50px, 8vw, 66px);
      padding: 9px;
      border-radius: 16px;
    }
  }

  @media (max-width: 600px) {
    .hero.hero-showcase {
      padding-top: 24px;
      background-size: 62px 62px;
    }
    .hero.hero-showcase .hero-showcase__container {
      padding: 0 16px;
    }
    .hero.hero-showcase .hero-showcase__title {
      font-size: clamp(32px, 9.8vw, 44px);
      line-height: 0.98;
    }
    .hero.hero-showcase .hero-showcase__lead {
      margin-top: 20px;
      font-size: 15px;
    }
    .hero.hero-showcase .hero-showcase__lead br {
      display: none;
    }
    .hero.hero-showcase .hero-showcase__meta {
      font-size: 15px;
      margin-bottom: 22px;
    }
    .hero.hero-showcase .hero-showcase__offer-art {
      width: min(210px, 62vw);
      margin-bottom: 14px;
    }
    .hero.hero-showcase .hero-showcase__cta {
      width: 100%;
      max-width: 320px;
      min-height: 54px;
      font-size: 14px;
      padding: 0 22px;
    }
    .hero.hero-showcase .hero-showcase__marquee-shell {
      margin-top: 28px;
      -webkit-mask-image: none;
      mask-image: none;
    }
    .hero.hero-showcase .hero-showcase__rail {
      gap: 12px;
      padding: 0 12px;
    }
    .hero.hero-showcase .hero-showcase__pair {
      gap: 10px;
    }
    .hero.hero-showcase .hero-showcase__photo-card {
      width: 148px;
      border-radius: 18px;
      border-width: 4px;
    }
    .hero.hero-showcase .hero-showcase__claude-badge {
      width: 46px;
      padding: 8px;
      border-radius: 14px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .hero.hero-showcase .hero-showcase__marquee-track {
      animation: none;
    }
  }

  /* ===== RÉSUMÉ (sizes/spacings d'AtelierIA2 — fontes & couleurs originales conservées) ===== */
  .resume {
    padding: 80px var(--section-space-x);
  }
  .resume .resume-inner {
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: center;
  }
  .resume .resume-copy { max-width: 100%; }
  .resume .resume-title {
    font-size: clamp(40px, 5vw, 64px);
    line-height: 0.95;
    letter-spacing: -0.03em;
    margin-bottom: 40px;
  }
  .resume .resume-text {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 12px;
  }
  .resume .resume-text strong {
    display: block;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.01em;
    margin: 20px 0 12px;
  }
  .resume .resume-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
  }
  .resume .resume-list li {
    position: relative;
    padding: 4px 0 4px 32px;
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
  }
  .resume .resume-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    width: 8px;
    height: 8px;
    background: var(--jaune, #DDFC4F);
    border-radius: 50%;
  }
  .resume .resume-media {
    width: 100%;
    max-width: 400px;
    justify-self: end;
  }

  @media (max-width: 900px) {
    .resume { padding: 60px var(--section-space-x); }
    .resume .resume-inner { grid-template-columns: 1fr; gap: 40px; }
    .resume .resume-media { max-width: 320px; margin: 0 auto; justify-self: center; }
    .resume .resume-title { margin-bottom: 20px; }
  }
  @media (max-width: 600px) {
    .resume { padding: 48px var(--section-space-x); }
    .resume .resume-text { font-size: 16px; }
    .resume .resume-text strong { font-size: 18px; margin: 16px 0 10px; }
    .resume .resume-list,
    .resume .resume-list li { font-size: 15px; }
    .resume .resume-list li { padding: 3px 0 3px 26px; }
    .resume .resume-list li::before { top: 11px; }
  }

  /* ===== TÉMOIGNAGES (carrousel + stats) — couleurs & fontes originales ===== */
  .testimonials {
    background: var(--violet);
    color: #fff;
    padding: 80px var(--section-space-x) 80px;
    position: relative;
    margin-top: -1px; /* évite la ligne blanche subpixel entre .resume et .testimonials */
  }
  .testimonials .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
  }
  .testimonials .testimonials-title {
    font-family: var(--font-title);
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: var(--jaune);
    text-align: center;
    margin: 0 0 16px;
  }
  .testimonials .testimonials-subtitle {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255,255,255,0.9);
    text-align: center;
    margin: 0 auto 50px;
    max-width: 600px;
  }

  .testimonials .carousel-wrapper {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
  }
  .testimonials .carousel-track-container {
    overflow: hidden;
    border-radius: 24px;
  }
  .testimonials .carousel-track {
    display: flex;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .testimonials .testimonial-slide {
    min-width: 100%;
    box-sizing: border-box;
    padding: 50px 60px;
    background: var(--jaune);
    text-align: center;
  }
  .testimonials .testimonial-quote-icon {
    font-family: var(--font-title);
    font-size: 90px;
    color: var(--noir);
    opacity: 0.15;
    line-height: 0.6;
    margin-bottom: 20px;
  }
  .testimonials .testimonial-text {
    font-family: var(--font-title);
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 700;
    color: var(--noir);
    line-height: 1.2;
    margin: 0 0 30px;
    letter-spacing: -0.02em;
  }
  .testimonials .testimonial-author {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
  }
  .testimonials .testimonial-author-name {
    display: block;
    max-width: 420px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--noir);
    line-height: 1.35;
    text-align: center;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }
  .testimonials .testimonial-author-role {
    font-family: var(--font-body);
    font-size: 12px;
    color: var(--noir);
    opacity: 0.7;
    letter-spacing: 0.03em;
  }

  .testimonials .carousel-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-top: 30px;
  }
  .testimonials .carousel-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--jaune);
    border: none;
    color: var(--noir);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
    padding: 0;
  }
  .testimonials .carousel-btn:hover { transform: scale(1.1); }
  .testimonials .carousel-btn svg { width: 18px; height: 18px; }
  .testimonials .carousel-dots {
    display: flex;
    gap: 8px;
    margin: 0 12px;
  }
  .testimonials .carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
  }
  .testimonials .carousel-dot.active {
    background: var(--jaune);
    width: 30px;
    border-radius: 100px;
  }

  .testimonials .testimonial-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    max-width: 900px;
    margin: 50px auto 0;
  }
  .testimonials .stat-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    min-height: 118px;
    padding: 24px;
    text-align: center;
  }
  .testimonials .stat-num {
    font-family: var(--font-title);
    font-size: 36px;
    font-weight: 800;
    color: var(--jaune);
    line-height: 1;
    margin-bottom: 6px;
  }
  .testimonials .stat-label {
    font-family: var(--font-body);
    font-size: 12px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
  }

  @media (max-width: 900px) {
    .testimonials { padding: 60px var(--section-space-x); }
    .testimonials .testimonials-subtitle { margin-bottom: 36px; }
  }
  @media (max-width: 600px) {
    .testimonials { padding: 48px var(--section-space-x); }
    .testimonials .carousel-wrapper { max-width: 380px; }
    .testimonials .carousel-track-container { border-radius: 20px; }
    .testimonials .testimonial-slide { padding: 30px 20px; }
    .testimonials .testimonial-quote-icon { font-size: 56px; margin-bottom: 10px; }
    .testimonials .testimonial-text {
      font-size: clamp(18px, 5.8vw, 24px);
      margin-bottom: 22px;
    }
    .testimonials .testimonial-author-name {
      max-width: 280px;
      font-size: 12px;
      letter-spacing: 0.04em;
    }
    .testimonials .carousel-controls { margin-top: 24px; }
    .testimonials .testimonial-stats {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
      margin-top: 40px;
    }
    .testimonials .stat-card {
      min-height: 94px;
      padding: 14px 8px;
      border-radius: 14px;
    }
    .testimonials .stat-num {
      font-size: clamp(22px, 6vw, 28px);
      margin-bottom: 4px;
    }
    .testimonials .stat-label {
      font-size: 9px;
      letter-spacing: 0.06em;
      line-height: 1.15;
    }
  }

  @media (max-width: 380px) {
    .testimonials .testimonial-stats { gap: 6px; }
    .testimonials .stat-card {
      min-height: 86px;
      padding: 12px 6px;
    }
    .testimonials .stat-num { font-size: 20px; }
    .testimonials .stat-label {
      font-size: 8px;
      letter-spacing: 0.05em;
    }
  }

  /* ===== MATÉRIEL (sizes/spacings d'AtelierIA2 — fontes & couleurs originales) ===== */
  .materiel {
    padding: 80px var(--section-space-x);
  }
  .materiel .sec-header {
    text-align: center;
    margin-bottom: 0;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
  }
  .materiel .sec-title {
    font-size: clamp(38px, 4.3vw, 58px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
    margin: 0 auto 24px;
    text-align: center;
    max-width: 100%;
    white-space: nowrap;
  }
  .materiel .sec-sub {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(10, 10, 10, 0.85);
    text-align: center;
    max-width: 700px;
    margin: 0 auto 32px;
  }
  .materiel .mat-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    width: 100%;
    max-width: 860px;
    margin: 40px auto 0;
  }
  .materiel .mat-card {
    background: #F5F5F5;
    border-radius: 24px;
    padding: 24px 26px;
    display: grid;
    grid-template-columns: 60px 1fr;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 4px;
    align-items: center;
    border: none;
    box-shadow: none;
    min-height: 0;
  }
  .materiel .mat-icon {
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
    border-radius: 14px;
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
    flex-shrink: 0;
  }
  .materiel .mat-icon img {
    width: 50%;
    height: 50%;
  }
  .materiel .mat-card-title {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--noir);
    margin: 0;
    letter-spacing: 0;
    max-width: 100%;
    grid-column: 2;
    grid-row: 1;
  }
  .materiel .mat-card-desc {
    font-size: 13px;
    line-height: 1.4;
    color: rgba(10, 10, 10, 0.7);
    margin: 0;
    max-width: 100%;
    grid-column: 2;
    grid-row: 2;
  }

  /* Bandeau marquee */
  .materiel .materiel-note-band {
    width: calc(100% + 2 * var(--section-space-x));
    margin: 40px 0 40px calc(-1 * var(--section-space-x));
    padding: 20px 0;
  }
  .materiel .materiel-note-track {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 600;
  }

  /* Cartes infos pratiques (Date / Lieu / Heure) */
  .materiel .materiel-bottom {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
    width: 100%;
    max-width: 1100px;
    margin: 40px auto 0;
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    flex-wrap: nowrap;
    overflow: visible;
  }
  .materiel .materiel-bottom-item {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 28px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    border-right: none !important;
    flex: initial;
  }
  .materiel .mb-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 12px;
    background: var(--noir);
    color: var(--jaune);
    flex-shrink: 0;
  }
  .materiel .mb-icon svg {
    width: 22px;
    height: 22px;
  }
  .materiel .mb-text { gap: 4px; }
  .materiel .materiel-bottom-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(10, 10, 10, 0.6);
    line-height: 1;
    margin-bottom: 4px;
  }
  .materiel .materiel-bottom-value {
    font-size: 17px;
    font-weight: 800;
    color: var(--noir);
    line-height: 1.2;
    white-space: normal;
  }

  @media (max-width: 900px) {
    .materiel { padding: 60px var(--section-space-x); }
    .materiel .mat-cards { gap: 16px; }
    .materiel .sec-title { white-space: normal; }
    .materiel .mat-card,
    .materiel .materiel-bottom-item { padding: 22px; }
  }
  @media (max-width: 600px) {
    .materiel { padding: 48px var(--section-space-x); }
    .materiel .mat-cards { grid-template-columns: 1fr; gap: 12px; }
    .materiel .materiel-bottom { grid-template-columns: 1fr; gap: 12px; }
    .materiel .mat-card,
    .materiel .materiel-bottom-item { padding: 20px; gap: 14px; }
    .materiel .mat-icon { width: 48px; height: 48px; min-width: 48px; min-height: 48px; border-radius: 12px; }
    .materiel .materiel-note-track { font-size: 15px; }
  }

  /* ===== PROGRAMME (sizes/spacings d'AtelierIA2 — fontes & couleurs originales) ===== */
  .programme {
    padding: 80px var(--section-space-x);
  }
  .programme .sec-title {
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: var(--noir);
    text-align: center;
    margin: 0 auto 24px;
    max-width: 100%;
  }
  .programme .prog-list {
    max-width: 800px;
    width: 100%;
    margin: 40px auto 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .programme .prog-item {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 20px;
    align-items: center;
    border-radius: 100px;
    padding: 16px 28px;
    box-shadow: none;
    transition: transform 0.2s ease;
  }
  .programme .prog-item:hover {
    transform: translateX(8px);
    box-shadow: none;
  }
  .programme .prog-badge {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 50%;
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
  }
  .programme .prog-content { flex: initial; min-width: 0; }
  .programme .prog-title {
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 2px;
  }
  .programme .prog-sub {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    opacity: 0.75;
  }
  /* Garde l'alternance noir/jaune-bordé d'origine, mais sans le décalage box-shadow
     (style AtelierIA2 = aplat) */
  .programme .prog-item--2,
  .programme .prog-item--4 {
    box-shadow: none;
  }

  @media (max-width: 900px) {
    .programme { padding: 60px var(--section-space-x); }
    .programme .prog-item { padding: 14px 22px; gap: 16px; grid-template-columns: 48px 1fr; }
    .programme .prog-badge { width: 40px; height: 40px; min-width: 40px; font-size: 16px; }
    .programme .prog-title { font-size: 16px; }
  }
  @media (max-width: 600px) {
    .programme { padding: 48px var(--section-space-x); }
    .programme .prog-list { gap: 10px; }
    .programme .prog-item { padding: 12px 18px; gap: 14px; grid-template-columns: 40px 1fr; }
    .programme .prog-badge { width: 36px; height: 36px; min-width: 36px; font-size: 15px; }
    .programme .prog-title { font-size: 15px; }
    .programme .prog-sub { font-size: 12px; }
  }

  /* ===== COMPTE À REBOURS (forme & contenu d'AtelierIA2 — fontes/couleurs originales) ===== */
  .countdown-section {
    background: #fff;
    padding: 60px var(--section-space-x);
    display: block;
  }
  .countdown-section .cd-container {
    max-width: 900px;
    margin: 0 auto;
  }
  .countdown-section .cd-card {
    background: #fff;
    text-align: center;
    padding: 60px 40px;
    border: 2px solid #F5F5F5;
    border-radius: 32px;
  }
  .countdown-section .cd-tag {
    display: inline-block;
    background: var(--jaune);
    color: var(--noir);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 100px;
    margin-bottom: 16px;
  }
  .countdown-section .cd-title {
    font-family: var(--font-title);
    font-size: clamp(24px, 3.5vw, 36px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--noir);
    margin: 0 0 32px;
  }
  .countdown-section .cd-grid {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 16px;
    flex-wrap: nowrap;
    margin: 0 0 16px;
    grid-template-columns: none;
  }
  .countdown-section .cd-cell {
    background: #F5F5F5;
    border: none;
    border-radius: 20px;
    padding: 20px 28px;
    min-width: 100px;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    transition: none;
  }
  .countdown-section .cd-cell:hover {
    transform: none;
    box-shadow: none;
  }
  .countdown-section .cd-num {
    font-family: var(--font-title);
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
    color: var(--noir);
  }
  .countdown-section .cd-label {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(10, 10, 10, 0.6);
    margin-top: 8px;
  }
  .countdown-section .cd-foot {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.4;
    color: rgba(10, 10, 10, 0.7);
    margin: 0;
  }

  @media (max-width: 900px) {
    .countdown-section { padding: 48px var(--section-space-x); }
    .countdown-section .cd-card { padding: 48px 32px; }
    .countdown-section .cd-cell { padding: 18px 22px; min-width: 88px; }
    .countdown-section .cd-num { font-size: 40px; }
  }
  @media (max-width: 600px) {
    .countdown-section { padding: 40px var(--section-space-x); }
    .countdown-section .cd-card { padding: 36px 20px; border-radius: 24px; }
    .countdown-section .cd-grid { gap: 10px; }
    .countdown-section .cd-cell { padding: 16px 14px; min-width: 70px; border-radius: 16px; }
    .countdown-section .cd-num { font-size: 32px; }
    .countdown-section .cd-label { font-size: 10px; letter-spacing: 0.12em; }
    .countdown-section .cd-title { margin-bottom: 24px; }


/* ===== COUNTDOWN MOBILE : 1 SEULE LIGNE ===== */
@media (max-width: 600px) {
  .countdown-section .cd-grid { flex-wrap: nowrap !important; gap: 6px; }
  .countdown-section .cd-cell { padding: 12px 8px; min-width: 0; flex: 1; border-radius: 14px; }
  .countdown-section .cd-num  { font-size: 26px; }
  .countdown-section .cd-label { font-size: 8px; letter-spacing: 0.08em; margin-top: 4px; }
}
