/* ==========================================================
   READY TO ROCK — site vitrine, mode fond clair
   6 couleurs officielles uniquement :
   #0b0809 #1a2835 #153455 #6d7c90 #d6d7d8 #f9b000
   #ffffff toléré pour titres sur fond bleu sombre.
   ========================================================== */

:root{
  --black:#0b0809;
  --dark-blue:#1a2835;
  --navy:#153455;
  --blue-gray:#6d7c90;
  --offwhite:#d6d7d8;
  --gold:#f9b000;
  --grad-blue:linear-gradient(135deg,#153455 0%,#1a2835 50%,#0b0809 100%);
  --grad-blue-150:linear-gradient(150deg,#153455 0%,#1a2835 50%,#0b0809 100%);
  --grad-gray:radial-gradient(ellipse at center,#d6d7d8 0%,#6d7c90 100%);
  --shadow-card:0 18px 50px -24px rgba(11,8,9,0.18);
  --shadow-card-lg:0 30px 80px -30px rgba(11,8,9,0.28);
  --r:14px;
  --r-lg:22px;
  --max:1240px;
  --gutter:clamp(20px,4vw,48px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;overflow-y:scroll;max-width:100%}
body{
  margin:0;
  background:var(--offwhite);
  color:var(--black);
  overflow-x:clip;
  max-width:100%;
  font-family:'Quicksand',system-ui,sans-serif;
  font-weight:500;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}

/* ============== TYPO ============== */
h1,h2,h3,h4,h5{margin:0}
.h1,h1{
  font-family:'Barlow',sans-serif;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-0.01em;
  line-height:1;
  color:#ffffff;
}
.h2-light,h2{
  font-family:'Barlow',sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-0.005em;
  line-height:1.05;
  color:var(--navy);
}
h2.on-dark,.h2-dark{color:#ffffff}
h3{
  font-family:'Barlow',sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-0.005em;
  color:var(--navy);
}
h3.on-dark{color:#ffffff}
.eyebrow{
  font-family:'Jura',sans-serif;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.22em;
  font-size:12px;
  color:var(--blue-gray);
  margin:0 0 18px;
  display:inline-flex;
  align-items:center;
  gap:14px;
}
.eyebrow::before{
  content:"";
  width:32px;height:1px;background:var(--blue-gray);
}
.eyebrow.on-dark{color:var(--offwhite)}
.eyebrow.on-dark::before{background:rgba(214,215,216,0.4)}
p{margin:0 0 14px;font-size:16px;color:var(--black)}
p.on-dark{color:var(--offwhite)}
.muted{color:var(--blue-gray)}
em{font-style:italic;color:var(--blue-gray)}
strong{color:var(--navy)}
.on-dark strong{color:#ffffff}
/* em (aparté en italique) sur fond sombre : le bleu-gris par défaut est illisible
   sur le dégradé bleu/noir → on le passe en offwhite pour rester lisible. */
.on-dark em,.section-blue em{color:var(--offwhite)}

/* ============== BUTTONS ============== */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Jura',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:0.14em;font-size:13px;
  padding:16px 26px;border-radius:999px;
  cursor:pointer;border:1px solid transparent;
  transition:transform .25s ease,box-shadow .25s ease,background .25s,color .25s;
  white-space:nowrap;
}
.btn-arrow{width:16px;height:16px;flex-shrink:0}
.btn-gold{background:var(--gold);color:var(--black)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(249,176,0,0.5)}
.btn-navy{background:var(--navy);color:#ffffff}
.btn-navy:hover{background:var(--dark-blue)}
.btn-outline{background:transparent;color:var(--navy);border-color:rgba(21,52,85,0.25)}
.btn-outline:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.btn-outline.on-dark{color:#fff;border-color:rgba(214,215,216,0.3)}
.btn-outline.on-dark:hover{background:#fff;color:var(--navy);border-color:#fff}

/* ============== LAYOUT ============== */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.section{padding:clamp(44px,5vw,74px) 0;position:relative}
.section-light{background:var(--offwhite)}
.section-page{background:#ffffff}
.section-blue{background:var(--grad-blue);color:var(--offwhite)}
.section-divider{height:1px;width:100%;background:rgba(109,124,144,0.2)}

.section-head{max-width:780px;margin-bottom:64px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}
.section-head h2{font-size:clamp(32px,4.4vw,52px);margin-bottom:18px;letter-spacing:-0.02em;line-height:1.04}
.section-head p{font-size:17px;color:var(--black);max-width:620px;line-height:1.6}
.section-head p.on-dark,
.section-head.on-dark p{color:var(--offwhite)}
.section-blue .section-head p,
.section-blue p:not(.muted){color:var(--offwhite)}
.section-head.center p{margin-left:auto;margin-right:auto}

/* ============== HEADER ============== */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:50;
  padding:9px 0; /* compact par défaut sur toutes les pages (look "Formation pro scrollé") */
  background:rgba(214,215,216,0.7);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid rgba(109,124,144,0.2);
  transition:background .25s ease,padding .25s ease,box-shadow .25s ease;
}
.site-header.is-scrolled{
  background:rgba(214,215,216,0.92);
  padding:8px 0;
  box-shadow:0 6px 24px -16px rgba(11,8,9,0.25);
}
.nav-links.is-open{
  display:flex;flex-direction:column;
  position:absolute;top:100%;right:var(--gutter);
  background:#ffffff;border-radius:var(--r);
  padding:14px;gap:6px;
  box-shadow:0 18px 50px -16px rgba(11,8,9,0.25);
  border:1px solid rgba(109,124,144,0.15);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{
  display:flex;align-items:center;gap:12px;
  font-family:'Barlow',sans-serif;
  font-weight:900;text-transform:uppercase;letter-spacing:0.06em;
  font-size:15px;color:var(--navy);white-space:nowrap;
}
/* Logo officiel Ready to Rock — rond noir avec brush-script blanc.
   Toujours utilisé en image, jamais le texte "RTR". */
.brand-mark{
  width:44px;height:44px;border-radius:50%;
  display:block;object-fit:contain;
  background:transparent;flex-shrink:0;
  box-shadow:0 4px 12px -4px rgba(11,8,9,0.3);
}
.nav-links{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.nav-links a{
  font-family:'Jura',sans-serif;font-weight:600;
  font-size:12px;text-transform:uppercase;letter-spacing:0.14em;
  padding:10px 14px;border-radius:999px;
  color:var(--navy);transition:.2s;
  white-space:nowrap; /* un libellé ne passe jamais sur 2 lignes → header toujours 63px, identique sur toutes les pages */
}
.nav-links a:hover{color:var(--black);background:rgba(21,52,85,0.06)}
.nav-links a.active{color:var(--black);background:rgba(21,52,85,0.08)}
/* La zone CTA droite a une largeur FIXE (= largeur du bouton standard "Session gratuite")
   pour que les 7 liens du menu soient TOUJOURS à la même position horizontale, quelle que
   soit la longueur du texte du bouton (ex. "Découvrir le programme" sur Formation pro).
   Le bouton garde sa largeur naturelle et déborde dans la marge à sa gauche, sans pousser
   les liens. → menu identique sur toutes les pages, sans toucher au texte des boutons. */
.nav-cta{display:flex;gap:10px;align-items:center;flex:0 0 168px;min-width:0;justify-content:flex-end}
.nav-cta .btn{padding:11px 18px;font-size:11px;flex-shrink:0}
.menu-toggle{
  display:none;
  background:#ffffff;
  border:1px solid rgba(21,52,85,0.2);
  width:44px;height:44px;border-radius:50%;
  cursor:pointer;color:var(--navy);
  position:relative;
  z-index:60;
  transition:background .25s ease,border-color .25s ease;
}
.menu-toggle svg{transition:opacity .25s ease,transform .25s ease}
.menu-toggle .icon-close{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);opacity:0}
.menu-toggle.is-open{background:var(--navy);border-color:var(--navy);color:#ffffff}
.menu-toggle.is-open .icon-burger{opacity:0;transform:rotate(90deg)}
.menu-toggle.is-open .icon-close{opacity:1;transform:translate(-50%,-50%) rotate(0)}
/* Desktop étroit (980–1180px) : on resserre UNIQUEMENT les espacements de la nav
   (jamais la taille de police) pour que le menu tienne sur une seule ligne sur
   TOUTES les pages, y compris Formation pro dont le bouton CTA est plus large.
   Au-dessus de 1180px le menu garde ses espacements d'origine. */
@media (max-width:1180px){
  .nav{gap:12px}
  .nav-links{gap:2px}
  .nav-links a{padding-left:8px;padding-right:8px}
  .nav-cta .btn{padding-left:13px;padding-right:13px}
}
/* Tout en bas du desktop (≤1024px, juste avant le menu mobile) : un cran plus serré
   pour que même Formation pro (bouton le plus large) garde son menu aligné sans que
   le bouton ne chevauche le dernier lien, jusqu'au seuil mobile. */
@media (max-width:1024px){
  .nav{gap:8px}
  .nav-links{gap:1px}
  .nav-links a{padding-left:6px;padding-right:6px}
  .nav-cta .btn{padding-left:9px;padding-right:9px}
}
@media (max-width:980px){
  .nav-links,.nav-cta .btn-outline,.nav-cta .btn-navy{display:none}
  .menu-toggle{display:grid;place-items:center}
}

/* ============== MOBILE DRAWER (full-screen overlay) ============== */
.mobile-drawer{
  position:fixed;inset:0;z-index:55;
  background:var(--grad-blue);
  display:flex;flex-direction:column;
  padding:96px 28px 32px;
  opacity:0;pointer-events:none;
  transform:translateY(-12px) scale(.98);
  transition:opacity .35s cubic-bezier(.2,.7,.2,1),transform .35s cubic-bezier(.2,.7,.2,1);
  overflow-y:auto;
}
.mobile-drawer.is-open{
  opacity:1;pointer-events:auto;
  transform:translateY(0) scale(1);
}
.mobile-drawer::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:
    linear-gradient(rgba(214,215,216,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(214,215,216,0.04) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 80%);
  pointer-events:none;
}
.mobile-drawer-inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:0;
  flex:1;
  max-width:520px;margin:0 auto;width:100%;
}
.mobile-drawer .eyebrow{
  color:var(--blue-gray);
  margin-bottom:18px;justify-content:flex-start;
}
.mobile-drawer .eyebrow::before{background:var(--blue-gray)}
.mobile-drawer-links{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;
}
.mobile-drawer-links li{
  border-bottom:1px solid rgba(214,215,216,0.12);
  opacity:0;transform:translateY(12px);
  transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1);
}
.mobile-drawer.is-open .mobile-drawer-links li{
  opacity:1;transform:translateY(0);
}
.mobile-drawer.is-open .mobile-drawer-links li:nth-child(1){transition-delay:.08s}
.mobile-drawer.is-open .mobile-drawer-links li:nth-child(2){transition-delay:.14s}
.mobile-drawer.is-open .mobile-drawer-links li:nth-child(3){transition-delay:.20s}
.mobile-drawer.is-open .mobile-drawer-links li:nth-child(4){transition-delay:.26s}
.mobile-drawer.is-open .mobile-drawer-links li:nth-child(5){transition-delay:.32s}
.mobile-drawer.is-open .mobile-drawer-links li:nth-child(6){transition-delay:.38s}
.mobile-drawer.is-open .mobile-drawer-links li:nth-child(7){transition-delay:.44s}
.mobile-drawer-links a{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 4px;
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:24px;text-transform:uppercase;letter-spacing:-0.005em;
  color:#ffffff;
  transition:color .25s ease,padding-left .25s ease;
}
.mobile-drawer-links a::after{
  content:"→";font-size:22px;color:var(--blue-gray);
  font-family:'Quicksand',sans-serif;font-weight:600;
  transition:transform .25s ease,color .25s ease;
}
.mobile-drawer-links a:hover,
.mobile-drawer-links a:focus,
.mobile-drawer-links a.active{padding-left:8px;color:var(--gold)}
.mobile-drawer-links a:hover::after,
.mobile-drawer-links a.active::after{color:var(--gold);transform:translateX(6px)}
.mobile-drawer-num{
  font-family:'Jura',sans-serif;font-weight:600;
  font-size:11px;letter-spacing:0.18em;
  color:var(--blue-gray);
  margin-right:14px;
  flex-shrink:0;
}
.mobile-drawer-cta{
  margin-top:32px;
  display:flex;flex-direction:column;gap:12px;
}
.mobile-drawer-cta .btn{justify-content:center;font-size:14px;padding:18px 26px}
.mobile-drawer-foot{
  margin-top:auto;padding-top:32px;
  display:flex;flex-direction:column;gap:14px;
  font-family:'Jura',sans-serif;font-size:11px;
  text-transform:uppercase;letter-spacing:0.22em;
  color:var(--blue-gray);
}
.mobile-drawer-foot a{color:var(--offwhite);opacity:0.7;transition:opacity .2s}
.mobile-drawer-foot a:hover{opacity:1}
.mobile-drawer-social{display:flex;gap:10px;margin-top:6px}
.mobile-drawer-social a{
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(214,215,216,0.08);
  border:1px solid rgba(214,215,216,0.18);
  color:var(--offwhite);
  transition:background .2s,color .2s;
}
.mobile-drawer-social a:hover{background:#ffffff;color:var(--navy)}
.mobile-drawer-social svg{width:16px;height:16px}

body.drawer-open{overflow:hidden}

/* ============== HERO ============== */
.hero{
  position:relative;min-height:100vh;
  padding:120px 0 60px;
  background:var(--grad-blue);
  color:var(--offwhite);overflow:hidden;
  isolation:isolate;
}
/* immersive backdrop image */
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background-position:center 30%;
  background-size:cover;
  background-repeat:no-repeat;
  /* slight zoom-out then settle on load */
  transform:scale(1.08);
  transition:transform 1.6s cubic-bezier(.2,.7,.2,1),filter 1.6s cubic-bezier(.2,.7,.2,1);
  filter:saturate(1.1);
}
.hero.in .hero-bg{transform:scale(1.02)}
.hero-bg::after{
  /* navy gradient overlay → keeps the brand mood */
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(120deg, rgba(11,8,9,0.88) 0%, rgba(21,52,85,0.78) 45%, rgba(21,52,85,0.55) 100%),
    radial-gradient(ellipse 60% 80% at 80% 50%, rgba(11,8,9,0) 0%, rgba(11,8,9,0.55) 100%);
  pointer-events:none;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background-image:
    linear-gradient(rgba(214,215,216,0.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(214,215,216,0.06) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%,#000 30%,transparent 80%);
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.2fr 0.8fr;gap:64px;align-items:center;
  min-height:calc(100vh - 180px);
}
.hero-inner > *{min-width:0} /* empêche les rôles longs (nowrap) d'étirer la colonne texte et de rétrécir la vidéo */
@media (max-width:1000px){.hero-inner{grid-template-columns:1fr;gap:40px;min-height:0}}
.hero-scroll{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:10px;text-transform:uppercase;letter-spacing:0.3em;
  color:rgba(214,215,216,0.6);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  pointer-events:none;
}
.hero-scroll::after{
  content:"";width:1px;height:38px;
  background:linear-gradient(180deg,rgba(214,215,216,0.5),transparent);
  animation:scrollPulse 2.4s ease-in-out infinite;
}
@keyframes scrollPulse{
  0%,100%{transform:scaleY(1);transform-origin:top;opacity:.5}
  50%{transform:scaleY(.4);transform-origin:bottom;opacity:1}
}
.hero h1{font-size:clamp(40px,6.4vw,82px);margin-bottom:20px}
.hero h1 em{font-style:italic;color:var(--offwhite);font-weight:800}

/* ============== CONF INTRO (split texte + photo Gran Canaria) ============== */
.conf-intro{
  display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center;
  margin-bottom:56px;
}
.conf-intro-text{max-width:620px}
.conf-intro-text .eyebrow{margin-bottom:18px}
.conf-intro-photo{
  aspect-ratio:3/4;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 30px 60px -28px rgba(11,8,9,0.35);
  border:1px solid rgba(109,124,144,0.18);
}
.conf-intro-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:1000px){.conf-intro{grid-template-columns:1fr 320px;gap:36px}}
@media (max-width:760px){
  .conf-intro{grid-template-columns:1fr;gap:28px}
  .conf-intro-photo{max-width:340px;justify-self:start}
}

/* ============== TIMELINE WITH PHOTOS ============== */
/* Layout : [PHOTO 200px] · ligne verticale · [point + NUMÉRO] · [CARTE 1fr]
   NB : sélecteurs à 2 classes (.timeline.timeline--with-photos) pour battre la
   spécificité des règles de base .timeline::before / .timeline-step::before
   définies plus bas dans le fichier (sinon la ligne resterait collée à gauche). */
.timeline.timeline--with-photos{max-width:980px;padding-left:0}
.timeline.timeline--with-photos::before{left:256px}            /* ligne verticale à DROITE de la photo (240px) */
.timeline--with-photos .timeline-step{
  grid-template-columns:240px 80px 1fr;                        /* photo +20%, carte plus étroite */
  gap:28px;
  padding-left:0;
  align-items:start;
}
.timeline--with-photos .timeline-step::before{left:249px;top:16px}  /* point centré sur la ligne, à GAUCHE du numéro */
.timeline--with-photos .timeline-year{padding-left:12px}            /* numéro décalé à droite du point */
.timeline-photo{
  aspect-ratio:4/3;border-radius:10px;overflow:hidden;
  align-self:start;background:rgba(109,124,144,0.06);
  opacity:0.78;filter:saturate(0.85);
  transition:opacity .35s ease,filter .35s ease,transform .35s ease;
}
.timeline-photo:hover{opacity:1;filter:saturate(1);transform:translateY(-2px)}
.timeline-photo img{width:100%;height:100%;object-fit:cover;display:block}
.timeline-photo:empty{visibility:hidden}
@media (max-width:1000px){
  .timeline.timeline--with-photos{max-width:none}
  .timeline.timeline--with-photos::before{left:204px}
  .timeline--with-photos .timeline-step{grid-template-columns:190px 68px 1fr;gap:24px}
  .timeline--with-photos .timeline-step::before{left:197px}
}
@media (max-width:760px){
  .timeline.timeline--with-photos::before{left:14px}
  .timeline--with-photos .timeline-step{grid-template-columns:1fr;gap:10px;padding-left:32px}
  .timeline--with-photos .timeline-step::before{left:8px}
  .timeline--with-photos .timeline-year{padding-left:0}
  .timeline-photo:empty{display:none}
  .timeline-photo{max-width:300px}
}

/* H1 a-propos réduit pour que "BONJOUR ! JE SUIS" tienne sur 1 ligne entre marge et vidéo
   (vw-based → reste sur 1 ligne à toutes les largeurs desktop/laptop) */
.hero-apropos h1{font-size:clamp(32px,4.4vw,62px)}
@media (max-width:760px){.hero-apropos h1{font-size:clamp(30px,8vw,46px)}}

/* ============== ROLE ROTATE (H1 mot rotatif — a-propos hero, technique kinetic) ============== */
/* inline-grid : tous les mots empilés dans la même cellule → le conteneur se
   dimensionne sur le mot le plus large, donc ZÉRO décalage de layout. Roll
   vertical en CSS pur (pas de JS), 6 mots décalés sur un cycle de 13.2s. */
.role-rotate{
  display:inline-grid;
  vertical-align:0.1em;
  font-size:0.69em;
  line-height:.9;
  max-width:100%;
}
.role-rotate .role-word{
  grid-area:1/1;justify-self:start;
  font-style:italic;color:var(--offwhite);font-weight:800;
  white-space:nowrap;
  opacity:0;transform:translateY(0.6em);
  animation:roleCycle 22s cubic-bezier(.2,.7,.2,1) infinite;
}
.role-rotate .role-word:nth-child(1){animation-delay:0s}
.role-rotate .role-word:nth-child(2){animation-delay:2.2s}
.role-rotate .role-word:nth-child(3){animation-delay:4.4s}
.role-rotate .role-word:nth-child(4){animation-delay:6.6s}
.role-rotate .role-word:nth-child(5){animation-delay:8.8s}
.role-rotate .role-word:nth-child(6){animation-delay:11s}
.role-rotate .role-word:nth-child(7){animation-delay:13.2s}
.role-rotate .role-word:nth-child(8){animation-delay:15.4s}
.role-rotate .role-word:nth-child(9){animation-delay:17.6s}
.role-rotate .role-word:nth-child(10){animation-delay:19.8s}
@keyframes roleCycle{
  0%{opacity:0;transform:translateY(0.6em)}
  2%,8%{opacity:1;transform:translateY(0)}
  10%,100%{opacity:0;transform:translateY(-0.6em)}
}
@media (prefers-reduced-motion:reduce){
  .role-rotate .role-word{animation:none}
  .role-rotate .role-word:nth-child(1){opacity:1;transform:none}
}
.hero-sub{
  font-family:'Jura',sans-serif;font-weight:500;
  font-size:clamp(17px,1.5vw,21px);
  color:var(--offwhite);
  margin:14px 0 36px;line-height:1.5;max-width:560px;
}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:600px}
.hero-stat{border-left:2px solid rgba(214,215,216,0.4);padding:6px 0 6px 16px}
.hero-stat-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:30px;color:#fff;line-height:1;
  display:flex;align-items:baseline;gap:4px;
}
.hero-stat-num small{font-size:16px;color:var(--offwhite);opacity:.7;font-weight:700}
.hero-stat-label{
  font-family:'Jura',sans-serif;font-size:13px;
  text-transform:uppercase;letter-spacing:0.14em;line-height:1.45;
  color:var(--blue-gray);margin-top:6px;
}
@media (max-width:560px){.hero-stats{grid-template-columns:1fr}}
/* Stat unique avec anneaux olympiques (illustration monochrome, respecte la charte) */
.hero-stats--solo{display:flex;grid-template-columns:none;max-width:none}
.hero-stat--olympic{border-left:0;padding:0;display:flex;flex-direction:row;align-items:center;gap:18px}
.olympic-rings{width:74px;height:auto;display:block;flex-shrink:0;margin:0}
.olympic-rings circle{fill:none;stroke:var(--offwhite);stroke-width:5;opacity:.9}
.hero-stat--olympic .hero-stat-num{font-size:46px}
.hero-stat--olympic .hero-stat-label{font-size:13px;color:var(--offwhite);margin-top:4px;max-width:210px}
.hero-stats.hero-stats-4{grid-template-columns:0.78fr 0.92fr 1.05fr 1.55fr;max-width:none;gap:14px;align-items:start}
.hero-stats.hero-stats-4 .hero-stat{padding:4px 0 4px 12px}
.hero-stats.hero-stats-4 .hero-stat-num{font-size:26px;white-space:nowrap}
.hero-stats.hero-stats-4 .hero-stat-num small{font-size:13px}
.hero-stats.hero-stats-4 .hero-stat-label{font-size:12px;letter-spacing:0.08em;line-height:1.45}
@media (max-width:760px){.hero-stats.hero-stats-4{grid-template-columns:repeat(2,1fr);max-width:560px;gap:24px}}
@media (max-width:480px){.hero-stats.hero-stats-4{grid-template-columns:1fr}}

/* ===== Bande "chiffres clés" — déplacée depuis la hero coaching, bleu plein de la charte ===== */
/* dégradé charte inversé : noir en haut à gauche → bleu navy en bas à droite */
.stats-band{padding:clamp(26px,3vw,40px) 0;background:linear-gradient(135deg,#0b0809 0%,#1a2835 50%,#153455 100%)}
.stats-band-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(18px,2.6vw,38px);
  max-width:760px;margin:0 auto;
}
.stats-band-item{
  border-left:2px solid rgba(214,215,216,0.28);
  padding:4px 0 4px clamp(13px,1.5vw,18px);
}
.stats-band-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:clamp(26px,3.1vw,36px);color:#ffffff;line-height:1;
  display:flex;align-items:baseline;gap:4px;
}
.stats-band-num small{
  font-family:'Barlow',sans-serif;font-weight:700;
  font-size:0.42em;color:var(--offwhite);opacity:.7;
}
.stats-band-label{
  font-family:'Jura',sans-serif;font-size:12px;font-weight:500;
  text-transform:uppercase;letter-spacing:0.12em;line-height:1.45;
  color:var(--offwhite);opacity:.82;margin-top:9px;max-width:200px;
}
@media (max-width:760px){
  .stats-band-grid{grid-template-columns:1fr;gap:16px;max-width:360px}
  .stats-band-label{max-width:none}
}

.hero-visual{
  position:relative;aspect-ratio:4/5;
  border-radius:var(--r-lg);overflow:hidden;
  background:rgba(214,215,216,0.06);
  border:1px solid rgba(214,215,216,0.18);
  box-shadow:0 30px 80px -20px rgba(11,8,9,0.7);
  display:grid;place-items:center;
  transform:translateY(28px) scale(.96);
  opacity:0;
  transition:transform 1s cubic-bezier(.2,.7,.2,1) .15s,opacity 1s ease .15s,box-shadow .4s ease;
}
.hero.in .hero-visual{transform:translateY(0) scale(1);opacity:1}
.hero-visual img,.hero-visual video{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hero-visual:hover img,.hero-visual:hover video{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.hero-visual video{display:none}}
.hero-visual::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,transparent 40%,rgba(11,8,9,0.55) 100%);
  pointer-events:none;
}
.hero-visual-tag{
  position:absolute;left:22px;bottom:22px;z-index:2;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;text-transform:uppercase;letter-spacing:0.2em;
  color:#ffffff;
}
.hero-visual-tag::before{
  content:"";display:inline-block;width:24px;height:1px;
  background:#ffffff;margin-right:12px;vertical-align:middle;
}
/* Hero visual cliquable → témoignage YouTube (page parent).
   Chip verre dépoli blanc : pas de jaune (règle des 3 zones gold déjà atteinte sur la page). */
.hero-visual--link{display:block;cursor:pointer}
.hero-visual--link:focus-visible{outline:3px solid #ffffff;outline-offset:4px}
.video-chip{
  position:absolute;left:50%;bottom:20px;z-index:3;
  transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px 9px 13px;border-radius:999px;
  background:rgba(11,8,9,0.52);
  -webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);
  border:1px solid rgba(255,255,255,0.24);
  box-shadow:0 10px 28px -12px rgba(11,8,9,0.65);
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:12.5px;text-transform:uppercase;letter-spacing:0.08em;
  color:#ffffff;white-space:nowrap;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),background .4s ease,border-color .4s ease;
}
.video-chip svg{width:14px;height:14px;flex-shrink:0}
.hero-visual--link:hover .video-chip,
.hero-visual--link:focus-visible .video-chip{
  transform:translateX(-50%) translateY(-3px);
  background:rgba(11,8,9,0.7);
  border-color:rgba(255,255,255,0.5);
}
@media (max-width:1000px){.video-chip{bottom:16px;font-size:11.5px}}
/* Hero visual — version DÉCOUPE (cutout transparent), ex. page coaching :
   pas de cadre, le sujet détouré se pose en bas, devant l'image de fond. */
.hero-visual--cutout{
  aspect-ratio:auto;
  background:none;border:none;border-radius:0;box-shadow:none;overflow:visible;
  display:block;align-self:stretch;
}
.hero-visual--cutout::after{display:none}
.hero-visual--cutout picture{display:block;width:100%;height:100%}
.hero-visual--cutout img{
  width:100%;height:100%;
  object-fit:contain;object-position:bottom center;
  filter:drop-shadow(0 26px 48px rgba(11,8,9,0.55));
}
@media (max-width:1000px){
  .hero-visual--cutout{align-self:center}
  .hero-visual--cutout img{max-height:60vh}
}

/* ============== TRUST STRIP ============== */
.trust-strip{
  background:#ffffff;
  border-top:1px solid rgba(109,124,144,0.2);
  border-bottom:1px solid rgba(109,124,144,0.2);
  padding:32px 0;overflow:hidden;
}
.trust-label{
  font-family:'Jura',sans-serif;font-weight:600;
  font-size:11px;text-transform:uppercase;letter-spacing:0.22em;
  color:var(--blue-gray);text-align:center;margin-bottom:24px;
}
.marquee{display:flex;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.marquee-track{display:flex;gap:56px;animation:marquee 40s linear infinite;flex-shrink:0;padding-right:56px}
@keyframes marquee{to{transform:translateX(-50%)}}
.marquee-item{
  font-family:'Barlow',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:0.06em;
  font-size:18px;color:var(--navy);
  white-space:nowrap;display:flex;align-items:center;gap:18px;opacity:0.55;
}
.marquee-item::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue-gray)}

/* Bandeau "sports accompagnés" (page sportif) — version PREMIUM :
   dégradé noir de la charte (#1a2835 -> #0b0809), sports écrits en clair.
   Défile vif → effet liste énorme. */
.sports-strip{
  background:linear-gradient(135deg,#1a2835 0%,#0b0809 62%,#0b0809 100%);
  border-top:1px solid rgba(214,215,216,0.06);
  border-bottom:1px solid rgba(214,215,216,0.06);
  padding:30px 0;
}
.sports-strip .trust-label{color:var(--blue-gray);margin-bottom:16px}
.sports-strip .marquee-track{animation-duration:44s;gap:48px;padding-right:48px}
.sports-strip .marquee-item{
  font-size:22px;font-weight:800;
  color:#ffffff;
  opacity:1;
  letter-spacing:0.03em;
  gap:48px;
}
.sports-strip .marquee-item::after{width:6px;height:6px;background:rgba(255,255,255,0.32)}
@media (prefers-reduced-motion:reduce){
  .sports-strip .marquee-track{animation:none;transform:none}
}

/* ===== Bloc unifié "chiffres + sports" (page sportif) : un seul fond, plus de couture ===== */
.stats-sports{
  background:linear-gradient(135deg,#0b0809 0%,#1a2835 50%,#153455 100%);
  color:var(--offwhite);
  padding:clamp(26px,3vw,40px) 0 clamp(24px,2.8vw,36px);
  overflow:hidden;
}
/* la partie "sports" se fond dans le bloc : on retire son fond/bordures propres */
.stats-sports .sports-strip{
  background:none;border:none;
  margin-top:clamp(20px,2.4vw,30px);
  padding:clamp(20px,2.2vw,28px) 0 0;
  position:relative;
}
/* fin filet centré, aligné sur la largeur des chiffres (structure, pas patchwork) */
.stats-sports .sports-strip::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(760px,calc(100% - 2 * var(--gutter)));height:1px;
  background:linear-gradient(90deg,transparent,rgba(214,215,216,0.20),transparent);
}
/* label "J'ai coaché..." en Quicksand (au lieu de Jura), page sportif uniquement */
.stats-sports .trust-label{font-family:'Quicksand',system-ui,sans-serif}

/* ---- Trust strip — version logos clubs (reprise identique de l'accueil / home-v5) ---- */
.trust-strip-logos{background:linear-gradient(180deg,#ffffff,#d6d7d8);padding:16px 0}
.trust-strip-logos .wrap{text-align:center}
.trust-strip-logos .trust-label{
  margin:0 auto 10px;
  font-family:'Jura',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:0.24em;
  color:var(--navy);opacity:0.85;
  display:inline-flex;align-items:center;gap:14px;
  width:auto;
}
.trust-strip-logos .trust-label::before,
.trust-strip-logos .trust-label::after{
  content:"";display:inline-block;width:32px;height:1px;
  background:linear-gradient(90deg,transparent,var(--navy),transparent);opacity:.7;
}
.trust-strip-logos .marquee-track{gap:56px;align-items:center}
.trust-strip-logos .marquee{mask-image:linear-gradient(90deg,transparent 0,#000 2.5%,#000 97.5%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2.5%,#000 97.5%,transparent 100%)}
.trust-strip-logos .marquee-logo{
  display:inline-flex;align-items:center;justify-content:center;
  height:88px;min-width:140px;flex-shrink:0;
  filter:grayscale(0) brightness(1);opacity:1;
  transition:filter .35s ease,opacity .35s ease,transform .35s ease;
}
.trust-strip-logos .marquee-logo:hover{filter:grayscale(1) brightness(0.55);opacity:0.7;transform:translateY(-2px)}
.trust-strip-logos .marquee-logo img{max-height:88px;max-width:200px;width:auto;height:auto;object-fit:contain;display:block}
.trust-strip-logos .marquee-logo[data-club="freeride-world-tour"] img{max-height:56px;max-width:170px}
.trust-strip-logos .marquee-logo img.logo-missing{display:none}
.trust-strip-logos .marquee-logo .marquee-logo-fallback{
  display:none;
  font-family:'Barlow',sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:0.04em;
  font-size:14px;color:var(--navy);white-space:nowrap;
}
.trust-strip-logos .marquee-logo img.logo-missing + .marquee-logo-fallback{display:inline-block}
.trust-strip-logos .marquee-logo-text{
  flex-direction:column;line-height:1.1;text-align:center;
  font-family:'Barlow',sans-serif;color:var(--navy);
  padding:4px 10px;border-left:2px solid rgba(21,52,85,0.25);border-right:2px solid rgba(21,52,85,0.25);
}
.trust-strip-logos .marquee-logo-text strong{
  display:block;font-weight:800;font-size:19px;letter-spacing:0.02em;
  text-transform:uppercase;font-style:normal;
}
.trust-strip-logos .marquee-logo-text em{
  display:block;font-weight:600;font-size:11px;letter-spacing:0.22em;
  text-transform:uppercase;font-style:normal;
  color:var(--blue-gray);margin-top:4px;
}
.trust-strip-logos .marquee-logo-text:hover{filter:none;transform:translateY(-2px)}
.trust-strip-logos .marquee-logo-text:hover strong{color:var(--navy)}
.trust-strip-logos .marquee-logo-text:hover em{color:var(--gold)}
@media (max-width:700px){
  .trust-strip-logos{padding:12px 0}
  .trust-strip-logos .marquee-track{gap:40px}
  .trust-strip-logos .marquee-logo{height:60px;min-width:100px}
  .trust-strip-logos .marquee-logo img{max-height:60px;max-width:140px}
  .trust-strip-logos .marquee-logo[data-club="freeride-world-tour"] img{max-height:40px;max-width:120px}
}

/* ============== GENERIC GRIDS ============== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media (max-width:1000px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr}}
@media (max-width:560px){.grid-4{grid-template-columns:1fr}}

/* ============== CARDS ============== */
.card{
  background:#ffffff;
  border-radius:var(--r-lg);padding:36px 30px;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-card);
  border:1px solid rgba(109,124,144,0.12);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease;
}
.card::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:3px;
  background:linear-gradient(90deg,#153455,#1a2835);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.card:hover{transform:translateY(-8px);box-shadow:0 32px 70px -28px rgba(11,8,9,0.32);border-color:rgba(21,52,85,0.25)}
.card:hover::before{transform:scaleX(1)}
.card:hover .card-icon{transform:scale(1.06) rotate(-3deg);background:rgba(21,52,85,0.12)}
/* Variante .card-grad : au survol, la carte bascule sur le dégradé gris officiel
   de la charte (#d6d7d8 -> #6d7c90), repris de la home (section « Pourquoi »).
   Le texte passe en sombre/navy pour rester lisible sur le gris. */
.card-grad h3,.card-grad p,.card-grad .card-num{transition:color .4s ease}
.card-grad:hover{
  background:linear-gradient(160deg,#d6d7d8 0%,#6d7c90 100%);
  border-color:rgba(21,52,85,0.35);
  box-shadow:0 44px 95px -28px rgba(11,8,9,0.7);
}
.card-grad:hover h3{color:#0b0809}
.card-grad:hover p{color:#153455}
.card-grad:hover .card-num{color:#153455}
.card-icon{transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s ease}
.card h3{font-size:21px;margin:0 0 12px;line-height:1.15}
.card p{color:var(--black);font-size:15px;margin:0;line-height:1.55}
.card-icon{
  width:64px;height:64px;border-radius:16px;
  background:rgba(21,52,85,0.06);color:var(--navy);
  display:grid;place-items:center;margin-bottom:24px;
}
.card-icon svg{width:38px;height:38px}
.path-icon svg{width:38px;height:38px}
.card-num{
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;color:var(--blue-gray);
  letter-spacing:0.22em;text-transform:uppercase;margin-bottom:14px;
}

.card-blue{
  background:var(--grad-blue);color:var(--offwhite);
  border:none;
}
.card-blue h3{color:#fff}
.card-blue p{color:var(--offwhite)}

/* ---- Cartes "session stratégique" : reprise EXACTE du style verre des cartes
   "Pourquoi" de la page d'accueil (home-redesign.css), recopié ici car la page
   sportif ne charge pas home-redesign.css. Défaut = verre translucide ;
   survol = dégradé gris officiel (#d6d7d8 → #6d7c90) avec texte sombre. ---- */
#processus .pourquoi-card{
  background:linear-gradient(160deg,rgba(214,215,216,0.10) 0%,rgba(21,52,85,0.10) 100%);
  border:1px solid rgba(214,215,216,0.16);
  box-shadow:0 24px 60px -30px rgba(11,8,9,0.6);
  transition:background .4s ease,border-color .4s ease,transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s ease;
}
#processus .pourquoi-card h3{color:#ffffff;transition:color .4s ease}
#processus .pourquoi-card p{color:var(--offwhite);transition:color .4s ease}
#processus .pourquoi-card .card-icon{
  background:rgba(214,215,216,0.08);color:var(--offwhite);
  transition:color .4s ease,background .4s ease,transform .5s cubic-bezier(.2,.7,.2,1);
}
#processus .pourquoi-card .card-big-num{
  background:linear-gradient(135deg,#d6d7d8,#6d7c90);
  -webkit-background-clip:text;background-clip:text;color:transparent;opacity:.18;
  transition:background .4s ease,opacity .4s ease;
}
#processus .pourquoi-card:hover{
  background:linear-gradient(160deg,#d6d7d8 0%,#6d7c90 100%);
  border-color:rgba(21,52,85,0.35);
  transform:translateY(-8px);
  box-shadow:0 44px 95px -28px rgba(11,8,9,0.7);
}
#processus .pourquoi-card:hover h3{color:#0b0809}
#processus .pourquoi-card:hover p{color:#153455}
#processus .pourquoi-card:hover .card-icon{background:rgba(255,255,255,0.55);color:var(--navy);transform:scale(1.06) rotate(-3deg)}
#processus .pourquoi-card:hover .card-big-num{
  background:linear-gradient(135deg,#153455,#0b0809);
  -webkit-background-clip:text;background-clip:text;opacity:.32;
}

/* ============== PATH CARDS (3 paths) ============== */
.path-card{
  border-radius:var(--r-lg);padding:38px 30px;
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.12);
  box-shadow:var(--shadow-card);
  transition:.3s ease;position:relative;overflow:hidden;
  display:flex;flex-direction:column;gap:18px;
}
.path-card{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease,background .4s ease}
.path-card::before{
  content:"";position:absolute;inset:auto -40% -40% auto;width:200%;height:200%;
  background:radial-gradient(circle, rgba(21,52,85,0.08) 0%, transparent 60%);
  transform:scale(0);transition:transform .6s cubic-bezier(.2,.7,.2,1);
  pointer-events:none;z-index:0;
}
.path-card > *{position:relative;z-index:1}
.path-card:hover{transform:translateY(-10px);box-shadow:0 40px 80px -28px rgba(11,8,9,0.32);border-color:var(--navy)}
.path-card:hover::before{transform:scale(1)}
.path-card:hover .path-icon{transform:scale(1.08) rotate(-4deg)}
.path-icon{transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.path-icon{
  width:60px;height:60px;border-radius:16px;
  background:var(--grad-blue);color:#fff;
  display:grid;place-items:center;
}
.path-icon svg{width:34px;height:34px}
.path-card h3{font-size:24px;margin:0;line-height:1.1}
.path-card p{flex:1;color:var(--black);margin:0;font-size:15px;line-height:1.55}
.path-link{
  font-family:'Jura',sans-serif;font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:0.18em;
  color:var(--navy);display:inline-flex;align-items:center;gap:8px;
  border-top:1px solid rgba(109,124,144,0.2);padding-top:18px;
}
.path-link svg{width:14px;height:14px;transition:transform .3s}
.path-card:hover .path-link svg{transform:translateX(4px)}

/* ============== COMPARE (bad vs good) ============== */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;margin-top:48px}
@media (max-width:900px){.compare{grid-template-columns:1fr}}
.compare-card{border-radius:var(--r-lg);padding:40px 36px;position:relative}
.compare-bad{background:#ffffff;border:1px solid rgba(109,124,144,0.2)}
.compare-good{background:var(--grad-blue);color:#fff;box-shadow:var(--shadow-card-lg)}
.compare-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Jura',sans-serif;font-weight:700;font-size:11px;
  text-transform:uppercase;letter-spacing:0.18em;
  padding:6px 12px;border-radius:999px;margin-bottom:18px;
}
.compare-bad .compare-tag{background:rgba(109,124,144,0.12);color:var(--blue-gray)}
.compare-good .compare-tag{background:rgba(214,215,216,0.12);color:var(--offwhite)}
.compare-bad h3{font-size:22px;margin:0 0 22px;line-height:1.2}
.compare-good h3{color:#fff;font-size:22px;margin:0 0 22px;line-height:1.2}
.compare-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.compare-list li{display:flex;gap:14px;align-items:flex-start;font-size:15px;line-height:1.5}
.compare-list li .ico{
  width:22px;height:22px;flex-shrink:0;border-radius:50%;
  display:grid;place-items:center;margin-top:1px;
}
.compare-bad li{color:var(--black)}
.compare-bad .ico{background:rgba(109,124,144,0.18);color:var(--blue-gray)}
.compare-good li{color:var(--offwhite)}
.compare-good .ico{background:#fff;color:var(--navy)}
.compare-list li .ico svg{width:12px;height:12px}
.compare-good .compare-cta{margin-top:32px}
/* <strong> doit rester blanc sur la carte sombre (sinon hérite navy => bleu sur bleu) */
.compare-good strong,
.compare-good li strong,
.compare-good p strong{color:#ffffff}

/* ----- Comparatif "vrai VS" (utilisable sur toutes les pages, pas seulement la home) ----- */
.compare2{display:grid;grid-template-columns:1fr 78px 1fr;align-items:stretch;margin-top:48px;gap:0}
.compare2 .compare-card{margin:0}
.compare2-vs{position:relative;display:grid;place-items:center}
.compare2-vs::before{
  content:"";position:absolute;top:6%;bottom:6%;width:2px;
  background:linear-gradient(180deg,transparent,#6d7c90 30%,#153455 70%,transparent);
}
.compare2-vs span{
  position:relative;z-index:1;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;background:var(--grad-blue);color:#ffffff;
  font-family:'Barlow',sans-serif;font-weight:900;font-size:15px;letter-spacing:0.06em;
  border:2px solid rgba(214,215,216,0.3);box-shadow:0 14px 34px -10px rgba(11,8,9,0.55);
}
@media (max-width:760px){
  .compare2{grid-template-columns:1fr;gap:16px}
  .compare2-vs{height:60px}
  .compare2-vs::before{
    top:auto;bottom:auto;left:8%;right:8%;width:auto;height:2px;
    background:linear-gradient(90deg,transparent,#6d7c90,transparent);
  }
}

/* ============== AUDIENCES (5 cards) ============== */
.aud-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
@media (max-width:1000px){.aud-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.aud-grid{grid-template-columns:1fr}}
.aud-card{
  background:#ffffff;border-radius:var(--r);overflow:hidden;
  box-shadow:var(--shadow-card);
  border:1px solid rgba(109,124,144,0.12);
  display:flex;flex-direction:column;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease;
}
.aud-card .aud-img img{transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .4s ease;filter:saturate(.95)}
.aud-card:hover{transform:translateY(-8px);box-shadow:0 32px 60px -22px rgba(11,8,9,0.3);border-color:var(--navy)}
.aud-card:hover .aud-img img{transform:scale(1.08);filter:saturate(1.15)}
.aud-card:hover h4{color:var(--black)}
.aud-card h4{transition:color .3s ease}
.aud-img{aspect-ratio:4/3;overflow:hidden;background:var(--grad-gray)}
.aud-img img{width:100%;height:100%;object-fit:cover}
.aud-body{padding:18px 20px;flex:1;display:flex;align-items:center}
.aud-body h4{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:14px;color:var(--navy);margin:0;
  text-transform:uppercase;line-height:1.25;letter-spacing:0.01em;
}

/* ============== ATHLETES — CAROUSEL VERTICAL : 3 colonnes × 2 lignes visibles ============== */
.athletes-carousel{
  position:relative;
  margin-top:48px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  height:560px;
  overflow:hidden;
  mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%);
}
@media (max-width:900px){.athletes-carousel{grid-template-columns:repeat(2,1fr);height:560px}}
@media (max-width:560px){.athletes-carousel{grid-template-columns:1fr;height:520px}}
.athletes-col{
  display:flex;flex-direction:column;gap:22px;
  animation:athletesScrollUp 42s linear infinite;
  will-change:transform;
}
.athletes-col-1{animation-duration:46s}
.athletes-col-2{animation-duration:40s;animation-delay:-14s}
.athletes-col-3{animation-duration:44s;animation-delay:-28s}
.athletes-col-4{animation-duration:38s;animation-delay:-22s}
.athletes-carousel:hover .athletes-col{animation-play-state:paused}
@keyframes athletesScrollUp{
  from{transform:translateY(0)}
  to{transform:translateY(var(--athletes-shift,-50%))}
}
.athletes-carousel .athlete{flex-shrink:0}
/* Bandes Zoom d'origine 1024×288 (~16/4.5) : Nathan en visio avec l'athlète/formateur.
   Section "ils m'ont fait confiance" — illustre les échanges réels.
   Ratio 16/4.5 → on voit les 2 visages entiers, pas de zoom intempestif. */
.athletes-carousel .athlete-img{
  aspect-ratio:16/4.5;
  background:#ffffff;
}
.athletes-carousel .athlete-img img{object-fit:cover;object-position:center}
.athletes-carousel .athlete-body{padding:16px 18px}
.athletes-carousel .athlete-name{font-size:15px}
.athletes-carousel .athlete-sport{font-size:10px;margin-bottom:6px}
.athletes-carousel .athlete-bio{font-size:12px;line-height:1.45}

/* ============== ATHLETES (legacy grid - kept for compat) ============== */
.athletes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
@media (max-width:900px){.athletes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.athletes{grid-template-columns:1fr}}
.athlete{
  background:#ffffff;border-radius:var(--r);overflow:hidden;
  box-shadow:var(--shadow-card);
  border:1px solid var(--navy);
  display:flex;flex-direction:column;
  transition:.3s;
}
.athlete{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease}
.athlete .athlete-img img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .4s ease;filter:saturate(.85)}
.athlete:hover{transform:translateY(-8px);box-shadow:0 32px 60px -22px rgba(11,8,9,0.32);border-color:var(--navy)}
.athlete:hover .athlete-img img{transform:scale(1.08);filter:saturate(1.15)}
.athlete:hover .athlete-name{color:var(--black)}
.athlete-name{transition:color .3s ease}
.athlete-img{aspect-ratio:16/5;overflow:hidden;background:var(--grad-blue)}
.athlete-img img{width:100%;height:100%;object-fit:cover;object-position:center}
.athlete-body{padding:20px 22px}
.athlete-name{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:18px;color:var(--navy);text-transform:uppercase;
  letter-spacing:0.01em;margin:0 0 6px;
}
.athlete-sport{
  font-family:'Jura',sans-serif;font-size:11px;
  text-transform:uppercase;letter-spacing:0.18em;
  color:var(--blue-gray);margin:0 0 10px;
}
.athlete-bio{font-size:13px;color:var(--black);margin:0;line-height:1.5}

/* ============== QUOTE BANNER (zone gold #2 — pivot) — composition asymétrique ============== */
.quote-banner{
  padding:clamp(80px,10vw,128px) 0;
  background:var(--grad-blue);
  color:#fff;position:relative;overflow:hidden;
}
.quote-banner::before,
.quote-banner::after{
  /* Énormes guillemets en watermark, l'un en haut-gauche, l'autre en bas-droite */
  position:absolute;
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:clamp(280px,38vw,560px);
  line-height:0.7;
  color:var(--gold);
  opacity:0.10;
  pointer-events:none;
  z-index:1;
}
.quote-banner::before{content:"\201C";top:-40px;left:-30px}
.quote-banner::after{content:"\201D";bottom:-160px;right:-30px}
.quote-banner .wrap{
  position:relative;z-index:2;
  max-width:1080px;
}
.quote-banner .quote-mark{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:clamp(80px,10vw,140px);line-height:0.5;
  color:var(--gold);
  display:inline-block;
  margin-bottom:18px;
  transform:translateX(-6px);
}
.quote-banner blockquote{
  font-family:'Quicksand',sans-serif;font-weight:500;
  font-size:clamp(22px,2.8vw,32px);
  color:#fff;line-height:1.4;
  margin:0 0 26px;
  font-style:italic;letter-spacing:0;
  max-width:980px;
}
.quote-banner blockquote em{
  font-style:italic;color:var(--gold);font-weight:600;
}
.quote-banner .quote-author{
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:12px;text-transform:uppercase;letter-spacing:0.22em;
  color:var(--offwhite);
  display:flex;align-items:center;gap:14px;
  padding-top:18px;
  border-top:1px solid rgba(214,215,216,0.18);
}
.quote-banner .quote-author::before{
  content:"";width:32px;height:2px;background:var(--gold);flex-shrink:0;
}
@media (max-width:760px){
  .quote-banner blockquote{font-size:clamp(22px,5vw,32px)}
}

/* ===== Quote banner + photos (Luc Cheilan) : citation à gauche, composition photo à droite ===== */
.quote-banner--photos .wrap{max-width:1200px}
.quote-photos-grid{
  display:grid;
  grid-template-columns:1.02fr 0.98fr;
  gap:clamp(28px,4.5vw,68px);
  align-items:center;
}
.quote-photos-text{position:relative;z-index:2}
.quote-photos-text blockquote{max-width:520px}

.quote-photos-media{
  position:relative;
  min-height:clamp(380px,32vw,470px);
  z-index:2;
}
/* Cadre photo "contexte" : Luc en briefing avec l'équipe World Tour */
.qpm-frame{
  position:absolute;top:0;right:0;margin:0;
  width:70%;aspect-ratio:4/5;
  border-radius:18px;overflow:hidden;
  box-shadow:0 44px 100px -34px rgba(0,0,0,0.75),0 0 0 1px rgba(249,176,0,0.30);
}
.qpm-frame img{width:100%;height:100%;object-fit:cover;object-position:62% 38%;display:block}
.qpm-frame::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,18,30,0) 48%,rgba(8,18,30,0.62) 100%);
}
/* Chip discret "World Tour" (verre sombre + point doré, respecte la règle des 3 zones de jaune) */
.qpm-chip{
  position:absolute;right:12px;bottom:12px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Jura',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:0.18em;text-transform:uppercase;color:#fff;
  padding:7px 13px;border-radius:999px;
  background:rgba(8,16,26,0.55);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.16);
}
.qpm-chip i{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0}
/* Portrait détouré au premier plan, émerge du fond navy */
.qpm-portrait{
  position:absolute;left:-15%;bottom:0;
  height:100%;width:auto;z-index:3;
  filter:drop-shadow(0 26px 44px rgba(0,0,0,0.6));
  -webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 82%,transparent 100%);
  pointer-events:none;
}
@media (max-width:880px){
  .quote-photos-grid{grid-template-columns:1fr;gap:34px}
  .quote-photos-text blockquote{max-width:none}
  .quote-photos-media{min-height:390px;max-width:460px;margin-inline:auto;width:100%}
  .qpm-frame{width:74%}
  .qpm-portrait{height:82%;left:-6%}
}
@media (max-width:480px){
  .quote-photos-media{min-height:360px;max-width:380px}
  .qpm-frame{width:76%}
  .qpm-portrait{height:80%;left:-5%}
}

/* ===== Variante page Nathan : cadre carré "séance paperboard" + portrait t-shirt jaune ===== */
.quote-photos-media--nathan{min-height:clamp(370px,31vw,452px)}
/* cadre carré pour laisser lire toute la scène (Nathan + "PEUR DE RATER ?") */
.quote-photos-media--nathan .qpm-frame{width:70%;aspect-ratio:1/1}
.quote-photos-media--nathan .qpm-frame img{object-position:62% 42%}
/* portrait détouré au premier plan : émerge du fond, déborde à gauche vers la citation */
.quote-photos-media--nathan .qpm-portrait{left:-9%;height:104%}
@media (max-width:880px){
  .quote-photos-media--nathan .qpm-frame{width:74%}
  .quote-photos-media--nathan .qpm-portrait{left:-5%;height:96%}
}
@media (max-width:480px){
  .quote-photos-media--nathan .qpm-frame{width:78%}
  .quote-photos-media--nathan .qpm-portrait{left:-4%;height:92%}
}

/* ============== PILLARS (numbered) ============== */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1000px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pillars{grid-template-columns:1fr}}
.pillar{
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.15);
  border-radius:var(--r);padding:28px 24px;
  position:relative;overflow:hidden;
  transition:.3s;box-shadow:var(--shadow-card);
}
.pillar{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease,background .4s ease}
.pillar:hover{transform:translateY(-8px);box-shadow:0 30px 60px -22px rgba(11,8,9,0.3);border-color:var(--navy)}
.pillar:hover .pillar-num{transform:translateX(4px);color:var(--black)}
.pillar-num{transition:transform .35s ease,color .35s ease}
.pillar-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:48px;line-height:1;color:var(--navy);
  margin-bottom:14px;letter-spacing:-0.02em;
}
.pillar h4{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:17px;color:var(--navy);margin:0 0 10px;
  text-transform:uppercase;line-height:1.2;
}
.pillar p{font-size:14px;color:var(--black);margin:0;line-height:1.5}

/* ============== SPLIT (image + text) ============== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:40px}}
.parcours-split{grid-template-columns:4fr 8fr;margin-bottom:56px}
@media (max-width:900px){.parcours-split{grid-template-columns:1fr;margin-bottom:40px}}
.split-reverse{direction:rtl}
.split-reverse > *{direction:ltr}
.split-media{
  border-radius:var(--r-lg);overflow:hidden;
  aspect-ratio:4/5;
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.18);
  box-shadow:var(--shadow-card-lg);
  display:grid;place-items:center;position:relative;
}
.split-media-illu{
  aspect-ratio:auto;
  min-height:380px;
  background:radial-gradient(ellipse at center,#d6d7d8 0%,#6d7c90 100%);
  padding:48px 36px;
}
.split-media-illu img{
  max-height:340px;width:auto;object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(11,8,9,0.2));
}
.illu-tag{
  position:absolute;left:24px;bottom:18px;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;text-transform:uppercase;letter-spacing:0.18em;
  color:var(--navy);
  background:rgba(255,255,255,0.85);
  padding:8px 14px;border-radius:999px;
  backdrop-filter:blur(4px);
}
.split-media img{width:100%;height:100%;object-fit:cover}

/* ----- Boucle vidéo (checks athlètes) qui illustre la chaîne YouTube ----- */
.yt-loop-media{display:block;text-decoration:none;position:relative}
.yt-loop-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.yt-loop-media:hover .yt-loop-video{transform:scale(1.04)}
.yt-loop-media::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(11,8,9,0.10) 0%,rgba(11,8,9,0.10) 55%,rgba(11,8,9,0.55) 100%);
}
.yt-loop-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;
  width:84px;height:84px;border-radius:50%;
  background:#ffffff;color:var(--navy);
  display:grid;place-items:center;
  box-shadow:0 16px 40px -10px rgba(11,8,9,0.45);
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.yt-loop-media:hover .yt-loop-play{transform:translate(-50%,-50%) scale(1.08)}
.yt-loop-play svg{width:30px;height:30px;transform:translateX(2px)}
.yt-loop-label{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:2;
  font-family:'Jura',sans-serif;font-size:10px;
  text-transform:uppercase;letter-spacing:0.22em;
  color:#ffffff;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,0.75);
}
/* Eyebrow brandé YouTube : logo officiel (badge rouge) + libellé */
.yt-brand{
  display:inline-flex;align-items:center;gap:11px;margin:0 0 16px;
  font-family:'Jura',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--blue-gray);
}
.yt-brand .yt-logo{display:inline-flex;width:36px;height:26px;flex-shrink:0;
  filter:drop-shadow(0 4px 10px rgba(255,0,0,0.22))}
.yt-brand .yt-logo svg{width:100%;height:100%;display:block}

/* ----- Exemples de vidéos YouTube (miniatures cliquables + vedette animée) ----- */
.yt-videos{margin-top:72px}
.yt-videos-eyebrow{
  font-family:'Jura',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--blue-gray);
  text-align:center;margin:0 0 28px;
}
/* badge play = logo YouTube rouge (parlant + cohérent) */
.yt-vplay{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;
  width:56px;height:40px;display:grid;place-items:center;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,0.45));
  transition:transform .3s cubic-bezier(.2,.7,.2,1);
}
.yt-vplay svg{width:100%;height:100%;display:block}
/* Chip nombre de vues (en bas à gauche de la miniature) */
.yt-views{
  position:absolute;left:12px;bottom:12px;z-index:3;
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px;border-radius:999px;
  background:rgba(11,8,9,0.72);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.14);
  font-family:'Jura',sans-serif;font-weight:700;font-size:11px;letter-spacing:0.04em;
  color:#ffffff;white-space:nowrap;pointer-events:none;
}
.yt-views svg{width:13px;height:13px;display:block;opacity:.9}
.yt-feature .yt-views{left:16px;bottom:16px;font-size:12px;padding:6px 13px}
.yt-feature .yt-views svg{width:14px;height:14px}

/* Carte vedette : miniature animée (thumbnail figée puis mouvement) */
.yt-feature{display:block;max-width:860px;margin:0 auto 40px;text-decoration:none}
.yt-feature-media{
  position:relative;display:block;aspect-ratio:16/9;overflow:hidden;
  border-radius:var(--r-lg);border:1px solid rgba(109,124,144,0.18);
  box-shadow:var(--shadow-card-lg);background:#000;
}
.yt-feature-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.yt-feature:hover .yt-feature-video{transform:scale(1.03)}
.yt-feature .yt-vplay{width:78px;height:55px}
.yt-feature:hover .yt-vplay{transform:translate(-50%,-50%) scale(1.07)}
.yt-feature-title{
  display:block;text-align:center;margin-top:18px;
  font-family:'Barlow',sans-serif;font-weight:800;font-size:clamp(18px,2.2vw,24px);
  color:var(--navy);text-transform:uppercase;letter-spacing:-0.01em;line-height:1.15;
}

/* Grille des 4 autres miniatures */
.yt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media (max-width:900px){.yt-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media (max-width:520px){.yt-grid{grid-template-columns:1fr}}
.yt-vcard{display:block;text-decoration:none}
.yt-vcard-media{
  position:relative;display:block;aspect-ratio:16/9;overflow:hidden;
  border-radius:var(--r);border:1px solid rgba(109,124,144,0.15);
  box-shadow:var(--shadow-card);background:#000;
}
.yt-vcard-media img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.yt-vcard:hover .yt-vcard-media img{transform:scale(1.05)}
.yt-vcard:hover .yt-vplay{transform:translate(-50%,-50%) scale(1.08)}
.yt-vcard-title{
  margin-top:12px;
  font-family:'Quicksand',sans-serif;font-weight:600;font-size:14px;
  color:var(--black);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* ----- Reel chaîne : 2 bandeaux de clips portrait défilants (sens opposés) ----- */
.reel-section{
  position:relative;overflow:hidden;
  padding:clamp(44px,5vw,72px) 0;
  background:linear-gradient(160deg,#153455 0%,#14304f 55%,#1a2835 100%);
}
.reel-eyebrow{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin:0 0 28px;
  font-family:'Jura',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--offwhite);
}
.reel-eyebrow .yt-logo{width:32px;height:23px;display:inline-flex}
.reel-eyebrow .yt-logo svg{width:100%;height:100%;display:block}
.reel{display:flex;flex-direction:column;gap:18px}
.reel-row{display:flex;width:max-content;will-change:transform}
.reel-row.is-running{animation-timing-function:linear;animation-iteration-count:infinite}
.reel-row--top.is-running{animation-name:reelRight;animation-duration:42s}
.reel-row--bottom.is-running{animation-name:reelLeft;animation-duration:35s}
.reel:hover .reel-row.is-running{animation-play-state:paused}
@keyframes reelRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes reelLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.reel-item{
  position:relative;flex:0 0 auto;
  width:168px;height:299px;margin-right:18px;
  border-radius:16px;overflow:hidden;background:#000;
  box-shadow:0 22px 44px -22px rgba(0,0,0,0.7);
  display:block;text-decoration:none;
}
.reel-item video{width:100%;height:100%;object-fit:cover;display:block}
.reel-item::after{content:"";position:absolute;inset:0;background:rgba(11,8,9,0);transition:background .3s ease}
.reel-item:hover::after{background:rgba(11,8,9,0.30)}
.reel-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.7);z-index:2;
  width:48px;height:34px;opacity:0;transition:opacity .3s ease,transform .35s cubic-bezier(.2,.7,.2,1);
}
.reel-item:hover .reel-play{opacity:1;transform:translate(-50%,-50%) scale(1)}
.reel-play svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 16px rgba(0,0,0,0.55))}
@media (max-width:600px){
  .reel-item{width:132px;height:235px;margin-right:13px}
  .reel{gap:13px}
}
@media (prefers-reduced-motion:reduce){
  .reel-row.is-running{animation:none}
}

