:root{
  --ciel:#2FA8DE; --ciel-fonce:#1D7FB0; --ciel-pale:#EAF6FD; --ciel-pale2:#DCF0FB;
  --accent:#F4320B; --accent-fonce:#C6260A;
  --marine:#0F2A3D; --marine-2:#153A54;
  --blanc:#FFFFFF; --encre:#16202B; --encre-douce:#5B6B7A; --ligne:rgba(22,32,43,.10);
  --r-xl:28px; --r-lg:18px; --r-md:12px; --r-pill:999px;
  --f-titre:"Outfit","Work Sans",sans-serif; --f-texte:"Work Sans",sans-serif;
  --tr:.3s cubic-bezier(.22,.68,.35,1); --ombre:0 20px 46px -18px rgba(22,32,43,.25);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;font-size:18px;-webkit-text-size-adjust:100%;}
html,body{max-width:100%;overflow-x:hidden;}
body{font-family:var(--f-texte);color:var(--encre-douce);background:#fff;line-height:1.75;font-size:1.08rem;overflow-wrap:break-word;word-break:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
h1,h2,h3,h4{font-family:var(--f-titre);color:var(--encre);line-height:1.18;letter-spacing:-.01em;overflow-wrap:break-word;}
h1{font-size:clamp(1.9rem,4.6vw,3.4rem);} h2{font-size:clamp(1.45rem,3.2vw,2.3rem);} h3{font-size:1.25rem;}
a{text-decoration:none;color:inherit;} img,svg{max-width:100%;display:block;}
table{max-width:100%;}
::selection{background:var(--accent);color:#fff;}
.env{width:min(1200px,92%);margin-inline:auto;max-width:100%;}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation:none!important;transition:none!important;}}
@media (max-width:400px){
  html{font-size:16px;}
  .env{width:95%;}
}
@media (max-width:340px){
  html{font-size:14.5px;}
  .bouton{padding:.8em 1.3em;font-size:.92rem;}
}

