





@font-face {
  font-family:'Remplacant-J';
  src:url(../../assets-marque/fonts/PlayfairDisplay-JF-Italic.woff2) format('woff2');
  font-weight:700; font-style:italic; font-display:swap;
  unicode-range:U+004A, U+006A, U+0046, U+0066, U+FB00-FB04;
}

:root {
  --navy:#000036; --orange:#FF7F26; --orange-deep:#E06A10;
  --cream:#FFF8F4; --white:#FFFFFF; --ink:#22263C; --soft:#6A6E85;
  --line:#ECE6DA; --halo:#FDEEDD; --bleu-clair:#F6F6FF;

  
  
  --l-page:1700px;   
  --l-lecture:100%;   

  --combine:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.2 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1l-2.3 2.2z'/%3E%3C/svg%3E");
}

* { margin:0; padding:0; box-sizing:border-box; }

html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:150px; }

::selection { background:var(--halo); color:var(--navy); }

body {
  font-family:'Outfit',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--cream); color:var(--ink); line-height:1.78;
  
  font-size:clamp(17px, 0.75vw + 13.5px, 24px);   
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;   
  overflow-anchor:none;   
}

.ep-bloc, .carte-rncp, .table-cadre, .access { transition:transform .22s ease, box-shadow .22s ease; }

@media (prefers-reduced-motion: reduce) { .porte-diplome { transition:none; } }

.saut {
  position:absolute; left:-9999px; top:0; background:var(--navy); color:#fff;
  padding:10px 18px; z-index:100; font-weight:600; border-radius:0 0 10px 0;
}

.saut:focus { left:0; }


body:not(.tout-afficher) .haut-lien { display:none; }


.access {
  background:var(--halo); border-radius:28px; padding:28px 32px;
  box-shadow:0 18px 44px rgba(255,127,38,.10);
}


html:not(.js) .burger { display:none !important; }


.sr {   
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}






.qualiopi-entete { display:flex; align-items:center; gap:12px; flex-shrink:0; }

.qualiopi-entete img { height:68px; width:auto; flex-shrink:0; }

.qualiopi-entete p { font-size:10px; line-height:1.5; color:var(--soft); margin:0; max-width:360px; }

.qualiopi-entete strong { color:var(--navy); }

.qualiopi-entete b { display:block; color:var(--navy); font-weight:700; font-size:9.5px; letter-spacing:.04em; }

header {
  position:sticky; top:0; z-index:50;
  background:rgba(251,248,243,.88); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}

header::after {   
  content:""; position:absolute; left:0; bottom:-1px; height:2.5px;
  width:var(--lu, 0%); max-width:100%;
  background:linear-gradient(90deg, var(--orange), var(--orange-deep));
  border-radius:2px; transition:width .15s linear; pointer-events:none;
}


.header-in {
  max-width:var(--l-page); margin:0 auto; padding:10px 28px;   
  display:flex; align-items:center; gap:22px; flex-wrap:wrap;
}

.header-in nav.menu { margin:0 auto; }

.marque { display:flex; align-items:center; gap:11px; text-decoration:none; }

.marque img { height:38px; width:auto; }

.marque span { color:var(--navy); font-weight:700; font-size:16.5px; line-height:1.05; }

.marque span b {
  color:var(--soft); font-weight:600; display:block;
  font-size:10px; letter-spacing:.24em; text-transform:uppercase; margin-top:2px;
}

nav.menu { display:flex; gap:26px; align-items:center; }


nav.menu a:not(.btn) {
  color:var(--navy); text-decoration:none; font-weight:600; font-size:15px;
  padding:6px 2px;
  background:linear-gradient(90deg, var(--orange), var(--orange-deep)) no-repeat left bottom;
  background-size:0% 2px; transition:background-size .28s ease;
}

nav.menu a:not(.btn):hover { background-size:100% 2px; }

.btn {
  display:inline-block; background:var(--orange); color:var(--navy);
  font-weight:700; text-decoration:none; border:none; cursor:pointer;
  padding:11px 24px; border-radius:999px; font-size:15px; font-family:inherit;
  box-shadow:0 6px 18px rgba(246,138,46,.3);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.btn:hover { background:#FF9B45; transform:translateY(-2px); }

.btn-rail { text-align:center; margin-top:8px; padding:12px 16px; font-size:14.5px; }

.tete-cta .btn { padding:14px 28px; font-size:16px; }


.tete-cta .btn, .tete-cta a.tel, .tete-cta a.btn-clair {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding-top:0; padding-bottom:0; line-height:1.2;
}

a.btn-clair {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--white); color:var(--navy); font-weight:700; text-decoration:none;
  padding:11px 22px; border-radius:999px; font-size:15.5px;
  box-shadow:0 8px 22px rgba(0,0,54,.10), 0 2px 6px rgba(0,0,54,.04);
  transition:transform .15s ease, box-shadow .15s ease;
}

a.btn-clair::after {
  content:""; width:8px; height:8px; flex-shrink:0;
  border-top:2.5px solid var(--orange); border-right:2.5px solid var(--orange);
  transform:rotate(45deg); border-radius:1px;
}

a.btn-clair.externe::after { transform:rotate(-45deg); }


a.btn-clair:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,54,.14); }


.burger { display:none; }

.menu-mobile { display:none; }




.deroulant { position:relative; display:flex; align-items:center; }

.d-tete {
  display:inline-flex; align-items:center; gap:8px;
  font:inherit; color:var(--navy); font-weight:600; font-size:15px;
  padding:6px 2px; border:none; cursor:pointer;
  background:linear-gradient(90deg, var(--orange), var(--orange-deep)) no-repeat left bottom;
  background-size:0% 2px; transition:background-size .28s ease;
}

.d-tete:hover, .d-tete[aria-expanded="true"] { background-size:100% 2px; }


.d-tete::after {
  content:""; width:8px; height:8px; flex-shrink:0;
  border-top:2.5px solid var(--orange-deep); border-right:2.5px solid var(--orange-deep);
  border-radius:1px; transform:rotate(135deg); margin-top:-4px;
  transition:transform .18s ease, margin .18s ease;
}

.d-tete[aria-expanded="true"]::after {
  transform:rotate(-45deg); margin-top:4px;
}


.d-tete.tout {
  padding:8px 15px; border-radius:999px;
  background:var(--bleu-clair); box-shadow:0 2px 8px rgba(0,0,54,.06);
  transition:background .18s ease;
}

.d-tete.tout:hover, .d-tete.tout[aria-expanded="true"] { background:var(--halo); }


.d-panneau {
  position:absolute; top:calc(100% + 14px); left:-20px; z-index:60;
  min-width:308px; padding:16px 16px 14px;
  background:var(--white); border-radius:20px;
  box-shadow:0 24px 60px rgba(0,0,54,.16), 0 4px 14px rgba(0,0,54,.06);
  animation:d-descend .18s ease both;
  
  display:flex; align-items:flex-start; gap:6px;
  width:max-content; max-width:min(94vw, 920px);
}
.d-panneau .d-col { min-width:215px; }
.d-panneau .d-col + .d-col { border-left:1px solid var(--line); padding-left:14px; margin-left:8px; }
.d-panneau .d-col .d-titre { margin-top:2px; }

.deroulant:nth-of-type(3) .d-panneau { left:auto; right:-20px; }


.d-tete.loupe { display:inline-flex; align-items:center; justify-content:center; }
.d-tete.loupe svg { width:18px; height:18px; }
.d-tete.loupe::after { display:none; }
.d-panneau.panneau-recherche { display:block; width:340px; min-width:340px; left:auto; right:-20px; }
.panneau-recherche input, .recherche-mobile input {
  width:100%; font:inherit; font-size:15px; padding:10px 14px;
  border:1.5px solid var(--line); border-radius:12px; background:var(--cream);
  color:var(--ink);
}
.panneau-recherche input:focus, .recherche-mobile input:focus {
  outline:2px solid var(--orange); border-color:var(--orange);
}
.resultats-recherche { margin-top:6px; }
.resultats-recherche .aucun { font-size:13.5px; color:var(--soft); padding:8px 10px; margin:0; }
.recherche-mobile { padding:0 0 14px; }

.d-panneau[hidden] { display:none; }


.d-panneau::before {
  content:""; position:absolute; left:0; right:0; top:-16px; height:16px;
}

@keyframes d-descend {
  from { opacity:0; transform:translateY(-7px); }
  to   { opacity:1; transform:none; }
}

.d-panneau a {
  display:block; padding:9px 10px; border-radius:11px;
  color:var(--navy); text-decoration:none; font-weight:700; font-size:15px;
  transition:background .14s ease, color .14s ease;
}

.d-panneau a:hover, .d-panneau a:focus-visible { background:var(--halo); color:var(--orange-deep); }

.d-panneau a small {
  display:block; margin-top:2px;
  font-weight:500; font-size:12.5px; line-height:1.4; color:var(--soft);
}

.d-panneau a:hover small { color:var(--soft); }

.d-titre {
  margin:10px 10px 4px; font-size:11px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--soft);
}

.d-panneau > .d-titre:first-child { margin-top:2px; }


.panneau-tout {
  position:absolute; left:0; right:0; top:100%; z-index:60;
  background:var(--white); border-radius:0 0 26px 26px;
  box-shadow:0 26px 60px rgba(0,0,54,.14);
  animation:d-descend .18s ease both;
  max-height:calc(100vh - 100px); overflow-y:auto;
}

.panneau-tout[hidden] { display:none; }

.tout-grid {
  max-width:1420px; margin:0 auto; padding:28px 28px 32px;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(212px, 1fr)); gap:22px 28px;
}

.tout-grid a {
  display:block; padding:7px 9px; border-radius:10px;
  color:var(--navy); text-decoration:none; font-weight:600; font-size:14.5px;
  transition:background .14s ease, color .14s ease;
}

.tout-grid a:hover, .tout-grid a:focus-visible { background:var(--halo); color:var(--orange-deep); }

.tout-grid .d-titre { margin:0 9px 5px; }




.tete-photo img { width:100%; height:100%; object-fit:cover; }

.tete-photo:hover img { transform:scale(1.045); }