/* Zoom doux au survol (réutilisable sur n'importe quelle .split-media) */
.media-zoom img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.media-zoom{transition:box-shadow .5s ease}
.media-zoom:hover img{transform:scale(1.06)}
.media-zoom:hover{box-shadow:0 42px 90px -28px rgba(21,52,85,0.5)}

/* Montgolfière — flottement permanent (vivant) + zoom doux au survol */
.method-balloon{
  animation:balloonFloat 6s ease-in-out infinite;
  will-change:transform;
  box-shadow:0 30px 70px -30px rgba(11,8,9,0.45);
  transition:box-shadow .5s ease;
}
.method-balloon img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.method-balloon:hover{box-shadow:0 42px 90px -28px rgba(21,52,85,0.5)}
.method-balloon:hover img{transform:scale(1.06)}
@keyframes balloonFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-14px)}
}
@media (prefers-reduced-motion:reduce){
  .method-balloon{animation:none}
}
.split-media-wide{aspect-ratio:16/10}
/* Variante portrait haute (ex. photo verticale type snowboard JO) :
   format plus haut pour montrer toute la scène sans rogner. */
.split-media-tall{aspect-ratio:3/5;max-width:340px;max-height:74vh;width:100%;margin-inline:auto}

/* ============== ÉQUIPE — éventail de cartes (fan, hover redresse) ============== */
.team-specialties{
  font-family:'Jura',sans-serif;font-weight:600;
  font-size:13px;text-transform:uppercase;letter-spacing:0.14em;
  color:var(--navy);margin:4px auto 0;max-width:760px;line-height:1.9;
}
/* légende Quicksand qui "justifie" la liste de spécialités au-dessus */
.team-specialties-caption{
  font-size:15px;color:var(--blue-gray);
  margin:8px auto 0;max-width:760px;
}
.team-fan{
  display:flex;justify-content:center;align-items:flex-end;
  margin-top:56px;padding:48px 0 24px;min-height:380px;
}
.team-fan .team-card{
  position:relative;
  width:clamp(150px,15.5vw,200px);
  aspect-ratio:5/8;
  margin:0 0 0 -46px;
  border-radius:22px;overflow:hidden;
  background:#0b0809;
  box-shadow:0 24px 50px -22px rgba(11,8,9,0.55);
  transform-origin:bottom center;
  transform:rotate(0deg);
  transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,filter .45s ease;
  cursor:pointer;
}
.team-fan .team-card:first-child{margin-left:0}
.team-fan .team-card img{width:100%;height:100%;object-fit:cover;display:block}
.team-fan .team-card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(214,215,216,0.12);pointer-events:none;
}
/* éventail : origine en bas → les hauts s'écartent, les bas se regroupent (7 cartes) */
.team-fan .team-card:nth-child(1){transform:rotate(-21deg);z-index:1}
.team-fan .team-card:nth-child(2){transform:rotate(-14deg);z-index:2}
.team-fan .team-card:nth-child(3){transform:rotate(-7deg);z-index:3}
.team-fan .team-card:nth-child(4){transform:rotate(0deg);z-index:4}
.team-fan .team-card:nth-child(5){transform:rotate(7deg);z-index:5}
.team-fan .team-card:nth-child(6){transform:rotate(14deg);z-index:6}
.team-fan .team-card:nth-child(7){transform:rotate(21deg);z-index:7}
/* survol : la carte se redresse, monte, grandit et passe au premier plan */
.team-fan:hover .team-card{filter:saturate(.92) brightness(.93)}
.team-fan .team-card:hover{
  transform:rotate(0deg) translateY(-26px) scale(1.07);
  z-index:20;
  filter:none;
  box-shadow:0 46px 92px -26px rgba(11,8,9,0.7);
}
@media (max-width:760px){
  .team-fan{flex-wrap:wrap;gap:14px;min-height:0;padding:24px 0}
  .team-fan .team-card{width:clamp(128px,42vw,170px);margin-left:0}
  .team-fan .team-card:nth-child(n){transform:none}
  .team-fan:hover .team-card{filter:none}
  .team-fan .team-card:nth-child(n):hover{transform:translateY(-8px) scale(1.03)}
}
/* Section équipe en pivot bleu sombre (page Nathan) : textes spécialités lisibles sur le fond navy.
   La liste des spécialités passe en Quicksand (au lieu du Jura par défaut) pour casser le bloc
   "tout en Jura majuscules" sous le titre et adoucir le rendu. */