.bouton{display:inline-flex;align-items:center;gap:.55em;justify-content:center;font-family:var(--f-titre);font-weight:700;font-size:1rem;padding:.9em 1.7em;border-radius:var(--r-pill);border:2px solid transparent;cursor:pointer;transition:all var(--tr);}
.bouton:active{transform:scale(.97);}
.bouton-principal{background:var(--accent);color:#fff;box-shadow:0 14px 30px -10px rgba(244,50,11,.5);}
.bouton-principal:hover{background:var(--accent-fonce);transform:translateY(-2px);}
.bouton-clair{background:#fff;color:var(--marine);}
.bouton-clair:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(0,0,0,.25);}
.bouton-contour{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;}
.bouton-contour:hover{background:rgba(255,255,255,.12);}

/* ---------- barre utilitaire (haut) ---------- */
.barre-haut{background:var(--marine);color:rgba(255,255,255,.82);font-size:.76rem;}
.barre-haut .env{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;gap:1rem;flex-wrap:wrap;}
@media (max-width:700px){.barre-haut{display:none;}}
.barre-haut .gauche{display:flex;gap:.9rem;align-items:center;flex-wrap:wrap;}
.barre-haut .droite{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;}
.barre-haut a{color:#fff;font-weight:600;white-space:nowrap;}
.barre-haut a:hover{color:var(--ciel-pale2);}
.sep{opacity:.4;}

/* ---------- nav principale + mega-menu ---------- */
/* Header figé : le conteneur #en-tete (barre utilitaire + nav) est fixe
   en haut de l'écran. On utilise position:fixed plutôt que sticky car
   overflow-x:hidden sur html/body (ci-dessus) casse position:sticky
   dans plusieurs navigateurs. L'espace qu'il occupe est compensé par
   un padding-top sur <body>, calculé dynamiquement en JS (voir
   js/inclure.js) puisque sa hauteur change entre desktop et mobile. */
#en-tete{position:fixed;top:0;left:0;right:0;z-index:120;background:#fff;}
.nav-principale{background:#fff;border-bottom:1px solid var(--ligne);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.65rem 0;gap:1.5rem;}
.marque{font-family:var(--f-titre);font-weight:800;font-size:1.1rem;color:var(--encre);}
.marque span{color:var(--accent);}
.menu{display:flex;gap:1.6rem;list-style:none;position:relative;}
.menu > li{position:relative;}
.menu > li > a{font-weight:600;font-size:.94rem;color:var(--encre-douce);padding:.6rem 0;display:inline-block;transition:color var(--tr);}
.menu > li:hover > a, .menu > li > a.courant{color:var(--marine);}
.mega{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
  background:#fff; border:1px solid var(--ligne); border-radius:var(--r-lg); box-shadow:var(--ombre);
  padding:1.6rem; width:640px; max-width:min(640px,88vw); opacity:0; pointer-events:none; transition:opacity var(--tr), transform var(--tr);
  display:grid; grid-template-columns:1fr 1fr; gap:1.6rem;
}
.menu > li:hover .mega{ opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.mega-col p.titre-col{font-family:var(--f-titre);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ciel-fonce);margin-bottom:.8rem;}
.mega-item{display:flex;gap:.8rem;padding:.55rem 0;align-items:flex-start;}
.mega-item .ic{width:34px;height:34px;border-radius:9px;background:var(--ciel-pale);display:grid;place-items:center;flex-shrink:0;}
.mega-item .ic svg{width:18px;height:18px;stroke:var(--ciel-fonce);}
.mega-item h4{font-size:.92rem;margin-bottom:.15rem;}
.mega-item span{font-size:.78rem;color:var(--encre-douce);}
.mega-item:hover h4{color:var(--ciel-fonce);}
.nav-droite{display:flex;align-items:center;gap:1rem;}
.nav-droite .bouton-principal{padding:.65em 1.4em;font-size:.9rem;}
.burger{display:none;width:38px;height:38px;border-radius:10px;border:1.5px solid var(--ligne);background:#fff;cursor:pointer;place-items:center;flex-shrink:0;transition:background var(--tr), border-color var(--tr);}
.burger:active{background:var(--ciel-pale);}
@media (max-width:560px){.burger{width:42px;height:42px;}}
.burger svg{width:20px;height:20px;stroke:var(--encre);}
@media (max-width:980px){ .menu{display:none;} .burger{display:grid;} }
@media (max-width:560px){ .nav-droite .bouton-principal{display:none;} }
.menu-mobile{position:fixed;inset:0 0 auto 0;background:#fff;z-index:130;padding:1.4rem;transform:translateY(-100%);transition:transform .4s cubic-bezier(.22,.68,.35,1);max-height:100vh;overflow-y:auto;box-shadow:0 20px 50px -20px rgba(0,0,0,.3);}
.menu-mobile.ouvert{transform:translateY(0);}
.menu-mobile .ligne-mm{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem;}
.menu-mobile details{border-bottom:1px solid var(--ligne);}
.menu-mobile summary{padding:1rem 0;font-family:var(--f-titre);font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.menu-mobile summary::-webkit-details-marker{display:none;}
.menu-mobile summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--encre-douce);border-bottom:2px solid var(--encre-douce);transform:rotate(45deg);transition:transform .25s ease;flex-shrink:0;}
.menu-mobile details[open] summary::after{transform:rotate(-135deg);}
.menu-mobile details[open] .sous-liste{animation:menuDeplie .22s ease;}
@keyframes menuDeplie{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
.menu-mobile .sous-liste a{display:block;padding:.6rem 0 .6rem 1rem;color:var(--encre-douce);font-size:.92rem;}
.menu-mobile > a{display:block;padding:1rem 0;border-bottom:1px solid var(--ligne);font-family:var(--f-titre);font-weight:700;color:var(--encre);}

/* ---------- heros ---------- */
.heros{position:relative;background:linear-gradient(160deg,var(--marine) 0%, var(--marine-2) 100%);color:#fff;overflow:hidden;padding:3rem 0 3.6rem;}
@media (max-width:700px){.heros{padding:2.2rem 0 2.8rem;}}
.heros-grille{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center;position:relative;z-index:1;}
@media (max-width:900px){.heros-grille{grid-template-columns:1fr;} .heros-image{order:-1; max-width:420px; margin:0 auto;}}
.badge-confiance{display:flex;align-items:center;gap:.6rem;margin-bottom:1.2rem;flex-wrap:wrap;}
.badge-confiance .etoiles{color:var(--accent);font-size:.85rem;letter-spacing:.1em;}
.badge-confiance span{font-size:.86rem;color:rgba(255,255,255,.82);}
.heros h1{color:#fff;max-width:16ch;}
@media (max-width:900px){.heros h1{max-width:none;}}
.heros p.chapo{color:rgba(255,255,255,.82);margin-top:1.1rem;max-width:48ch;font-size:1.06rem;}
.heros-liste{list-style:none;margin-top:1.4rem;display:flex;flex-direction:column;gap:.5rem;}
.heros-liste li{font-size:.96rem;color:rgba(255,255,255,.9);display:flex;gap:.6rem;align-items:baseline;}
.heros-liste li strong{color:#fff;}
.heros-liste li::before{content:"✓";color:var(--accent);font-weight:800;}
.heros-actions{margin-top:1.8rem;display:flex;gap:1rem;flex-wrap:wrap;}
@media (max-width:480px){.heros-actions .bouton{flex:1 1 100%;}}
.heros-image{position:relative;}
.heros-image img{border-radius:var(--r-lg);box-shadow:0 30px 70px -20px rgba(0,0,0,.5);width:100%;object-fit:cover;aspect-ratio:4/4.4;}
.badge-flottant-h{position:absolute;bottom:-16px;left:-16px;background:#fff;border-radius:var(--r-md);padding:.9rem 1.1rem;box-shadow:var(--ombre);display:flex;gap:.7rem;align-items:center;max-width:calc(100% - 1.2rem);}
@media (max-width:480px){.badge-flottant-h{left:50%;transform:translateX(-50%);bottom:-14px;padding:.7rem .9rem;}}
.badge-flottant-h .rond{width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-family:var(--f-titre);flex-shrink:0;}
.badge-flottant-h p{font-size:.76rem;color:var(--encre-douce);}
.badge-flottant-h strong{display:block;font-family:var(--f-titre);color:var(--encre);font-size:.86rem;}

/* raccourcis pilules (remplace la barre de recherche de domaine) */
.raccourcis{background:#fff;box-shadow:0 -1px 0 var(--ligne);position:relative;}
.raccourcis .env{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;padding:1.6rem 0;}
.pilule{font-family:var(--f-titre);font-weight:700;font-size:.9rem;padding:.7em 1.5em;border-radius:var(--r-pill);border:1.5px solid var(--ligne);color:var(--encre-douce);transition:all var(--tr);white-space:nowrap;}
.pilule:hover{border-color:var(--ciel);color:var(--ciel-fonce);background:var(--ciel-pale);}
.pilule:active{transform:scale(.96);background:var(--ciel-pale);}
@media (max-width:600px){
  .raccourcis .env{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:1.2rem 6%;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .raccourcis .env::-webkit-scrollbar{display:none;}
  .raccourcis::after{content:"";position:absolute;top:0;right:0;bottom:0;width:36px;background:linear-gradient(90deg,rgba(255,255,255,0),#fff);pointer-events:none;}
  .pilule{font-size:.82rem;padding:.6em 1.2em;}
}

/* ---------- section generique ---------- */
.section{padding:5.6rem 0;}
@media (max-width:760px){.section{padding:3.6rem 0;}}
.section-pale{background:var(--ciel-pale);}
.tete-section{max-width:680px;margin:0 auto 3rem;text-align:center;}
@media (max-width:760px){.tete-section{margin:0 auto 2.2rem;}}
.etiquette{display:inline-flex;align-items:center;gap:.5em;font-family:var(--f-titre);font-weight:700;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ciel-fonce);background:var(--ciel-pale);padding:.4em 1em;border-radius:var(--r-pill);margin-bottom:1rem;}
.tete-section p{margin-top:.9rem;}
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease, transform .7s ease;}
.rv.in{opacity:1;transform:none;}

/* ---------- onglets style LWS ---------- */
.onglets-barre{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-bottom:2.6rem;position:relative;}
@media (max-width:560px){
  .onglets-barre{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:.4rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .onglets-barre::-webkit-scrollbar{display:none;}
}
.onglet-t{font-family:var(--f-titre);font-weight:700;font-size:.92rem;padding:.7em 1.5em;border-radius:var(--r-pill);border:1.5px solid var(--ligne);background:#fff;color:var(--encre-douce);cursor:pointer;transition:all var(--tr);white-space:nowrap;flex-shrink:0;}
.onglet-t.actif{background:var(--marine);color:#fff;border-color:var(--marine);}
.onglet-t:active{transform:scale(.96);}
.panneau-t{display:none;}
.panneau-t.actif{display:grid;grid-template-columns:1.1fr 1fr;gap:1.6rem;}
@media (max-width:820px){.panneau-t.actif{grid-template-columns:1fr;}}
.carte-grande{background:var(--ciel-pale);border-radius:var(--r-lg);padding:2.2rem;display:flex;flex-direction:column;}
@media (max-width:560px){.carte-grande{padding:1.6rem;}}
.carte-grande .num{font-family:var(--f-titre);font-weight:800;font-size:2.2rem;color:var(--ciel-fonce);}
.carte-grande h3{margin-top:.6rem;}
.carte-grande p{margin-top:.6rem;flex-grow:1;}
.carte-grande a{margin-top:1.2rem;font-family:var(--f-titre);font-weight:700;font-size:.9rem;color:var(--marine);}
.pile-petites{display:flex;flex-direction:column;gap:1.6rem;}
.carte-petite{background:#fff;border:1px solid var(--ligne);border-radius:var(--r-lg);padding:1.6rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
@media (max-width:420px){.carte-petite{padding:1.2rem;}}
.carte-petite h4{font-size:1rem;} .carte-petite p{font-size:.86rem;margin-top:.3rem;}
.carte-petite a.fleche{font-family:var(--f-titre);font-weight:700;font-size:.85rem;color:var(--accent-fonce);white-space:nowrap;}

/* ---------- 3 colonnes ---------- */
.trois-colonnes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
@media (max-width:820px){.trois-colonnes{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.trois-colonnes{grid-template-columns:1fr;}}
.col-avantage{text-align:center;padding:1.8rem 1.5rem;background:#fff;border:1px solid var(--ligne);border-radius:var(--r-lg);box-shadow:0 10px 24px -18px rgba(22,32,43,.16);transition:transform var(--tr), box-shadow var(--tr);}
.col-avantage:hover{transform:translateY(-4px);box-shadow:0 22px 42px -20px rgba(22,32,43,.24);}
@media (max-width:560px){.col-avantage{padding:1.5rem 1.3rem;}}
.col-avantage .ic{width:64px;height:64px;border-radius:50%;background:var(--ciel-pale);display:grid;place-items:center;margin:0 auto 1.2rem;}
.col-avantage .ic svg{width:30px;height:30px;stroke:var(--ciel-fonce);}
.col-avantage h3{margin-bottom:.6rem;}

/* Variante alignée à gauche (sections Formations / Recherche / Prix) :
   remplace les style="text-align:left" inline et recadre l'icône en conséquence. */
.col-avantage.aligne-gauche{text-align:left;}
.col-avantage.aligne-gauche .ic{margin:0 0 1.2rem;}

/* ---------- section Formations : fond couleur ---------- */
#formations{background-color:#E32905;}
#formations .etiquette{background:#fff;color:#E32905;}
#formations .tete-section h2{color:#fff;}

/* ---------- section A propos (mise en avant) ---------- */
.apropos-section{position:relative;}
.apropos-section .env{position:relative;z-index:1;}

/* Ratio de colonnes défini une seule fois ici (1.15fr .85fr) — ne plus le redéfinir
   ailleurs sans @media, sinon ça écrase la règle mobile ci-dessous (bug corrigé). */
.apropos-entete{display:grid;grid-template-columns:1.15fr .85fr;gap:2.6rem;align-items:center;margin-bottom:3.6rem;text-align:left;}
@media (max-width:860px){.apropos-entete{grid-template-columns:1fr;text-align:center;}}
.apropos-texte{order:1;}
.apropos-visuel{order:2;}
.apropos-texte .etiquette{margin-bottom:1rem;}
.apropos-texte h2{margin-bottom:1.1rem;}
.apropos-tags{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem;}
@media (max-width:860px){.apropos-tags{justify-content:center;}}
.tag-comp{font-family:var(--f-titre);font-weight:600;font-size:.8rem;padding:.5em 1.1em;border-radius:var(--r-pill);background:var(--ciel-pale);color:var(--ciel-fonce);border:1px solid var(--ciel-pale2);}

.apropos-badge-carte{position:relative;background:var(--marine);border-radius:var(--r-lg);padding:2.2rem 1.8rem;color:#fff;text-align:center;box-shadow:var(--ombre);border:1px solid var(--marine-2);}
.apropos-badge-suptitre{font-family:var(--f-titre);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:.4rem;}
.apropos-badge-valeur{font-family:var(--f-titre);font-weight:800;font-size:2.8rem;color:var(--ciel);position:relative;}
.apropos-badge-label{font-size:.86rem;color:rgba(255,255,255,.82);margin-top:.5rem;position:relative;}

.apropos-grille-cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.7rem;}
@media (max-width:820px){.apropos-grille-cartes{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.apropos-grille-cartes{grid-template-columns:1fr;}}

.carte-apropos{position:relative;background:#fff;border:1px solid var(--ligne);border-radius:var(--r-lg);padding:2.1rem 1.9rem;text-align:left;box-shadow:0 10px 26px -18px rgba(22,32,43,.18);transition:transform var(--tr), box-shadow var(--tr), border-color var(--tr);overflow:hidden;}
.carte-apropos::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ciel),var(--accent));transform:scaleX(0);transform-origin:left;transition:transform var(--tr);}
.carte-apropos:hover{transform:translateY(-6px);box-shadow:0 26px 50px -22px rgba(22,32,43,.3);border-color:transparent;}
.carte-apropos:hover::before{transform:scaleX(1);}
.carte-apropos:hover .carte-apropos-num{color:var(--ciel-pale2);}
.carte-apropos-num{position:absolute;top:1.3rem;right:1.5rem;font-family:var(--f-titre);font-weight:800;font-size:2.1rem;color:var(--ciel-pale);transition:color var(--tr);}
.carte-apropos-ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;margin-bottom:1.3rem;}
.carte-apropos-ic svg{width:26px;height:26px;stroke:#fff;}
.carte-apropos-ic.ic-bleu{background:var(--ciel-fonce);}
.carte-apropos-ic.ic-marine{background:var(--marine);}
.carte-apropos-ic.ic-accent{background:var(--accent-fonce);}
.carte-apropos h3{margin-bottom:.6rem;font-size:1.15rem;}
.carte-apropos p{font-size:.95rem;}

/* ---------- blocs alternes gauche/droite (cartes "Trois histoires") ---------- */
.bloc-alterne{display:grid;grid-template-columns:1.5fr 1fr;align-items:stretch;width:100%;background:none;box-shadow:none;border:none;border-radius:0;padding:0;margin:0;}
.bloc-alterne.anim-droite{grid-template-columns:1fr 1.5fr;}
@media (max-width:860px){
  .bloc-alterne, .bloc-alterne.anim-droite{grid-template-columns:1fr;}
  .bloc-alterne > div{order:1;padding:1.5rem clamp(.9rem,4.2vw,2.1rem);}
  .bloc-alterne > .histoire-visuel{order:2;}
}
.bloc-alterne > div:not(.histoire-visuel){display:flex;flex-direction:column;justify-content:center;padding:2.24rem clamp(1.05rem,3.5vw,4.2rem);}
.histoire-visuel{position:relative;overflow:hidden;height:100%;}
.histoire-visuel img{display:block;width:100%;height:100%;min-height:154px;max-height:340px;object-fit:cover;object-position:center;transition:transform .5s ease;}
.histoire-visuel:hover img{transform:scale(1.06);}
.histoire-badge{position:absolute;bottom:.8rem;left:.8rem;background:rgba(15,42,61,.85);color:#fff;font-family:var(--f-titre);font-weight:700;font-size:.76rem;padding:.4em 1em;border-radius:var(--r-pill);}
.bloc-alterne h3{font-size:1.25rem;margin-bottom:.9rem;}
.bloc-alterne .bouton{padding:.6em 1.3em;font-size:.88rem;max-width:100%;}
.bloc-alterne > div:not(.histoire-visuel) > .bouton{align-self:flex-start;}
@media (max-width:560px){
  .bloc-alterne h3{font-size:1.1rem;}
  .histoire-visuel img{min-height:126px;max-height:220px;}
}
@media (max-width:400px){.histoire-visuel img{min-height:112px;max-height:180px;}}

/* animations d'apparition alternées gauche/droite au defilement */
.anim-gauche.rv{transform:translateX(-50px);}
.anim-droite.rv{transform:translateX(50px);}
@media (prefers-reduced-motion:reduce){.anim-gauche.rv,.anim-droite.rv{transform:none;}}

/* ---------- chiffres ---------- */
.chiffres-avec-image{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:2.4rem;
  align-items:center;
}
.chiffres-avec-image .tete-section{text-align:left;margin:0 0 2rem;}
.chiffres-avec-image .chiffres-grille{grid-template-columns:repeat(2,1fr);}
.chiffres-image{
  width:100%;
  border-radius:var(--r-lg);
  box-shadow:0 24px 55px -22px rgba(22,32,43,.35);
  aspect-ratio:4/3.4;
  object-fit:cover;
}
@media (max-width:860px){
  .chiffres-avec-image{grid-template-columns:1fr;}
  .chiffres-avec-image .tete-section{text-align:center;}
  .chiffres-image{max-width:420px;margin:0 auto;}
}
@media (max-width:420px){
  .chiffres-avec-image .chiffres-grille{grid-template-columns:1fr;gap:1.2rem;}
}
.chiffres-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;text-align:center;}
@media (max-width:760px){.chiffres-grille{grid-template-columns:1fr 1fr;}}
@media (max-width:420px){.chiffres-grille{grid-template-columns:1fr;gap:.4rem;}}
.chiffre-b{background:#fff;border:1px solid var(--ligne);border-radius:8px;padding:.4rem .3rem;transition:transform var(--tr), box-shadow var(--tr);}
.chiffre-b:hover{transform:translateY(-4px);box-shadow:0 20px 40px -22px rgba(22,32,43,.2);}
.chiffre-b .valeur{font-family:var(--f-titre);font-weight:800;font-size:1rem;color:var(--marine);}
.chiffre-b .valeur .plus{color:var(--accent);}
.chiffre-b .label{font-size:.58rem;margin-top:.1rem;}

/* ---------- support / contact bloc ---------- */
.bloc-contact-inline{display:flex;gap:1.6rem;align-items:center;background:#fff;border:1px solid var(--ligne);border-radius:var(--r-lg);padding:2rem;box-shadow:var(--ombre);flex-wrap:wrap;}
@media (max-width:560px){.bloc-contact-inline{padding:1.4rem;flex-direction:column;text-align:center;justify-content:center;}}
.bloc-contact-inline img{width:110px;height:110px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.bloc-contact-inline .type-contact{display:flex;gap:1.4rem;margin-top:.8rem;flex-wrap:wrap;}
@media (max-width:560px){.bloc-contact-inline .type-contact{justify-content:center;}}
.mini-contact{display:flex;gap:.6rem;align-items:center;font-size:.9rem;}
.mini-contact .rond2{width:34px;height:34px;border-radius:50%;background:var(--ciel-pale);display:grid;place-items:center;flex-shrink:0;}
.mini-contact .rond2 svg{width:16px;height:16px;stroke:var(--ciel-fonce);}

/* ---------- avis / temoignages ---------- */
.avis-tete{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.4rem;margin-bottom:2.2rem;}
@media (max-width:560px){.avis-tete{justify-content:center;text-align:center;}}
.avis-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
@media (max-width:860px){.avis-grille{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.avis-grille{grid-template-columns:1fr;}}
.carte-avis-l{background:#fff;border:1px solid var(--ligne);border-radius:var(--r-lg);padding:1.6rem;opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s ease;}
.carte-avis-l.visible{opacity:1;transform:none;}
.carte-avis-l .etoiles-l{color:var(--accent);letter-spacing:.15em;font-size:.85rem;}
.carte-avis-l p.txt{font-size:.94rem;margin-top:.8rem;font-style:italic;}
.carte-avis-l .qui{margin-top:1rem;font-family:var(--f-titre);font-weight:700;font-size:.86rem;color:var(--encre);}
.carte-avis-l .role{font-size:.78rem;color:var(--encre-douce);font-weight:400;font-family:var(--f-texte);}

/* ---------- etapes collaboration ---------- */
.etapes-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
@media (max-width:820px){.etapes-grille{grid-template-columns:repeat(2,1fr);gap:1.6rem;}}
@media (max-width:560px){.etapes-grille{grid-template-columns:1fr;gap:2rem;}}
.etape-c{text-align:center;padding:1.2rem;}
.etape-c .ic{width:64px;height:64px;border-radius:50%;background:var(--marine);display:grid;place-items:center;margin:0 auto 1.2rem;}
.etape-c .ic svg{width:28px;height:28px;stroke:#fff;}
.etape-c h3{margin-bottom:.6rem;font-size:1.1rem;}

/* ---------- CTA final ---------- */
.cta-finale{background:linear-gradient(135deg,var(--ciel) 0%, var(--ciel-fonce) 100%);border-radius:var(--r-xl);padding:clamp(2.2rem,5vw,3.4rem);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;}
@media (max-width:640px){.cta-finale{flex-direction:column;text-align:center;}}
.cta-finale h2{color:#fff;}
.cta-finale p{color:rgba(255,255,255,.88);margin-top:.6rem;}

/* ---------- pied de page ---------- */
.pied{background:var(--marine);color:rgba(255,255,255,.72);padding:4.5rem 0 1.6rem;}
@media (max-width:760px){.pied{padding:3rem 0 1.4rem;}}
.pied-grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.4rem;}
@media (max-width:860px){.pied-grille{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.pied-grille{grid-template-columns:1fr;gap:2rem;text-align:center;}}
.pied h5{color:#fff;font-family:var(--f-titre);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.1rem;}
.pied ul{list-style:none;display:grid;gap:.6rem;}
.pied a:hover{color:#fff;}
.pied p{font-size:.9rem;}
.pied-bas{margin-top:3rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.82rem;}
@media (max-width:480px){.pied-bas{justify-content:center;text-align:center;}}
.pied-reseaux{display:flex;gap:.6rem;}
@media (max-width:480px){.pied-reseaux{justify-content:center;}}
.pied-reseaux a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;transition:all var(--tr);}
.pied-reseaux a:hover{background:var(--accent);border-color:transparent;}
.pied-reseaux svg{width:16px;height:16px;stroke:#fff;}

.retour-haut{position:fixed;right:1.3rem;bottom:1.3rem;z-index:70;background:var(--accent);color:#fff;font-family:var(--f-titre);font-weight:700;font-size:.8rem;padding:.7em 1.2em;border-radius:var(--r-pill);border:none;cursor:pointer;box-shadow:0 14px 30px -12px rgba(244,50,11,.55);opacity:0;pointer-events:none;transform:translateY(10px);transition:all var(--tr);}
.retour-haut.visible{opacity:1;pointer-events:auto;transform:none;}

/* ================================================================
   AJOUTS — visuel section "À propos", pages internes, SEO/mobile
   ================================================================ */

/* ---------- visuel image + badge flottant (section A propos) ---------- */
.apropos-visuel{position:relative;}
.apropos-image{width:100%;border-radius:var(--r-lg);box-shadow:0 24px 55px -22px rgba(22,32,43,.35);aspect-ratio:4/3.1;object-fit:cover;}
.apropos-badge-carte{position:absolute;bottom:-22px;left:-22px;max-width:calc(100% - 1.4rem);padding:1.6rem 1.6rem;}
@media (max-width:860px){
  .apropos-visuel{max-width:420px;margin:0 auto;}
  .apropos-badge-carte{left:50%;transform:translateX(-50%);bottom:-18px;}
}
@media (max-width:420px){
  .apropos-badge-carte{padding:1.2rem 1.3rem;border-radius:var(--r-md);}
  .apropos-badge-valeur{font-size:2.2rem;}
  .apropos-badge-label{font-size:.8rem;}
}

/* ---------- fil d'ariane (breadcrumb) ---------- */
.fil-ariane{font-size:.86rem;color:rgba(255,255,255,.75);display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;}
.fil-ariane a{color:#fff;font-weight:600;}
.fil-ariane a:hover{color:var(--ciel-pale2);}
.fil-ariane .sep-fil{opacity:.5;}
.fil-ariane .courant{color:rgba(255,255,255,.6);}

/* ---------- entete de page interne (hero secondaire) ---------- */
.hero-page{position:relative;background:linear-gradient(160deg,var(--marine) 0%, var(--marine-2) 100%);color:#fff;padding:2.6rem 0 3.2rem;}
.hero-page .env{position:relative;z-index:1;}
.hero-page h1{color:#fff;margin-top:.9rem;max-width:24ch;}
.hero-page p.chapo-page{color:rgba(255,255,255,.82);margin-top:.9rem;max-width:56ch;font-size:1.02rem;}
@media (max-width:700px){.hero-page{padding:2rem 0 2.4rem;}}

/* variante hero avec photo de fond (page Prix) */
.hero-prix{
  background-image:linear-gradient(160deg, rgba(15,42,61,.92) 0%, rgba(21,58,84,.86) 100%), url('../guiblio.jpeg');
  background-size:cover;
  background-position:center 30%;
  padding:3.6rem 0 4.2rem;
}
@media (max-width:700px){.hero-prix{padding:2.4rem 0 3rem;}}

/* ---------- lien retour ---------- */
.lien-retour{display:inline-flex;align-items:center;gap:.5em;font-family:var(--f-titre);font-weight:700;font-size:.92rem;color:var(--marine);margin-bottom:2rem;}
.lien-retour:hover{color:var(--accent-fonce);}

/* ---------- cartes projet (page projets) ---------- */
.grille-projets{display:flex;flex-direction:column;gap:0;}
.carte-projet{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:3.6rem 0;border-bottom:1px solid var(--ligne);scroll-margin-top:110px;}
.carte-projet:last-child{border-bottom:none;}
.carte-projet:nth-child(even){direction:rtl;}
.carte-projet:nth-child(even) > *{direction:ltr;}
@media (max-width:860px){.carte-projet{grid-template-columns:1fr;gap:1.8rem;padding:2.4rem 0;} .carte-projet:nth-child(even){direction:ltr;}}
.carte-projet img{border-radius:var(--r-lg);box-shadow:0 20px 50px -22px rgba(22,32,43,.35);width:100%;object-fit:cover;aspect-ratio:5/4;}
.carte-projet h2{font-size:1.6rem;margin-bottom:.9rem;}
@media (max-width:560px){.carte-projet h2{font-size:1.3rem;}}
.carte-projet .meta-projet{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.3rem;}

/* ---------- timeline (formations / conferences / prix) ---------- */
.timeline{position:relative;max-width:820px;margin:0 auto;padding-left:2.2rem;border-left:2px solid var(--ligne);}
@media (max-width:560px){.timeline{padding-left:1.6rem;}}
.timeline-item{position:relative;padding-bottom:2.6rem;scroll-margin-top:110px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{content:"";position:absolute;left:-2.5rem;top:.3rem;width:16px;height:16px;border-radius:50%;background:var(--ciel);border:3px solid #fff;box-shadow:0 0 0 2px var(--ciel);}
@media (max-width:560px){.timeline-item::before{left:-1.9rem;width:12px;height:12px;}}
.timeline-item .etiquette{margin-bottom:.6rem;}
.timeline-item h3{font-size:1.15rem;margin-bottom:.4rem;}
.timeline-item p{font-size:.96rem;}

/* ---------- carte article scientifique ---------- */
.carte-article{background:#fff;border:1px solid var(--ligne);border-radius:var(--r-lg);padding:2.4rem;box-shadow:var(--ombre);scroll-margin-top:110px;}
@media (max-width:560px){.carte-article{padding:1.6rem;}}
.carte-article .meta-article{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.carte-article h2{font-size:1.5rem;margin-bottom:1rem;}
@media (max-width:560px){.carte-article h2{font-size:1.2rem;}}
.carte-article .mots-cles{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem;}

/* ---------- carte prix vedette (page Prix) ---------- */
.carte-prix-vedette{display:flex;gap:1.8rem;align-items:flex-start;background:#fff;border:1px solid var(--ligne);border-radius:var(--r-lg);padding:2.4rem;box-shadow:var(--ombre);scroll-margin-top:110px;}
@media (max-width:640px){.carte-prix-vedette{flex-direction:column;padding:1.6rem;gap:1.2rem;}}
.carte-prix-icone{width:60px;height:60px;border-radius:14px;background:var(--marine);display:grid;place-items:center;flex-shrink:0;}
.carte-prix-icone svg{width:30px;height:30px;stroke:#fff;}
.carte-prix-vedette h2{font-size:1.5rem;margin:.8rem 0 1rem;}
@media (max-width:560px){.carte-prix-vedette h2{font-size:1.2rem;}}
.carte-prix-vedette .meta-article{display:flex;gap:.6rem;flex-wrap:wrap;}

/* ---------- etiquette avec icone (titres de section) ---------- */
.etiquette-icone{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ciel-pale);margin:0 auto .8rem;}
.etiquette-icone svg{width:20px;height:20px;stroke:var(--ciel-fonce);}

/* ---------- pages internes : ajustements mobiles complementaires ---------- */
@media (max-width:480px){
  .hero-page h1{font-size:clamp(1.5rem,7vw,2rem);}
  .fil-ariane{font-size:.78rem;}
}

/* ---------- éléments masqués sur mobile (demande explicite) ---------- */
@media (max-width:700px){
  .masque-mobile{display:none;}
  .pied-col-masquable{display:none;}
  .apropos-section{display:none;}
}

/* ================================================================
   PAGE GUIBLIO.COM — hero dédié, pastilles, étapes x4, animations
   ================================================================ */

.accent-ciel{color:var(--ciel);}

.hero-guiblio{padding:3.4rem 0 3.8rem;}
@media (max-width:700px){.hero-guiblio{padding:2.2rem 0 2.8rem;}}
.hero-guiblio__eyebrow{display:inline-flex;align-items:center;gap:.5em;background:rgba(47,168,222,.16);color:var(--ciel);font-family:var(--f-titre);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.5em 1.1em;border-radius:var(--r-pill);border:1px solid rgba(47,168,222,.4);margin-bottom:1.1rem;}
.hero-guiblio__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.6rem;}
@media (max-width:480px){.hero-guiblio__actions .bouton{flex:1 1 100%;}}
.hero-guiblio__badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem;}
.pastille-claire{display:inline-flex;align-items:center;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.85);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:.45em 1em;border-radius:var(--r-pill);}
.hero-guiblio__pilules{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;}

/* grille à 4 etapes (page Guiblio) */
.etapes-grille-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
@media (max-width:900px){.etapes-grille-4{grid-template-columns:repeat(2,1fr);gap:1.8rem;}}
@media (max-width:480px){.etapes-grille-4{grid-template-columns:1fr;}}

/* animations d'entree du hero (au chargement, pas au defilement) */
@keyframes entreeDouce{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.anim-entree{opacity:0;animation:entreeDouce .7s ease forwards;}
.anim-d1{animation-delay:.05s;}
.anim-d2{animation-delay:.15s;}
.anim-d3{animation-delay:.28s;}
.anim-d4{animation-delay:.4s;}
@media (prefers-reduced-motion:reduce){.anim-entree{opacity:1;animation:none;}}

/* ================================================================
   NOUVELLE PAGE D'ACCUEIL — bandeau de chiffres + carte sombre
   ================================================================ */

.hero-accueil-v2{padding-bottom:0;}
.hero-stats-bande{border-top:1px solid rgba(255,255,255,.14);margin-top:2.2rem;}
.hero-stats-bande__grille{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem 1rem;padding:1.6rem 0;}
@media (max-width:700px){.hero-stats-bande__grille{grid-template-columns:repeat(2,1fr);}}
.hero-stat{text-align:center;}
.hero-stat__val{font-family:var(--f-titre);font-weight:800;font-size:clamp(1.4rem,3.4vw,2rem);color:#fff;}
.hero-stat__lab{margin-top:.25rem;font-size:.78rem;color:rgba(255,255,255,.65);}

.carte-sombre{background:var(--marine);border:1px solid var(--marine-2);border-radius:var(--r-lg);padding:2.1rem 1.9rem;color:#fff;}
.carte-sombre__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:1.1rem;}
.carte-sombre__liste{list-style:none;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.4rem;}
.carte-sombre__liste li{display:flex;gap:.9rem;align-items:flex-start;}
.carte-sombre__num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;font-family:var(--f-titre);font-weight:700;font-size:.8rem;}
.carte-sombre__liste strong{display:block;font-family:var(--f-titre);font-weight:700;font-size:.95rem;margin-bottom:.15rem;}
.carte-sombre__liste span{font-size:.85rem;color:rgba(255,255,255,.72);}
.carte-sombre__chip{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:.5rem 1rem;font-size:.82rem;font-weight:600;}

/* ================================================================
   SECTION PROJETS (nouvel accueil) — colonnes pleine largeur, uniformes
   ================================================================ */
.projets-pleine-largeur{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  max-width:1200px;
  margin:.5rem auto 0;
  padding:20px;
  box-sizing:border-box;
}
.projet-colonne{
  min-width:0;
  padding:2.8rem clamp(1.5rem,4vw,3rem);
  border-left:1px solid var(--ligne);
  text-align:left;
}
.projet-colonne:first-child{border-left:none;}
.projet-colonne h3{font-size:1.2rem;margin:1.1rem 0 .7rem;}
.projet-colonne p{font-size:.96rem;max-width:42ch;}
.projet-ic{width:46px;height:46px;border-radius:12px;background:var(--marine);display:grid;place-items:center;}
.projet-ic svg{width:22px;height:22px;stroke:#fff;}
.projet-lien{display:inline-block;margin-top:1.1rem;font-family:var(--f-titre);font-weight:700;font-size:.9rem;color:var(--marine);border-bottom:1.5px solid transparent;transition:border-color var(--tr), color var(--tr);}
.projet-lien:hover{color:var(--ciel-fonce);border-color:var(--ciel-fonce);}

@media (max-width:860px){
  .projets-pleine-largeur{grid-template-columns:minmax(0,1fr);}
  .projet-colonne{border-left:none;border-top:1px solid var(--ligne);text-align:center;}
  .projet-colonne:first-child{border-top:none;}
  .projet-ic{margin:0 auto;}
  .projet-colonne p{margin-inline:auto;}
}