.ariane { font-size:14.5px; color:var(--soft); padding:22px 0 0; }

.ariane a { color:var(--soft); text-decoration:none; }

.ariane a:hover { color:var(--navy); text-decoration:underline; }

.ariane span { color:var(--navy); font-weight:700; }


.bande-tete {
  background:linear-gradient(120deg, #E7E7F7 0%, var(--bleu-clair) 46%, #FFFFFF 100%);
  border-radius:0 0 44px 44px; position:relative;
}

.tete { padding:4px 0 44px; position:relative; }

.tete > * { position:relative; z-index:1; }


.tete-grid { display:grid; grid-template-columns:1.16fr .84fr; gap:48px; align-items:center; }

.tete-photo {
  position:relative; border-radius:28px; overflow:hidden;
  aspect-ratio:4/3.3; max-width:440px; width:100%; justify-self:end;
  background:var(--halo); box-shadow:0 22px 54px rgba(17,21,57,.16);
  margin-bottom:-104px;   
}

.eyebrow {
  display:inline-flex; align-items:flex-start; gap:8px;
  color:var(--orange-deep); font-size:12.5px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px;
}


.eyebrow::before { content:""; width:26px; height:2px; background:var(--orange); border-radius:2px; flex:none; margin-top:9px; }

h1 {
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640; color:var(--navy);
  font-size:clamp(30px,4.6vw,48px); line-height:1.1; letter-spacing:-.012em; max-width:var(--l-lecture);
}

.chapeau { color:var(--soft); font-size:clamp(17px,2vw,26px); max-width:var(--l-lecture); margin:18px 0 26px; }

.chapeau strong { color:var(--ink); }

.tete-cta { display:flex; gap:16px; flex-wrap:wrap; align-items:center; margin-top:24px; }

.tete-cta a.tel { padding:13px 24px 13px 20px; font-size:16px; }

.tete-a .tete { padding-bottom:8px; }

.tete-a .tete-grid { display:block; }

.tete-a h1 { font-size:clamp(34px,6vw,68px); line-height:1.04; max-width:15ch; }

.tete-a .chapeau { max-width:56ch; margin:20px 0 0; }

.tete-a .tete-cta { margin-top:30px; }


.tete-a { position:relative; overflow:hidden; }

.tete-a::before, .tete-a::after {
  content:""; position:absolute; border-radius:50%; pointer-events:none; z-index:0;
}

.tete-a::before {
  width:620px; height:620px; right:-160px; top:-220px;
  background:radial-gradient(circle, rgba(255,127,38,.09) 0%, rgba(255,127,38,0) 68%);
}

.tete-a::after {
  width:520px; height:520px; left:-200px; bottom:-160px;
  background:radial-gradient(circle, rgba(0,0,54,.07) 0%, rgba(0,0,54,0) 68%);
}

.tete-a .wrap { position:relative; z-index:1; }


.griffe-signe { display:block; width:min(340px,62vw); margin:6px 0 2px; }

.js .griffe-signe { clip-path:inset(0 100% 0 0); animation:griffe-tracer 1.15s cubic-bezier(.5,.05,.2,1) .45s forwards; }


.tete-a .grille-diplomes { margin-top:30px; }

.tete-a .porte-diplome.public { padding:20px 22px 18px; border-radius:22px; }

.tete-a .porte-diplome.public h3 { font-size:19px; }

.tete-a .porte-diplome.public p { font-size:14.5px; margin-bottom:12px; }

.tete-a .porte-diplome.public .icone { width:44px; height:44px; margin-bottom:12px; }

.tete-a .porte-diplome.public .icone svg { width:23px; height:23px; }


.tete-haut { display:grid; grid-template-columns:minmax(0,1fr); }

.tete-haut .tete-mot { order:1; }

.tete-haut .chapeau  { order:2; }

.tete-haut .tete-cta { order:3; }


.tete-haut .bandeau-chiffres { order:4; }




.js body:not(.tout-afficher) main section.actif { min-height:calc(100vh - 200px); }

img { max-width:100%; display:block; }

.wrap { max-width:var(--l-page); margin:0 auto; padding:0 24px; }

a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid var(--navy); outline-offset:2px; }

.surligne {   
  background:linear-gradient(transparent 62%, var(--halo) 62%, var(--halo) 94%, transparent 94%) no-repeat left center;
  background-size:0% 100%;
  -webkit-box-decoration-break:clone; box-decoration-break:clone; padding:0 .06em;
  animation:surligner .9s ease .5s forwards;
}


.corps-grid { display:grid; grid-template-columns:minmax(0,1fr) 258px; gap:52px; align-items:start; }

.colonne-lecture { min-width:0; grid-column:1; grid-row:1; }

.som-label {
  flex-shrink:0; font-size:11.5px; font-weight:700; text-decoration:none;
  letter-spacing:.16em; text-transform:uppercase; color:var(--orange) !important;
  padding:15px 12px 11px 0 !important; border-right:1px solid var(--line); margin-right:6px;
}

.som-label.actif { color:var(--orange-deep) !important; }


.haut-lien { max-width:var(--l-lecture); text-align:right; margin:26px 0 0; }

.haut-lien a {
  display:inline-flex; align-items:center; gap:8px;
  color:var(--orange-deep); font-weight:700; font-size:14px; text-decoration:none;
  padding:8px 16px; border-radius:999px; background:var(--white);
  box-shadow:0 8px 20px rgba(0,0,54,.08);
}

.haut-lien a::before {
  content:""; width:8px; height:8px; margin-top:3px;
  border-top:2.5px solid var(--orange-deep); border-right:2.5px solid var(--orange-deep);
  transform:rotate(-45deg); border-radius:1px;
}

.haut-lien a:hover { color:var(--navy); }


.js body:not(.tout-afficher) main section[id]:not(.actif) { display:none; }

.som-tout {
  flex-shrink:0; align-self:center; margin-left:auto; cursor:pointer;
  font-family:inherit; font-size:13px; font-weight:700; color:var(--navy);
  background:var(--white); border:none; border-radius:999px; padding:8px 16px;
  box-shadow:0 8px 20px rgba(0,0,54,.08);
}

.som-tout:hover { color:var(--orange-deep); }

.sommaire a.som-toute { color:var(--navy); }

.tout-afficher .som-tout { background:var(--halo); color:var(--orange-deep); }


section { padding:56px 0 8px; }

section[id] h2::before {
  content:attr(data-num);
  display:block; font-family:'Outfit',sans-serif; font-size:13px; font-weight:700;
  letter-spacing:.16em; color:var(--orange-deep); margin-bottom:8px;
}

section h2 {
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640; color:var(--navy);
  font-size:clamp(25px,3.2vw,34px); line-height:1.15; margin-bottom:18px; max-width:var(--l-lecture);
}

section h3 { color:var(--navy); font-size:19px; margin:28px 0 10px; }

.lecture { max-width:var(--l-lecture); }

.lecture p { margin:0 0 16px; }

.lecture ul { list-style:none; margin:0 0 18px; }

.lecture ul li { position:relative; padding:0 0 10px 30px; }

.lecture ul li::before {
  content:""; position:absolute; left:4px; top:8px; width:9px; height:9px;
  border-top:2.5px solid var(--orange-deep); border-right:2.5px solid var(--orange-deep);
  transform:rotate(45deg); border-radius:1px;
}

.maj { font-size:12.5px; color:var(--soft); margin-top:8px; }

.ep-bloc p.mini { color:var(--soft); font-size:14.5px; margin:0 0 12px; }


.table-cadre {
  overflow-x:auto; border-radius:20px; margin:16px 0 8px;   
  box-shadow:0 14px 34px rgba(0,0,54,.07), 0 2px 6px rgba(0,0,54,.03);
  background:var(--white);
}


@media (max-width:860px) {
  .table-cadre::after {
    content:"Glissez pour voir la suite →";
    display:block; position:sticky; left:0; width:fit-content;
    padding:7px 16px 10px; font-size:13px; opacity:.72;
  }
}

table { border-collapse:collapse; width:100%; min-width:640px; font-size:14.5px; }

caption { text-align:left; padding:16px 20px 6px; font-weight:700; color:var(--navy); font-size:15.5px; }

th {
  text-align:left; padding:12px 16px; color:var(--navy); font-size:13px;
  text-transform:uppercase; letter-spacing:.06em; border-bottom:2px solid var(--halo);
  background:var(--white);
}