.team-section.section-blue .team-specialties{
  font-family:'Quicksand',sans-serif;font-weight:600;
  text-transform:none;letter-spacing:0.01em;font-size:16px;
  color:var(--offwhite);line-height:1.7;
}
.team-section.section-blue .team-specialties-caption{color:var(--offwhite);opacity:.72}
.split-media.on-dark{background:rgba(214,215,216,0.06);border-color:rgba(214,215,216,0.15)}
/* Bento photos — 1 photo large (paysage) + 2 verticales, à côté du texte */
.bento-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
/* placement de la grille (la cellule extérieure est l'item de grille) */
.bento-photos .bento-cell{min-width:0}
.bento-photos .bento-wide{grid-column:1 / -1;aspect-ratio:4/3}
.bento-photos .bento-tall{aspect-ratio:3/4}
@media (max-width:900px){
  .bento-photos .bento-wide{aspect-ratio:16/9}
}
/* chaque photo = une cellule .reasons-photo : zoom + reflet diagonal + tilt 3D au survol
   (même traitement premium que les photos de la page formation) */
.bento-photos .reasons-photo{
  width:100%;height:100%;
  border:1px solid rgba(109,124,144,0.18);
}
.bento-photos .reasons-photo > img{width:100%;height:100%;object-fit:cover;display:block}
.bento-photos .bento-wide .reasons-photo > img{object-position:center}

/* Apparition séquentielle (l'une après l'autre) au scroll — montée + léger zoom, pas à plat.
   Rejouée à chaque visite (l'IntersectionObserver re-tague .is-visible à chaque chargement). */
.bento-photos .bento-cell.reveal{
  opacity:0;
  transform:translateY(30px) scale(.97);
  transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1);
  will-change:opacity,transform;
}
.bento-photos .bento-cell.reveal.is-visible{opacity:1;transform:none}
.bento-photos .bento-cell.reveal:nth-child(2){transition-delay:.13s}
.bento-photos .bento-cell.reveal:nth-child(3){transition-delay:.26s}
@media (prefers-reduced-motion:reduce){
  .bento-photos .bento-cell.reveal{opacity:1;transform:none;transition:none}
}
.video-placeholder{
  width:84px;height:84px;border-radius:50%;
  background:var(--navy);
  display:grid;place-items:center;color:#fff;
  position:relative;z-index:2;
  box-shadow:0 16px 40px -10px rgba(11,8,9,0.4);
}
.video-placeholder.on-blue{background:#fff;color:var(--navy)}
.video-placeholder svg{width:28px;height:28px;transform:translateX(2px)}
.video-placeholder-label{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  font-family:'Jura',sans-serif;font-size:10px;
  text-transform:uppercase;letter-spacing:0.22em;
  color:var(--blue-gray);white-space:nowrap;
}
.split-content h2{margin-bottom:18px}
.feature-list{list-style:none;padding:0;margin:24px 0 32px;display:flex;flex-direction:column;gap:14px}
.feature-list li{display:flex;gap:14px;align-items:flex-start;font-size:15px;line-height:1.5}
.feature-list li .ico{
  width:22px;height:22px;flex-shrink:0;border-radius:50%;
  background:var(--navy);color:#fff;
  display:grid;place-items:center;margin-top:1px;
}
.feature-list.on-dark li{color:var(--offwhite)}
.feature-list.on-dark .ico{background:#fff;color:var(--navy)}
.feature-list li .ico svg{width:11px;height:11px}

/* ============== DIFFERENTIATORS ============== */
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
@media (max-width:1000px){.diff-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.diff-grid{grid-template-columns:1fr}}
.diff-card{
  background:#ffffff;border-radius:var(--r);padding:30px 24px;
  position:relative;
  box-shadow:var(--shadow-card);
  border-top:3px solid var(--navy);
  display:flex;flex-direction:column;gap:12px;
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,background .45s ease,border-top-color .45s ease;
}
.diff-card:hover{
  background:var(--grad-blue-150);
  transform:translateY(-10px);
  box-shadow:0 46px 96px -32px rgba(11,8,9,0.6);
  border-top-color:var(--gold);
}
.diff-card:hover .diff-num{color:var(--gold);letter-spacing:0}
.diff-card:hover .diff-num::after{background:rgba(249,176,0,0.35)}
.diff-card:hover h4{color:#ffffff}
.diff-card:hover p{color:var(--offwhite)}
.diff-num{transition:color .4s ease,letter-spacing .4s ease}
.diff-num::after{transition:background .4s ease}
.diff-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:32px;color:var(--navy);line-height:1;
  display:flex;align-items:baseline;gap:8px;
}
.diff-num::after{
  content:"";flex:1;height:1px;background:rgba(109,124,144,0.25);margin-bottom:4px;
}
.diff-card h4{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:17px;color:var(--navy);margin:0;
  text-transform:uppercase;line-height:1.2;
  transition:color .45s ease;
}
.diff-card p{font-size:14px;color:var(--black);margin:0;line-height:1.55;transition:color .45s ease}

/* ============== TESTIMONIALS ============== */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
@media (max-width:900px){.testi-grid{grid-template-columns:1fr}}
.testi{
  background:#ffffff;border-radius:var(--r);padding:30px 28px;
  border:1px solid rgba(109,124,144,0.15);
  box-shadow:var(--shadow-card);
  display:flex;flex-direction:column;gap:18px;
  border-left:3px solid var(--navy);
}
.testi-quote{
  font-family:'Jura',sans-serif;font-style:italic;
  font-size:15px;color:var(--black);line-height:1.5;margin:0;flex:1;
}
.testi-author{
  display:flex;flex-direction:column;gap:2px;
  border-top:1px solid rgba(109,124,144,0.18);padding-top:14px;
}
.testi-name{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:14px;color:var(--navy);text-transform:uppercase;letter-spacing:0.01em;
}
.testi-role{
  font-family:'Jura',sans-serif;font-size:11px;
  text-transform:uppercase;letter-spacing:0.18em;
  color:var(--blue-gray);
}

/* ============== MISMATCH (90% vs 5%) ============== */
.mismatch{
  display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(16px,2.5vw,32px);
  align-items:stretch;margin-top:32px;
}
@media (max-width:900px){
  .mismatch{grid-template-columns:1fr;gap:18px}
  .mismatch-vs{transform:rotate(90deg)}
}
.mismatch-card{
  position:relative;
  border-radius:var(--r-lg);
  padding:36px 32px;
  display:flex;flex-direction:column;gap:18px;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease;
}
.mismatch-card:hover{transform:translateY(-6px)}
.mismatch-big{
  background:var(--grad-blue);color:#fff;
  box-shadow:0 30px 70px -28px rgba(11,8,9,0.45);
}
.mismatch-big:hover{box-shadow:0 40px 90px -32px rgba(11,8,9,0.6)}
.mismatch-small{
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.2);
  box-shadow:var(--shadow-card);
}
.mismatch-small:hover{box-shadow:var(--shadow-card-lg)}
.mismatch-label{
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;text-transform:uppercase;letter-spacing:0.22em;
  margin:0;
}
.mismatch-big .mismatch-label{color:var(--offwhite)}
.mismatch-small .mismatch-label{color:var(--blue-gray)}
.mismatch-num{display:flex;align-items:baseline;line-height:0.9}
.mismatch-num .hero-stat-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:clamp(80px,10vw,140px);line-height:0.9;
  letter-spacing:-0.04em;
}
.mismatch-big .mismatch-num .hero-stat-num{color:#fff}
.mismatch-small .mismatch-num .hero-stat-num{color:var(--navy)}
.mismatch-num .hero-stat-num small{font-size:0.5em;font-weight:800;opacity:1}
.mismatch-quote{
  font-family:'Jura',sans-serif;font-size:14px;line-height:1.55;
  font-style:italic;margin:0;
}
.mismatch-big .mismatch-quote{color:var(--offwhite)}
.mismatch-big .mismatch-quote strong{color:var(--gold)}
.mismatch-small .mismatch-quote{color:var(--black)}
.mismatch-small .mismatch-quote strong{color:var(--navy)}
.mismatch-bar{
  height:6px;border-radius:999px;overflow:hidden;
  background:rgba(214,215,216,0.15);
  margin-top:auto;
}
.mismatch-small .mismatch-bar{background:rgba(109,124,144,0.18)}
.mismatch-bar-fill{
  height:100%;width:0;
  background:#ffffff;
  border-radius:999px;
  animation:mismatchFill 1.4s cubic-bezier(.2,.7,.2,1) forwards .3s;
}
.mismatch-small .mismatch-bar-fill{background:var(--navy)}
@keyframes mismatchFill{to{width:var(--w)}}
.mismatch-vs{
  align-self:center;
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:36px;color:var(--navy);
  letter-spacing:0.05em;
}

/* ============== METHOD CARDS (Antoine-style — rotated tossed cards with big numbers) ============== */
.method-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
  align-items:start;
  margin-top:32px;
  position:relative;
}
/* ---- Tracé GPS premium : ligne derrière les cartes + roue au-dessus ---- */
.method-trail,
.method-marker-layer{
  position:absolute;inset:0;
  width:100%;height:100%;
  pointer-events:none;
  display:block;
  overflow:visible;
}
.method-trail{z-index:0}          /* la ligne passe derrière les cartes */
.method-marker-layer{z-index:2}   /* la roue glisse au-dessus des cartes */
@media (max-width:1000px){
  .method-trail,
  .method-marker-layer{display:none}
}
.method-grid > .method-card{position:relative;z-index:1}

/* Fond du tracé : route complète, discrète */
.method-route-base{
  fill:none;stroke:var(--navy);stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;
  opacity:0.13;
}
/* Tracé qui se dessine au scroll (stroke-dashoffset piloté par site.js) */
.method-route-progress{
  fill:none;stroke:var(--navy);stroke-width:2.5;
  stroke-linecap:round;stroke-linejoin:round;
  opacity:0.92;
  filter:drop-shadow(0 1px 5px rgba(21,52,85,0.28));
}
/* La roue (deux cercles concentriques + moyeu or + halo) */
/* Le vélo qui roule le long du tracé (boucle permanente) */
.method-marker{opacity:0;transition:opacity .4s ease}
.method-marker.is-on{opacity:1}
.method-marker .mk-glow{fill:rgba(21,52,85,0.08)}
.method-marker .mk-wheel{fill:#fff;stroke:var(--navy);stroke-width:1.8}
.method-marker .mk-hub{fill:var(--navy)}
.method-marker .mk-frame{fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.method-marker .mk-spark{fill:var(--gold);animation:methodSpark 1.4s ease-in-out infinite}
@keyframes methodSpark{0%,100%{opacity:1}50%{opacity:0.35}}
@media (prefers-reduced-motion:reduce){
  .method-route-progress{stroke-dashoffset:0 !important}
  .method-marker{opacity:1}
  .method-marker .mk-spark{animation:none}
}
@media (max-width:1000px){.method-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
@media (max-width:600px){.method-grid{grid-template-columns:1fr;gap:20px}}

.method-card{
  position:relative;
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.18);
  border-radius:var(--r-lg);
  padding:36px 32px 28px;
  box-shadow:var(--shadow-card);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease;
}
/* Subtle rotations only, no translateY (le grid layout gère l'espacement) */
.method-card:nth-child(1){transform:rotate(-1.5deg)}
.method-card:nth-child(2){transform:rotate(1deg)}
.method-card:nth-child(3){transform:rotate(-1deg)}
.method-card:nth-child(4){transform:rotate(1.2deg)}
.method-card:nth-child(5){transform:rotate(-0.8deg)}
.method-card:hover{
  transform:rotate(0deg) translateY(-8px) !important;
  box-shadow:0 40px 80px -28px rgba(11,8,9,0.32);
  z-index:3;
}
@media (max-width:1000px){
  .method-card,
  .method-card:nth-child(1),
  .method-card:nth-child(2),
  .method-card:nth-child(3),
  .method-card:nth-child(4),
  .method-card:nth-child(5){transform:none}
}

.method-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:96px;line-height:0.85;
  color:var(--black);
  margin-bottom:24px;
  display:flex;align-items:baseline;
  letter-spacing:-0.04em;
}
.method-num span{color:var(--black)}
.method-num em{font-style:normal;color:var(--navy);font-size:1em}
.method-card:hover .method-num em{
  color:var(--gold);
  transition:color .3s ease;
}
.method-card .method-num em{transition:color .3s ease}

.method-card h3{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:22px;color:var(--navy);
  text-transform:uppercase;letter-spacing:0;
  margin-bottom:12px;line-height:1.1;
}
.method-card p{
  color:var(--blue-gray);font-size:15px;line-height:1.55;
  margin:0 0 20px;
}
.method-mini{
  margin-top:auto;
  padding:12px 16px;
  background:rgba(109,124,144,0.08);
  border-radius:8px;
  border:1px solid rgba(109,124,144,0.15);
  display:flex;align-items:center;gap:10px;
  font-family:'Jura',sans-serif;font-size:12px;font-weight:500;
  color:var(--black);
}
.method-mini .dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--navy);flex-shrink:0;
  transition:background .3s ease,box-shadow .3s ease;
}
.method-card:hover .method-mini .dot{
  background:var(--gold);
  box-shadow:0 0 8px rgba(249,176,0,0.5);
}
.method-mini b{font-weight:700;color:var(--navy)}

/* ---- Survol : la carte se remplit du dégradé bleu de la charte ---- */
.method-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:var(--grad-blue);
  opacity:0;transition:opacity .4s ease;
  z-index:0;pointer-events:none;
}
.method-card > *{position:relative;z-index:1}
.method-card:hover::before{opacity:1}
.method-card:hover{border-color:transparent}
.method-card:hover h3{color:#fff}
.method-card:hover p{color:var(--offwhite)}
.method-card:hover .method-num span{color:#fff}
.method-card:hover .method-mini{
  background:rgba(214,215,216,0.12);
  border-color:rgba(214,215,216,0.28);
  color:var(--offwhite);
}
.method-card:hover .method-mini b{color:#fff}
.method-card h3,.method-card p,.method-num span,.method-mini,.method-mini b{
  transition:color .3s ease,background .3s ease,border-color .3s ease;
}

/* ============== PERFORMER SOUS PRESSION (mental-grid Antoine-style) ============== */
.mental-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.18);
  box-shadow:var(--shadow-card-lg);
  margin-top:32px;
}
@media (max-width:900px){.mental-grid{grid-template-columns:1fr}}
.mental-image{
  position:relative;aspect-ratio:4/5;
  overflow:hidden;
}
.mental-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1);
}
.mental-grid:hover .mental-image img{transform:scale(1.05)}
.mental-image .overlay-quote{
  position:absolute;left:24px;bottom:24px;right:24px;
  background:rgba(11,8,9,0.85);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  padding:20px 24px;border-radius:8px;
  border-left:3px solid var(--navy);
  color:var(--offwhite);
  font-family:'Jura',sans-serif;font-style:italic;
  font-size:16px;line-height:1.45;
  transform:translateY(8px);opacity:0;
  transition:transform .6s cubic-bezier(.2,.7,.2,1) .2s,opacity .6s ease .2s;
}
.mental-grid.is-visible .mental-image .overlay-quote,
.mental-grid:hover .mental-image .overlay-quote{
  transform:translateY(0);opacity:1;
}
.mental-text{
  padding:64px 56px;
  display:flex;flex-direction:column;justify-content:center;
}
@media (max-width:1000px){.mental-text{padding:40px 32px}}
.mental-text .eyebrow{margin-bottom:24px}
.mental-text h3{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:clamp(32px,4vw,52px);line-height:0.95;
  text-transform:uppercase;letter-spacing:-0.005em;
  color:var(--navy);
  margin-bottom:28px;
}
.mental-text h3 em{font-style:normal;color:var(--navy);position:relative;display:inline-block}
.mental-text h3 em::after{
  content:"";position:absolute;
  left:0;right:0;bottom:-4px;height:6px;
  background:rgba(21,52,85,0.18);
  z-index:-1;
}
.mental-list{list-style:none;padding:0;margin:0}
.mental-list li{
  padding:14px 0 14px 28px;position:relative;
  font-family:'Quicksand',sans-serif;font-size:15px;line-height:1.55;
  color:var(--black);
  border-bottom:1px solid rgba(109,124,144,0.15);
}
.mental-list li:last-child{border-bottom:none}
.mental-list li::before{
  content:"";position:absolute;left:0;top:22px;
  width:14px;height:1.5px;background:var(--navy);
  transition:width .3s ease,background .3s ease;
}
.mental-list li:hover::before{width:22px;background:var(--gold)}
.mental-list li b{font-weight:700;color:var(--navy)}