td { padding:11px 16px; border-bottom:1px solid #F4EFE6; vertical-align:top; }

tr:last-child td { border-bottom:none; }

td b { color:var(--navy); }


td.fort b { font-size:16px; }

tr.souligne td { background:#FFFBF6; }

.corps-simple { max-width:none; margin:0 auto; }   

.carrefour .lecture, .carrefour .table-cadre, .carrefour .access,
.carrefour .carte-rncp, .carrefour .ep-bloc, .carrefour .parcours { max-width:var(--l-lecture); }


.titre-portes {
  
  margin:38px 0 14px; font-weight:700; color:var(--navy);
  font-family:'Remplacant-J','Fraunces',Georgia,serif;
  font-size:clamp(23px, 2.8vw, 42px); line-height:1.15;
}


.liens-liste { list-style:none; margin:20px 0 0; padding:0; max-width:64ch; }

.liens-liste li {
  position:relative; padding:11px 0 11px 34px; color:var(--soft);
  font-size:16.5px; line-height:1.55; box-shadow:inset 0 -1px 0 rgba(0,0,54,.07);
}

.liens-liste li:last-child { box-shadow:none; }

.liens-liste li b { color:var(--navy); }

.liens-liste li::before {   
  content:""; position:absolute; left:6px; top:19px; width:9px; height:9px;
  border-top:2.5px solid var(--orange); border-right:2.5px solid var(--orange);
  transform:rotate(45deg); border-radius:1px;
}

.bande-histoire .wrap { max-width:var(--l-page); }


section.respire { position:relative; padding-top:56px; padding-bottom:46px; }

section.respire::before {
  content:""; position:absolute; z-index:-1; inset:0 auto 0 50%;
  transform:translateX(-50%); width:100vw;
}

section.respire.blanc::before { background:var(--white); }

section.respire.froid::before { background:var(--bleu-clair); }


.liste-num { list-style:none; counter-reset:etape; margin:2px 0 0; padding:0; }

.liste-num li {
  counter-increment:etape; position:relative; padding:10px 0 10px 36px;
  color:var(--soft); font-size:15px; line-height:1.55;
  box-shadow:inset 0 -1px 0 var(--line);
}

.liste-num li:last-child { box-shadow:none; padding-bottom:2px; }

.liste-num li b { color:var(--navy); }

.liste-num li::before {
  content:counter(etape); position:absolute; left:0; top:10px;
  width:23px; height:23px; border-radius:999px;
  background:var(--halo); color:var(--orange-deep);
  font-size:12.5px; font-weight:700; line-height:1;
  display:flex; align-items:center; justify-content:center;
}




.js .faits .fait { opacity:0; animation:entree-douce .5s ease forwards; }

.js .faits .fait:nth-child(1) { animation-delay:.05s }

.js .faits .fait:nth-child(2) { animation-delay:.12s }

.js .faits .fait:nth-child(3) { animation-delay:.19s }

.js .faits .fait:nth-child(4) { animation-delay:.26s }

.js .faits .fait:nth-child(5) { animation-delay:.33s }

.js .faits .fait:nth-child(6) { animation-delay:.40s }

.ep-bloc:hover, .carte-rncp:hover, .access:hover { transform:translateY(-3px); }

.sommaire a {
  flex-shrink:0; color:var(--soft); text-decoration:none; font-weight:600; font-size:14px;
  padding:13px 14px 11px; border-bottom:2.5px solid transparent; white-space:nowrap;
}

.rail-faits {
  grid-column:2; grid-row:1;   
  position:sticky; top:128px; display:flex; flex-direction:column; gap:10px;
  padding-top:56px;
}

.rail-titre {
  font-size:11.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--orange-deep); margin-bottom:2px;
}

.rail-faits .fait { width:100%; border-radius:16px; padding:11px 15px; display:block; }


.faits { display:flex; flex-wrap:wrap; gap:10px; }

.fait {
  display:inline-flex; align-items:baseline; gap:7px;
  background:var(--white); border-radius:999px; padding:9px 18px;
  font-size:13.5px; color:var(--soft); line-height:1.4;
  box-shadow:0 8px 20px rgba(0,0,54,.07), 0 2px 5px rgba(0,0,54,.04);
  transition:transform .2s ease, box-shadow .2s ease;
}

.fait:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,54,.11), 0 3px 7px rgba(0,0,54,.05); }

.fait b { color:var(--navy); font-size:14px; white-space:nowrap; }



.porte a.tel { display:inline-flex; align-items:center; margin:0;
  color:var(--navy); font-weight:700; text-decoration:none; }


.sommaire {
  position:sticky; top:76px; z-index:40;
  background:rgba(251,248,243,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}

.sommaire-in {
  max-width:var(--l-page); margin:0 auto; padding:0 24px;
  display:flex; gap:2px; flex-wrap:wrap; scrollbar-width:none;
}

.sommaire-in::-webkit-scrollbar { display:none; }

.sommaire a:hover { color:var(--navy); }

.sommaire a.actif { color:var(--navy); border-bottom-color:var(--orange); }


.carte-rncp {
  background:var(--bleu-clair); border-radius:28px; padding:28px 32px; margin:8px 0 10px;
  box-shadow:0 18px 44px rgba(0,0,54,.08); max-width:var(--l-lecture);
}

.carte-rncp dl { display:grid; grid-template-columns:auto 1fr; gap:6px 22px; font-size:15px; }

.carte-rncp dt { color:var(--soft); font-weight:600; }

.carte-rncp dd { color:var(--navy); font-weight:600; }

.carte-rncp a { color:var(--orange-deep); font-weight:700; }


.ep-bloc {
  background:var(--white); border-radius:28px; padding:26px 30px; margin:0 0 16px;
  box-shadow:0 14px 34px rgba(0,0,54,.08), 0 3px 8px rgba(0,0,54,.03); max-width:var(--l-lecture);
}

.ep-bloc .n {
  display:inline-flex; font-size:20px; font-weight:640; color:var(--orange-deep);
  font-family:'Remplacant-J','Fraunces',Georgia,serif;
  background:var(--halo); border-radius:999px; padding:6px 18px; margin-bottom:12px;
  box-shadow:0 8px 20px rgba(255,127,38,.16);
}

.ep-bloc h3 { margin:0 0 8px; }


details.pli {
  background:var(--white); border-radius:16px; margin:0 0 12px; overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,54,.06), 0 2px 6px rgba(0,0,54,.03); max-width:var(--l-lecture);
}

details.pli summary {
  cursor:pointer; padding:16px 20px; font-weight:600; color:var(--navy);
  list-style:none; display:flex; justify-content:space-between; align-items:center; gap:14px;
}

details.pli summary::-webkit-details-marker { display:none; }


details.pli summary::after {
  content:""; width:14px; height:14px; flex-shrink:0; margin-right:6px;
  background:
    linear-gradient(var(--orange-deep),var(--orange-deep)) center / 14px 2.6px no-repeat,
    linear-gradient(var(--orange-deep),var(--orange-deep)) center / 2.6px 14px no-repeat;
  transition:background-size .25s ease;
}

details.pli[open] summary::after {   
  background-size:14px 2.6px, 2.6px 0;
}

details.pli .pli-corps { padding:0 20px 16px; font-size:15px; color:var(--ink); }

details.pli .pli-corps ul { margin-bottom:8px; }


.porte {
  background:var(--bleu-clair); border-radius:44px 44px 44px 24px; padding:38px 40px;
  margin:60px auto 0; text-align:center;
  max-width:700px;
  box-shadow:0 22px 52px rgba(0,0,54,.08);
}

.porte .tete-cta { justify-content:center; }

.porte h2 {
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640; color:var(--navy);
  font-size:clamp(23px,3vw,30px); margin-bottom:8px;
}

.porte p { color:var(--soft); margin-bottom:20px; }

.pied .bloc { max-width:300px; }


.panneau-bref {
  background:var(--white); border-radius:24px; padding:4px 24px 20px;
  box-shadow:0 18px 44px rgba(17,21,57,.09), 0 2px 6px rgba(17,21,57,.04);
  justify-self:end; max-width:440px; width:100%;
}

.bref-titre {
  margin:20px 0 2px; color:var(--orange-deep); font-size:11.5px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
}

.panneau-bref .bandeau-faits {
  flex-direction:column; gap:0; max-width:none; margin-top:0;
}

.panneau-bref .fait {
  width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:1px;
  background:transparent; border-radius:0; padding:12px 0; font-size:14.5px;
  line-height:1.5; box-shadow:inset 0 -1px 0 var(--line);
}

.panneau-bref .fait b { font-size:15.5px; white-space:normal; }

.panneau-bref .fait:hover { transform:none; box-shadow:inset 0 -1px 0 var(--line); }

.bref-source {
  margin:0; padding:14px 0 2px; color:var(--soft); font-size:13.5px; line-height:1.5;
}

.bref-source b { color:var(--navy); }

.parcours { margin:10px 0 6px; max-width:var(--l-lecture); }

.parcours-piste { display:grid; gap:0; position:relative; }

.etape {
  display:grid; grid-template-columns:52px minmax(0,1fr); gap:20px;
  position:relative; padding:0 0 26px;
}

.etape:last-child { padding-bottom:4px; }

.etape-num {
  grid-column:1; width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640; font-size:21px;
  color:var(--orange-deep); background:var(--halo); position:relative; z-index:2;
  box-shadow:0 8px 20px rgba(255,127,38,.18);
}

.etape::before {   
  content:""; position:absolute; left:25px; top:52px; bottom:-4px; width:2.5px;
  background:linear-gradient(var(--halo), #F7D9B6); border-radius:2px;
}

.etape:last-child::before { display:none; }

.etape-corps { grid-column:2; background:var(--white); border-radius:20px; padding:18px 22px;
  box-shadow:0 12px 30px rgba(0,0,54,.07), 0 2px 6px rgba(0,0,54,.03); }

.etape-corps h3 { margin:0 0 6px; font-size:18px; }

.etape-corps p { margin:0 0 8px; font-size:15.5px; color:var(--soft); }

.etape-corps p:last-child { margin-bottom:0; }

.etape-corps strong { color:var(--ink); }

.jalons { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }

.jalon {
  font-size:12.5px; font-weight:700; letter-spacing:.02em;
  padding:5px 13px; border-radius:999px; background:var(--bleu-clair); color:var(--navy);
}

.jalon.delai { background:var(--halo); color:#8A5A1F; }

.jalon.nous  { background:var(--orange); color:var(--navy); box-shadow:0 6px 16px rgba(255,127,38,.28); }

.parcours-note { font-size:14px; color:var(--soft); margin-top:14px; }



.bandeau-faits {
  display:flex; flex-direction:column; align-items:flex-start;
  gap:9px; margin-top:26px; max-width:430px;
}

.bandeau-faits .fait { font-size:14px; width:100%; }

.grille-diplomes {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(288px,1fr));
  gap:20px; margin:8px 0 6px;
}

.porte-diplome {
  display:flex; flex-direction:column; background:var(--white); border-radius:28px;
  padding:26px 28px 22px; text-decoration:none; color:inherit;
  box-shadow:0 16px 40px rgba(0,0,54,.08), 0 3px 8px rgba(0,0,54,.03);
  transition:transform .22s ease, box-shadow .22s ease;
}

.porte-diplome:hover { transform:translateY(-4px); box-shadow:0 26px 58px rgba(0,0,54,.13); }

.porte-diplome .niveau {
  align-self:flex-start; font-size:11.5px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--orange-deep);
  background:var(--halo); border-radius:999px; padding:5px 14px; margin-bottom:14px;
}

.porte-diplome h3 {
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640;
  color:var(--navy); font-size:21px; line-height:1.2; margin:0 0 4px;
}

.porte-diplome .sigle { color:var(--soft); font-size:14px; margin-bottom:12px; }

.porte-diplome p { color:var(--soft); font-size:15px; margin:0 0 16px; }

.porte-diplome .ou { color:var(--ink); font-size:14px; margin-bottom:16px; }

.porte-diplome .ou b { color:var(--navy); }

.porte-diplome .aller {
  margin-top:auto; display:inline-flex; align-items:center; gap:9px;
  color:var(--orange-deep); font-weight:700; font-size:15px;
}

.porte-diplome .aller::after {
  content:""; width:8px; height:8px; flex-shrink:0;
  border-top:2.5px solid var(--orange-deep); border-right:2.5px solid var(--orange-deep);
  transform:rotate(45deg); border-radius:1px; transition:transform .2s ease;
}

.porte-diplome:hover .aller::after { transform:rotate(45deg) translate(2px,-2px); }

.porte-diplome.autre { background:var(--bleu-clair); }

.porte-diplome.autre .niveau { background:var(--white); }


.carrefour section { padding:52px 0 4px; }


.urgent {
  background:var(--orange); color:var(--navy); border-radius:24px;
  padding:22px 28px; max-width:var(--l-lecture); box-shadow:0 18px 44px rgba(255,127,38,.32);
}

.urgent b { display:block; font-size:12px; letter-spacing:.16em;
  text-transform:uppercase; margin-bottom:8px; }

.urgent p b { display:inline; font-size:inherit; letter-spacing:normal;
  text-transform:none; margin:0; color:var(--navy); }

.urgent p { font-size:17px; }

.urgent p + p { margin-top:8px; font-size:15px; }

.urgent a { color:var(--navy); font-weight:700; }

.passe { opacity:.55; }


.porte-diplome.public { background:var(--bleu-clair); }


.porte-diplome.public .icone {
  width:52px; height:52px; margin-bottom:16px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  border-radius:16px; background:var(--white);
  box-shadow:0 8px 20px rgba(0,0,54,.08);
}

.porte-diplome.public .niveau {
  align-self:auto; background:none; border-radius:0; padding:0;
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640;
  font-size:clamp(25px,2.4vw,32px); line-height:1.1; letter-spacing:-.015em;
  text-transform:none; color:var(--navy); margin-bottom:10px;
}


.porte-diplome.public h3 {
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); margin:-1px; padding:0; border:0;
}


.grille-infos {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr));
  gap:20px; margin:8px 0 6px;
}

.bloc-info {
  background:var(--white); border-radius:24px; padding:24px 26px;
  box-shadow:0 14px 34px rgba(0,0,54,.07), 0 2px 6px rgba(0,0,54,.03);
}

.bloc-info h3 { margin:0 0 8px; font-size:18px; }

.bloc-info p { font-size:15px; color:var(--soft); margin:0 0 8px; }

.bloc-info p:last-child { margin-bottom:0; }

.bloc-info b { color:var(--navy); }

.bloc-info a { color:var(--orange-deep); font-weight:700; }

.bloc-info dl { display:grid; grid-template-columns:auto 1fr; gap:4px 16px; font-size:14.5px; }

.bloc-info dt { color:var(--soft); }

.bloc-info dd { color:var(--navy); font-weight:600; }


.grille-temoins {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
  gap:20px; margin:8px 0 6px;
}

.temoin {
  display:flex; flex-direction:column; background:var(--white); border-radius:26px;
  padding:24px 26px 20px;
  box-shadow:0 16px 40px rgba(0,0,54,.08), 0 3px 8px rgba(0,0,54,.03);
}

.temoin::before {   
  content:"«"; display:block; font-family:'Remplacant-J','Fraunces',Georgia,serif;
  font-size:38px; line-height:.7; color:var(--orange-deep); margin-bottom:10px;
}

.temoin blockquote { margin:0; font-size:15.5px; line-height:1.6; color:var(--ink); }

.temoin blockquote p { margin:0 0 10px; }

.temoin blockquote p:last-child { margin-bottom:0; }

.temoin figcaption {
  margin-top:auto; padding-top:16px; font-size:14px; color:var(--soft); line-height:1.45;
}

.temoin figcaption b { display:block; color:var(--navy); font-size:15.5px; }

.temoin figcaption span { color:var(--orange-deep); font-weight:700; }


.bandeau-chiffres { border-top:1px solid rgba(0,0,54,.09); margin-top:40px; position:relative; z-index:1; }

.chiffres-in { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }

.chiffre { padding:22px 26px 26px 0; }

.chiffre + .chiffre { padding-left:26px; box-shadow:inset 1px 0 0 rgba(0,0,54,.09); }

.chiffre b {
  display:block; font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640;
  font-size:clamp(24px,3vw,36px); line-height:1.05; color:var(--orange-deep); letter-spacing:-.015em;
}

.chiffre span { display:block; margin-top:8px; font-size:13.5px; line-height:1.45; color:var(--soft); }

.porte-diplome.public .icone svg { width:27px; height:27px; }

.porte-diplome.public .icone svg * { stroke:var(--orange-deep); }

.porte-diplome.public:hover .icone { background:var(--halo); }


.bande-histoire {
  background:linear-gradient(135deg, var(--halo) 0%, #FFF4E6 55%, var(--cream) 100%);
  border-radius:44px; padding:8px 0 44px; margin:56px 0 0;
}


.piliers { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; margin-top:26px; }
@media (max-width:640px) { .piliers { grid-template-columns:1fr; } }

.pilier { background:var(--white); border-radius:22px; padding:22px 24px;
  box-shadow:0 12px 30px rgba(0,0,54,.07), 0 2px 6px rgba(0,0,54,.03); }

.pilier h3 { margin:0 0 6px; font-size:17.5px; }

.pilier p { margin:0; font-size:14.5px; color:var(--soft); line-height:1.55; }

.pilier b { color:var(--navy); }


.devise {
  margin-top:18px; padding:26px 28px; border-radius:22px; background:var(--lavande, #F6F6FF);
  box-shadow:0 12px 30px rgba(0,0,54,.07), 0 2px 6px rgba(0,0,54,.03);
}

.devise blockquote { margin:0; font-size:16.5px; line-height:1.6; color:var(--ink); }

.devise .mot {
  display:block; margin-top:14px; font-family:'Remplacant-J','Fraunces',Georgia,serif;
  font-weight:640; font-size:clamp(21px,2.6vw,28px); color:var(--navy); line-height:1.2;
}

.devise figcaption { margin-top:12px; font-size:13.5px; color:var(--soft); }


a.chiffre { text-decoration:none; display:block; transition:background .18s ease; }

a.chiffre:hover { background:rgba(255,127,38,.06); }


a.chiffre:hover b { color:var(--navy); }


.declaration { position:relative; padding:62px 0; text-align:center; }

.declaration::before {
  content:""; position:absolute; z-index:-1; inset:0 auto 0 50%;
  transform:translateX(-50%); width:100vw;
  background:linear-gradient(120deg, #E7E7F7 0%, var(--bleu-clair) 55%, #FFFFFF 100%);
}

.declaration p {
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640; color:var(--navy);
  font-size:clamp(26px,4.2vw,46px); line-height:1.14; letter-spacing:-.012em;
  max-width:19ch; margin:0 auto;
}

.declaration .sous {
  font-family:'Outfit',sans-serif; font-weight:400; color:var(--soft);
  font-size:clamp(15px,1.8vw,17.5px); line-height:1.55; letter-spacing:0;
  max-width:52ch; margin:18px auto 0;
}


.porte-diplome .vignette {
  display:block; width:calc(100% + 56px); height:158px; object-fit:cover;
  margin:-26px -28px 18px; border-radius:28px 28px 0 0;
  transition:transform .5s ease;
}

.porte-diplome:hover .vignette { transform:scale(1.04); }




.badge-flottant {
  position:absolute; right:18px; bottom:18px; z-index:2;
  background:var(--white); border-radius:14px;
  padding:11px 15px; font-size:13px; box-shadow:0 10px 30px rgba(17,21,57,.18);
}

.badge-flottant b { display:block; color:var(--navy); font-size:14.5px; }


a.tel {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--white); color:var(--navy); font-weight:700; text-decoration:none;
  padding:11px 22px 11px 18px; border-radius:999px; font-size:15.5px;
  box-shadow:0 8px 22px rgba(0,0,54,.10), 0 2px 6px rgba(0,0,54,.04);
  transition:transform .15s ease, box-shadow .15s ease;
}

a.tel::before {   
  content:""; width:16px; height:16px; flex-shrink:0;
  background:var(--orange-deep);
  -webkit-mask:var(--combine) center/contain no-repeat;
          mask:var(--combine) center/contain no-repeat;
}

a.tel:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,54,.14); }

.remonte { text-decoration:none; }

.remonte.visible { opacity:1; transform:none; pointer-events:auto; }

.remonte::before {   
  content:""; width:10px; height:10px; margin-top:4px; flex-shrink:0;
  border-top:3px solid var(--orange); border-right:3px solid var(--orange);
  transform:rotate(-45deg); border-radius:2px;
}

.remonte:hover { box-shadow:0 20px 44px rgba(0,0,54,.34); transform:translateY(-2px); }

.remonte.vers-bas::before { transform:rotate(135deg); margin-top:-2px; }

.remonte.vers-page::before { transform:rotate(45deg); margin-top:0; }


.remonte.appel {
  background:var(--orange); color:var(--navy);
  opacity:1; transform:none; pointer-events:auto;
  box-shadow:0 16px 38px rgba(246,138,46,.34), 0 3px 8px rgba(0,0,54,.12);
}

.remonte.appel::before {
  border:none; border-radius:0; margin:0; width:17px; height:17px; transform:none;
  background:var(--navy);
  -webkit-mask:var(--combine) center/contain no-repeat;
          mask:var(--combine) center/contain no-repeat;
}

.remonte.appel:hover { box-shadow:0 20px 44px rgba(246,138,46,.4); }




.pied { border-top:1px solid var(--line); background:var(--white); font-size:14px; color:var(--soft); padding:40px 0; margin-top:64px; }


.pied-grid { display:grid; grid-template-columns:1.15fr .95fr .95fr 1fr 1fr; gap:28px; align-items:start; }
@media (max-width:1100px) { .pied-grid { grid-template-columns:1fr 1fr; } }