/* ============== TIMELINE (parcours linéaire à propos) — largeur contenue + reveal staggered ============== */
.timeline{
  position:relative;
  margin:48px auto 0;
  padding-left:32px;
  max-width:760px;
}
.timeline::before{
  content:"";position:absolute;
  left:14px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,
    var(--navy) 0%,
    var(--navy) 92%,
    var(--gold) 92%,
    var(--gold) 100%);
}
.timeline-step{
  position:relative;
  padding-left:48px;
  padding-bottom:32px;
  display:grid;grid-template-columns:90px 1fr;gap:24px;align-items:start;
  /* reveal initial state */
  opacity:0;
  transform:translateX(-24px);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);
}
.timeline-step.is-visible{opacity:1;transform:translateX(0)}
.timeline-step:nth-child(2).is-visible{transition-delay:.08s}
.timeline-step:nth-child(3).is-visible{transition-delay:.16s}
.timeline-step:nth-child(4).is-visible{transition-delay:.24s}
.timeline-step:nth-child(5).is-visible{transition-delay:.32s}
.timeline-step:nth-child(6).is-visible{transition-delay:.40s}
.timeline-step:nth-child(7).is-visible{transition-delay:.48s}
.timeline-step:nth-child(8).is-visible{transition-delay:.56s}
@media (max-width:760px){
  .timeline-step{grid-template-columns:1fr;gap:6px;padding-bottom:24px}
}
.timeline-step::before{
  /* dot on the line */
  content:"";position:absolute;
  left:-24px;top:14px;
  width:14px;height:14px;border-radius:50%;
  background:#ffffff;
  border:3px solid var(--navy);
  z-index:1;
  transition:transform .3s ease,border-color .3s ease,background .3s ease;
}
.timeline-step:hover::before{
  transform:scale(1.25);
  border-color:var(--gold);
  background:var(--gold);
}
.timeline-step-now::before{
  background:var(--gold);
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(249,176,0,0.25),0 0 16px rgba(249,176,0,0.5);
  animation:nowPulse 2.4s ease-in-out infinite;
}
@keyframes nowPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(249,176,0,0.25),0 0 16px rgba(249,176,0,0.4)}
  50%{box-shadow:0 0 0 8px rgba(249,176,0,0.12),0 0 24px rgba(249,176,0,0.7)}
}
.timeline-year{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:36px;color:var(--navy);
  line-height:1;letter-spacing:-0.02em;
  align-self:start;padding-top:6px;
  transition:color .45s ease;
}
.timeline-step-now .timeline-year{color:var(--black)}
.timeline-step:hover .timeline-year{color:var(--gold)}
.timeline-card{
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.18);
  border-radius:var(--r);
  padding:22px 26px;
  box-shadow:var(--shadow-card);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,background .45s ease,border-color .45s ease;
}
.timeline-step:hover .timeline-card{
  transform:translateX(6px) translateY(-4px);
  background:var(--grad-blue-150);
  box-shadow:0 40px 84px -30px rgba(11,8,9,0.55);
  border-color:transparent;
}
.timeline-card h4{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:18px;color:var(--navy);
  text-transform:uppercase;letter-spacing:-0.005em;line-height:1.2;
  margin:0 0 8px;
  transition:color .45s ease;
}
.timeline-step:hover .timeline-card h4{color:#ffffff}
.timeline-card p{
  font-size:15px;line-height:1.55;color:var(--black);margin:0;
  transition:color .45s ease;
}
.timeline-step:hover .timeline-card p{color:var(--offwhite)}

/* ============== PODCAST FEATURE ============== */
.podcast-feature{
  display:grid;grid-template-columns:300px 1fr;gap:48px;
  align-items:start;
  margin-top:32px;
}
@media (max-width:760px){.podcast-feature{grid-template-columns:1fr;gap:32px}}
.podcast-cover-wrap{
  position:relative;
}
.podcast-cover{
  width:100%;max-width:320px;
  border-radius:18px;
  box-shadow:0 30px 70px -22px rgba(11,8,9,0.4),0 0 0 1px rgba(109,124,144,0.15);
  display:block;
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.podcast-cover-wrap:hover .podcast-cover{transform:scale(1.03) rotate(-1deg)}
.podcast-cover-badge{
  position:absolute;top:14px;left:14px;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:10px;text-transform:uppercase;letter-spacing:0.22em;
  color:#ffffff;
  background:rgba(11,8,9,0.7);
  backdrop-filter:blur(6px);
  padding:7px 14px;border-radius:999px;
}
.podcast-platforms{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;margin-bottom:8px;
}
.podcast-platform{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.2);
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:12px;text-transform:uppercase;letter-spacing:0.14em;
  color:var(--navy);
  transition:transform .25s ease,border-color .25s ease,color .25s ease,background .25s ease;
}
.podcast-platform svg{width:18px;height:18px;flex-shrink:0}
.podcast-platform:hover{
  transform:translateY(-2px);
  border-color:var(--navy);
  background:var(--navy);color:#ffffff;
}
.podcast-episodes{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:8px;
}
.podcast-episodes li a{
  display:grid;grid-template-columns:48px 1fr 28px;gap:14px;align-items:center;
  padding:16px 18px;border-radius:12px;
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.15);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.podcast-episodes li a:hover{
  transform:translateX(4px);
  border-color:var(--navy);
  box-shadow:var(--shadow-card);
}
.podcast-episodes .ep-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:18px;color:var(--navy);letter-spacing:-0.02em;
}
.podcast-episodes .ep-title{
  font-family:'Quicksand',sans-serif;font-weight:600;
  font-size:14px;color:var(--black);line-height:1.4;
}
.podcast-episodes .ep-arrow svg{
  width:16px;height:16px;color:var(--blue-gray);
  transition:transform .25s ease,color .25s ease;
}
.podcast-episodes li a:hover .ep-arrow svg{
  transform:translateX(4px);color:var(--navy);
}

/* ----- Podcast (page contenus) : intro texte + cover, puis bloc épisodes ----- */
.podcast-intro{
  display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:center;
  margin-bottom:56px;
}
@media (max-width:860px){.podcast-intro{grid-template-columns:1fr;gap:36px}}
.podcast-intro-text h2{
  font-size:clamp(30px,3.6vw,46px);margin:10px 0 18px;
  line-height:1.05;letter-spacing:-0.02em;
}
.podcast-intro-text > p{
  font-size:17px;line-height:1.62;color:var(--black);margin:0 0 14px;max-width:600px;
}
.podcast-intro-text > p:first-of-type{
  font-weight:600;color:var(--navy);font-size:18px;
}
.podcast-intro-text .podcast-platforms{margin-top:24px}
.podcast-intro .podcast-cover-wrap{
  justify-self:end;display:flex;flex-direction:column;align-items:center;gap:16px;
}
/* chip sous la pochette pour ne plus masquer l'artwork */
.podcast-intro .podcast-cover-badge{position:static;top:auto;left:auto}
@media (max-width:860px){
  .podcast-intro .podcast-cover-wrap{justify-self:start;align-items:flex-start}
}

.podcast-episodes-head{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  flex-wrap:wrap;margin-bottom:20px;
}
.podcast-episodes-head h3{
  font-family:'Barlow';font-weight:800;font-size:24px;color:var(--navy);
  text-transform:uppercase;line-height:1.15;letter-spacing:-0.01em;margin:0;
}
.podcast-episodes-all{flex-shrink:0}
/* Le bloc épisodes : colonne unique centrée (plus lisible qu'en 2 colonnes) */
.podcast-episodes-block{max-width:760px;margin-left:auto;margin-right:auto}
/* Feed défilant : conteneur scrollable (auto-défilement + flèches en JS) */
.podcast-feed{
  position:relative;max-height:392px;overflow-y:auto;overflow-x:hidden;
  scrollbar-width:none;-ms-overflow-style:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 88%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 88%,transparent 100%);
}
.podcast-feed::-webkit-scrollbar{display:none}
.podcast-feed .podcast-episodes{
  display:flex;flex-direction:column;gap:12px;margin:0;
}
/* Flèches de navigation manuelle (clic = petit pas, maintien = défilement continu) */
.podcast-feed-arrow{
  display:flex;align-items:center;justify-content:center;
  width:46px;height:30px;margin:0 auto;border-radius:999px;
  background:#ffffff;border:1px solid rgba(109,124,144,0.22);color:var(--navy);
  cursor:pointer;box-shadow:0 8px 20px -10px rgba(11,8,9,0.3);
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
  -webkit-tap-highlight-color:transparent;touch-action:none;user-select:none;
}
.podcast-feed-arrow svg{width:20px;height:20px;display:block}
.podcast-feed-arrow:hover{background:var(--navy);color:#fff;box-shadow:0 12px 26px -10px rgba(21,52,85,0.5)}
.podcast-feed-arrow:active{transform:scale(0.94)}
.podcast-feed-arrow--up{margin-bottom:12px}
.podcast-feed-arrow--down{margin-top:12px}
.podcast-feed-hint{
  font-family:'Quicksand',sans-serif;font-size:13px;color:var(--blue-gray);
  margin:14px 0 0;text-align:center;
}

/* ============== INTERVIEWS — CAROUSEL VERTICAL 3 COLONNES × 3 LIGNES ============== */
.interviews-carousel{
  position:relative;
  margin-top:32px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  height:920px;
  overflow:hidden;
  mask-image:linear-gradient(180deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}
@media (max-width:900px){.interviews-carousel{grid-template-columns:repeat(2,1fr);height:780px}}
@media (max-width:560px){.interviews-carousel{grid-template-columns:1fr;height:680px}}
.interviews-col{
  display:flex;flex-direction:column;gap:22px;
  animation:athletesScrollUp 54s linear infinite;
  will-change:transform;
}
/* Même vitesse PAR CARTE (≈18s) + départ aligné (aucun décalage) :
   les vignettes restent à la même hauteur d'une colonne à l'autre.
   Col 1 a 4 cartes → durée proportionnelle pour garder la même vitesse en pixels. */
.interviews-col-1{animation-duration:72s}
.interviews-col-2{animation-duration:54s}
.interviews-col-3{animation-duration:54s}
.interviews-carousel:hover .interviews-col{animation-play-state:paused}

/* legacy grid kept just in case */
.interviews-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px;
}
@media (max-width:1000px){.interviews-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.interviews-grid{grid-template-columns:1fr}}
.interview-card{
  background:#ffffff;
  border-radius:var(--r-lg);
  overflow:hidden;
  /* liseré bleu permanent : détache mieux les cartes */
  border:1px solid var(--navy);
  box-shadow:var(--shadow-card);
  display:flex;flex-direction:column;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease;
}
.interview-card:hover{
  transform:translateY(-6px);
  box-shadow:0 32px 70px -22px rgba(11,8,9,0.32);
  border-color:var(--navy);
}
.interview-cover{
  position:relative;display:block;
  /* Vraies miniatures vidéo Nathan : 1280×720 (16/9) */
  aspect-ratio:16/9;
  background:#ffffff;
  overflow:hidden;
  cursor:default;
}
.interview-card a.interview-cover{cursor:pointer}
.interview-cover img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s ease;
  filter:saturate(.95);
}
.interview-card:hover .interview-cover img{
  transform:scale(1.04);
  filter:saturate(1.15);
}
.interview-cover::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,8,9,0.05) 0%,rgba(11,8,9,0.55) 100%);
  z-index:1;
}
.interview-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:56px;height:56px;border-radius:50%;
  background:#ffffff;color:var(--navy);
  display:grid;place-items:center;
  z-index:2;
  box-shadow:0 12px 30px -8px rgba(11,8,9,0.5);
  transition:transform .3s ease;
}
.interview-card:hover .interview-play{transform:translate(-50%,-50%) scale(1.08)}
.interview-play svg{width:22px;height:22px;transform:translateX(2px)}
.interview-soon{
  position:absolute;bottom:14px;left:14px;z-index:2;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:10px;text-transform:uppercase;letter-spacing:0.22em;
  color:#ffffff;
  background:rgba(11,8,9,0.7);
  backdrop-filter:blur(6px);
  padding:6px 12px;border-radius:999px;
}
.interview-body{
  padding:22px 24px;
  display:flex;flex-direction:column;gap:8px;
  /* hauteur fixe : toutes les cartes ont la même taille → vignettes alignées entre colonnes */
  height:156px;box-sizing:border-box;
}
.interview-sport{
  font-family:'Jura',sans-serif;font-size:11px;
  text-transform:uppercase;letter-spacing:0.18em;
  color:var(--blue-gray);margin:0;
}
.interview-body h3{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:20px;color:var(--navy);text-transform:uppercase;
  letter-spacing:-0.005em;line-height:1.15;margin:0;
}
.interview-body p{
  font-size:14px;line-height:1.5;color:var(--black);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.interview-link{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:12px;text-transform:uppercase;letter-spacing:0.18em;
  color:var(--navy);
  margin-top:6px;
  border-top:1px solid rgba(109,124,144,0.18);
  padding-top:14px;
}
.interview-link svg{width:14px;height:14px;transition:transform .25s ease}
.interview-link:hover svg{transform:translateX(4px)}

/* ============== STEPS (numbered process) ============== */
.steps{display:flex;flex-direction:column;gap:18px;margin-top:40px}
.step{
  display:grid;grid-template-columns:80px 1fr;gap:24px;
  background:#ffffff;border-radius:var(--r-lg);
  padding:32px 30px;
  border:1px solid rgba(109,124,144,0.12);
  box-shadow:var(--shadow-card);
  align-items:start;
  position:relative;overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease;
}
/* la carte se remplit du dégradé bleu de la charte au survol */
.step::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:var(--grad-blue);
  opacity:0;transition:opacity .4s ease;
  z-index:0;pointer-events:none;
}
.step > *{position:relative;z-index:1}
.step:hover{
  transform:translateY(-6px);
  box-shadow:0 34px 72px -28px rgba(11,8,9,0.3);
  border-color:transparent;
}
.step:hover::before{opacity:1}
@media (max-width:560px){.step{grid-template-columns:1fr;gap:8px}}
.step-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:64px;line-height:1;color:var(--navy);
  letter-spacing:-0.04em;
  transition:color .3s ease;
}
.step:hover .step-num{color:var(--gold)}
.step-body h3{font-size:20px;margin:0 0 8px;line-height:1.2;transition:color .3s ease}
.step-body p{font-size:15px;margin:0;line-height:1.55;color:var(--black);transition:color .3s ease}
.step:hover .step-body h3{color:#fff}
.step:hover .step-body p{color:var(--offwhite)}

/* ============== FAQ / Q&A — accordion <details> animé ============== */
.faq{display:flex;flex-direction:column;gap:14px;margin-top:32px}
details.faq-item{
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.18);
  border-radius:var(--r);
  box-shadow:var(--shadow-card);
  overflow:hidden;
  padding:0;
  transition:border-color .25s ease,box-shadow .25s ease;
}
details.faq-item[open]{
  border-color:rgba(21,52,85,0.4);
  box-shadow:var(--shadow-card-lg);
}
details.faq-item summary{
  list-style:none;cursor:pointer;
  padding:24px 28px;
  display:grid;grid-template-columns:56px 1fr 32px;
  gap:16px;align-items:center;
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:clamp(16px,1.6vw,20px);
  color:var(--navy);
  text-transform:uppercase;letter-spacing:-0.005em;
  line-height:1.2;
  transition:color .2s ease,background .2s ease;
}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary:hover{color:var(--black);background:rgba(21,52,85,0.03)}
details.faq-item summary .faq-num{
  font-family:'Jura',sans-serif;font-size:12px;
  color:var(--blue-gray);font-weight:700;letter-spacing:0.18em;
}
details.faq-item[open] summary .faq-num{color:var(--navy)}
details.faq-item summary .toggle{
  width:24px;height:24px;position:relative;justify-self:end;
}
details.faq-item summary .toggle::before,
details.faq-item summary .toggle::after{
  content:"";position:absolute;background:var(--navy);
  transition:transform .3s cubic-bezier(.2,.7,.2,1),background .2s ease;
}
details.faq-item summary .toggle::before{
  top:50%;left:2px;right:2px;height:2px;
  transform:translateY(-50%);
}
details.faq-item summary .toggle::after{
  left:50%;top:2px;bottom:2px;width:2px;
  transform:translateX(-50%);
}
details.faq-item[open] summary .toggle::after{
  transform:translateX(-50%) scaleY(0);
}
details.faq-item[open] summary .toggle::before{background:var(--gold)}
details.faq-item summary:hover .toggle::before,
details.faq-item summary:hover .toggle::after{background:var(--black)}

details.faq-item .faq-answer{
  padding:0 28px 26px 100px;
  color:var(--black);font-size:15px;line-height:1.65;
  max-width:78ch;
  /* slide-down animation when opening */
  animation:faqOpen .35s cubic-bezier(.2,.7,.2,1);
}
details.faq-item .faq-answer p{margin:0 0 10px}
details.faq-item .faq-answer p:last-child{margin-bottom:0}
@keyframes faqOpen{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}
@media (max-width:560px){
  details.faq-item summary{grid-template-columns:1fr 28px;padding:20px}
  details.faq-item summary .faq-num{display:none}
  details.faq-item .faq-answer{padding:0 20px 22px 20px}
}

/* ============== INSIGHT BOX (gold zone) ============== */
.insight{
  background:var(--grad-blue);
  border-radius:var(--r-lg);
  padding:48px 44px;
  color:#fff;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-card-lg);
}
.insight::before{
  content:""; position:absolute;
  top:0;left:0;width:3px;height:100%;
  background:var(--offwhite);
  opacity:0.6;
}
.insight .eyebrow{color:var(--offwhite)}
.insight .eyebrow::before{background:rgba(214,215,216,0.4)}
.insight h3{color:#fff;font-size:clamp(22px,2.4vw,30px);margin:0 0 14px;line-height:1.2}
.insight p{color:var(--offwhite);font-size:16px;margin:0 0 12px;line-height:1.55}
.insight p:last-child{margin:0}

/* ============== FINAL CTA (zone gold #3) ============== */
.final-cta{
  padding:clamp(72px,9vw,128px) 0;
  background:var(--grad-blue);color:#fff;
  text-align:center;
}
.final-cta h2{color:#fff;font-size:clamp(36px,5vw,60px);margin:0 0 18px;line-height:1.05}
.final-cta p{font-size:18px;color:var(--offwhite);max-width:680px;margin:0 auto 36px;line-height:1.55}
.final-cta .btn-gold{padding:20px 36px;font-size:14px}
/* Deux appels à l'action côte à côte (formation pro / coaching) */
.final-cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
@media (max-width:560px){
  .final-cta-actions{flex-direction:column;align-items:stretch}
  .final-cta-actions .btn-gold{justify-content:center}
}

/* ============== FORM CARD (lead capture programme) ============== */
.form-card{
  background:#fff;
  border-radius:var(--r-lg);
  padding:48px 44px;
  box-shadow:0 24px 50px -10px rgba(11,8,9,0.5);
  display:flex;flex-direction:column;gap:22px;
  max-width:620px;
  margin:0 auto;
  text-align:left;
}
.form-row{display:flex;flex-direction:column;gap:8px}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-row.two > div{display:flex;flex-direction:column;gap:8px}
.form-card label{
  font-family:'Jura',sans-serif;
  font-size:12px;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--navy);
}
.form-card input,
.form-card select{
  font-family:'Quicksand',sans-serif;
  font-size:16px;
  padding:16px 18px;
  border-radius:12px;
  border:1.5px solid rgba(21,52,85,0.18);
  background:#fff;
  color:var(--black);
  transition:border-color 0.18s, box-shadow 0.18s;
  width:100%;
}
.form-card input:focus,
.form-card select:focus{
  outline:none;
  border-color:var(--navy);
  box-shadow:0 0 0 4px rgba(21,52,85,0.1);
}
.form-card input::placeholder{color:var(--blue-gray)}
.form-card .invalid{
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(249,176,0,0.18);
}
.form-card .form-submit{
  width:100%;
  justify-content:center;
  margin-top:6px;
  padding:20px 28px;
  font-size:14px;
}
.form-note{
  font-family:'Quicksand',sans-serif;
  font-size:13px;
  color:var(--blue-gray);
  line-height:1.55;
  margin:6px 0 0;
  text-align:center;
}
.form-error{
  font-family:'Jura',sans-serif;
  font-size:13px;
  color:var(--navy);
  background:rgba(109,124,144,0.12);
  padding:12px 16px;
  border-radius:10px;
  border-left:3px solid var(--navy);
  display:none;
}
.form-error.show{display:block}

.form-success{text-align:center;padding:60px 44px}
.form-success .check{
  width:72px;height:72px;
  margin:0 auto 24px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:38px;
  font-family:'Barlow',sans-serif;font-weight:800;font-style:italic;
}
.form-success h3{
  font-family:'Barlow',sans-serif;
  font-weight:800;font-style:italic;
  font-size:28px;
  text-transform:uppercase;
  color:var(--navy);
  margin:0 0 14px;
  letter-spacing:-0.01em;
}
.form-success p{
  font-family:'Quicksand',sans-serif;
  font-size:16px;
  color:var(--black);
  line-height:1.6;
  margin:0;
}
@media (max-width:640px){
  .form-card{padding:36px 24px}
  .form-row.two{grid-template-columns:1fr}
  .form-success{padding:48px 24px}
}

/* ============== CONTACT FORM RÉUTILISABLE (athlète / parent) — GROSSE CARTE intégrée ============== */
.rtr-contact{overflow:hidden}
/* La carte : une seule grande carte blanche, formulaire + photo collés, coins arrondis, grosse ombre */
.rtr-contact-card{
  display:grid;grid-template-columns:1.1fr 0.9fr;align-items:stretch;
  background:#fff;border-radius:22px;overflow:hidden;
  box-shadow:0 40px 90px -34px rgba(11,8,9,0.45),inset 0 0 0 1px rgba(21,52,85,0.05);
  max-width:1080px;margin:0 auto;
}
/* Colonne formulaire (gauche) — très compacte */
.rtr-contact-formwrap{padding:26px 34px;display:flex;flex-direction:column;gap:11px}
.rtr-contact-intro{display:flex;flex-direction:column}
.rtr-contact-intro .eyebrow{margin-bottom:4px}
.rtr-contact-intro h2{font-size:clamp(22px,2.3vw,28px);margin:3px 0 7px;line-height:1.06;letter-spacing:-0.01em}
.rtr-contact-lead{
  font-family:'Quicksand',sans-serif;font-size:13.5px;color:var(--black);
  line-height:1.45;margin:0;
}
/* Le form perd son chrome de carte + champs très compacts */
.rtr-contact-card .form-card{
  margin:0;max-width:none;background:transparent;
  box-shadow:none;border-radius:0;padding:0;gap:11px;
}
.rtr-contact-card .form-card label{font-size:11px;letter-spacing:0.1em}
.rtr-contact-card .form-card input,
.rtr-contact-card .form-card select{padding:10px 13px;font-size:14.5px;border-radius:10px}
.rtr-contact-card .form-card textarea{padding:10px 13px;min-height:70px;font-size:14.5px;border-radius:10px}
.rtr-contact-card .form-row{gap:5px}
.rtr-contact-card .form-row.two{gap:12px}
.rtr-contact-card .rtr-role-btn{padding:8px 22px;font-size:11px}
.rtr-contact-card .form-submit{padding:14px 22px;margin-top:2px}
.rtr-contact-card .form-note{margin-top:0;font-size:12px}
/* Vidéo verticale qui remplit la colonne (comme une photo) — page Nathan */
.rtr-contact-video{position:relative;overflow:hidden;min-height:440px;background:var(--navy)}
.rtr-contact-video video{width:100%;height:100%;object-fit:cover;display:block}
@media (prefers-reduced-motion:reduce){.rtr-contact-video video{display:none}}
/* Variante : photo à GAUCHE, formulaire à droite (même DOM, on inverse via order + largeurs) */
.rtr-contact-card.photo-left{grid-template-columns:0.9fr 1.1fr}
.rtr-contact-card.photo-left .rtr-contact-formwrap{order:2}
.rtr-contact-card.photo-left .rtr-contact-photo{order:1}
/* Colonne photo (droite par défaut), pleine hauteur, collée aux bords de la carte */
.rtr-contact-photo{position:relative;overflow:hidden;min-height:440px;background:var(--navy)}
.rtr-contact-photo img{
  width:100%;height:100%;object-fit:cover;object-position:50% 32%;display:block;
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.rtr-contact-card:hover .rtr-contact-photo img{transform:scale(1.04)}
/* Chip d'info posé en haut de la photo (ex. preuve de conférence) */
.rtr-photo-chip{
  position:absolute;top:16px;left:16px;right:16px;z-index:2;
  display:inline-flex;align-items:center;gap:9px;width:fit-content;max-width:calc(100% - 32px);
  background:rgba(11,8,9,0.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  color:#fff;padding:9px 15px;border-radius:999px;
  font-family:'Jura',sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:0.04em;line-height:1.25;
  border:1px solid rgba(255,255,255,0.18);
}
.rtr-photo-chip svg{width:15px;height:15px;color:var(--gold);flex-shrink:0}
@media (max-width:900px){
  .rtr-contact-card{grid-template-columns:1fr;max-width:560px}
  .rtr-contact-photo,
  .rtr-contact-video{order:-1;min-height:280px;max-height:340px}
  .rtr-contact-formwrap{padding:30px 24px}
}
/* Toggle athlète / parent */
.rtr-role{display:flex;flex-direction:column;gap:8px}
.rtr-role-toggle{
  display:flex;border:1.5px solid rgba(21,52,85,0.18);border-radius:999px;
  overflow:hidden;width:fit-content;background:#f4f5f6;padding:3px;gap:2px;
}
.rtr-role-btn{
  padding:10px 30px;border:none;background:transparent;cursor:pointer;
  font-family:'Jura',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--blue-gray);
  transition:background .25s ease,color .25s ease;border-radius:999px;
}
.rtr-role-btn.active{background:var(--navy);color:#fff}
/* Textarea (réutilise le style input du form-card) */
.form-card textarea{
  font-family:'Quicksand',sans-serif;font-size:16px;padding:16px 18px;
  border-radius:12px;border:1.5px solid rgba(21,52,85,0.18);background:#fff;
  color:var(--black);width:100%;resize:vertical;min-height:120px;
  transition:border-color .18s,box-shadow .18s;
}
.form-card textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(21,52,85,0.1)}
.form-card textarea::placeholder{color:var(--blue-gray)}
.form-card textarea.invalid{border-color:var(--gold);box-shadow:0 0 0 4px rgba(249,176,0,0.18)}
/* Champ âge conditionnel (apparaît pour Parent) */
.rtr-age-field{display:none}
.rtr-age-field.show{display:flex}
.rtr-age-inline{display:flex;align-items:center;gap:10px}
.rtr-age-inline input{flex:0 0 auto;width:96px;text-align:center}
.rtr-age-inline span{
  font-family:'Jura',sans-serif;font-size:13px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--blue-gray);
}
/* Case à cocher RGPD — checkbox custom carrée navy */
.rtr-consent{
  display:flex;align-items:flex-start;gap:11px;cursor:pointer;
  text-align:left;margin-top:2px;
}
/* Texte en Quicksand petit/discret — override de .form-card label (Jura uppercase) */
.rtr-consent span{
  font-family:'Quicksand',sans-serif;font-weight:400;font-size:12px;
  line-height:1.5;color:var(--blue-gray);
  text-transform:none;letter-spacing:normal;
}
.rtr-consent input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;
  flex-shrink:0;width:20px;height:20px;margin:1px 0 0;padding:0;
  border:1.5px solid rgba(21,52,85,0.35);border-radius:6px;
  background:#fff;cursor:pointer;position:relative;
  transition:background .18s ease,border-color .18s ease;
}
.rtr-consent input[type="checkbox"]:hover{border-color:var(--navy)}
.rtr-consent input[type="checkbox"]:checked{background:var(--navy);border-color:var(--navy)}
.rtr-consent input[type="checkbox"]:checked::after{
  content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);
}
.rtr-consent input[type="checkbox"]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.rtr-consent input[type="checkbox"].invalid{border-color:var(--gold);box-shadow:0 0 0 4px rgba(249,176,0,0.18)}
.rtr-consent a{color:var(--navy);font-weight:600;text-decoration:underline}
.rtr-consent a:hover{color:var(--gold)}