@media (max-width:640px) {
  .pied { padding:26px 0; margin-top:44px; }
  .pied-grid { grid-template-columns:1fr 1fr; gap:16px 20px; }
  .pied .bloc.pied-identite, .pied .bloc.pied-certification { grid-column:1 / -1; }
  .pied .pied-tete { font-size:16px; margin:0 0 8px; }
  .pied .pied-liens a { padding:3px 0; }
  .pied .pied-coordonnees { margin:8px 0 4px; }
  .pied img.logo { height:44px; }
  .pied img.qualiopi { height:44px; }
  .pied .pied-identite, .pied .pied-certification, .pied .pied-petit, .pied .bloc { max-width:none; }
}

.pied b { color:var(--navy); }

.pied a { color:var(--navy); }


.pied .pied-tete {
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640;
  font-size:19px; color:var(--navy); margin:0 0 14px;
}
.pied .pied-liens a {
  display:block; text-decoration:none; padding:5px 0; color:var(--ink);
}
.pied .pied-liens a:hover { color:var(--orange-deep); }
.pied .pied-coordonnees { margin:12px 0 22px; }
.pied .pied-petit { font-size:11.5px; margin-top:10px; max-width:260px; }
.pied .pied-identite { max-width:260px; }
.pied .pied-certification { max-width:230px; }
.pied img.logo { height:54px; }

.pied img.qualiopi { height:54px; }





@keyframes entree-douce { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }


.js .reveal { opacity:0; transform:translateY(14px); transition:opacity .55s ease, transform .55s ease; }

.js .reveal.vu { opacity:1; transform:none; }

@keyframes surligner { to { background-size:100% 100%; } }

@keyframes griffe-tracer { to { clip-path:inset(0 0 0 0); } }




.access a { color:var(--orange-deep); font-weight:700; }


.attente { display:none !important; }

.attente {
  background:#FFF6EA; border-radius:24px; padding:24px 28px; max-width:var(--l-lecture);
  box-shadow:0 14px 34px rgba(0,0,54,.07); color:#8A5A1F;
}