/* ============== FOOTER ============== */
.site-footer{
  background:var(--grad-blue);color:var(--offwhite);
  padding:80px 0 32px;
}
.footer-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;
  margin-bottom:56px;
}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}
.footer-brand{display:flex;flex-direction:column;gap:12px}
.footer-brand .brand{color:#fff;font-size:18px;align-self:center}
.footer-brand .brand-mark{background:transparent;width:112px;height:112px}
.footer-blurb{font-size:14px;color:var(--offwhite);line-height:1.55;max-width:340px}
.footer-col h5{
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;text-transform:uppercase;letter-spacing:0.22em;
  color:var(--offwhite);margin:0 0 18px;
}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer-col li{font-family:'Jura',sans-serif;font-weight:500;font-size:13px;line-height:1.4;color:var(--offwhite)}
.footer-col a{
  font-family:'Jura',sans-serif;font-weight:500;font-size:13px;
  color:var(--offwhite);opacity:0.85;transition:.2s;
}
.footer-col a:hover{opacity:1;color:#fff}
.social{display:flex;gap:10px}
.social a{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(214,215,216,0.08);
  border:1px solid rgba(214,215,216,0.15);
  color:var(--offwhite);transition:.2s;
}
.social a:hover{background:rgba(214,215,216,0.16);color:#fff}
.social svg{width:16px;height:16px}
.footer-bottom{
  padding-top:32px;border-top:1px solid rgba(214,215,216,0.12);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:16px;
  font-family:'Jura',sans-serif;font-size:11px;
  text-transform:uppercase;letter-spacing:0.18em;
  color:var(--blue-gray);
}
.footer-bottom a{color:var(--offwhite);opacity:0.7;margin-left:18px}
.footer-bottom a:hover{opacity:1}
.footer-give{
  display:flex;align-items:center;gap:28px;
  padding:32px 0;
  border-top:1px solid rgba(214,215,216,0.12);
}
.give-logo{
  flex:0 0 auto;display:grid;place-items:center;
  background:#fff;border-radius:16px;padding:16px 22px;
  transition:transform .2s, box-shadow .2s;
}
.give-logo:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,0.22)}
.give-logo img{display:block;height:62px;width:auto}
.give-text{
  font-family:'Jura',sans-serif;font-size:14px;
  color:var(--offwhite);line-height:1.65;max-width:640px;margin:0;
}
.give-text strong{color:#fff;font-weight:700}
.give-text a{color:#fff;text-decoration:underline;text-underline-offset:3px;opacity:.95}
.give-text a:hover{opacity:.75}
@media (max-width:560px){
  .footer-give{flex-direction:column;align-items:flex-start;gap:18px}
}

/* ============== INFO BOX (warning/note) ============== */
.note-box{
  background:rgba(109,124,144,0.07);
  border-left:3px solid var(--navy);
  padding:22px 28px;border-radius:8px;
  margin:24px 0;
}
.note-box p{font-size:15px;color:var(--black);margin:0;line-height:1.6}

/* ============== EMOTION CHIPS ============== */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.chip{
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;text-transform:uppercase;letter-spacing:0.18em;
  padding:8px 16px;border-radius:999px;
  background:rgba(21,52,85,0.08);color:var(--navy);
  border:1px solid rgba(21,52,85,0.15);
  transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s cubic-bezier(.2,.7,.2,1);
}
/* survol : le fond passe en bleu (charte) */
.chip:hover{background:var(--navy);color:#ffffff;border-color:var(--navy);transform:translateY(-2px)}
.chip.on-dark{background:rgba(214,215,216,0.1);color:var(--offwhite);border-color:rgba(214,215,216,0.18)}
/* sur fond sombre, le bleu ne ressortirait pas → on éclaircit à la place */
.chip.on-dark:hover{background:var(--offwhite);color:var(--navy);border-color:var(--offwhite)}

/* hero variant when followed by a pulled-up video — shorter hero, more bottom space for the chevauchement */
.hero.hero-with-pull{
  min-height:auto;
  padding-bottom:240px;
}
.hero.hero-with-pull .hero-inner{min-height:auto}

/* ============== HERO WISTIA (formation) — vidéo en focal point central ============== */
.hero.hero-video-focus{
  min-height:auto;
  padding:130px 0 60px;
  display:block;
  align-items:initial;
}
.hero-video-focus-inner{
  position:relative;z-index:2;
  display:flex;flex-direction:column;
  align-items:center;
  text-align:center;
  gap:36px;
}
.hero-video-text{max-width:880px}
.hero-video-text h1{
  font-size:clamp(40px,5.6vw,76px);
  line-height:0.95;
  margin-bottom:18px;
}
.hero-video-text .hero-sub{margin:14px auto 28px;font-size:clamp(16px,1.4vw,19px)}
.hero-video-text .hero-cta{justify-content:center}
.hero-wistia{
  position:relative;
  width:100%;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 60px 120px -36px rgba(11,8,9,0.7),0 0 0 1px rgba(214,215,216,0.25);
  background:#0b0809;
  animation:videoFloat 6s ease-in-out infinite alternate;
}
.hero-wistia::before{
  content:"";position:absolute;
  inset:-4px;border-radius:24px;
  background:linear-gradient(135deg,#153455 0%,#1a2835 50%,#0b0809 100%);
  z-index:-1;filter:blur(28px);opacity:0.7;
}
.hero-wistia-big{
  max-width:885px; /* -9% de hauteur (ratio 16:9 fixe) : 970 → 885 ; le player Wistia reste identique */
}
/* Respiration "sur place" (scale léger), identique à la home (rtrStageBreathe).
   Remplace le flottement vertical videoFloat pour la vidéo hero de la page formation. */
.hero-video-focus .hero-wistia{
  animation:heroVideoBreathe 6s ease-in-out infinite;
}
@keyframes heroVideoBreathe{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.012)}
}
.hero-video-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
  width:100%;max-width:1080px;
  padding-top:26px;margin-top:8px;
  border-top:1px solid rgba(214,215,216,0.18);
  text-align:left;
}
.hero-video-stats .hero-stat{border-left:2px solid rgba(214,215,216,0.4);padding:6px 0 6px 16px}
.hero-video-stats .hero-stat-num{font-size:30px;color:#ffffff}
.hero-video-stats .hero-stat-label{font-size:13px;color:var(--blue-gray)}
@media (max-width:900px){.hero-video-stats{grid-template-columns:repeat(2,1fr);gap:18px}}
@media (max-width:480px){.hero-video-stats{grid-template-columns:1fr}}

/* ============== HERO MODULES (formation) — pile de cards à droite du hero ============== */
.hero-modules{
  position:relative;
  display:flex;flex-direction:column;gap:14px;
  padding:14px;
  perspective:1000px;
}
.hero-module{
  position:relative;
  background:#ffffff;
  border-radius:14px;
  padding:18px 22px;
  display:grid;grid-template-columns:auto 1fr;gap:14px 18px;align-items:center;
  box-shadow:0 24px 60px -22px rgba(11,8,9,0.5),0 0 0 1px rgba(214,215,216,0.15);
  border:1px solid rgba(214,215,216,0.4);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease;
  opacity:0;
  animation:hmIn .9s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero-module.hm1{transform:rotate(-2deg) translateX(-12px);animation-delay:.4s}
.hero-module.hm2{transform:rotate(1.5deg);animation-delay:.65s;margin-left:32px}
.hero-module.hm3{transform:rotate(-1.5deg) translateX(-8px);animation-delay:.9s;margin-left:8px}
@keyframes hmIn{
  from{opacity:0;transform:translateY(20px) rotate(0)}
}
.hero-module:hover{
  transform:rotate(0) translateY(-4px) scale(1.02);
  box-shadow:0 36px 80px -24px rgba(11,8,9,0.6),0 0 0 1px rgba(249,176,0,0.4);
  z-index:2;
}
.hm-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:48px;line-height:0.85;color:var(--navy);
  letter-spacing:-0.04em;
  grid-row:1 / span 2;
}
.hm-title{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:18px;color:var(--navy);
  text-transform:uppercase;letter-spacing:0.005em;line-height:1.1;
  align-self:end;
}
.hm-meta{
  font-family:'Jura',sans-serif;font-weight:600;
  font-size:11px;text-transform:uppercase;letter-spacing:0.16em;
  color:var(--blue-gray);
  align-self:start;
}
.hero-modules-tag{
  align-self:center;
  margin-top:10px;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;text-transform:uppercase;letter-spacing:0.22em;
  color:var(--offwhite);
  padding:8px 16px;
  background:rgba(11,8,9,0.4);
  border:1px solid rgba(214,215,216,0.2);
  border-radius:999px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  opacity:0;
  animation:hmIn 1s cubic-bezier(.2,.7,.2,1) forwards 1.15s;
}

/* ============== HERO IMMERSIVE (home) — condensé pour tenir en 1 viewport sur 15" ============== */
.hero.hero-immersive{
  min-height:min(720px,92vh);
  padding:120px 0 40px;
  display:flex;
  align-items:flex-end;
}
/* Le surfeur + la vague sont dans la moitié basse de la photo : sur écran large
   (très letterbox), on ancre bas pour les garder dans le cadre. */
.hero-immersive .hero-bg{background-position:center 70%}
.hero-immersive .hero-bg::after{
  background:
    linear-gradient(180deg, rgba(11,8,9,0.4) 0%, rgba(11,8,9,0.2) 30%, rgba(11,8,9,0.6) 75%, rgba(11,8,9,0.92) 100%),
    linear-gradient(135deg, rgba(21,52,85,0.55) 0%, rgba(21,52,85,0.15) 60%);
}
/* ---- Hero fond vidéo (page sportif) : montage multi-sports plein cadre ---- */
/* Pleine hauteur d'écran (15" → 27") : on annule le format letterbox de la home
   (min(720px,92vh)) pour que la vidéo occupe toute la hauteur du viewport. */
.hero.hero-video{min-height:100vh;min-height:100svh}
.hero-bg-video{
  /* poster en background = peint instantanément + fallback si la vidéo ne charge pas */
  background-image:url('../img/hero-sportif-poster.jpg');
  background-position:center;
}
.hero-bg-video video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
}
/* l'overlay ::after est peint par-dessus la vidéo. Dégradé horizontal :
   noir à gauche (sous le texte, qui va jusqu'à ~70% de large), puis on
   laisse l'image NATURELLE sur la droite où il n'y a aucun texte. */
.hero-video .hero-bg::after{
  z-index:1;
  background:linear-gradient(95deg,
    rgba(11,8,9,0.76) 0%,
    rgba(11,8,9,0.68) 40%,
    rgba(11,8,9,0.50) 63%,
    rgba(11,8,9,0.12) 83%,
    rgba(11,8,9,0) 95%);
}
/* Sur mobile/tablette le hero s'empile et le texte occupe toute la largeur :
   on repasse sur un dégradé vertical homogène pour rester lisible partout. */
@media (max-width:1000px){
  /* le hero s'empile et le texte court de ~13% à ~96% de la hauteur :
     voile sombre homogène sur toute la hauteur pour rester lisible partout */
  .hero-video .hero-bg::after{
    background:linear-gradient(180deg,
      rgba(11,8,9,0.72) 0%,
      rgba(11,8,9,0.66) 45%,
      rgba(11,8,9,0.70) 78%,
      rgba(11,8,9,0.80) 100%);
  }
}
@media (prefers-reduced-motion:reduce){
  /* on coupe le mouvement : le poster (background) reste affiché */
  .hero-bg-video video{display:none}
  .hero.in .hero-bg-video{transform:scale(1.02)}
}
.hero-immersive-inner{
  position:relative;z-index:2;
  width:100%;
  display:flex;flex-direction:column;gap:28px;
}
.hero-text{max-width:880px}
.hero-immersive h1{
  font-size:clamp(38px,5.4vw,72px);
  line-height:0.95;
  letter-spacing:-0.015em;
  margin-bottom:18px;
}
.hero-immersive .hero-sub{
  max-width:680px;
  font-size:clamp(16px,1.3vw,19px);
  margin-bottom:24px;
}
.hero-immersive .hero-cta{margin-bottom:0}
.hero-pills{
  display:flex;gap:12px;flex-wrap:wrap;
  margin-top:8px;
}
.floating-pill{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;text-transform:uppercase;letter-spacing:0.18em;
  padding:10px 18px;border-radius:999px;
  background:rgba(11,8,9,0.5);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(214,215,216,0.25);
  color:#ffffff;
  opacity:0;
  transform:translateY(12px);
  animation:pillIn 1s cubic-bezier(.2,.7,.2,1) forwards;
}
.floating-pill.fp1{animation-delay:.6s}
.floating-pill.fp2{animation-delay:.85s}
.floating-pill.fp3{animation-delay:1.1s}
.floating-pill .dot{
  width:6px;height:6px;border-radius:50%;
  background:#f9b000;
  box-shadow:0 0 10px rgba(249,176,0,0.6);
}
@keyframes pillIn{to{opacity:1;transform:translateY(0)}}

.hero-meta-row{
  display:grid;grid-template-columns:repeat(3,auto) 1fr;gap:36px;
  align-items:end;margin-top:18px;
  padding-top:22px;
  border-top:1px solid rgba(214,215,216,0.18);
}
.hero-meta-row .hero-stat-num{font-size:24px}
.hero-meta-row .hero-stat-label{font-size:12px;line-height:1.45}
.hero-immersive .hero-pills{margin-top:0}
.hero-immersive .floating-pill{font-size:10px;padding:8px 14px}
@media (max-width:900px){
  .hero-meta-row{grid-template-columns:repeat(3,1fr);gap:24px}
  .hero-signature{grid-column:1/-1;text-align:left}
}
@media (max-width:560px){
  .hero-meta-row{grid-template-columns:1fr 1fr;gap:20px}
}
.hero-signature{justify-self:end;text-align:right}
.hero-signature-name{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:18px;color:#ffffff;text-transform:uppercase;letter-spacing:0.02em;
  line-height:1;
}
.hero-signature-role{
  font-family:'Jura',sans-serif;font-size:11px;
  text-transform:uppercase;letter-spacing:0.22em;
  color:var(--blue-gray);margin-top:6px;
}

/* ============== HERO VIDEO PULL (formation) ============== */
.hero-video-pull{
  position:relative;
  background:var(--offwhite);
  padding:0 0 clamp(60px,8vw,96px);
  margin-top:-200px; /* chevauche la fin du hero */
  z-index:5;
}
@media (max-width:900px){
  .hero.hero-with-pull{padding-bottom:160px}
  .hero-video-pull{margin-top:-120px}
}
.hero-video-pull .wrap{position:relative;z-index:2}
.video-headline{
  text-align:center;
  margin-bottom:32px;
}
.video-headline .eyebrow{justify-content:center}
.video-headline h2{
  font-size:clamp(28px,3.6vw,44px);
  color:#ffffff;
  margin-bottom:14px;
  text-shadow:0 2px 12px rgba(11,8,9,0.4);
}
.video-embed-feature{
  max-width:1080px;margin:0 auto;
  border-radius:24px;overflow:hidden;
  box-shadow:0 60px 120px -40px rgba(11,8,9,0.6),0 0 0 1px rgba(214,215,216,0.2);
  position:relative;
  animation:videoFloat 6s ease-in-out infinite alternate;
}
.wistia-feature{
  max-width:1080px;margin:0 auto;
  border-radius:24px;overflow:hidden;
  box-shadow:0 60px 120px -40px rgba(11,8,9,0.6),0 0 0 1px rgba(214,215,216,0.25);
  position:relative;
  background:#0b0809;
  animation:videoFloat 6s ease-in-out infinite alternate;
}
.wistia-feature::before{
  content:"";position:absolute;
  inset:-3px;
  border-radius:26px;
  background:linear-gradient(135deg,#153455 0%,#1a2835 50%,#0b0809 100%);
  z-index:-1;
  filter:blur(20px);
  opacity:0.5;
  pointer-events:none;
}
.wistia-feature .wistia_responsive_padding{border-radius:24px;overflow:hidden}
.video-embed-feature::before{
  content:"";position:absolute;
  inset:-3px;
  border-radius:26px;
  background:linear-gradient(135deg,#153455 0%,#1a2835 50%,#0b0809 100%);
  z-index:-1;
  filter:blur(20px);
  opacity:0.5;
  pointer-events:none;
}
@keyframes videoFloat{
  from{transform:translateY(0)}
  to{transform:translateY(-8px)}
}
.video-embed-feature .video-cover-play span{
  width:108px;height:108px;
  background:#ffffff;
  position:relative;
}
.video-embed-feature .video-cover-play span::after{
  content:"";position:absolute;inset:-8px;border-radius:50%;
  border:2px solid rgba(255,255,255,0.6);
  animation:playPulse 2s ease-in-out infinite;
}
@keyframes playPulse{
  0%{transform:scale(1);opacity:1}
  100%{transform:scale(1.3);opacity:0}
}
.video-embed-feature .video-cover-play span svg{width:38px;height:38px}
.video-embed-feature .video-cover-meta{
  font-size:13px;letter-spacing:0.22em;
  background:rgba(11,8,9,0.7);
  padding:8px 16px;border-radius:999px;
  backdrop-filter:blur(8px);
}

/* ============== VIDEO EMBED ============== */
.video-embed{
  position:relative;width:100%;
  aspect-ratio:16/9;
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-card-lg);
  background:var(--grad-blue);
  border:1px solid rgba(214,215,216,0.15);
}
.video-embed iframe{
  position:absolute;inset:0;
  width:100%;height:100%;border:0;
}
.video-embed.aspect-portrait{aspect-ratio:4/5}
.video-embed.aspect-vertical{aspect-ratio:9/16}
.video-embed.aspect-916{aspect-ratio:9/16}
.video-cover{
  position:absolute;inset:0;
  cursor:pointer;display:block;
  transition:transform .5s ease;
}
.video-cover img{width:100%;height:100%;object-fit:cover;display:block}
.video-cover::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,8,9,0.15) 0%,rgba(11,8,9,0.55) 100%);
  z-index:1;transition:.3s;
}
.video-cover:hover{transform:scale(1.02)}
.video-cover:hover::before{background:linear-gradient(180deg,rgba(11,8,9,0.05) 0%,rgba(11,8,9,0.45) 100%)}
.video-cover-play{
  position:absolute;inset:0;display:grid;place-items:center;z-index:2;
}
.video-cover-play span{
  width:84px;height:84px;border-radius:50%;
  background:#ffffff;color:var(--navy);
  display:grid;place-items:center;
  box-shadow:0 18px 50px -12px rgba(11,8,9,0.6);
  transition:transform .3s ease;
}
.video-cover-play span svg{width:30px;height:30px;transform:translateX(3px)}
.video-cover:hover .video-cover-play span{transform:scale(1.08)}
.video-cover-meta{
  position:absolute;left:24px;bottom:24px;z-index:2;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;text-transform:uppercase;letter-spacing:0.18em;
  color:#ffffff;
}

/* ============== CLIP D'AMBIANCE (video-cover variant — vidéo muette en loop) ============== */
.video-cover video{width:100%;height:100%;object-fit:cover;display:block}
.video-cover-ambient .video-cover-play{display:none}
.video-cover-ambient::before{
  background:linear-gradient(180deg,rgba(11,8,9,0.05) 0%,rgba(11,8,9,0.15) 40%,rgba(11,8,9,0.75) 100%);
}
.video-cover-meta-block{
  position:absolute;left:24px;right:24px;bottom:22px;z-index:2;
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  flex-wrap:wrap;
}
.video-cover-meta-block .video-cover-meta{position:static}
.video-cover-chip{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--gold);color:var(--navy);
  padding:8px 14px;border-radius:999px;
  font-family:'Barlow',sans-serif;font-weight:800;font-size:11.5px;
  text-transform:uppercase;letter-spacing:0.04em;
  box-shadow:0 8px 22px -6px rgba(0,0,0,0.6);
  transition:transform .25s ease,background .25s ease;white-space:nowrap;
}
.video-cover:hover .video-cover-chip{
  transform:translateY(-2px);background:#ffd23d;
}
.video-cover-chip svg{flex-shrink:0}
/* Chip "à venir" — pastille frostée (volontairement NON dorée pour respecter la règle des 3 zones d'or) */
.video-cover-chip-soon{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(11,8,9,0.55);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  color:#fff;
  padding:9px 15px;border-radius:999px;
  font-family:'Barlow',sans-serif;font-weight:800;font-size:11.5px;
  text-transform:uppercase;letter-spacing:0.04em;
  border:1px solid rgba(255,255,255,0.28);
  box-shadow:0 8px 22px -6px rgba(0,0,0,0.5);white-space:nowrap;
}
.video-cover-chip-soon svg{flex-shrink:0}
@media (prefers-reduced-motion:reduce){.video-cover-ambient video{display:none}}

/* ============== ANIMATIONS — SCROLL REVEAL ============== */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);
  will-change:opacity,transform;
}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal.delay-1{transition-delay:.08s}
.reveal.delay-2{transition-delay:.16s}
.reveal.delay-3{transition-delay:.24s}
.reveal.delay-4{transition-delay:.32s}
.reveal.from-left{transform:translateX(-32px)}
.reveal.from-left.is-visible{transform:translateX(0)}
.reveal.from-right{transform:translateX(32px)}
.reveal.from-right.is-visible{transform:translateX(0)}
.reveal.scale-in{transform:scale(.95);opacity:0}
.reveal.scale-in.is-visible{transform:scale(1);opacity:1}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .marquee-track{animation:none}
}

/* hero parallax / drift */
.hero-visual{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.hero.in .hero-visual{transform:translateY(0) scale(1)}
.hero .hero-visual{transform:translateY(20px) scale(.97)}

/* number count-up baseline */
.hero-stat-num{transition:opacity .6s ease}

/* card hover glow */
.path-card,.card,.testi,.diff-card,.pillar,.aud-card,.athlete{
  position:relative;
}
.path-card::after,.card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px transparent;
  transition:box-shadow .3s ease;
}
.path-card:hover::after{box-shadow:inset 0 0 0 1px rgba(21,52,85,0.3)}

/* button micro-interaction */
.btn{position:relative;overflow:hidden}
.btn-arrow{transition:transform .3s ease}
.btn:hover .btn-arrow{transform:translateX(4px)}

/* hero gradient subtle pulse — opacity only, will-change to keep cheap */
@keyframes heroGlow{
  0%,100%{opacity:1}
  50%{opacity:.65}
}
.hero::before{animation:heroGlow 12s ease-in-out infinite;will-change:opacity}

/* ============== UTILS ============== */
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.center{text-align:center}
.lead{font-size:18px;line-height:1.6;color:var(--black)}
.lead.on-dark{color:var(--offwhite)}

/* ============== TOOLS LIST ============== */
.tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:32px}
@media (max-width:560px){.tools-grid{grid-template-columns:1fr}}
.tool-item{
  display:flex;gap:16px;align-items:flex-start;
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.15);
  border-radius:var(--r);padding:18px 22px;
}
.tool-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:22px;color:var(--navy);line-height:1;
  flex-shrink:0;width:36px;
}
.tool-text{
  font-family:'Jura',sans-serif;font-weight:600;
  font-size:14px;color:var(--black);line-height:1.4;
}

/* ============== APPROACHES TAGS ============== */
.approaches{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.approach{
  font-family:'Jura',sans-serif;font-weight:600;
  font-size:12px;text-transform:uppercase;letter-spacing:0.14em;
  padding:10px 18px;border-radius:999px;
  background:#ffffff;color:var(--navy);
  border:1px solid rgba(21,52,85,0.18);
  cursor:default;
  transition:transform .28s cubic-bezier(.2,.7,.2,1),background .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.approach:hover{
  background:var(--grad-blue);
  color:#ffffff;        /* texte blanc instantané (pas de transition sur color) → lisible dès le survol, sur toutes les chips */
  border-color:transparent;
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 14px 30px -12px rgba(21,52,85,0.55);
}
.approach.on-dark{background:rgba(214,215,216,0.08);color:var(--offwhite);border-color:rgba(214,215,216,0.18)}

/* ============== PARENT THOUGHTS LIST ============== */
.thoughts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:32px}
@media (max-width:900px){.thoughts{grid-template-columns:1fr}}
.thought{
  background:#ffffff;
  border-left:3px solid var(--navy);
  border-radius:0 var(--r) var(--r) 0;
  padding:22px 26px;
  font-family:'Jura',sans-serif;font-style:italic;
  font-size:15px;color:var(--black);line-height:1.5;
  box-shadow:var(--shadow-card);
}

/* ============== SIGNATURE ============== */
.signature{
  margin-top:24px;display:flex;align-items:center;gap:18px;
}
.signature img{height:54px;width:auto;filter:none}
.signature.on-dark img{filter:brightness(0) invert(1) opacity(0.9)}
.signature-meta{
  font-family:'Jura',sans-serif;font-size:11px;
  text-transform:uppercase;letter-spacing:0.22em;
  color:var(--blue-gray);
}
.signature.on-dark .signature-meta{color:var(--offwhite);opacity:.7}

/* ============================================================
   ADDITIONS HOME 2026 — sections refonte SEO + 3e personne
   ============================================================ */

/* ============== HERO — rating stat + stars ============== */
.hero-stat-rating .hero-stat-num small{
  color:var(--gold);opacity:.85;
}
.rating-stars{
  color:var(--gold);
  letter-spacing:0.05em;
  font-size:11px;
  margin-right:6px;
  display:inline-block;
  text-shadow:0 0 8px rgba(249,176,0,0.35);
}

/* ============== WORK CARDS — 3 façons de travailler ============== */
.work-grid{margin-top:0}
.work-card{
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.12);
  border-radius:var(--r-lg);
  padding:38px 30px;
  box-shadow:var(--shadow-card);
  display:flex;flex-direction:column;gap:18px;
  position:relative;overflow:hidden;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease;
}
.work-card::after{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--grad-blue);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.work-card:hover{transform:translateY(-10px);box-shadow:0 40px 80px -28px rgba(11,8,9,0.32);border-color:var(--navy)}
.work-card:hover::after{transform:scaleX(1)}
.work-card:hover .work-icon{transform:scale(1.06) rotate(-3deg);background:var(--gold);color:var(--black)}
.work-icon{
  width:60px;height:60px;border-radius:16px;
  background:rgba(21,52,85,0.06);color:var(--navy);
  display:grid;place-items:center;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s ease,color .3s ease;
}
.work-icon svg{width:34px;height:34px}
.work-card h3{font-size:21px;line-height:1.15;margin:0;color:var(--navy)}
.work-card p{flex:1;font-size:15px;color:var(--black);line-height:1.55;margin:0}
.work-card .path-link{
  margin-top:8px;border-top:1px solid rgba(109,124,144,0.2);padding-top:18px;
  font-family:'Jura',sans-serif;font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:0.18em;
  color:var(--navy);display:inline-flex;align-items:center;gap:8px;
}
.work-card .path-link svg{width:14px;height:14px;transition:transform .3s}
.work-card:hover .path-link svg{transform:translateX(4px)}
.work-card:hover .path-link{color:var(--black)}

/* ---- Work cards version PHOTO (reprise identique de l'accueil / home-v5) ----
   Utilisée page À propos, section « Comment j'aime intervenir ». Photo + numéro +
   titre majuscule + appel à l'action seulement (pas de texte descriptif). ---- */
.work-grid-photos .work-card{box-shadow:0 26px 64px -34px rgba(11,8,9,0.4)}
.work-grid-photos .work-card:hover{box-shadow:0 46px 90px -34px rgba(11,8,9,0.42)}
.work-grid-photos .work-card-media{
  position:relative;
  margin:-38px -30px 22px;
  height:240px;
  overflow:hidden;
  border-top-left-radius:inherit;
  border-top-right-radius:inherit;
}
.work-grid-photos .work-card-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .9s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}
.work-grid-photos .work-card:hover .work-card-media img{transform:scale(1.06);filter:saturate(1.05)}
.work-grid-photos .work-card-media::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--navy) 0%,var(--blue-gray) 100%);
  transform:scaleX(0.18);transform-origin:left center;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.work-grid-photos .work-card:hover .work-card-media::after{transform:scaleX(1)}