.attente b { display:block; color:#8A5A1F; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; margin-bottom:10px; }

.attente ul { list-style:none; margin:0; }

.attente li { position:relative; padding:0 0 8px 22px; font-size:15px; }

.attente li::before { content:"·"; position:absolute; left:6px; font-weight:900; }







@media (max-width:1660px) { .qualiopi-entete { display:none; } }


@media (max-width:1180px) {

  
  header { position:sticky; top:0; }
  html { scroll-padding-top:70px; }

  
  header .header-in nav.menu { display:none; }

  .burger {
    display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; margin:0 0 0 auto; padding:0;
    background:none; border:none; cursor:pointer; color:var(--navy);
    -webkit-tap-highlight-color:transparent;
  }
  .header-in nav.menu { margin:0 0 0 4px; }

  
  .header-in { flex-wrap:nowrap; }
  .marque { min-width:0; }
  .marque span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  html:not(.js) .header-in { flex-wrap:wrap; }
  html:not(.js) .header-in nav.menu { margin:0 0 0 auto; }
  html:not(.js) nav.menu a:not(.btn) { display:inline-block; font-size:14px; }

  .burger span {
    position:relative; display:block; width:23px; height:2.4px;
    border-radius:2px; background:currentColor; transition:background .16s ease;
  }
  .burger span::before, .burger span::after {
    content:""; position:absolute; left:0; width:23px; height:2.4px;
    border-radius:2px; background:currentColor;
    transition:transform .24s cubic-bezier(.2,.8,.3,1);
  }
  .burger span::before { top:-7px; }
  .burger span::after  { top:7px; }
  .burger[aria-expanded="true"] span { background:transparent; }
  .burger[aria-expanded="true"] span::before { transform:translateY(7px) rotate(45deg); }
  .burger[aria-expanded="true"] span::after  { transform:translateY(-7px) rotate(-45deg); }

  
  .menu-mobile.ouvert {
    display:flex; flex-direction:column;
    position:fixed; left:0; right:0; bottom:0; top:var(--h-entete, 56px); z-index:45;
    background:var(--cream); padding:6px 20px 30px;
    overflow-y:auto; overscroll-behavior:contain;
    animation:menu-descend .2s ease both;
  }
  @keyframes menu-descend {
    from { opacity:0; transform:translateY(-8px); }
    to   { opacity:1; transform:none; }
  }
  .menu-mobile a {
    display:block; padding:17px 2px; text-decoration:none;
    color:var(--navy); font-weight:700; font-size:19px;
    box-shadow:inset 0 -1px 0 var(--line);
  }
  .menu-mobile a:active { color:var(--orange-deep); }

  
  .menu-mobile .m-titre {
    margin:22px 2px 2px; font-size:11px; font-weight:700;
    letter-spacing:.16em; text-transform:uppercase; color:var(--soft);
  }
  .menu-mobile .m-titre:first-of-type { margin-top:8px; }
  .menu-mobile a { padding:14px 2px; font-size:17px; }
  .menu-mobile a.m-fort { font-size:19px; }

  
  .menu-mobile .menu-tel {
    display:flex; align-items:center; justify-content:center; gap:9px;
    margin-top:22px; padding:15px 18px; border-radius:999px;
    background:var(--orange); color:var(--navy); font-size:18px;
    box-shadow:0 8px 22px rgba(246,138,46,.28);
  }
  .menu-mobile .menu-tel::before {
    content:""; width:19px; height:19px; background:var(--navy);
    -webkit-mask:var(--combine) center / contain no-repeat;
    mask:var(--combine) center / contain no-repeat;
  }
  .menu-adresse {
    margin:16px 2px 0; font-size:13.5px; line-height:1.55; color:var(--soft);
  }

  body.menu-ouvert { overflow:hidden; }
}


@media (max-width:860px) {
  .marque span b { display:none; }
}

@media (max-width:900px) {
  .tete-grid { grid-template-columns:1fr; gap:26px; }
  .panneau-bref { justify-self:stretch; max-width:none; }
  .bande-tete { border-radius:0 0 30px 30px; }
}

@media (max-width:1020px) {
  .corps-grid { grid-template-columns:1fr; gap:0; }
  .rail-faits { grid-column:1; grid-row:auto;   
    position:static; flex-direction:row; flex-wrap:wrap; padding:30px 0 6px; }
  .rail-titre, .btn-rail { display:none; }
  .rail-faits .fait { width:auto; border-radius:999px; display:inline-flex; }
}


@media print { main section[id] { display:block !important; } .remonte, .som-tout { display:none !important; } }

@media (max-width:560px) { .porte { padding:30px 22px; } }

@media (max-width:420px) {
  h1 { font-size:27px; }
  .chapeau { font-size:16px; }
  .qualiopi-entete img { height:30px; }
  .sommaire a { font-size:13px; padding:10px 8px 8px; }
}

@media (min-width:1000px) {
  .tete-haut {
    grid-template-columns:minmax(0,1fr) minmax(280px,360px);
    column-gap:40px; align-items:center;
  }
  .tete-haut .tete-mot { grid-column:1; grid-row:1; }
  .tete-haut .tete-cta {
    grid-column:2; grid-row:1; margin-top:0;
    flex-direction:column; align-items:stretch; gap:12px;
  }
  .tete-haut .tete-cta .btn, .tete-haut .tete-cta a.tel { width:100%; }
  
  .tete-haut .chapeau {
    grid-column:1 / -1; grid-row:2;
    max-width:none; margin:26px 0 0; text-wrap:pretty;
  }
}




.porte-diplome h3 { min-height: calc(3em * 1.2); }
@media (max-width: 620px) {
  
  .porte-diplome h3 { min-height: 0; }
}


.corps-simple > section { position: relative; padding: 58px 0 34px; }
.corps-simple > section::before {
  content: ""; position: absolute; z-index: -1;
  top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%);
}
.corps-simple > section:nth-of-type(even)::before { background: var(--white, #fff); }
.corps-simple > section:nth-of-type(odd)::before  { background: var(--cream, #FFF8F4); }

.corps-simple > section:last-of-type { padding-bottom: 52px; }


@media (max-width:860px) {
  
  .rail-faits.faits {
    flex-direction:column; gap:0; width:100%;
    background:var(--white); border-radius:20px; padding:2px 18px; margin-top:20px;
    box-shadow:0 12px 30px rgba(0,0,54,.07), 0 2px 6px rgba(0,0,54,.03);
  }
  .bandeau-faits::before {
    content:"EN BREF"; display:block; padding:14px 0 2px;
    font-size:11.5px; font-weight:700; letter-spacing:.16em; color:var(--orange-deep);
  }
  
  .panneau-bref .bandeau-faits::before { content:none; }
  .fait:last-child, .bandeau-faits .fait:last-child { box-shadow:none; }
  
  .porte-diplome p:not(.sigle) { display:none; }
  
  .sommaire::after {
    content:""; position:absolute; right:0; top:0; bottom:0; width:40px;
    background:linear-gradient(90deg, rgba(251,248,243,0), rgba(251,248,243,.96));
    pointer-events:none;
  }
}


.maj-page { margin:30px 0 0; font-size:13.5px; color:var(--soft); }



@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto !important; }
  .js .reveal { opacity:1; transform:none; transition:none; }
  .surligne { animation:none; background-size:100% 100%; }
  .js .griffe-signe { clip-path:none; animation:none; }
  .porte-diplome .vignette { transition:none; }
}

@media (max-width:860px) {
  .tete-a .tete { padding:24px 0 0; }
  .tete-a .grille-diplomes { margin-top:20px; }
  .tete-a .porte-diplome.public { padding:15px 17px 13px; }
  .chiffres-in { grid-template-columns:1fr 1fr; }
  .chiffre { padding:16px 14px 16px 0; }
  .chiffre + .chiffre { padding-left:14px; }
  .chiffre:nth-child(3) { box-shadow:inset 0 1px 0 rgba(0,0,54,.09); padding-left:0; padding-top:16px; }
  .chiffre:nth-child(4) { box-shadow:inset 1px 0 0 rgba(0,0,54,.09), inset 0 1px 0 rgba(0,0,54,.09); padding-left:14px; padding-top:16px; }
  .chiffre b { font-size:22px; }
  .chiffre span { font-size:12.5px; }
  .porte-diplome.public .icone { width:40px; height:40px; border-radius:12px; margin-bottom:10px; }
  .porte-diplome.public .icone svg { width:21px; height:21px; }
  .porte-diplome .vignette { width:calc(100% + 36px); height:104px; margin:-16px -18px 12px; border-radius:18px 18px 0 0; }
  .bande-histoire { border-radius:28px; padding:4px 0 30px; margin-top:36px; }
  .piliers { gap:12px; margin-top:18px; }
  .pilier { padding:17px 19px; border-radius:18px; }
  .devise { padding:18px 20px; border-radius:18px; margin-top:20px; }
  section.respire { padding-top:34px; padding-bottom:28px; }
  .declaration { padding:38px 0; }
}

@media (max-width:560px) {
  .etape { grid-template-columns:40px minmax(0,1fr); gap:14px; }
  .etape-num { width:40px; height:40px; font-size:17px; }
  .etape::before { left:19px; top:40px; }
  .etape-corps { padding:15px 17px; }
}


.illustration-cote { float:right; width:min(380px, 42%); margin:6px 0 16px 28px; display:block; }
.illustration-cote img { width:100%; height:auto; border-radius:18px; box-shadow:0 12px 30px rgba(0,0,54,.12); }
@media (max-width:700px) {
  .illustration-cote { float:none; width:100%; max-width:420px; margin:8px auto 16px; }
}


.illustration-cote + .lecture { display:flow-root; }


.tete-photo.dans-le-bandeau { margin-bottom:0; }


.bulle-whatsapp {
  position:fixed; right:20px; bottom:20px; z-index:72;
  width:58px; height:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#25D366; color:#fff;
  box-shadow:0 12px 30px rgba(18,140,70,.38);
  transition:transform .18s ease, box-shadow .18s ease;
}
.bulle-whatsapp svg { width:34px; height:34px; }
.bulle-whatsapp:hover { transform:translateY(-2px); box-shadow:0 16px 36px rgba(18,140,70,.45); }

body:has(.menu-mobile.ouvert) .bulle-whatsapp { visibility:hidden; pointer-events:none; }

.remonte {
  position:fixed; right:20px; bottom:92px; z-index:70;
  display:inline-flex; align-items:center; gap:10px;
  padding:13px 22px; border-radius:999px; border:none; cursor:pointer;
  background:var(--navy); color:#fff; font-family:inherit; font-size:14.5px; font-weight:700;
  box-shadow:0 16px 38px rgba(0,0,54,.28), 0 3px 8px rgba(0,0,54,.12);
  opacity:0; transform:translateY(14px); pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
@media (max-width:860px) {
  .remonte { right:12px; bottom:88px; padding:10px 16px; font-size:13px; box-shadow:0 10px 24px rgba(0,0,54,.26); }
}
@media (prefers-reduced-motion: reduce) { .bulle-whatsapp { transition:none; } .bulle-whatsapp:hover { transform:none; } .remonte { transition:none; } }
@media print { .bulle-whatsapp { display:none; } }


.lien-fleche {
  display:inline-flex; align-items:center; gap:8px;
  color:var(--orange-deep); font-weight:700; text-decoration:none;
}
.lien-fleche::after {
  content:""; width:8px; height:8px; flex-shrink:0;
  border-top:2.5px solid var(--orange-deep); border-right:2.5px solid var(--orange-deep);
  transform:rotate(45deg); border-radius:1px; transition:transform .2s ease;
}
.lien-fleche:hover::after { transform:rotate(45deg) translate(2px,-2px); }
.apres-grille { color:var(--ink); font-size:14.5px; margin:18px 4px 0; }
@media (prefers-reduced-motion: reduce) { .lien-fleche::after { transition:none; } }


.theme-tete {
  display:flex; align-items:center; gap:30px; flex-wrap:wrap;
  margin:14px 0 16px;
}
.theme-tete h2 { margin:0; }
.theme-compte { color:var(--soft); font-size:14px; margin:4px 0 0; }
.theme-tete img {
  width:190px; height:auto; flex:none; border-radius:14px;
  box-shadow:0 8px 22px rgba(0,0,54,.10);
}

.grille-catalogue {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:0 24px;
  background:var(--white); border-radius:16px; padding:5px 18px;
  box-shadow:0 8px 22px rgba(0,0,54,.07);
}
.carte-formation {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  min-height:44px; padding:8px 2px;
  text-decoration:none; color:inherit;
  border-bottom:1px solid rgba(0,0,54,.08);
}
.carte-formation h3 {
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:600;
  color:var(--navy); font-size:14.5px; line-height:1.3; margin:0;
  transition:color .15s ease;
}
a.carte-formation:hover h3 { color:var(--orange-deep); }
.carte-formation .aller {
  display:inline-flex; align-items:center; flex-shrink:0;
  transition:transform .15s ease;
}
.carte-formation .aller::after {
  content:""; width:7px; height:7px; flex-shrink:0;
  border-top:2.5px solid var(--orange-deep); border-right:2.5px solid var(--orange-deep);
  transform:rotate(45deg); border-radius:1px;
}
a.carte-formation:hover .aller { transform:translateX(3px); }
@media (max-width:700px) {
  .theme-tete { flex-direction:row; }
  .theme-tete img { width:120px; }
}
@media (prefers-reduced-motion: reduce) { .carte-formation h3, .carte-formation .aller { transition:none; } a.carte-formation:hover .aller { transform:none; } }


.grille-diplomes.portes-identite { grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
@media (max-width:980px) { .grille-diplomes.portes-identite { grid-template-columns:1fr; } }

.portes-identite .porte-diplome.public h3 {
  position:static; width:auto; height:auto; overflow:visible;
  clip:auto; clip-path:none;   
  font-size:26px; line-height:1.15; margin:2px 0 12px; min-height:0; padding:0 0 10px;
}
.portes-identite .porte-diplome.public h3::after {
  content:""; display:block; width:34px; height:3.5px; margin-top:9px;
  border-radius:999px; background:var(--orange);
}
.porte-diplome .porte-liens { list-style:none; margin:8px 0 10px; padding:0; }
.porte-diplome .porte-liens li { border-bottom:1px solid rgba(0,0,54,.07); }
.porte-diplome .porte-liens li:last-child { border-bottom:none; }
.porte-diplome .porte-liens a {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  min-height:42px; padding:8px 2px;
  text-decoration:none; color:var(--ink); font-weight:600;
  font-size:clamp(15px, 0.6vw + 13px, 20px);   
}
.porte-diplome .porte-liens a::after {
  content:""; width:6px; height:6px; flex-shrink:0;
  border-top:2px solid var(--orange-deep); border-right:2px solid var(--orange-deep);
  transform:rotate(45deg); border-radius:1px;
}
.porte-diplome .porte-liens a:hover { color:var(--orange-deep); }
.porte-diplome a.aller { text-decoration:none; }


.portes-secteur {
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
}
@media (max-width:700px) { .portes-secteur { grid-template-columns:1fr; } }
.porte-secteur {
  display:block; background:var(--white); border-radius:18px; overflow:hidden;
  text-decoration:none; color:inherit;
  box-shadow:0 10px 26px rgba(0,0,54,.09);
  transition:transform .15s ease, box-shadow .15s ease;
}
.porte-secteur:hover { transform:translateY(-2px); box-shadow:0 16px 34px rgba(0,0,54,.14); }
.porte-secteur img { width:100%; height:auto; display:block; }
.porte-secteur .porte-in { padding:16px 20px 18px; }
.porte-secteur h3 {
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640;
  color:var(--navy); font-size:19px; margin:0 0 5px;
}
.porte-secteur .porte-in p { margin:0 0 10px; color:var(--soft); font-size:14.5px; line-height:1.5; }
.aller-porte {
  display:inline-flex; align-items:center; gap:8px;
  color:var(--orange-deep); font-weight:700; font-size:14px;
}
.aller-porte::after {
  content:""; width:7px; height:7px; flex-shrink:0;
  border-top:2.5px solid var(--orange-deep); border-right:2.5px solid var(--orange-deep);
  transform:rotate(45deg); border-radius:1px;
}
@media (prefers-reduced-motion: reduce) { .porte-secteur { transition:none; } .porte-secteur:hover { transform:none; } }


.btn-second { background:none; border:1.5px solid var(--orange-deep); color:var(--orange-deep); }
.section-intro { color:var(--soft); font-size:14.5px; margin:-6px 0 12px; }
.carte-formation > div { flex:1; min-width:0; }
.carte-formation .note { color:var(--soft); font-size:13px; line-height:1.45; margin:2px 0 0; }
.pli-parcours {
  background:var(--white); border-radius:14px; margin:10px 0; padding:2px 18px;
  box-shadow:0 8px 22px rgba(0,0,54,.07);
}
.pli-parcours summary {
  cursor:pointer; list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:13px 0; min-height:46px;
}
.pli-parcours summary::-webkit-details-marker { display:none; }
.pli-parcours summary b {
  display:block; font-family:'Remplacant-J','Fraunces',Georgia,serif;
  font-weight:640; color:var(--navy); font-size:16px; line-height:1.35;
}
.pli-parcours summary small { display:block; color:var(--soft); font-size:13.5px; margin-top:2px; }
.pli-parcours summary::after {
  content:""; width:8px; height:8px; flex-shrink:0;
  border-right:2.5px solid var(--orange-deep); border-bottom:2.5px solid var(--orange-deep);
  transform:rotate(45deg); transition:transform .15s ease; margin-right:2px;
}
.pli-parcours[open] summary::after { transform:rotate(225deg); }
.pli-parcours ol { margin:0 0 14px; padding-left:22px; font-size:14.5px; }
.pli-parcours ol li { margin:3px 0; }
.pli-parcours .btn { margin:0 0 16px; }
.lignes-themes {
  background:var(--white); border-radius:16px; padding:6px 20px;
  box-shadow:0 8px 22px rgba(0,0,54,.07);
}
.ligne-theme {
  display:flex; align-items:center; gap:14px; min-height:58px; padding:9px 2px;
  text-decoration:none; color:inherit; border-bottom:1px solid rgba(0,0,54,.08);
}
.ligne-theme:last-child { border-bottom:none; }
.ligne-theme img { width:64px; height:auto; border-radius:8px; flex-shrink:0; }
.ligne-theme .lt-nom {
  flex:1; min-width:0; font-family:'Remplacant-J','Fraunces',Georgia,serif;
  font-weight:600; color:var(--navy); font-size:15.5px; line-height:1.35;
}
.ligne-theme .lt-compte { color:var(--soft); font-size:13.5px; flex-shrink:0; }
.ligne-theme::after {
  content:""; width:7px; height:7px; flex-shrink:0;
  border-top:2.5px solid var(--orange-deep); border-right:2.5px solid var(--orange-deep);
  transform:rotate(45deg); border-radius:1px;
}
.ligne-theme:hover .lt-nom { color:var(--orange-deep); }
@media (prefers-reduced-motion: reduce) { .pli-parcours summary::after { transition:none; } }


.pas-trois { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
@media (max-width:700px) { .pas-trois { grid-template-columns:1fr; } }
.pas-trois .pas {
  background:var(--white); border-radius:14px; padding:14px 17px;
  box-shadow:0 8px 22px rgba(0,0,54,.07); font-size:14.5px; line-height:1.55;
}
.pas-trois .pas b { display:block; color:var(--navy); margin-bottom:4px; }
.pas-trois.portes-hub { margin-top:18px; }
.pas-trois a.pas { text-decoration:none; color:inherit; transition:box-shadow .15s ease; }
.pas-trois a.pas:hover { box-shadow:0 14px 30px rgba(0,0,54,.12); }
.pas-trois a.pas:hover b { color:var(--orange-deep); }


.fiche-courte .colonne-lecture section { padding:26px 0 2px; }
.fiche-courte .colonne-lecture h2 { margin-bottom:14px; }
.fiche-courte .ep-bloc ul { margin:6px 0 2px; }
.fiche-courte .porte { margin-top:34px; }


.theme-section {
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:30px;
  align-items:start; padding:30px 0 4px;
}
.theme-tete h2 { font-size:26px; }
.theme-image {
  width:100%; height:auto; border-radius:20px;
  box-shadow:0 14px 34px rgba(0,0,54,.12); margin-top:6px;
}
.theme-section .grille-catalogue { grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); }
@media (max-width:900px) {
  .theme-section { grid-template-columns:1fr; gap:18px; }
  .theme-image { max-width:420px; margin:0 auto; }
}


@media (min-width:861px) {
  .porte-diplome p,
  .porte-diplome .sigle,
  .porte-diplome .ou,
  .chiffre span,
  .pilier p,
  .temoignage p, .temoignage cite,
  .sous,
  .aller,
  .lien-liste, .liens-liste li,
  .btn, .tete-cta .btn, .tete-cta a.tel, .tete-cta a.btn-clair,
  .porte p { font-size:18px; }

  .eyebrow { font-size:15px; letter-spacing:.12em; }
  .niveau  { font-size:14px; }
}


@media (min-width:1181px) {
  .tete-a .tete-haut { display:block; }
  
  .tete-a .tete-cta  {
    margin-top:28px; flex-direction:row; justify-content:flex-start;
    align-items:center; width:auto;
  }
  
  .tete-a .tete-haut .tete-cta .btn,
  .tete-a .tete-haut .tete-cta a.tel,
  .tete-a .tete-haut .tete-cta a.btn-clair { width:auto; flex:0 0 auto; }
  .tete-a .tete-haut .tete-cta { flex-direction:row; align-items:center; }
  .tete-a .chapeau   { max-width:70ch; }
}



.bloc-droit {
  border-left:5px solid var(--orange-deep);
  margin:0 0 32px;
}

.bloc-droit h3 { color:var(--navy); }


@media (min-width:861px) {
  .bloc-droit h3 { font-size:22px; }
  .bloc-droit p  { font-size:18px; }
}



@media print {
  .js .reveal,
  .js .reveal:not(.vu) { opacity:1 !important; transform:none !important; }
  .prog-tout[hidden] { display:block !important; }   
  .burger, .bulle-whatsapp, .saut { display:none !important; }
  * { animation:none !important; transition:none !important; }
}


@media print {

  
  header nav.menu,
  .header-in .btn,
  header::after,
  .sommaire,
  .badge-flottant { display:none !important; }

  
  header, .sommaire, .rail-faits { position:static !important; }
  header {
    background:#fff !important; border-bottom:1px solid #E6E0D6 !important;
    -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  }

  
  main section, main section.actif { min-height:0 !important; }

  
  .pied-grid .bloc:not(.pied-identite):not(.pied-certification) {
    display:none !important;
  }

  
  
  .parcours-piste { display:block !important; }

  h1, h2, h3 { break-after:avoid-page; page-break-after:avoid; }
  .ep-bloc, .etape, .carte-rncp, .fait, .porte, .porte-diplome, .porte-secteur,
  .pilier, .temoin, .bloc-info, .pli-parcours, .pas, .voie, .liens-liste,
  .table-cadre, .bulle-joindre, .prix-catalogue {
    break-inside:avoid; page-break-inside:avoid;
  }
  p, li { orphans:3; widows:3; }
  a[href^="#"] { text-decoration:none; }

  
  .table-cadre::after { content:none !important; }
}



@media (min-width:1181px) {
  :root { --l-lecture:72ch; }
}



.lecture .liens-liste,
.lecture > ul {            
  background:var(--white); border-radius:28px;
  padding:10px 30px; margin:22px 0 12px;
  box-shadow:0 14px 34px rgba(0,0,54,.08), 0 3px 8px rgba(0,0,54,.03);
  max-width:var(--l-lecture);
}


.lecture .liens-liste li,
.lecture > ul li {
  padding:16px 0 16px 34px; color:var(--soft);
  box-shadow:inset 0 -1px 0 rgba(0,0,54,.07);
}

.lecture .liens-liste li:last-child,
.lecture > ul li:last-child { box-shadow:none; }

.lecture .liens-liste li b,
.lecture > ul li b { color:var(--navy); }

.lecture .liens-liste li::before,
.lecture > ul li::before { top:24px; left:6px; }

@media (max-width:640px) {
  .lecture .liens-liste, .lecture > ul { border-radius:22px; padding:6px 20px; }
  .lecture .liens-liste li, .lecture > ul li { padding:14px 0 14px 30px; }
  .lecture .liens-liste li::before, .lecture > ul li::before { top:22px; left:2px; }
}



.cadre-formulaire {
  background:var(--white); border-radius:28px; padding:8px;
  box-shadow:0 14px 34px rgba(0,0,54,.08), 0 3px 8px rgba(0,0,54,.03);
  margin:22px 0 10px; overflow:hidden;
  
}

.cadre-formulaire iframe { display:block; border:0; border-radius:22px; width:100%; }

@media (max-width:640px) {
  .cadre-formulaire { border-radius:22px; padding:5px; }
  .cadre-formulaire iframe { border-radius:18px; height:1320px; }
}



@media (min-width:1000px) {
  .contact-deux-colonnes {
    display:grid; grid-template-columns:minmax(300px,0.85fr) minmax(0,1.15fr);
    gap:34px; align-items:start; margin:0 0 10px;
  }
  .contact-deux-colonnes > section { margin:0; }
  
  .contact-deux-colonnes .grille-diplomes.en-colonne { grid-template-columns:1fr; gap:14px; }
  
  .contact-deux-colonnes #formulaire { position:sticky; top:96px; }
}



.cadre-formulaire iframe { max-height:none; }

@media (max-height:620px) {          
  .cadre-formulaire iframe { max-height:92vh; }
}

@media (max-width:999px) {
  .contact-deux-colonnes .grille-diplomes.en-colonne { grid-template-columns:1fr; }
}



details.pli > *:not(summary) { padding-left:22px; padding-right:22px; }
details.pli > *:not(summary):last-child { padding-bottom:20px; }
details.pli > .pli-corps { padding-left:20px; padding-right:20px; }  

@media (max-width:640px) {
  details.pli > *:not(summary) { padding-left:17px; padding-right:17px; }
}


.bulle-joindre {
  background:var(--white); border-radius:28px; padding:6px 30px;
  box-shadow:0 14px 34px rgba(0,0,54,.08), 0 3px 8px rgba(0,0,54,.03);
  margin:22px 0 10px; display:flex; flex-direction:column; justify-content:space-evenly;
}


.bulle-joindre .moyen {
  display:flex; gap:18px; align-items:flex-start;
  padding:22px 0; box-shadow:inset 0 -1px 0 rgba(0,0,54,.07);
}

.bulle-joindre .moyen:last-child { box-shadow:none; }

.bulle-joindre .pictogramme {
  flex:none; width:48px; height:48px; border-radius:50%;
  background:var(--halo); color:var(--orange-deep);
  display:grid; place-items:center; margin-top:2px;
}

.bulle-joindre .pictogramme svg { width:23px; height:23px; display:block; }

.bulle-joindre .moyen-corps { min-width:0; }

.bulle-joindre h3 {
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640;
  font-size:20px; color:var(--navy); margin:0 0 8px; line-height:1.2;
}

.bulle-joindre .gros { font-size:18.5px; font-weight:600; color:var(--navy); margin:0 0 9px; line-height:1.5; }
.bulle-joindre .gros a { color:var(--navy); }
.bulle-joindre .gros a:hover { color:var(--orange-deep); }
.bulle-joindre .ou { font-size:15.5px; color:var(--soft); margin:0; }

@media (max-width:520px) {
  .bulle-joindre .moyen { gap:14px; }
  .bulle-joindre .pictogramme { width:42px; height:42px; }
  .bulle-joindre .pictogramme svg { width:20px; height:20px; }
}


@media (min-width:1000px) {
  .bulle-joindre { height:640px; }
}



.tete-contacts {
  display:grid; gap:14px; margin:30px 0 4px;
  grid-template-columns:1fr;      
}


@media (min-width:940px) {
  .tete-contacts { grid-template-columns:repeat(3, 1fr); }
}

.tete-contacts .voie {
  display:flex; gap:15px; align-items:flex-start; text-decoration:none;
  background:var(--white); border-radius:22px; padding:20px 22px;
  box-shadow:0 10px 26px rgba(0,0,54,.07), 0 2px 6px rgba(0,0,54,.03);
  transition:transform .16s ease, box-shadow .16s ease;
}

.tete-contacts .voie:hover {
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(0,0,54,.12), 0 3px 8px rgba(0,0,54,.04);
}

.tete-contacts .pictogramme {
  flex:none; width:44px; height:44px; border-radius:50%;
  background:var(--halo); color:var(--orange-deep);
  display:grid; place-items:center; margin-top:2px;
}

.tete-contacts .pictogramme svg { width:21px; height:21px; display:block; }

.tete-contacts .voie-corps { min-width:0; }

.tete-contacts .voie-corps b {
  display:block; font-family:'Remplacant-J','Fraunces',Georgia,serif;
  font-weight:640; font-size:18px; color:var(--navy); margin:0 0 6px; line-height:1.2;
}

.tete-contacts .voie-fort {
  display:block; font-size:16.5px; font-weight:600; color:var(--navy);
  line-height:1.45; margin:0 0 7px; overflow-wrap:anywhere;
}

.tete-contacts .voie:hover .voie-fort { color:var(--orange-deep); }

.tete-contacts small {
  display:block; font-size:14px; color:var(--soft); line-height:1.5;
}

.tete-contacts small u { text-decoration-color:var(--orange); text-underline-offset:2px; }

@media (max-width:520px) {
  .tete-contacts { gap:11px; margin-top:24px; }
  .tete-contacts .voie { padding:16px 18px; gap:13px; }
  .tete-contacts .pictogramme { width:40px; height:40px; }
}



.en-cadre header,
.en-cadre .pied,
.en-cadre .ariane,
.en-cadre .bulle-whatsapp,
.en-cadre .remonte,
.en-cadre .saut { display:none !important; }

.en-cadre .bande-tete { padding-top:26px; }
.en-cadre body { background:var(--white); }
.en-cadre .wrap { padding-left:26px; padding-right:26px; }



@media (max-width:939px) {
  .tete-contacts { gap:9px; margin-top:22px; }

  .tete-contacts .voie { padding:14px 16px; gap:13px; border-radius:18px; }

  .tete-contacts .pictogramme { width:38px; height:38px; }
  .tete-contacts .pictogramme svg { width:18px; height:18px; }

  .tete-contacts .voie-corps b { font-size:16px; margin-bottom:3px; }
  .tete-contacts .voie-fort { font-size:16px; margin-bottom:2px; }

  
  .tete-contacts small { display:none; }
  .tete-contacts .voie:last-child small { display:block; font-size:13px; margin-top:4px; }

  
  .tete-contacts .voie:first-child .voie-fort { line-height:1.35; }
}


@media (max-width:939px) {
  .tete-contacts small.horaires { display:block; font-size:13px; margin-top:3px; }
}


.certificat {
  margin:0 0 38px; padding:0;
  display:grid; grid-template-columns:minmax(0,420px) minmax(0,1fr);
  gap:28px; align-items:center;
}
.certificat img {
  display:block; width:100%; height:auto; background:#fff;
  border:1px solid var(--line); border-radius:14px;
  box-shadow:0 14px 34px rgba(0,0,54,.13);
  transition:box-shadow .18s ease, transform .18s ease;
}
.certificat a { display:block; border:0; }
.certificat a:hover img, .certificat a:focus-visible img {
  box-shadow:0 20px 44px rgba(0,0,54,.20); transform:translateY(-2px);
}
.certificat figcaption { color:var(--ink); }
.certificat figcaption p { margin:0 0 16px; max-width:46ch; }

@media (max-width:859px) {
  .certificat { grid-template-columns:1fr; gap:20px; }
  .certificat figcaption p { max-width:none; }
}


.tete-contacts .voie-tel:hover { transform:none;
  box-shadow:0 10px 26px rgba(0,0,54,.07), 0 2px 6px rgba(0,0,54,.03); }

.tete-contacts .voie-tel .voie-fort { display:flex; flex-direction:column;
  align-items:flex-start; gap:2px; margin-bottom:7px; }

.tete-contacts .voie-tel .voie-fort a {
  color:var(--navy); text-decoration:none; display:inline-flex; align-items:center;
  min-height:32px; border-radius:8px; padding:0 6px; margin-left:-6px;
  transition:color .14s ease, background .14s ease;
}
.tete-contacts .voie-tel .voie-fort a:hover,
.tete-contacts .voie-tel .voie-fort a:focus-visible {
  color:var(--orange-deep); background:var(--halo);
}


@media (max-width:939px) {
  .tete-contacts .voie-tel .voie-fort a { min-height:44px; }
}


@media (max-width:860px) {
  .sommaire-in {
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    padding-right:44px;          
  }
}


@media (max-width:860px) {
  .rail-faits.faits { padding:4px 20px 20px; }

  
  .rail-faits .rail-titre {
    display:block; padding:16px 0 4px;
    font-size:11.5px; font-weight:700; letter-spacing:.16em;
    text-transform:uppercase; color:var(--orange-deep);
  }
  .rail-faits .btn-rail { display:inline-flex; margin-top:16px; }

  .rail-faits.faits .fait {
    display:block; width:100%;
    background:transparent; border-radius:0; box-shadow:inset 0 -1px 0 var(--line);
    padding:13px 0; font-size:15px; line-height:1.55; color:var(--ink);
  }
  .rail-faits.faits .fait b { font-size:15px; white-space:normal; }
  .rail-faits.faits .fait:hover { transform:none; box-shadow:inset 0 -1px 0 var(--line); }
  .rail-faits.faits .fait:last-of-type { box-shadow:none; }
}


.prix-catalogue {
  background:var(--white); border:1px solid var(--line); border-radius:14px;
  padding:13px 18px; margin:16px 0 0; max-width:var(--l-lecture);
  font-size:17px; line-height:1.5; color:var(--ink);
  box-shadow:0 6px 18px rgba(0,0,54,.05);
}
.prix-catalogue b { color:var(--navy); }
@media (max-width:560px) { .prix-catalogue { font-size:16px; padding:12px 15px; } }


.portes-identite .titre-porte {
  color:inherit; text-decoration:none; border:0;
}
.portes-identite .titre-porte::after {
  content:" ›"; color:var(--orange-deep); font-weight:700;
}
.portes-identite .porte-diplome:hover .titre-porte,
.portes-identite .titre-porte:focus-visible {
  text-decoration:underline; text-decoration-color:var(--orange);
  text-decoration-thickness:2px; text-underline-offset:4px;
}


.portes-identite .porte-liens { margin-bottom:18px; }

.portes-identite .aller-porte {
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--orange); color:#fff; border-radius:999px;
  padding:11px 22px; margin-top:auto; min-height:44px;
  font-weight:700; font-size:15.5px; text-decoration:none;
  box-shadow:0 8px 20px rgba(255,127,38,.28);
  transition:background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.portes-identite .aller-porte::after { content:none; }
.portes-identite .aller-porte:hover,
.portes-identite .aller-porte:focus-visible {
  background:var(--orange-deep); transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(255,127,38,.36);
}

.portes-identite .porte-diplome:hover .aller-porte { transform:none; }


@media (min-width:1181px) {
  
  .tete-a .tete-haut {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,390px);
    column-gap:60px; align-items:start;
  }
  .tete-a .tete-haut .tete-mot { grid-column:1; grid-row:1; }
  .tete-a .tete-haut .tete-cta { grid-column:1; grid-row:2; }
  .tete-a .tete-haut .chapeau  { grid-column:1; grid-row:3; max-width:none; }

  .tete-a .tete-haut .bandeau-chiffres {
    grid-column:2; grid-row:1 / span 3;
    align-self:center; margin-top:0; border-top:0;
    background:var(--white); border-radius:24px; padding:8px 26px;
    box-shadow:0 16px 40px rgba(0,0,54,.07), 0 3px 8px rgba(0,0,54,.03);
  }
  
  .tete-a .tete-haut .chiffres-in { grid-template-columns:1fr; }
  .tete-a .tete-haut .chiffre { padding:18px 0; }
  .tete-a .tete-haut .chiffre + .chiffre {
    padding-left:0; box-shadow:inset 0 1px 0 rgba(0,0,54,.09);
  }
  .tete-a .tete-haut .chiffre b { font-size:30px; }
  .tete-a .tete-haut a.chiffre:hover { background:transparent; }
  .tete-a .tete-haut a.chiffre:hover b { color:var(--orange); }
}


@media (max-width:860px) {
  .tete-photo { aspect-ratio:16/9; max-width:none; }
}


.ep-bloc .prog-chapo {
  margin:-2px 0 14px; font-size:15.5px; line-height:1.5;
  color:var(--soft); font-weight:600;
}


section h3 {
  font-family:'Remplacant-J','Fraunces',Georgia,serif; font-weight:640;
  font-size:1.14em; line-height:1.25;
}


.ep-bloc { font-size:0.9em; }
.ep-bloc .prog-chapo { font-size:0.86em; }


.carte-rncp dt { color:var(--navy); font-weight:700; }
.carte-rncp dd { color:var(--ink); font-weight:400; }



.titre-repli { margin-bottom:14px; }

.repli-tete {
  font:inherit; color:inherit; background:none; border:0; padding:0;
  display:flex; align-items:center; gap:12px; width:100%; text-align:left;
  cursor:pointer; min-height:44px;
}
.repli-tete::after {
  content:""; flex:none; width:13px; height:13px; margin-left:auto;
  border-right:2.5px solid var(--orange-deep); border-bottom:2.5px solid var(--orange-deep);
  transform:rotate(45deg) translateY(-3px); transition:transform .18s ease;
}
.repli-tete[aria-expanded="false"]::after { transform:rotate(-135deg) translateY(-3px); }
.repli-tete:hover { color:var(--orange-deep); }
.repli-tete:focus-visible { outline:3px solid var(--orange); outline-offset:6px; border-radius:8px; }