.work-grid-photos .work-card .card-num{flex:0 0 auto;font-size:15px;color:var(--black);margin:0}
.work-grid-photos .work-card h3{text-transform:uppercase;font-weight:800;font-family:'Barlow',sans-serif}
.work-grid-photos .work-card .path-link{margin-top:auto}
@media (max-width:700px){
  .work-grid-photos .work-card-media{height:190px;margin:-38px -30px 18px}
}

/* ============== APPROACH QUOTE (citation philo après compare) ============== */
.approach-quote{
  margin:64px auto 0;max-width:880px;
  position:relative;padding:48px 56px;
  background:#ffffff;
  border-radius:var(--r-lg);
  border:1px solid rgba(109,124,144,0.18);
  box-shadow:var(--shadow-card);
  text-align:center;
}
.approach-quote::before{
  content:"";position:absolute;left:50%;top:0;
  width:80px;height:3px;background:var(--navy);
  transform:translateX(-50%);
  border-radius:0 0 4px 4px;
}
.approach-quote blockquote{
  font-family:'Quicksand',sans-serif;font-weight:500;font-style:italic;
  font-size:clamp(18px,2vw,22px);line-height:1.5;
  color:var(--black);margin:0 0 18px;
  position:relative;
}
.approach-quote-mark{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:48px;color:var(--navy);
  line-height:0.6;display:inline-block;
  vertical-align:-10px;margin-right:8px;
}
.approach-quote figcaption{
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;text-transform:uppercase;letter-spacing:0.22em;
  color:var(--blue-gray);
}
@media (max-width:760px){
  .approach-quote{padding:36px 24px;margin-top:48px}
}

/* ============== TEAM FEATURE ============== */
.team-section{position:relative}
.team-feature{
  display:grid;grid-template-columns:1.4fr 1fr;gap:48px;
  align-items:stretch;margin-top:32px;
}
@media (max-width:1000px){.team-feature{grid-template-columns:1fr;gap:32px}}
.team-photo{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-card-lg);
  border:1px solid rgba(109,124,144,0.18);
  aspect-ratio:4/3;
}
.team-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter .4s ease;
  filter:saturate(1.02);
}
.team-photo:hover img{transform:scale(1.04);filter:saturate(1.15)}
.team-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(11,8,9,0.55) 100%);
  pointer-events:none;
}
.team-photo-tag{
  position:absolute;left:24px;bottom:22px;z-index:2;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;text-transform:uppercase;letter-spacing:0.22em;
  color:#ffffff;
}
.team-photo-tag::before{
  content:"";display:inline-block;width:24px;height:1px;
  background:var(--gold);margin-right:12px;vertical-align:middle;
}
.team-pillars{
  display:flex;flex-direction:column;gap:18px;
  align-self:center;
}
.team-pillar{
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.15);
  border-left:3px solid var(--navy);
  border-radius:var(--r);
  padding:24px 26px;
  box-shadow:var(--shadow-card);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-left-color .35s ease;
}
.team-pillar:hover{
  transform:translateX(6px);
  box-shadow:0 24px 50px -22px rgba(11,8,9,0.28);
  border-left-color:var(--gold);
}
.team-pillar-num{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:32px;line-height:1;color:var(--navy);
  margin-bottom:10px;letter-spacing:-0.02em;
}
.team-pillar:hover .team-pillar-num{color:var(--black)}
.team-pillar h4{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:16px;color:var(--navy);margin:0 0 8px;
  text-transform:uppercase;line-height:1.2;letter-spacing:0.005em;
}
.team-pillar p{font-size:14px;color:var(--black);margin:0;line-height:1.5}

/* Variante "survol dégradé bleu" (page coaching — étapes 01→05) */
.team-pillars--blue .team-pillar{
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,background .45s ease,border-left-color .45s ease;
}
.team-pillars--blue .team-pillar-num{transition:color .45s ease,letter-spacing .45s ease}
.team-pillars--blue .team-pillar h4{transition:color .45s ease}
.team-pillars--blue .team-pillar p{transition:color .45s ease}
.team-pillars--blue .team-pillar:hover{
  background:var(--grad-blue-150);
  transform:translateX(8px) translateY(-4px);
  box-shadow:0 44px 92px -32px rgba(11,8,9,0.6);
  border-left-color:var(--gold);
}
.team-pillars--blue .team-pillar:hover .team-pillar-num{color:var(--gold)}
.team-pillars--blue .team-pillar:hover h4{color:#ffffff}
.team-pillars--blue .team-pillar:hover p{color:var(--offwhite)}

/* ===== Section "Contenu ressource" (coaching) : vidéo athlètes + miniature podcast ===== */
.ressource-media{
  display:grid;grid-template-columns:1fr 1fr;gap:22px;
  max-width:860px;margin:8px auto 0;
}
.ressource-card{
  position:relative;display:block;text-decoration:none;
  aspect-ratio:4/5;border-radius:18px;overflow:hidden;
  background:var(--grad-blue);
  box-shadow:0 30px 64px -28px rgba(11,8,9,0.42);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease;
}
.ressource-card:hover{transform:translateY(-6px);box-shadow:0 46px 92px -30px rgba(11,8,9,0.55)}
.ressource-card--video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ressource-card--podcast{display:flex;align-items:center;justify-content:center;padding:30px}
.ressource-card--podcast img{
  width:100%;max-width:330px;border-radius:14px;
  box-shadow:0 22px 52px -16px rgba(0,0,0,0.6);
}
.ressource-card-label{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;flex-direction:column;gap:5px;
  padding:56px 22px 20px;
  color:#fff;font-family:'Barlow',sans-serif;font-weight:700;font-size:15px;line-height:1.25;
  background:linear-gradient(to top,rgba(11,8,9,0.88),rgba(11,8,9,0.45) 45%,transparent);
}
.ressource-card-tag{
  font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--gold);font-weight:800;
}
@media (max-width:680px){
  .ressource-media{grid-template-columns:1fr;gap:16px;max-width:420px}
  .ressource-card{aspect-ratio:4/5}
}

/* ===== Section "Retour de blessure" : texte + clip d'ambiance muet (Nathan / paperboard) ===== */
.blessure-split{
  display:grid;grid-template-columns:1fr 0.82fr;gap:48px;align-items:center;
}
.blessure-content .feature-list{margin-top:4px}
.blessure-media{
  border-radius:16px;overflow:hidden;
  box-shadow:0 34px 76px -30px rgba(0,0,0,0.6);
  border:1px solid rgba(214,215,216,0.12);
  background:#0b0809;
}
.blessure-media video{width:100%;height:100%;display:block;object-fit:cover}
@media (max-width:900px){
  .blessure-split{grid-template-columns:1fr;gap:30px}
  .blessure-media{max-width:560px;margin:0 auto}
}

/* Variante grille 2x2 (utilisée sur la page formation où il n'y a pas de photo à côté) */
.team-pillars--grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-self:stretch;
  max-width:980px;
  margin-left:auto;margin-right:auto;
}
.team-pillars--grid .team-pillar{
  padding:28px 30px;
  border-left-width:4px;
  position:relative;
  display:flex;flex-direction:column;
}
.team-pillars--grid .team-pillar-num{
  font-size:42px;
  color:var(--gold);
  opacity:0.95;
  margin-bottom:14px;
}
.team-pillars--grid .team-pillar h4{
  font-size:17px;
  margin-bottom:10px;
}
.team-pillars--grid .team-pillar p{font-size:14.5px;line-height:1.55}
.team-pillars--grid .team-pillar:hover{
  transform:translateY(-4px);
  border-left-color:var(--gold);
}
@media (max-width:760px){
  .team-pillars--grid{grid-template-columns:1fr;gap:14px;max-width:none}
  .team-pillars--grid .team-pillar{padding:22px 22px}
  .team-pillars--grid .team-pillar-num{font-size:34px;margin-bottom:10px}
}

/* ===== Variante "feature" des 4 piliers (page formation) =====
   Picto RTR + numéro fantôme + survol qui révèle le dégradé gris de la charte
   (#d6d7d8 → #6d7c90), comme les cartes de la page d'accueil. */
.team-pillars--grid.pillars-feature{gap:22px}
.team-pillars--grid.pillars-feature .team-pillar{
  position:relative;overflow:hidden;
  background:#ffffff;
  border:1px solid rgba(21,52,85,0.12);
  border-radius:var(--r-lg);
  padding:30px 30px 28px;
  box-shadow:0 18px 44px -28px rgba(11,8,9,0.28);
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,background .4s ease,border-color .4s ease;
}
.team-pillars--grid.pillars-feature .pillar-num-ghost{
  position:absolute;top:12px;right:20px;z-index:0;
  font-family:'Barlow',sans-serif;font-weight:900;font-size:64px;line-height:1;letter-spacing:-0.03em;
  background:linear-gradient(135deg,#153455,#6d7c90);
  -webkit-background-clip:text;background-clip:text;color:transparent;opacity:.13;
  transition:opacity .4s ease,background .4s ease;
}
.team-pillars--grid.pillars-feature .team-pillar > *:not(.pillar-num-ghost){position:relative;z-index:1}
.team-pillars--grid.pillars-feature .pillar-ico{
  display:inline-grid;place-items:center;width:54px;height:54px;border-radius:14px;
  background:rgba(21,52,85,0.08);color:var(--navy);margin-bottom:18px;
  transition:background .4s ease,color .4s ease,transform .5s cubic-bezier(.2,.7,.2,1);
}
.team-pillars--grid.pillars-feature .pillar-ico svg{width:32px;height:32px;display:block}
.team-pillars--grid.pillars-feature .team-pillar h4{color:var(--navy);transition:color .4s ease}
.team-pillars--grid.pillars-feature .team-pillar p{color:var(--black);transition:color .4s ease}
/* HOVER : le fond gris dégradé apparaît */
.team-pillars--grid.pillars-feature .team-pillar:hover{
  background:linear-gradient(160deg,#d6d7d8 0%,#6d7c90 100%);
  border-color:rgba(21,52,85,0.28);
  transform:translateY(-8px);
  box-shadow:0 40px 90px -30px rgba(11,8,9,0.5);
}
.team-pillars--grid.pillars-feature .team-pillar:hover .pillar-ico{
  background:rgba(255,255,255,0.55);color:var(--navy);transform:scale(1.06) rotate(-3deg);
}
.team-pillars--grid.pillars-feature .team-pillar:hover h4{color:#0b0809}
.team-pillars--grid.pillars-feature .team-pillar:hover p{color:#153455}
.team-pillars--grid.pillars-feature .team-pillar:hover .pillar-num-ghost{
  opacity:.30;background:linear-gradient(135deg,#153455,#0b0809);
  -webkit-background-clip:text;background-clip:text;
}

/* ===== Cartes "feature" génériques (.grid-3.cards-feature) : même survol dégradé gris ===== */
.cards-feature .card{
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,background .4s ease,border-color .4s ease;
}
.cards-feature .card::before{display:none}
.cards-feature .card h3,
.cards-feature .card p{transition:color .4s ease}
.cards-feature .card .card-icon{transition:background .4s ease,color .4s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.cards-feature .card:hover{
  background:linear-gradient(160deg,#d6d7d8 0%,#6d7c90 100%);
  border-color:rgba(21,52,85,0.28);
  transform:translateY(-8px);
  box-shadow:0 40px 90px -30px rgba(11,8,9,0.5);
}
.cards-feature .card:hover .card-icon{background:rgba(255,255,255,0.55);color:var(--navy);transform:scale(1.06) rotate(-3deg)}
.cards-feature .card:hover h3{color:#0b0809}
.cards-feature .card:hover p{color:#153455}

/* ============== CONF SECTION (conférences + TEDx intégré) ============== */
.conf-section{position:relative;overflow:hidden}
.conf-section::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(214,215,216,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(214,215,216,0.04) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 30%,transparent 80%);
  pointer-events:none;
}
.conf-section .wrap{position:relative;z-index:1}
.conf-grid{
  display:grid;grid-template-columns:1fr 1.1fr;gap:56px;
  align-items:center;margin-top:32px;
}
@media (max-width:1000px){.conf-grid{grid-template-columns:1fr;gap:40px}}
.conf-themes .feature-list{margin:24px 0 32px}
.conf-themes .btn{margin-top:8px}
.conf-tedx{
  background:rgba(214,215,216,0.04);
  border:1px solid rgba(214,215,216,0.18);
  border-radius:var(--r-lg);
  padding:32px;
  position:relative;
}
.conf-tedx .eyebrow{margin-bottom:14px}
.conf-tedx h3{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:24px;color:#ffffff;text-transform:uppercase;
  margin:0 0 14px;line-height:1.15;
}
.conf-tedx p{font-size:15px;color:var(--offwhite);margin:0 0 22px;line-height:1.55}
.conf-tedx .video-embed{margin:0}

/* ----- TEDx (page contenus) : reprise exacte du bloc conférences de la home,
   scopé sous .tedx-conf pour zéro impact ailleurs ----- */
.conf-section.tedx-conf{background:linear-gradient(160deg,#153455 0%,#153455 52%,#1a2835 100%)}
.tedx-conf .conf2{max-width:760px;margin:0 auto}
.tedx-conf .conf2-stage{
  position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 60px 130px -45px rgba(0,0,0,0.75);
  border:1px solid rgba(214,215,216,0.18);
}
.tedx-conf .conf2-stage .video-cover{display:block;position:relative;aspect-ratio:16/9}
.tedx-conf .conf2-stage img,
.tedx-conf .conf2-stage video{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.tedx-conf .conf2-stage video{pointer-events:none}
.tedx-conf .conf2-stage:hover img,
.tedx-conf .conf2-stage:hover video{transform:scale(1.04)}
.tedx-conf .conf2-stage::after{display:none}
.tedx-conf .conf2-stage .video-cover::before,
.tedx-conf .conf2-stage .video-cover:hover::before{background:none}
.tedx-conf .conf2-badge{
  position:absolute;top:18px;left:18px;z-index:3;
  font-family:'Jura',sans-serif;font-weight:700;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;
  color:#ffffff;background:rgba(11,8,9,0.5);border:1px solid rgba(214,215,216,0.25);
  padding:8px 14px;border-radius:999px;
}
.tedx-conf .conf2-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;
  width:88px;height:88px;border-radius:50%;display:grid;place-items:center;
  background:rgba(11,8,9,0.32);border:1.5px solid rgba(255,255,255,0.85);
  box-shadow:0 8px 30px rgba(0,0,0,0.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),background .3s ease;
}
.tedx-conf .conf2-play svg{width:34px;height:34px;color:#ffffff;margin-left:5px}
.tedx-conf .conf2-stage:hover .conf2-play{transform:translate(-50%,-50%) scale(1.08);background:rgba(255,255,255,0.28)}
.tedx-conf .conf2-cap{
  position:absolute;left:22px;right:22px;bottom:18px;z-index:3;
  color:#ffffff;font-family:'Jura',sans-serif;font-size:13px;letter-spacing:0.02em;
  text-shadow:0 1px 6px rgba(0,0,0,0.85),0 0 2px rgba(0,0,0,0.6);
}
.tedx-conf .conf2-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin:26px 0 0;border:1px solid rgba(214,215,216,0.16);
  border-radius:var(--r);overflow:hidden;background:rgba(214,215,216,0.03);
}
.tedx-conf .conf2-stat{padding:22px 16px;text-align:center;border-right:1px solid rgba(214,215,216,0.14)}
.tedx-conf .conf2-stat:last-child{border-right:none}
.tedx-conf .conf2-stat-num{display:block;font-family:'Barlow',sans-serif;font-weight:900;font-size:clamp(24px,3vw,34px);color:#ffffff;line-height:1}
.tedx-conf .conf2-stat-num small{font-size:.5em;font-weight:700;color:var(--offwhite);margin-left:2px}
.tedx-conf .conf2-stat-lbl{display:block;margin-top:8px;font-family:'Jura',sans-serif;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(214,215,216,0.78)}
@media (max-width:820px){
  .tedx-conf .conf2-stats{grid-template-columns:repeat(2,1fr)}
  .tedx-conf .conf2-stat:nth-child(2){border-right:none}
  .tedx-conf .conf2-stat:nth-child(-n+2){border-bottom:1px solid rgba(214,215,216,0.14)}
}
@media (max-width:520px){
  .tedx-conf .conf2-play{width:64px;height:64px}
  .tedx-conf .conf2-play svg{width:26px;height:26px}
}

/* ============== PODCAST TEASER (home) ============== */
.podcast-teaser-section{position:relative}
.podcast-teaser{
  display:grid;grid-template-columns:300px 1fr;gap:56px;
  align-items:center;
}
@media (max-width:900px){.podcast-teaser{grid-template-columns:1fr;gap:36px;text-align:left}}
.podcast-teaser-cover{
  position:relative;
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 30px 80px -28px rgba(11,8,9,0.4);
  aspect-ratio:1/1;
  max-width:300px;
  transform:rotate(-2deg);
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.podcast-teaser-cover:hover{transform:rotate(0deg) translateY(-4px)}
.podcast-teaser-cover img{width:100%;height:100%;object-fit:cover;display:block}
.podcast-teaser-badge{
  display:inline-block;margin:0 0 14px;
  background:var(--navy);color:#ffffff;
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
  padding:7px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
}
.podcast-teaser-content h2{font-size:clamp(28px,3.4vw,42px);margin:0 0 16px;line-height:1.05}
.podcast-teaser-content > p{font-size:16px;line-height:1.6;color:var(--black);margin:0 0 24px;max-width:620px}
.podcast-teaser-platforms{
  display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px;
}
.podcast-teaser-platform{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 18px;border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.2);
  color:var(--navy);
  font-family:'Jura',sans-serif;font-weight:700;
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,color .25s ease;
}
.podcast-teaser-platform svg{width:16px;height:16px;flex-shrink:0}
.podcast-teaser-platform:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px -10px rgba(11,8,9,0.2);
  border-color:var(--navy);
  color:var(--black);
}

/* ============================================================
   RHYTHM PASS — variations de fonds + layouts pour casser la
   monotonie blanc/gris des sections du début
   ============================================================ */

/* ============== SECTION GRAY RADIAL (fond gris dégradé radial) ============== */
.section-gray-radial{
  background:radial-gradient(ellipse at 50% 40%,#ffffff 0%,#d6d7d8 60%,#6d7c90 130%);
  position:relative;overflow:hidden;
}
.section-gray-radial::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(21,52,85,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,52,85,0.04) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 60% 50% at 50% 50%,transparent 0%,#000 80%);
  -webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 50%,transparent 0%,#000 80%);
  pointer-events:none;z-index:0;
}
.section-gray-radial .wrap{position:relative;z-index:1}

/* ============== POURQUOI — section bleu sombre + cards à chiffres monumentaux ============== */
.pourquoi-section{position:relative;overflow:hidden}
.pourquoi-section::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(214,215,216,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(214,215,216,0.04) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 80%);
  pointer-events:none;z-index:0;
}
.pourquoi-section .wrap{position:relative;z-index:1}
.pourquoi-card{position:relative;overflow:hidden}
.card-big-num{
  position:absolute;top:-20px;right:-8px;
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:140px;line-height:0.8;
  color:var(--gold);opacity:0.12;
  letter-spacing:-0.04em;
  pointer-events:none;
  transition:opacity .4s ease,transform .4s ease;
  z-index:0;
}
.pourquoi-card:hover .card-big-num{
  opacity:0.22;
  transform:translate(-4px,4px);
}
.pourquoi-card > *:not(.card-big-num){position:relative;z-index:1}

/* ============== WORK CARDS — tossed (rotations subtiles dans section-gray-radial) ============== */
.work-grid-tossed .work-card:nth-child(1){transform:rotate(-1.2deg)}
.work-grid-tossed .work-card:nth-child(2){transform:rotate(0.8deg)}
.work-grid-tossed .work-card:nth-child(3){transform:rotate(-0.8deg)}
.work-grid-tossed .work-card:hover{transform:rotate(0deg) translateY(-10px) !important}
@media (max-width:900px){
  .work-grid-tossed .work-card,
  .work-grid-tossed .work-card:nth-child(1),
  .work-grid-tossed .work-card:nth-child(2),
  .work-grid-tossed .work-card:nth-child(3){transform:none}
}

/* ============== PATHS BENTO — Compétiteur en grande ============== */
.paths-bento{
  display:grid;
  grid-template-columns:2fr 1fr;
  grid-template-rows:repeat(2,minmax(220px,1fr));
  gap:22px;
}
@media (max-width:900px){
  .paths-bento{grid-template-columns:1fr;grid-template-rows:auto}
}
.path-card-large{
  grid-row:1 / span 2;
  position:relative;overflow:hidden;
  background:var(--grad-blue);
  border:1px solid rgba(214,215,216,0.18);
  color:#ffffff;
  min-height:480px;
  padding:0;
}
.path-card-large .path-bg{
  position:absolute;inset:0;z-index:0;
  background-image:var(--bento-bg);
  background-size:cover;
  background-position:center 30%;
  filter:saturate(.95);
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter .5s ease;
  transform:scale(1.06);
}
.path-card-large:hover .path-bg{transform:scale(1.12);filter:saturate(1.15)}
.path-card-large .path-bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(135deg,rgba(11,8,9,0.85) 0%,rgba(21,52,85,0.7) 50%,rgba(21,52,85,0.4) 100%),
    linear-gradient(180deg,transparent 30%,rgba(11,8,9,0.65) 100%);
  pointer-events:none;
}
.path-card-large .path-card-inner{
  position:relative;z-index:1;
  padding:44px 40px;
  height:100%;
  display:flex;flex-direction:column;gap:20px;
  justify-content:flex-end;
}
.path-card-large .card-num{color:var(--gold);font-size:12px}
.path-card-large .path-icon{
  background:rgba(214,215,216,0.12);
  border:1px solid rgba(214,215,216,0.22);
  color:#ffffff;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  width:64px;height:64px;
}
.path-card-large h3{
  color:#ffffff;font-size:clamp(28px,3.2vw,40px);line-height:1.05;
  max-width:520px;
}
.path-card-large p{
  color:var(--offwhite);font-size:16px;line-height:1.55;max-width:560px;
}
.path-card-large .path-link{
  color:#ffffff;border-top-color:rgba(214,215,216,0.22);
  margin-top:auto;
}
.path-card-large:hover{
  transform:translateY(-6px);
  box-shadow:0 50px 100px -32px rgba(11,8,9,0.55);
  border-color:rgba(214,215,216,0.32);
}

.path-card-small{
  padding:30px 26px;
  min-height:0;
}
.path-card-small h3{font-size:20px}
.path-card-small p{font-size:14px;line-height:1.5}

/* ============== PATHS QUAD — 4 publics en grille photo ============== */
.paths-quad{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
@media (max-width:1100px){
  .paths-quad{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .paths-quad{grid-template-columns:1fr}
}
.path-card-photo{
  position:relative;overflow:hidden;
  border-radius:var(--r-lg);
  border:1px solid rgba(214,215,216,0.18);
  color:#ffffff;
  padding:0;
  background:var(--grad-blue);
  text-decoration:none;
  display:flex;flex-direction:column;
  min-height:480px;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease;
}
.path-card-photo .path-bg{
  position:relative;
  width:100%;
  height:200px;
  flex-shrink:0;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  filter:saturate(.95);
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}
.path-card-photo:hover .path-bg{transform:scale(1.06);filter:saturate(1.15)}
.path-card-photo .path-bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(11,8,9,0.18) 0%,rgba(11,8,9,0) 35%,rgba(21,52,85,0) 70%,rgba(21,52,85,0.85) 100%);
  pointer-events:none;
}
.path-card-photo .path-card-inner{
  position:relative;z-index:1;
  padding:26px 26px 28px;
  display:flex;flex-direction:column;gap:12px;
  flex:1;
}
.path-card-photo .card-num{
  color:var(--gold);font-size:11px;
  font-family:'Jura',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:0.2em;margin:0;
}
.path-card-photo h3{
  color:#ffffff;
  font-size:22px;line-height:1.15;margin:0;
  max-width:none;
}
.path-card-photo p{
  color:var(--offwhite);font-size:14px;line-height:1.55;margin:0;
}
.path-card-photo .path-link{
  color:#ffffff;
  border-top-color:rgba(214,215,216,0.28);
  padding-top:14px;
  margin-top:auto;
}
.path-card-photo:hover{
  transform:translateY(-8px);
  box-shadow:0 40px 80px -28px rgba(11,8,9,0.5);
  border-color:rgba(214,215,216,0.32);
}

/* ============== APPROACH QUOTE — version bleu sombre (pause narrative) ============== */
.approach-quote-dark{
  background:var(--grad-blue);
  border:1px solid rgba(214,215,216,0.15);
  color:#ffffff;
  padding:52px 60px;
  position:relative;overflow:hidden;
  box-shadow:0 30px 80px -32px rgba(11,8,9,0.5);
}
.approach-quote-dark::before{
  background:var(--gold);
  width:100px;height:3px;
}
.approach-quote-dark::after{
  content:"";position:absolute;
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:clamp(220px,28vw,360px);
  line-height:0.6;color:var(--gold);opacity:0.10;
  top:-30px;right:-20px;
  content:"\201D";
  pointer-events:none;
  z-index:0;
}
.approach-quote-dark > *{position:relative;z-index:1}
.approach-quote-dark .approach-quote-mark{
  color:var(--gold);font-size:64px;line-height:0.5;
  vertical-align:-8px;
}
.approach-quote-dark blockquote{
  color:#ffffff;
  font-size:clamp(20px,2.2vw,26px);
  line-height:1.4;
  font-weight:500;
  max-width:780px;margin:0 auto 22px;
}
.approach-quote-dark figcaption{
  color:var(--offwhite);
  padding-top:18px;
  border-top:1px solid rgba(214,215,216,0.22);
  display:inline-block;
}
@media (max-width:760px){
  .approach-quote-dark{padding:36px 24px}
}

/* ============== CONF VIDEO — vidéo grande à gauche, fix TEDx ============== */
.conf-grid{
  grid-template-columns:1.3fr 1fr;
}
@media (max-width:1000px){.conf-grid{grid-template-columns:1fr}}
.conf-video{
  display:flex;flex-direction:column;gap:18px;
}
.conf-video .video-embed{
  width:100%;
  aspect-ratio:16/9;
  margin:0;
  box-shadow:0 30px 80px -28px rgba(11,8,9,0.6);
}
.conf-video .video-cover img{
  object-position:center 30%;
}
.conf-video-caption{
  font-size:14px;color:var(--offwhite);
  line-height:1.5;margin:0;
  padding:14px 18px;
  background:rgba(214,215,216,0.06);
  border-left:3px solid var(--gold);
  border-radius:0 var(--r) var(--r) 0;
}
.conf-themes{align-self:center}

/* ============== APPROACHES CLOUD — tailles variables ============== */
.approaches-cloud{
  display:flex;flex-wrap:wrap;gap:14px;
  align-items:center;justify-content:center;
  margin-top:40px;
  max-width:1080px;margin-left:auto;margin-right:auto;
}
.approaches-cloud .approach{
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.2);
  border-radius:999px;
  padding:12px 22px;
  font-family:'Jura',sans-serif;font-weight:600;
  font-size:13px;letter-spacing:0.06em;
  color:var(--navy);
  text-transform:none;
  box-shadow:var(--shadow-card);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease,color .25s ease;
}
.approaches-cloud .approach:hover{
  transform:translateY(-3px);
  border-color:var(--navy);
  background:var(--navy);color:#ffffff;
  box-shadow:0 16px 32px -12px rgba(11,8,9,0.32);
}
.approaches-cloud .approach-lg{
  font-size:16px;padding:14px 26px;font-weight:700;
}
.approaches-cloud .approach-xl{
  font-size:19px;padding:16px 30px;font-weight:700;
  background:var(--navy);color:#ffffff;
  border-color:var(--navy);
  letter-spacing:0.04em;
}
.approaches-cloud .approach-xl:hover{
  background:var(--gold);color:var(--black);border-color:var(--gold);
}

/* ============================================================
   CARTE CLIENTS — Leaflet (page formation, section "d'où viennent")
   ============================================================ */
.clients-map{
  position:relative;
  margin-top:0;
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid rgba(109,124,144,0.2);
  box-shadow:var(--shadow-card-lg);
  background:#ffffff;
}
.clients-map-canvas{
  width:100%;
  height:clamp(420px,60vh,640px);
  position:relative;z-index:0;
}
@media (max-width:600px){
  .clients-map-canvas{height:420px}
}

/* Variante split — carte dans une demi-colonne à droite du texte */
.clients-map-split{
  aspect-ratio:4/5;
  height:auto;
  max-height:none;
}
.clients-map-split .clients-map-canvas{
  height:100%;
  position:absolute;inset:0;
}
@media (max-width:900px){
  .clients-map-split{aspect-ratio:auto}
  .clients-map-split .clients-map-canvas{position:relative;height:480px;inset:auto}
}

/* Bandeau stats en haut à gauche, charte RTR */
.clients-map-stats{
  position:absolute;top:14px;left:14px;z-index:600;
  background:var(--grad-blue);color:#ffffff;
  border-radius:var(--r);
  padding:10px 16px;
  display:flex;flex-direction:column;gap:2px;
  font-family:'Jura',sans-serif;font-weight:500;
  font-size:12px;letter-spacing:0.04em;
  box-shadow:0 8px 24px -8px rgba(11,8,9,0.45);
  border:1px solid rgba(214,215,216,0.15);
}
.clients-map-stats strong{color:var(--gold);font-weight:800;font-family:'Barlow',sans-serif;font-size:15px}
@media (max-width:600px){
  .clients-map-stats{font-size:11px;padding:8px 12px}
  .clients-map-stats strong{font-size:13px}
}

/* Search en haut à droite */
.clients-map-search{
  position:absolute;top:14px;right:14px;z-index:600;
  background:#ffffff;
  border-radius:var(--r);
  padding:8px 12px;
  border:1px solid rgba(109,124,144,0.2);
  box-shadow:0 8px 24px -8px rgba(11,8,9,0.25);
  min-width:180px;
  max-width:calc(100% - 28px - 130px); /* laisse de la place au bandeau stats à gauche */
}
.clients-map-split .clients-map-search{min-width:140px;max-width:160px}
.clients-map-search input{
  border:none;outline:none;
  font-family:'Quicksand',sans-serif;font-weight:500;font-size:14px;
  color:var(--black);width:100%;
  background:transparent;
}
.clients-map-search input::placeholder{color:var(--blue-gray)}
.clients-map-search .search-results{
  position:absolute;
  top:100%;left:0;right:0;
  background:#ffffff;
  max-height:260px;overflow-y:auto;
  border-radius:0 0 var(--r) var(--r);
  border:1px solid rgba(109,124,144,0.2);
  border-top:none;
  box-shadow:0 12px 32px -8px rgba(11,8,9,0.3);
  display:none;margin-top:4px;
}
.clients-map-search .search-results.active{display:block}
.clients-map-search .search-results .item{
  padding:10px 14px;font-size:13px;cursor:pointer;
  font-family:'Quicksand',sans-serif;
  color:var(--black);
  border-bottom:1px solid rgba(109,124,144,0.12);
  transition:background .15s ease,color .15s ease;
}
.clients-map-search .search-results .item:last-child{border-bottom:none}
.clients-map-search .search-results .item:hover{background:var(--offwhite);color:var(--navy)}
.clients-map-search .search-results .item .city{
  font-family:'Jura',sans-serif;font-size:11px;
  color:var(--blue-gray);text-transform:uppercase;letter-spacing:0.12em;
  margin-top:3px;
}
@media (max-width:600px){
  .clients-map-search{min-width:160px}
  .clients-map-search input{font-size:13px}
}

/* Clusters Leaflet — palette RTR */
.leaflet-container .marker-cluster-small{background:rgba(249,176,0,0.4)}
.leaflet-container .marker-cluster-small div{background:rgba(249,176,0,0.95);color:var(--black);font-family:'Barlow',sans-serif;font-weight:800}
.leaflet-container .marker-cluster-medium{background:rgba(21,52,85,0.4)}
.leaflet-container .marker-cluster-medium div{background:rgba(21,52,85,0.95);color:#ffffff;font-family:'Barlow',sans-serif;font-weight:800}
.leaflet-container .marker-cluster-large{background:rgba(11,8,9,0.4)}
.leaflet-container .marker-cluster-large div{background:rgba(11,8,9,0.95);color:var(--gold);font-family:'Barlow',sans-serif;font-weight:800}

/* Popups Leaflet — typo RTR */
.leaflet-container .leaflet-popup-content-wrapper{
  border-radius:var(--r);
  box-shadow:0 16px 40px -12px rgba(11,8,9,0.4);
}
.leaflet-container .leaflet-popup-content{margin:14px 16px;min-width:180px;font-family:'Quicksand',sans-serif;font-size:13px}
.leaflet-container .popup-place{
  color:var(--navy);font-weight:800;font-family:'Barlow',sans-serif;
  text-transform:uppercase;letter-spacing:0.01em;
  font-size:14px;margin-bottom:8px;
  border-bottom:2px solid var(--gold);padding-bottom:6px;
}
.leaflet-container .popup-list{list-style:none;padding:0;margin:0}
.leaflet-container .popup-list li{padding:3px 0;color:var(--black);font-size:13px}
.leaflet-container .popup-count{
  font-family:'Jura',sans-serif;font-size:11px;color:var(--blue-gray);
  text-transform:uppercase;letter-spacing:0.18em;
  margin-top:8px;padding-top:6px;border-top:1px solid rgba(109,124,144,0.18);
}

.clients-map-error{
  display:none;
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  background:#ffffff;color:var(--navy);
  padding:20px 28px;border-radius:var(--r);
  font-family:'Quicksand',sans-serif;font-size:14px;text-align:center;
  z-index:1000;
  box-shadow:0 16px 40px -12px rgba(11,8,9,0.4);
  border:1px solid rgba(109,124,144,0.2);
  max-width:380px;
}

/* ============== FINAL CTA — 3 boutons row ============== */
.final-cta-buttons{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
  margin-top:8px;
}
.final-cta-buttons .btn{flex-shrink:0}
@media (max-width:560px){
  .final-cta-buttons{flex-direction:column;align-items:center}
  .final-cta-buttons .btn{width:100%;max-width:340px;justify-content:center}
}


/* ============== TESTI-SPLIT — 1 colonne photos certifiés + 2 colonnes témoignages, toutes animées ============== */
.testi-split{
  display:grid;
  grid-template-columns:440px 1fr 1fr;
  gap:28px;
  margin-top:48px;
  height:720px;
}
.testi-split-col{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(109,124,144,0.14);
  padding:14px 12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.5),0 1px 0 rgba(109,124,144,0.06);
}
.testi-split-track{
  display:flex;
  flex-direction:column;
  gap:20px;
  will-change:transform;
}
.testi-split-col:hover .testi-split-track{animation-play-state:paused}
/* Les marquees démarrent en pause — JS ajoute .is-active sur .testi-split quand la section entre dans le viewport, pour que les visiteurs voient toujours le début (visages, premier témoignage) plutôt qu'un cadrage arbitraire. */
.testi-split-track-photos{animation:testiSplitPhotos 70s linear infinite;animation-play-state:paused}
.testi-split-track-quotes-a{animation:testiSplitQuotesA 95s linear infinite;animation-play-state:paused}
.testi-split-track-quotes-b{animation:testiSplitQuotesB 115s linear infinite;animation-play-state:paused}
.testi-split.is-active .testi-split-track-photos,
.testi-split.is-active .testi-split-track-quotes-a,
.testi-split.is-active .testi-split-track-quotes-b{animation-play-state:running}
.testi-split.is-active .testi-split-col:hover .testi-split-track{animation-play-state:paused}
@keyframes testiSplitPhotos{
  from{transform:translateY(0)}
  to{transform:translateY(-50%)}
}
@keyframes testiSplitQuotesA{
  from{transform:translateY(0)}
  to{transform:translateY(-50%)}
}
@keyframes testiSplitQuotesB{
  from{transform:translateY(0)}
  to{transform:translateY(-50%)}
}

/* Carte photo verticale */
.testi-split-photo{
  flex:0 0 auto;
  margin:0;
  aspect-ratio:3/4;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(109,124,144,0.18);
  box-shadow:0 14px 30px -14px rgba(11,8,9,0.28);
  position:relative;
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease;
}
.testi-split-photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  display:block;
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s ease;
  filter:saturate(.96);
}
.testi-split-photo:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 44px -16px rgba(11,8,9,0.36);
}
.testi-split-photo:hover img{transform:scale(1.06);filter:saturate(1.1)}

/* Carte citation verticale */
.testi-split-quote{
  flex:0 0 auto;
  background:linear-gradient(165deg,#ffffff 0%,#eceef1 100%);
  border:1px solid rgba(109,124,144,0.18);
  border-radius:18px;
  padding:22px 26px;
  box-shadow:0 8px 22px -10px rgba(11,8,9,0.16);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,background .4s ease,border-color .4s ease;
}
.testi-split-quote .tsq-text,
.testi-split-quote .tsq-name,
.testi-split-quote .tsq-role{transition:color .35s ease}
.testi-split-quote:hover{
  background:linear-gradient(160deg,#d6d7d8 0%,#6d7c90 100%);
  border-color:rgba(21,52,85,0.28);
  transform:translateY(-4px);
  box-shadow:0 26px 50px -22px rgba(11,8,9,0.4);
}
.testi-split-quote:hover .tsq-text{color:#10243b}
.testi-split-quote:hover .tsq-name{color:#0b0809}
.testi-split-quote:hover .tsq-role{color:#153455}
.testi-split-quote .tsq-text{
  font-family:'Quicksand',sans-serif;font-weight:500;
  font-size:15px;line-height:1.55;
  color:var(--black);
  margin:0 0 14px;
}
.testi-split-quote .tsq-author{display:flex;flex-direction:column;gap:3px}
.testi-split-quote .tsq-name{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:14px;letter-spacing:0.04em;text-transform:uppercase;
  color:var(--navy);
}
.testi-split-quote .tsq-role{
  font-family:'Jura',sans-serif;font-weight:600;
  font-size:11px;text-transform:uppercase;letter-spacing:0.18em;
  color:var(--blue-gray);
}

@media (max-width:1100px){
  .testi-split{grid-template-columns:340px 1fr 1fr;gap:22px;height:660px}
}
@media (max-width:900px){
  .testi-split{grid-template-columns:1fr 1fr;gap:22px;height:auto}
  .testi-split-col{height:540px}
  .testi-split-photos{grid-column:1 / -1;max-width:340px;margin:0 auto;width:100%}
}
@media (max-width:600px){
  .testi-split{grid-template-columns:1fr}
  .testi-split-photos{max-width:280px}
}
@media (prefers-reduced-motion:reduce){
  .testi-split-track-photos{animation-duration:240s}
  .testi-split-track-quotes-a{animation-duration:300s}
  .testi-split-track-quotes-b{animation-duration:340s}
}

/* ============== LIEN DISCRET FOOTER — zones d'intervention SEO ============== */
.muted-link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px dotted rgba(255,255,255,0.18);
  transition:border-color .2s ease, color .2s ease;
}
.muted-link:hover{
  color:var(--gold);
  border-bottom-color:rgba(249,176,0,0.5);
}

/* ============================================================
   CARTE CLIENTS — Leaflet (page formation, section "d'où viennent")
   ============================================================ */
.clients-map{
  position:relative;
  margin-top:0;
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid rgba(109,124,144,0.2);
  box-shadow:var(--shadow-card-lg);
  background:#ffffff;
}
.clients-map-canvas{
  width:100%;
  height:clamp(420px,60vh,640px);
  position:relative;z-index:0;
}
@media (max-width:600px){
  .clients-map-canvas{height:420px}
}

/* Variante split — carte dans une demi-colonne à droite du texte */
.clients-map-split{
  aspect-ratio:4/5;
  height:auto;
  max-height:none;
}
.clients-map-split .clients-map-canvas{
  height:100%;
  position:absolute;inset:0;
}
@media (max-width:900px){
  .clients-map-split{aspect-ratio:auto}
  .clients-map-split .clients-map-canvas{position:relative;height:480px;inset:auto}
}

/* Bandeau stats en haut à gauche, charte RTR */
.clients-map-stats{
  position:absolute;top:14px;left:14px;z-index:600;
  background:var(--grad-blue);color:#ffffff;
  border-radius:var(--r);
  padding:10px 16px;
  display:flex;flex-direction:column;gap:2px;
  font-family:'Jura',sans-serif;font-weight:500;
  font-size:12px;letter-spacing:0.04em;
  box-shadow:0 8px 24px -8px rgba(11,8,9,0.45);
  border:1px solid rgba(214,215,216,0.15);
}
.clients-map-stats strong{color:var(--gold);font-weight:800;font-family:'Barlow',sans-serif;font-size:15px}
@media (max-width:600px){
  .clients-map-stats{font-size:11px;padding:8px 12px}
  .clients-map-stats strong{font-size:13px}
}

/* Search en haut à droite */
.clients-map-search{
  position:absolute;top:14px;right:14px;z-index:600;
  background:#ffffff;
  border-radius:var(--r);
  padding:8px 12px;
  border:1px solid rgba(109,124,144,0.2);
  box-shadow:0 8px 24px -8px rgba(11,8,9,0.25);
  min-width:180px;
  max-width:calc(100% - 28px - 130px); /* laisse de la place au bandeau stats à gauche */
}
.clients-map-split .clients-map-search{min-width:140px;max-width:160px}
.clients-map-search input{
  border:none;outline:none;
  font-family:'Quicksand',sans-serif;font-weight:500;font-size:14px;
  color:var(--black);width:100%;
  background:transparent;
}
.clients-map-search input::placeholder{color:var(--blue-gray)}
.clients-map-search .search-results{
  position:absolute;
  top:100%;left:0;right:0;
  background:#ffffff;
  max-height:260px;overflow-y:auto;
  border-radius:0 0 var(--r) var(--r);
  border:1px solid rgba(109,124,144,0.2);
  border-top:none;
  box-shadow:0 12px 32px -8px rgba(11,8,9,0.3);
  display:none;margin-top:4px;
}
.clients-map-search .search-results.active{display:block}
.clients-map-search .search-results .item{
  padding:10px 14px;font-size:13px;cursor:pointer;
  font-family:'Quicksand',sans-serif;
  color:var(--black);
  border-bottom:1px solid rgba(109,124,144,0.12);
  transition:background .15s ease,color .15s ease;
}
.clients-map-search .search-results .item:last-child{border-bottom:none}
.clients-map-search .search-results .item:hover{background:var(--offwhite);color:var(--navy)}
.clients-map-search .search-results .item .city{
  font-family:'Jura',sans-serif;font-size:11px;
  color:var(--blue-gray);text-transform:uppercase;letter-spacing:0.12em;
  margin-top:3px;
}
@media (max-width:600px){
  .clients-map-search{min-width:160px}
  .clients-map-search input{font-size:13px}
}

/* Clusters Leaflet — palette RTR */
.leaflet-container .marker-cluster-small{background:rgba(249,176,0,0.4)}
.leaflet-container .marker-cluster-small div{background:rgba(249,176,0,0.95);color:var(--black);font-family:'Barlow',sans-serif;font-weight:800}
.leaflet-container .marker-cluster-medium{background:rgba(21,52,85,0.4)}
.leaflet-container .marker-cluster-medium div{background:rgba(21,52,85,0.95);color:#ffffff;font-family:'Barlow',sans-serif;font-weight:800}
.leaflet-container .marker-cluster-large{background:rgba(11,8,9,0.4)}
.leaflet-container .marker-cluster-large div{background:rgba(11,8,9,0.95);color:var(--gold);font-family:'Barlow',sans-serif;font-weight:800}

/* Popups Leaflet — typo RTR */
.leaflet-container .leaflet-popup-content-wrapper{
  border-radius:var(--r);
  box-shadow:0 16px 40px -12px rgba(11,8,9,0.4);
}
.leaflet-container .leaflet-popup-content{margin:14px 16px;min-width:180px;font-family:'Quicksand',sans-serif;font-size:13px}
.leaflet-container .popup-place{
  color:var(--navy);font-weight:800;font-family:'Barlow',sans-serif;
  text-transform:uppercase;letter-spacing:0.01em;
  font-size:14px;margin-bottom:8px;
  border-bottom:2px solid var(--gold);padding-bottom:6px;
}
.leaflet-container .popup-list{list-style:none;padding:0;margin:0}
.leaflet-container .popup-list li{padding:3px 0;color:var(--black);font-size:13px}
.leaflet-container .popup-count{
  font-family:'Jura',sans-serif;font-size:11px;color:var(--blue-gray);
  text-transform:uppercase;letter-spacing:0.18em;
  margin-top:8px;padding-top:6px;border-top:1px solid rgba(109,124,144,0.18);
}

.clients-map-error{
  display:none;
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  background:#ffffff;color:var(--navy);
  padding:20px 28px;border-radius:var(--r);
  font-family:'Quicksand',sans-serif;font-size:14px;text-align:center;
  z-index:1000;
  box-shadow:0 16px 40px -12px rgba(11,8,9,0.4);
  border:1px solid rgba(109,124,144,0.2);
  max-width:380px;
}


/* ============== LISTE "PAS POUR VOUS" — croix en gris neutre (page formation) ============== */
.feature-list-no li .ico{background:var(--blue-gray);opacity:.6}

/* ============================================================
   FORMATION — Formateurs (équipe) + Coachs de niveau international (clips vidéo)
   ============================================================ */
.formateurs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin:32px auto 0;max-width:760px}
@media(max-width:680px){.formateurs-grid{grid-template-columns:1fr;max-width:360px;margin-left:auto;margin-right:auto}}
.formateur-card{
  background:#fff;border:1px solid rgba(109,124,144,0.14);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-card);
  display:flex;flex-direction:column;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease;
}
.formateur-card:hover{transform:translateY(-8px);box-shadow:0 36px 70px -28px rgba(11,8,9,0.3)}
.formateur-photo{aspect-ratio:4/5;overflow:hidden;background:var(--navy)}
.formateur-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.formateur-card:hover .formateur-photo img{transform:scale(1.05)}
.formateur-monogram{
  width:100%;height:100%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--navy),#0d2238);
  color:#fff;font-family:'Barlow',sans-serif;font-weight:900;
  font-size:72px;letter-spacing:0.04em;
}
.formateur-body{padding:24px 26px}
.formateur-name{font-family:'Barlow',sans-serif;font-weight:800;font-size:20px;color:var(--navy);margin:0 0 8px;text-transform:uppercase;line-height:1.1}
.formateur-role{font-size:14px;line-height:1.55;color:var(--black);margin:0}

.coach-clips{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;max-width:820px;margin:32px auto 0}
.coach-clip{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  aspect-ratio:3/4;box-shadow:var(--shadow-card-lg);
  background-size:cover;background-position:center;
}
.coach-clip video{width:100%;height:100%;object-fit:cover;display:block}
.coach-clip::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(11,8,9,0.55) 60%,rgba(11,8,9,0.92) 100%);pointer-events:none}
.coach-clip-name{
  font-family:'Barlow',sans-serif;font-weight:800;
  font-size:19px;text-transform:uppercase;letter-spacing:0.01em;line-height:1.1;
  color:#fff;margin:0 0 4px;
}
.coach-clip-meta{
  position:absolute;left:22px;bottom:18px;right:18px;z-index:2;color:#fff;
  display:flex;flex-direction:column;gap:6px;
}
.coach-clip-role{
  font-size:12.5px;line-height:1.35;color:rgba(255,255,255,0.85);
  font-family:'Lato',sans-serif;letter-spacing:0.01em;margin:0 0 6px;
}
.coach-clip-chip{
  align-self:flex-start;display:inline-flex;align-items:center;gap:6px;
  background:var(--gold);color:var(--navy);
  padding:6px 12px;border-radius:999px;
  font-family:'Barlow',sans-serif;font-weight:700;font-size:11.5px;
  text-transform:uppercase;letter-spacing:0.04em;text-decoration:none;
  box-shadow:0 6px 16px -6px rgba(0,0,0,0.5);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.coach-clip-chip:hover{
  transform:translateY(-2px);
  background:#ffd23d;
  box-shadow:0 10px 22px -8px rgba(0,0,0,0.55);
}
.coach-clip-chip svg{flex-shrink:0}
@media (prefers-reduced-motion:reduce){.coach-clip video{display:none}}

/* ============== POURQUOI SE FORMER (formation) — texte à gauche + Nathan détouré à droite ============== */
.pourquoi-formation-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,470px);
  gap:40px;
  align-items:end;
  margin-bottom:48px;
}
.pourquoi-formation-intro .section-head{margin-bottom:0;max-width:none}
.pourquoi-formation-portrait{
  position:relative;align-self:end;
  /* Nathan déborde franchement vers le haut pour apparaître dès l'arrivée sur la section */
  margin:-60px 0 -24px;
}
.pourquoi-formation-portrait img{
  display:block;width:100%;height:auto;max-height:720px;
  object-fit:contain;object-position:bottom center;
  filter:drop-shadow(0 22px 30px rgba(11,8,9,0.18));
  transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}

/* ----- Hover photos détourées (Teddy Riner, Nathan cutout) ----- */
.cutout-hover{cursor:default}
.cutout-hover img{
  transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .5s ease;
  transform-origin:center bottom;
}
.cutout-hover:hover img{
  transform:translateY(-8px) scale(1.03);
  filter:drop-shadow(0 32px 44px rgba(11,8,9,0.28));
}

/* ----- Section "Les 6 raisons" — hover photos : couleurs natives, agrandissement + léger 3D ----- */
/* Photos laissées telles quelles (aucun filtre). Au survol : la carte s'incline légèrement vers
   l'avant (perspective 3D douce) + se soulève + l'image zoome subtilement. JS ajoute un tilt
   qui suit la souris pour un vrai effet de profondeur. */
.reasons-photo{
  position:relative;overflow:hidden;
  border-radius:var(--r-lg);cursor:default;
  transform-style:preserve-3d;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease;
  box-shadow:0 18px 38px -22px rgba(11,8,9,0.22);
  will-change:transform;
}
.reasons-photo > img{
  display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
  /* aucun filtre — la photo garde son contraste / ses couleurs natifs */
}
.reasons-photo:hover{
  box-shadow:0 40px 70px -24px rgba(11,8,9,0.34);
}
.reasons-photo:hover > img{transform:scale(1.06)}
/* Léger reflet diagonal qui balaie la photo au survol (premium, discret) */
.reasons-photo::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,0.14) 50%,transparent 60%);
  transform:translateX(-100%);
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.reasons-photo:hover::after{transform:translateX(100%)}
@media (prefers-reduced-motion:reduce){
  .reasons-photo > img{transition:none}
  .reasons-photo:hover > img{transform:none}
  .reasons-photo{transition:box-shadow .3s ease}
}

/* ----- Section "À qui s'adresse" — utilise --grad-blue de la charte (navy → bleu foncé → noir teinté) ----- */
.audience-section{padding-top:56px;padding-bottom:56px;position:relative;overflow:hidden}
/* Feature-list lisible sur fond bleu foncé */
.audience-section .feature-list li{color:var(--offwhite)}
.audience-section .feature-list li strong{color:#fff}
.audience-section .feature-list .ico{
  background:var(--gold);color:var(--navy);
}
.audience-section .feature-list .ico svg{stroke:var(--navy)}

/* ----- Layout 2 colonnes "À qui s'adresse" : photo à gauche, liste à droite ----- */
.audience-split{
  display:grid;
  grid-template-columns:minmax(280px,420px) minmax(0,1fr);
  gap:48px;
  align-items:center;
  margin:0;
}
.audience-photo{
  position:relative;border-radius:18px;overflow:hidden;
  box-shadow:0 28px 50px -22px rgba(11,8,9,0.28);
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease;
  cursor:default;
}
.audience-photo img{
  display:block;width:100%;height:auto;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.photo-hover:hover{
  transform:translateY(-6px);
  box-shadow:0 38px 72px -22px rgba(11,8,9,0.4);
}
.photo-hover:hover img{transform:scale(1.06)}
@media (max-width:900px){
  .audience-split{grid-template-columns:1fr;gap:24px}
  .audience-photo{max-width:400px;margin:0 auto}
}
@media (max-width:900px){
  .pourquoi-formation-intro{grid-template-columns:1fr;gap:24px;align-items:start}
  .pourquoi-formation-portrait{max-width:300px;margin:0 auto -8px;align-self:center}
  .pourquoi-formation-portrait img{max-height:460px}
}

/* ============== GALERIE TÉMOIGNAGES VIDÉO — COVERFLOW DRAGGABLE ============== */
.video-testi-section{padding-top:20px;padding-bottom:32px;overflow:hidden}
/* Section sur fond bleu (charte) : on adapte titres, légendes et bords de fondu */
.video-testi-section.section-blue .section-head h2{color:#fff}
.video-testi-section.section-blue .section-head .eyebrow{color:var(--offwhite)}
.video-testi-section.section-blue .vt-caption-name{color:#fff}
.video-testi-section.section-blue .vt-caption-role{color:var(--offwhite)}
.video-testi-section.section-blue .vt-coverflow::before{background:linear-gradient(90deg,#14304f 0%,rgba(20,48,79,0.7) 55%,transparent 100%)}
.video-testi-section.section-blue .vt-coverflow::after{background:linear-gradient(270deg,#0f2138 0%,rgba(15,33,56,0.7) 55%,transparent 100%)}
.video-testi-section.section-blue .vt-dot{background:rgba(214,215,216,0.35)}
.video-testi-section.section-blue .vt-dot:hover{background:var(--offwhite)}

.vt-coverflow{
  position:relative;margin:8px auto 0;
  --vt-card-w:480px;
  --vt-card-h:270px; /* 16:9 */
  --vt-scale-max:1.24;
}
/* Stage central — cadre élégant qui englobe visuellement le slide centré + la caption (nom + rôle) */
.vt-stage{
  position:absolute;left:50%;
  /* Top aligné avec le HAUT VISUEL du slide scaled (la transform: scale ne change pas le layout) */
  top:calc(24px - (var(--vt-card-h) * (var(--vt-scale-max) - 1) / 2));
  width:calc(var(--vt-card-w) * var(--vt-scale-max));
  /* Hauteur = slide visuel + zone caption + petit buffer pour éviter de couper le rôle */
  height:calc(var(--vt-card-h) * var(--vt-scale-max) + 78px);
  transform:translateX(-50%);
  border-radius:22px;pointer-events:none;z-index:1;
}
.vt-stage::before{
  content:"";position:absolute;inset:-14px;border-radius:30px;
  background:radial-gradient(ellipse at center,rgba(255,210,61,0.14) 0%,rgba(255,210,61,0.04) 45%,transparent 75%);
  filter:blur(20px);z-index:-2;
}
.vt-stage::after{
  content:"";position:absolute;inset:0;border-radius:22px;
  /* Shadow allégée pour ne pas créer de bande sombre visible autour de la caption */
  box-shadow:
    0 30px 60px -25px rgba(11,8,9,0.4),
    0 12px 22px -12px rgba(11,8,9,0.22),
    inset 0 0 0 1px rgba(255,255,255,0.06);
  z-index:-1;
}

/* Caption au-dessus du stage pour que le texte reste net même si le stage l'englobe */
.vt-caption{position:relative;z-index:3}

.vt-coverflow::before,
.vt-coverflow::after{
  content:"";position:absolute;top:24px;bottom:96px;width:160px;z-index:6;
  pointer-events:none;
}
.vt-coverflow::before{left:0;background:linear-gradient(90deg,#ffffff 0%,rgba(255,255,255,0.7) 55%,transparent 100%)}
.vt-coverflow::after{right:0;background:linear-gradient(270deg,#ffffff 0%,rgba(255,255,255,0.7) 55%,transparent 100%)}

.vt-track{
  display:flex;align-items:center;gap:30px;
  padding:24px calc(50% - (var(--vt-card-w) / 2));
  overflow-x:auto;
  /* Pas de scroll-snap CSS — JS gère le smooth-snap en fin de drag pour une fluidité totale */
  scrollbar-width:none;-ms-overflow-style:none;
  cursor:grab;outline:none;
  -webkit-user-select:none;user-select:none;
  position:relative;z-index:2;
  scroll-behavior:auto; /* JS contrôle le smooth scrollTo */
}
.vt-track::-webkit-scrollbar{display:none}
.vt-track.is-dragging{cursor:grabbing}
/* Note : pas de pointer-events:none pendant drag — la suppression de click intempestifs
   est gérée par le flag JS `moved` qui annule le click si dx > 4px */

.vt-slide{
  flex:0 0 var(--vt-card-w);
  width:var(--vt-card-w);height:var(--vt-card-h);
  position:relative;border:0;padding:0;background:#0b0809;
  border-radius:18px;overflow:hidden;cursor:pointer;
  transform:scale(0.76);
  filter:saturate(0.5) brightness(0.55);
  /* JS pilote transform + filter en continu, pas de transition concurrente */
  transition:box-shadow .35s ease;
  will-change:transform,filter;
  transform-origin:center;
}
.vt-slide img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.vt-slide .vt-meta{display:none} /* nom/rôle déplacés dans .vt-caption sous le stage */

/* Badge play en coin (discret, ne couvre pas la miniature) */
.vt-slide .vt-play{
  position:absolute;top:14px;right:14px;
  width:42px;height:42px;border-radius:50%;
  background:var(--gold);color:var(--navy);
  display:grid;place-items:center;
  box-shadow:0 10px 22px -8px rgba(0,0,0,0.5);
  opacity:0;transform:scale(0.6);
  transition:opacity .35s ease,transform .35s cubic-bezier(.2,.7,.2,1),background .25s ease;
  pointer-events:none; /* le clic reste sur le bouton parent */
}
.vt-slide .vt-play svg{width:16px;height:16px;margin-left:2px}

/* Hint "Voir le témoignage" sous le badge, apparait au hover */
.vt-slide .vt-clickhint{
  position:absolute;top:18px;right:64px;
  background:rgba(11,8,9,0.85);color:#fff;
  padding:8px 14px;border-radius:999px;
  font-family:'Barlow',sans-serif;font-weight:700;font-size:11px;
  text-transform:uppercase;letter-spacing:0.06em;white-space:nowrap;
  opacity:0;transform:translateX(8px);
  transition:opacity .3s ease,transform .3s ease;
  pointer-events:none;
}

.vt-slide.is-center{
  box-shadow:
    0 40px 80px -30px rgba(11,8,9,0.55),
    0 14px 30px -12px rgba(11,8,9,0.3),
    inset 0 0 0 1px rgba(255,255,255,0.12);
}
.vt-slide.is-center .vt-play{opacity:1;transform:scale(1)}
.vt-slide.is-center:hover .vt-play{transform:scale(1.1);background:#ffd23d}
.vt-slide.is-center:hover .vt-clickhint{opacity:1;transform:translateX(0)}

/* Caption sous le stage : nom + sport du témoin centré (mis à jour par JS) */
.vt-caption{
  text-align:center;margin:6px auto 0;
  min-height:46px;
  display:flex;flex-direction:column;gap:2px;align-items:center;
}
.vt-caption-name{
  font-family:'Barlow',sans-serif;font-weight:900;
  font-size:24px;color:var(--navy);letter-spacing:-0.01em;line-height:1.15;
  transition:opacity .3s ease;
}
.vt-caption-role{
  font-family:'Lato',sans-serif;font-size:12.5px;color:var(--blue-gray);
  text-transform:uppercase;letter-spacing:0.1em;line-height:1.3;
  transition:opacity .3s ease;
}
.vt-caption.is-switching .vt-caption-name,
.vt-caption.is-switching .vt-caption-role{opacity:0}

.vt-dots{display:flex;justify-content:center;gap:10px;margin:10px 0 0}
.vt-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(109,124,144,0.35);
  border:0;padding:0;cursor:pointer;
  transition:background .25s ease,width .35s ease,border-radius .35s ease;
}
.vt-dot:hover{background:var(--blue-gray)}
.vt-dot.is-active{background:var(--gold);width:24px;border-radius:999px}

.vt-hint{display:none} /* redondant avec les dots et le curseur grab — supprimé pour gagner du vertical */

@media (max-width:1100px){
  .vt-coverflow{--vt-card-w:440px;--vt-card-h:248px}
}
@media (max-width:760px){
  .vt-coverflow{--vt-card-w:300px;--vt-card-h:169px;--vt-scale-max:1.18}
  .vt-track{gap:18px;padding:28px calc(50% - (var(--vt-card-w) / 2))}
  .vt-stage{
    top:calc(28px - (var(--vt-card-h) * (var(--vt-scale-max) - 1) / 2));
    height:calc(var(--vt-card-h) * var(--vt-scale-max) + 62px);
  }
  .vt-slide .vt-play{width:36px;height:36px;top:10px;right:10px}
  .vt-slide .vt-play svg{width:14px;height:14px}
  .vt-slide .vt-clickhint{display:none}
  .vt-caption-name{font-size:20px}
  .vt-coverflow::before,.vt-coverflow::after{width:60px}
}

/* ----- Lightbox YouTube ----- */
.vt-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px}
.vt-lightbox[hidden]{display:none}
.vt-lightbox-backdrop{
  position:absolute;inset:0;background:rgba(11,8,9,0.85);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  animation:vtFadeIn .35s ease;
}
.vt-lightbox-content{
  position:relative;width:min(960px,95vw);
  display:flex;flex-direction:column;gap:16px;
  animation:vtPopIn .4s cubic-bezier(.2,.7,.2,1);
}
.vt-lightbox-frame{
  position:relative;aspect-ratio:16/9;width:100%;
  background:#000;border-radius:14px;overflow:hidden;
  box-shadow:0 40px 80px -20px rgba(0,0,0,0.5);
}
.vt-lightbox-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vt-lightbox-caption{
  color:#fff;text-align:center;
  font-family:'Barlow',sans-serif;font-weight:700;font-size:17px;letter-spacing:0.01em;
}
.vt-lightbox-caption small{
  display:block;font-family:'Lato',sans-serif;font-weight:400;
  font-size:13px;color:rgba(255,255,255,0.7);
  text-transform:uppercase;letter-spacing:0.08em;margin-top:6px;
}
.vt-lightbox-close{
  position:absolute;top:-44px;right:0;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,0.12);border:0;color:#fff;cursor:pointer;
  display:grid;place-items:center;
  transition:background .25s ease,transform .25s ease;
}
.vt-lightbox-close:hover{background:rgba(255,255,255,0.25);transform:scale(1.08)}
.vt-lightbox-close svg{width:18px;height:18px}
body.vt-lock{overflow:hidden}

@keyframes vtFadeIn{from{opacity:0}to{opacity:1}}
@keyframes vtPopIn{from{opacity:0;transform:scale(0.94)}to{opacity:1;transform:scale(1)}}

/* Anciennes règles (lecteur + strip) — neutralisées au profit du coverflow */
.video-testi,.video-testi-stage,.video-testi-player,
.video-testi-thumb,.video-testi-info,.video-testi-strip{display:none !important}

/* ============================================================
   PAGE PARENT — retours Loom (mise en forme + survols dynamiques)
   ============================================================ */

/* ----- Pensées des parents : cartes citation redessinées ----- */
.thoughts-quotes{gap:18px}
.thoughts-quotes .thought{
  position:relative;overflow:hidden;
  border-left:0;
  border-radius:var(--r-lg);
  padding:30px 30px 28px 34px;
  font-style:italic;
  color:var(--navy);
  background:#ffffff;
  border:1px solid rgba(109,124,144,0.14);
  box-shadow:0 18px 50px -28px rgba(11,8,9,0.22);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease;
}
/* barre dégradée verticale qui grandit au survol */
.thoughts-quotes .thought::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,#153455,#1a2835);
  transform:scaleY(.42);transform-origin:top center;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
/* gros guillemet décoratif en filigrane */
.thoughts-quotes .thought::after{
  content:"\201C";
  position:absolute;right:14px;bottom:-22px;
  font-family:'Barlow',sans-serif;font-weight:900;font-style:normal;
  font-size:120px;line-height:1;
  color:rgba(21,52,85,0.06);
  transition:color .4s ease,transform .5s ease;
  pointer-events:none;
}
.thoughts-quotes .thought:hover{
  transform:translateY(-6px);
  box-shadow:0 36px 80px -30px rgba(11,8,9,0.34);
  border-color:rgba(21,52,85,0.25);
}
.thoughts-quotes .thought:hover::before{transform:scaleY(1)}
.thoughts-quotes .thought:hover::after{color:rgba(249,176,0,0.16);transform:translateY(-6px) rotate(-4deg)}

/* ----- Casquettes : illustration détourée qui flotte (pas de cadre) ----- */
.split-media-cut{
  position:relative;display:grid;place-items:center;
  min-height:380px;padding:24px;
  background:transparent;border:0;box-shadow:none;
}
.split-media-cut img{
  max-height:360px;width:auto;object-fit:contain;
  filter:drop-shadow(0 26px 34px rgba(11,8,9,0.28));
  animation:cutFloat 6s ease-in-out infinite;
  transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .5s ease;
  will-change:transform;
}
.split-media-cut:hover img{
  transform:scale(1.05) rotate(-1.5deg);
  filter:drop-shadow(0 34px 44px rgba(21,52,85,0.4));
}
.cut-tag{
  position:absolute;left:50%;bottom:6px;transform:translateX(-50%);
  font-family:'Jura',sans-serif;font-weight:700;white-space:nowrap;
  font-size:11px;text-transform:uppercase;letter-spacing:0.18em;
  color:var(--navy);
  background:rgba(255,255,255,0.85);
  padding:8px 14px;border-radius:999px;
  backdrop-filter:blur(4px);
  box-shadow:0 8px 20px -10px rgba(11,8,9,0.3);
}
@keyframes cutFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media (prefers-reduced-motion:reduce){.split-media-cut img{animation:none}}

/* ----- Cartes témoignages : survol dégradé bleu (dynamique) ----- */
.cards-feature-blue .card{
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,background .45s ease,border-color .45s ease;
}
.cards-feature-blue .card::before{display:none}
.cards-feature-blue .card h3,
.cards-feature-blue .card p{transition:color .45s ease}
.cards-feature-blue .card .card-icon{transition:background .45s ease,color .45s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.cards-feature-blue .card:hover{
  background:var(--grad-blue-150);
  border-color:transparent;
  transform:translateY(-10px);
  box-shadow:0 46px 96px -32px rgba(11,8,9,0.6);
}
.cards-feature-blue .card:hover .card-icon{
  background:rgba(249,176,0,0.18);color:var(--gold);
  transform:scale(1.08) rotate(-4deg);
}
.cards-feature-blue .card:hover h3{color:#ffffff}
.cards-feature-blue .card:hover p{color:var(--offwhite)}

/* ----- Étapes du processus : survol dégradé bleu ----- */
.steps-feature .step{
  position:relative;overflow:hidden;cursor:default;
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,background .45s ease,border-color .45s ease;
}
.steps-feature .step-num,
.steps-feature .step-body h3,
.steps-feature .step-body p{transition:color .45s ease}
.steps-feature .step:hover{
  background:var(--grad-blue-150);
  border-color:transparent;
  transform:translateY(-6px);
  box-shadow:0 44px 92px -34px rgba(11,8,9,0.58);
}
.steps-feature .step:hover .step-num{
  color:var(--gold);
  -webkit-text-fill-color:var(--gold);
}
.steps-feature .step:hover .step-body h3{color:#ffffff}
.steps-feature .step:hover .step-body p{color:var(--offwhite)}

/* ----- Final CTA : phrase en italique plus lisible sur fond bleu ----- */
.final-cta p em{color:#ffffff;opacity:.92;font-style:italic}

/* ----- Section "Avez-vous déjà eu ces pensées ?" : en-tête compact, photo plus petite ----- */
.pensees-split{grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}
.pensees-media{
  aspect-ratio:3/2;
  max-width:400px;width:100%;
  margin-left:auto;align-self:center;
}
@media (max-width:900px){
  .pensees-split{grid-template-columns:1fr;gap:28px}
  .pensees-media{max-width:100%;margin:0;aspect-ratio:16/10}
}

/* ==========================================================
   AVIS GOOGLE — tablette animée au scroll (style "Aceternity")
   Le device se déroule (rotateX 60°→0 : presque debout puis à plat)
   + scale pendant que le titre monte et que les avis glissent vers
   le haut. Défilement interne par boutons (pas de scrollbar native).
   Effort piloté en JS via --rtr-tablet-progress (0 → 1).
   ========================================================== */
.rtr-reviews{overflow:hidden}
.rtr-tablet-scroll{
  --rtr-tablet-progress:0;
  max-width:1024px;
  margin:0 auto;
  padding:clamp(40px,9vh,140px) var(--gutter) clamp(24px,5vh,80px);
}
.rtr-tablet-stage{
  width:100%;
  perspective:1100px;
  perspective-origin:center 35%;
}

/* --- Titre qui remonte --- */
.rtr-tablet-title{
  max-width:760px;
  margin:0 auto clamp(8px,2vh,24px);
  text-align:center;
  /* monte de 0 → -90px au fil du scroll */
  transform:translateY(calc(var(--rtr-tablet-progress) * -90px));
  will-change:transform;
}
.rtr-tablet-title .eyebrow{justify-content:center;display:inline-flex}
.rtr-tablet-title h2{margin:8px 0 0;color:var(--navy)}

/* --- La tablette --- */
.rtr-tablet{
  position:relative;
  max-width:1024px;
  width:100%;
  margin:0 auto;
  /* tablette allongée pour voir plusieurs avis défiler à la fois */
  height:clamp(1230px,165vh,1770px);
  padding:14px;
  border:4px solid var(--blue-gray);
  border-radius:30px;
  background:var(--black);
  /* ombre profonde façon device qui flotte (noir charte en rgba) */
  box-shadow:
    0 0 0 rgba(11,8,9,0),
    0 9px 20px rgba(11,8,9,.30),
    0 37px 37px rgba(11,8,9,.26),
    0 84px 50px rgba(11,8,9,.15),
    0 149px 60px rgba(11,8,9,.04);
  transform-style:preserve-3d;
  /* arrive très penchée (presque debout, 60°) puis se déroule à plat (0°) */
  transform:
    rotateX(calc((1 - var(--rtr-tablet-progress)) * 60deg))
    scale(calc(1.06 - var(--rtr-tablet-progress) * 0.06));
  transform-origin:center center;
  will-change:transform;
}
.rtr-tablet-screen{
  position:relative;
  height:100%;
  width:100%;
  overflow:hidden;
  border-radius:18px;
  background:#ffffff;
}
.rtr-tablet-inner{
  height:100%;
  width:100%;
  /* clippe seulement : le défilement se fait en translatant le track (transform),
     JAMAIS via scrollTop → le widget Elfsight n'est pas recomposé, pas de chevauchement.
     overflow:hidden ⇒ la molette scrolle naturellement la PAGE. */
  overflow:hidden;
  /* reveal : les avis glissent vers le haut (+44px → 0) + léger fade */
  transform:translateY(calc((1 - var(--rtr-tablet-progress)) * 44px));
  opacity:calc(0.55 + var(--rtr-tablet-progress) * 0.45);
  will-change:transform,opacity;
}
.rtr-tablet-track{
  padding:clamp(10px,1.6vw,20px);
  will-change:transform;
}
/* placeholder discret tant que le widget Elfsight n'a pas monté
   (domaine localhost non autorisé) — invisible une fois les avis chargés */
.rtr-tablet-track:empty::before,
.rtr-tablet-track .elfsight-app-714eb7d6-7a50-4eb9-a6ca-0629483ed93c:empty::before{
  content:"Avis Google";
  display:flex;align-items:center;justify-content:center;
  height:100%;min-height:240px;
  font-family:"Jura",sans-serif;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue-gray);font-size:13px;
}

/* --- Boutons de navigation des avis (haut / bas) --- */
.rtr-tablet-nav{
  position:absolute;left:50%;z-index:4;
  width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(11,8,9,0.12);
  background:var(--gold);color:var(--black);
  cursor:pointer;padding:0;
  box-shadow:0 10px 26px rgba(11,8,9,0.34);
  transform:translateX(-50%);
  transition:opacity .28s ease,transform .28s ease,filter .2s ease;
}
.rtr-tablet-nav:hover{filter:brightness(1.07);transform:translateX(-50%) translateY(-2px)}
.rtr-tablet-nav:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.rtr-tablet-nav svg{width:24px;height:24px}
.rtr-tablet-nav--up{top:14px}
.rtr-tablet-nav--down{bottom:14px}
.rtr-tablet-nav.is-hidden{opacity:0;pointer-events:none;transform:translateX(-50%) scale(.78)}

/* --- Mobile : tablette plus compacte, scale inversé (0.9 → 1) --- */
@media (max-width:768px){
  .rtr-tablet-scroll{padding:clamp(24px,6vh,60px) 16px}
  .rtr-tablet{
    height:clamp(960px,129vh,1350px);
    padding:8px;border-width:3px;border-radius:24px;
    transform:
      rotateX(calc((1 - var(--rtr-tablet-progress)) * 48deg))
      scale(calc(0.9 + var(--rtr-tablet-progress) * 0.1));
  }
  .rtr-tablet-screen{border-radius:14px}
  .rtr-tablet-title{transform:translateY(calc(var(--rtr-tablet-progress) * -56px))}
  .rtr-tablet-nav{width:42px;height:42px}
  .rtr-tablet-nav svg{width:21px;height:21px}
}

/* --- Reduced motion : on fige tout à l'état final (plat, en place) --- */
@media (prefers-reduced-motion:reduce){
  .rtr-tablet-scroll{--rtr-tablet-progress:1 !important}
  .rtr-tablet,.rtr-tablet-title,.rtr-tablet-inner{transform:none !important;opacity:1 !important}
}

/* Ancre "Me contacter" (footer) : on atterrit un peu au-dessus du formulaire,
   sous le header collant, plutôt que pile sur le premier champ. */
#contact,#podcast,#tedx{scroll-margin-top:104px}

/* ============== BADGE AVIS GOOGLE (sous chaque formulaire de contact) ==============
   Codé en dur (pas de widget Elfsight supplémentaire). Mettre à jour le nombre
   d'avis à la main de temps en temps. Les 4 couleurs Google (#4285F4 #EA4335
   #FBBC05 #34A853) sont une exception charte assumée : logo Google uniquement. */
.rtr-gbadge-wrap{margin-top:clamp(28px,4vw,46px)}
.rtr-gbadge{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  width:max-content;max-width:min(340px,90%);margin:0 auto;
  padding:30px 46px;border-radius:20px;
  background:#ffffff;border:1px solid rgba(109,124,144,0.16);
  box-shadow:var(--shadow-card);
  text-decoration:none;text-align:center;
  transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease;
}
.rtr-gbadge:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-lg)}
.rtr-gbadge-title{
  font-family:'Barlow',sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:.04em;
  font-size:26px;line-height:1;color:var(--black);
}
.rtr-gbadge-stars{color:var(--gold);font-size:27px;letter-spacing:4px;line-height:1}
.rtr-gbadge-count{font-family:'Quicksand',sans-serif;font-size:15px;color:var(--black)}
.rtr-gbadge-count strong{color:var(--navy);font-weight:700}
.rtr-gbadge-google{font-family:'Quicksand',sans-serif;font-weight:700;font-size:23px;letter-spacing:-.5px;line-height:1;margin-top:2px}

/* ============== EBOOK ENTRAÎNEURS (page contenus) ============== */
.ebook-section{background:var(--grad-gray)}
.ebook-section h2{font-size:clamp(28px,3.4vw,42px);line-height:1.05}
.ebook-section .ebook-sub{font-size:17px;line-height:1.6;max-width:480px;margin-bottom:28px}
.ebook-media{display:flex;justify-content:center}
.ebook-media img{width:min(560px,100%);height:auto}
@media (max-width:900px){.ebook-media img{width:min(440px,94%)}}

/* ============== YTBOOK — livre vivant de la chaîne YouTube (hero contenus) ============== */
.hero-visual--book{
  aspect-ratio:auto;background:none;border:none;box-shadow:none;
  overflow:visible;display:block;place-items:initial;
  margin-top:-50px; /* recale le livre plus haut dans la hero, aligné au bloc texte de gauche */
}
.hero-visual--book::after{display:none}
.hero-visual--book:hover img,.hero-visual--book:hover video{transform:none}
.ytbook-link{display:block;position:relative}
.ytbook{
  position:relative;width:464px;height:448px;
  transform-origin:top left;
  perspective:1600px;perspective-origin:50% 36%;
}
.ytbook-anchor{
  position:absolute;left:232px;top:206px;width:0;height:0;
  transform-style:preserve-3d;
  transform:translateX(-111px) rotateX(12deg);
}
.ytbook-shadow{
  position:absolute;left:-250px;top:168px;width:500px;height:90px;
  background:radial-gradient(ellipse at center,rgba(11,8,9,.65) 0%,rgba(11,8,9,0) 65%);
}
.ytbook-board{
  position:absolute;top:-196px;height:392px;left:-4px;width:228px;
  background:#0b0809;border-radius:8px;
  box-shadow:0 18px 45px rgba(11,8,9,.65),0 0 0 1px rgba(214,215,216,.08);
}
.ytbook-edge{
  position:absolute;top:-189px;width:212px;height:378px;background:#c9c6c0;
  box-shadow:1.5px 1.5px 0 #aaa69f,3px 3px 0 #ccc8c2,4.5px 4.5px 0 #a5a19a;
}
.ytbook-edge--r{left:3px;border-radius:2px 7px 7px 2px}
.ytbook-edge--l{
  left:-215px;border-radius:7px 2px 2px 7px;opacity:0;
  box-shadow:-1.5px 1.5px 0 #aaa69f,-3px 3px 0 #ccc8c2,-4.5px 4.5px 0 #a5a19a;
}
.ytbook-pageR,.ytbook-sheet,.ytbook-cast{
  position:absolute;left:0;top:-192px;width:216px;height:384px;
}
.ytbook-pageR{z-index:10}
.ytbook-cast{
  z-index:90;opacity:0;border-radius:2px 8px 8px 2px;
  background:linear-gradient(90deg,rgba(11,8,9,.55) 0%,rgba(11,8,9,0) 70%);
}
.ytbook-sheet{transform-style:preserve-3d;transform-origin:left center}
.ytbook-sheet[data-sheet="1"]{z-index:59}
.ytbook-sheet[data-sheet="2"]{z-index:58}
.ytbook-sheet[data-sheet="3"]{z-index:57}
.ytbook-sheet[data-sheet="4"]{z-index:56}
.ytbook-sheet[data-sheet="5"]{z-index:55}
.ytbook-sheet[data-sheet="6"]{z-index:54}
/* couverture = EXACTEMENT la taille des pages : chaque page recouvre parfaitement la précédente */
.ytbook-cover{z-index:300}
.ytbook-face{
  position:absolute;inset:0;backface-visibility:hidden;
  overflow:hidden;border-radius:2px 8px 8px 2px;background:#1a2835;
}
.ytbook-face--back{transform:rotateY(180deg);border-radius:8px 2px 2px 8px}
.ytbook-face video{width:100%;height:100%;object-fit:cover;display:block}
.ytbook-face--front::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(11,8,9,.3) 0%,rgba(11,8,9,0) 8%);
}
.ytbook-face--back::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(-90deg,rgba(11,8,9,.3) 0%,rgba(11,8,9,0) 8%);
}
.ytbook-cover .ytbook-face{background:var(--grad-blue)}
.ytbook-shade{position:absolute;inset:0;background:#0b0809;opacity:0;pointer-events:none}
.ytbook-cover-art{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:26px;
  border:1px solid rgba(214,215,216,.16);border-radius:inherit;
  text-align:center;padding:26px 16px;
}
.ytbook-cover-art img{width:96px;height:auto}
.ytbook-cover-list{
  display:flex;flex-direction:column;gap:18px;
  font-family:'Barlow',sans-serif;font-weight:800;font-style:italic;
  text-transform:uppercase;letter-spacing:-0.005em;line-height:1.22;
  font-size:15.5px;color:#ffffff;
}
.hero-visual--book .hero-visual-tag{
  left:50%;transform:translateX(-50%);bottom:0;white-space:nowrap;
}
@media (max-width:1000px){
  .hero-visual--book{max-width:464px;margin-inline:auto;width:100%;margin-top:0}
}

/* ytbook v2 : colonne droite élargie (livre plus grand), pas de lien — effet tactile au survol/clic */
.hero-inner--ytbook{grid-template-columns:1fr 1fr}
@media (max-width:1000px){.hero-inner--ytbook{grid-template-columns:1fr}}
.ytbook-link{cursor:default;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.ytbook-link:hover{transform:translateY(-8px)}
.ytbook-link:active{transform:translateY(-3px) scale(.992);transition-duration:.15s}

/* ============== INSTAGRAM — publication mise en avant (projecteur) ==============
   Section sombre = projecteur sur la carte Instagram blanche. Aucun or ajouté
   (règle des 3 zones de jaune respectée) : accents en blanc / offwhite uniquement. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.ig-feature{overflow:hidden}                       /* contient le halo, zéro débordement horizontal */
.ig-feature .section-head{margin-bottom:22px}      /* eyebrow seul → on resserre vers la carte */
.ig-eyebrow{justify-content:center;gap:10px;color:var(--offwhite)}
.ig-eyebrow::before{display:none}                  /* trait par défaut remplacé par le picto Instagram */
.ig-eyebrow .ig-glyph{width:17px;height:17px;flex-shrink:0}

/* conteneur en bloc (largeur déterministe dès le 1er layout) + centré ;
   PAS de transform/reveal ici → embed.js mesure la bonne largeur (évite le repli min-width 326). */
.ig-stage{position:relative;max-width:588px;margin:0 auto;text-align:center}
.ig-stage::before{                                  /* halo « projecteur » derrière la carte */
  content:"";position:absolute;z-index:0;pointer-events:none;
  top:-14%;left:50%;transform:translateX(-50%);
  width:135%;height:96%;
  background:radial-gradient(ellipse at center,rgba(214,215,216,0.34) 0%,rgba(214,215,216,0) 80%);
  filter:blur(20px);
}
.ig-embed-frame{
  position:relative;z-index:1;display:block;width:100%;
  padding:clamp(12px,2.2vw,22px);
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(214,215,216,0.16);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-card-lg);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
.ig-embed-frame .instagram-media{                   /* carte injectée par embed.js */
  margin:0 auto !important;
  box-shadow:0 22px 55px -26px rgba(11,8,9,0.6) !important;
}
.ig-fallback{                                       /* affiché seulement si embed.js ne charge pas */
  display:inline-flex;align-items:center;gap:8px;
  padding:18px 24px;border-radius:var(--r);
  background:#fff;color:var(--navy);
  font-family:'Jura',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:0.08em;font-size:13px;
}

/* mobile étroit : l'iframe Instagram impose un min-width:326px incompressible →
   on élargit la zone utile (wrap + cadre resserrés) pour la loger sans rognage. */
@media (max-width:560px){
  .ig-feature .wrap{padding-left:8px;padding-right:8px}
  .ig-embed-frame{padding:6px;border-width:0}
}
