/* Sara Rosenberg Formation — direction B « bandes ».
   Charpente éditoriale de la direction B, typographie de la charte de Sara :
   Montserrat (fonte variable, auto-hébergée), palette mesurée sur le site actuel :
   bleu #004e76, jaune #eae762, crème #fff6ea. Le rose ne sert que sur le bouton de devis. */

@font-face{font-family:'Montserrat';src:url('../fonts/montserrat-var.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/montserrat-var-italic.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}

:root{
  --paper:#fdfdfc; --creme:#fff6ea; --jaune:#eae762; --bleu:#004e76; --rose:#e0095a;
  --ink:#0f1015; --body:#2b333a; --dim:#525b62; --rule:#d8d4ca;
  --pad:clamp(22px,4.4vw,68px);
  --max:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{background:var(--paper);color:var(--body);font-family:"Montserrat",sans-serif;font-weight:400;font-size:18px;line-height:1.66}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:"Montserrat",sans-serif;font-weight:700;color:var(--ink);
  line-height:1.06;letter-spacing:-.015em}
::selection{background:var(--bleu);color:var(--paper)}
:focus-visible{outline:2px solid var(--bleu);outline-offset:3px}
a.lien,.lien{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a.lien:hover{color:var(--bleu)}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ---------- barre ---------- */
.top{background:var(--bleu);border-bottom:1px solid var(--bleu);
  display:grid;grid-template-columns:1fr auto auto;align-items:center;
  gap:clamp(16px,3vw,46px);padding:17px var(--pad)}
.marque{display:flex;align-items:baseline;gap:14px;justify-self:start}
.marque .nom{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.24rem;
  letter-spacing:-.02em;color:var(--creme);white-space:nowrap}
.marque .volet{font-family:"Montserrat",sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--jaune)}
nav.menu{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px)}
nav.menu a{font-family:"Montserrat",sans-serif;font-size:13.5px;font-weight:500;letter-spacing:.02em;
  color:#dbe9f1;padding-bottom:3px;border-bottom:1px solid transparent}
nav.menu a:hover,nav.menu a[aria-current]{color:#fff;border-color:var(--creme)}
.cta{background:var(--rose);color:#fff;padding:12px 20px;border-radius:99px;font-family:"Montserrat",sans-serif;
  font-size:13px;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.cta:hover{color:#fff;border-color:transparent;background:#c50850}
nav.menu a.cta,nav.menu a.cta:hover{color:#fff}
.top :focus-visible,.hero :focus-visible,.closing :focus-visible,.bandeau :focus-visible{outline-color:var(--jaune)}
.evitement{position:absolute;left:12px;top:-60px;z-index:100;background:var(--jaune);color:var(--ink);padding:10px 16px;border-radius:99px;font-family:"Montserrat",sans-serif;font-weight:600;font-size:14px}
.evitement:focus{top:12px}
.burger{display:none;background:none;border:1px solid rgba(255,246,234,.5);color:var(--creme);
  font-size:20px;line-height:1;padding:8px 12px;cursor:pointer}

/* ---------- héros ---------- */
.hero{background:var(--bleu);color:var(--creme);display:grid;
  grid-template-columns:max(var(--pad), calc((100vw - var(--max))/2)) minmax(0,1fr) min(41%,640px);align-items:stretch}
.hero .txt{grid-column:2;padding:clamp(34px,4.2vw,58px) clamp(26px,4.6vw,76px) clamp(34px,4.4vw,58px) 0;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero h1{color:var(--creme);font-size:clamp(2.05rem,4.05vw,3.95rem);line-height:.96;letter-spacing:-.038em;max-width:19ch}
.mark{position:relative;display:inline-block;z-index:0;margin-right:.04em;color:var(--ink)}
.mark::after{content:"";position:absolute;left:-.07em;right:-.07em;top:.07em;height:.84em;
  background:var(--jaune);z-index:-1;transform:skewX(-7deg)}
.hero .sub{font-family:"Montserrat",sans-serif;font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:600;
  letter-spacing:.01em;color:var(--jaune);margin-top:22px}
.bas{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(16px,2.6vw,34px);margin-top:clamp(26px,3vw,38px)}
.lien-fleche{display:inline-block;font-family:"Montserrat",sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.02em;
  background:var(--jaune);color:var(--ink);border-radius:99px;padding:11px 20px;border:0}
.lien-fleche:hover{background:var(--creme);color:var(--ink)}
.mention{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:#cfe2ec}
.hero figure{grid-column:3;margin:0;background:var(--jaune);display:flex;flex-direction:column;justify-content:flex-end;
  position:relative;overflow:hidden;min-height:520px}
.hero figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 16%}
.hero figcaption{position:relative;z-index:1;color:#1c2b33;padding:10px 14px;text-align:right;background:var(--jaune);
  font-family:"Montserrat",sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase}

/* faits */
.faits{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,40px);
  border-top:1px solid rgba(255,246,234,.28);background:var(--bleu);
  padding:18px max(var(--pad), calc((100vw - var(--max))/2)) 20px}
.faits div{display:flex;flex-direction:column;gap:3px;padding-left:16px;border-left:1px solid rgba(255,246,234,.3)}
.faits div:first-child{padding-left:0;border-left:0}
.faits b{font-family:"Montserrat",sans-serif;font-size:1.02rem;font-weight:600;letter-spacing:-.005em;
  color:var(--jaune);line-height:1.25}
.faits span{font-family:"Montserrat",sans-serif;font-size:.93rem;font-weight:400;color:#dbe9f1;line-height:1.4}

/* ---------- sections ---------- */
.sec{padding:clamp(46px,5.8vw,88px) var(--pad)}
.sec-head{border-top:1px solid var(--ink);padding-top:16px;margin-bottom:clamp(26px,3.4vw,46px);
  display:flex;justify-content:space-between;align-items:baseline;gap:28px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(1.45rem,2.15vw,2.15rem);line-height:1.14;text-wrap:balance}
.sec-head .meta{font-style:italic;font-weight:400;font-size:1.06rem;color:#3c454c;max-width:56ch}
.sec-body{max-width:var(--max);margin:0 auto}

/* offre */
.offre{background:var(--creme)}
.rows .prog{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) auto;
  gap:clamp(16px,3vw,50px);align-items:baseline;padding:clamp(18px,2.1vw,26px) 0;
  border-bottom:1px solid var(--rule)}
.rows .prog:first-child{border-top:1px solid var(--ink)}
.rows .prog .t{font-family:"Montserrat",sans-serif;font-weight:600;font-size:clamp(1.12rem,1.75vw,1.46rem);
  line-height:1.2;color:var(--ink);letter-spacing:-.015em}
.rows .prog .d{font-style:italic;font-weight:400;color:#3c454c;font-size:1.06rem;line-height:1.55;max-width:38ch}
.rows .prog .m{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--bleu);white-space:nowrap}
.rows .prog:hover .t{color:var(--bleu)}
.note{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,.66fr);gap:clamp(18px,4vw,66px);
  margin-top:clamp(28px,3.6vw,46px)}
.note .lab{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--dim);padding-top:.42em}
.note p{font-size:1.03rem;max-width:54ch}
.note strong{color:var(--ink);font-weight:500}

/* valeurs */
.valeurs{background:var(--jaune)}
.valeurs .sec-head{border-color:var(--ink)}
.valeurs .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3.4vw,54px)}
.val{border-top:1px solid var(--ink);padding-top:18px}
.val h3{font-family:"Montserrat",sans-serif;font-size:1.06rem;font-weight:600;letter-spacing:-.005em;
  text-transform:none;color:var(--bleu);line-height:1.25}
.val p{margin-top:10px;font-size:1.06rem;line-height:1.62;color:#26313a}

/* vision */
.vision{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(26px,5vw,84px);align-items:start}
.vision blockquote{font-style:italic;font-weight:300;font-size:clamp(1.5rem,2.45vw,2.1rem);
  line-height:1.28;color:var(--bleu);border-top:2px solid var(--jaune);padding-top:24px}
.vision p{font-size:1.04rem;line-height:1.7;max-width:62ch}
.vision p+p{margin-top:1em}
.vision strong{font-weight:500;color:var(--ink)}

/* avis */
.avis .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(20px,3.4vw,46px)}
.avis .item{border-top:1px solid var(--rule);padding:20px 0 28px}
.avis p{font-style:italic;font-weight:400;font-size:1.06rem;line-height:1.6;color:var(--ink)}
.avis .item p::before{content:"«\00a0";font-style:normal;font-weight:500}

/* logos */
/* logos : flex plutôt que grille fixe, pour que onze logos remplissent les rangées */
.logos{display:flex;flex-wrap:wrap;border-top:1px solid var(--ink)}
.logos div{flex:1 1 190px;background:var(--paper);height:102px;display:flex;align-items:center;justify-content:center;
  padding:14px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.logos img{width:auto;max-width:100%;max-height:56px;object-fit:contain}
.logos .l-michelin{height:20px}
.logos .l-universcience{height:19px}
.logos .l-republique{height:52px}
.logos .l-engie{height:30px}
.logos .l-onf{height:38px}
.logos .l-orange{height:42px}
.logos .l-siemens{height:22px}
.logos .l-armees{height:54px}
.logos .l-harmonie{height:58px}
.logos .l-ign{height:48px}
.logos .l-cegos{height:28px}

/* qualité */
.qual{background:var(--creme)}
.qual .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3.4vw,34px) clamp(26px,4vw,66px)}
.q{border-top:1px solid var(--ink);padding-top:16px}
.q h3{font-family:"Montserrat",sans-serif;font-size:1.02rem;font-weight:600;letter-spacing:0;
  text-transform:none;color:var(--bleu);margin-bottom:8px}
.q p{font-size:1.04rem;line-height:1.62}

/* formats (accueil) */
.formats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.f{border-top:1px solid var(--ink);padding:18px clamp(14px,1.9vw,26px) 0 0}
.f+.f{border-left:1px solid var(--rule);padding-left:clamp(14px,1.9vw,26px)}
.f h3{font-family:"Montserrat",sans-serif;font-size:.97rem;font-weight:600;letter-spacing:.01em;
  color:var(--bleu);margin-bottom:8px}
.f p{font-size:1rem;line-height:1.6;color:var(--body)}
.formats .plus{margin-top:clamp(26px,3.2vw,40px);display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.formats .plus .lien-fleche{background:var(--bleu);color:#fff}
.formats .plus .lien-fleche:hover{background:#003c5b;color:#fff}

/* ---------- fermeture bleue (bloc commun) ---------- */
.closing{background:var(--bleu);color:var(--creme);padding:clamp(46px,5.8vw,86px) var(--pad)}
.closing .grid{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,.62fr);
  gap:clamp(28px,5vw,84px);align-items:start;max-width:var(--max);margin:0 auto}
.closing h2{color:var(--creme);font-size:clamp(1.85rem,3.5vw,3.1rem);max-width:26ch;text-wrap:balance}
.closing .pc-texte p{color:#dbe9f1;font-size:1rem;line-height:1.66;max-width:56ch;margin-top:14px}
.closing strong{color:#fff;font-weight:500}
.closing .coords{margin-top:26px;font-family:"Montserrat",sans-serif;font-size:12.5px;font-weight:500;
  letter-spacing:.13em;text-transform:uppercase;color:#cfe2ec;line-height:1.9}
.closing .coords a{color:var(--creme);border-bottom:1px solid rgba(255,246,234,.45);padding-bottom:2px}
.closing .coords a:hover{color:var(--jaune);border-color:var(--jaune)}
.closing .pc-credits{margin-top:22px;font-family:"Montserrat",sans-serif;font-size:11.5px;letter-spacing:.06em;
  color:#b9d3e0;line-height:1.6;max-width:82ch}
.certif{background:var(--paper);color:var(--ink);padding:18px 18px 16px;text-align:center}
.certif img{max-width:200px;margin:0 auto}
.certif .mention{font-family:"Montserrat",sans-serif;font-size:12px;line-height:1.55;letter-spacing:0;
  text-transform:none;color:var(--ink);margin-top:12px;max-width:none}
.activateur{background:var(--paper);margin-top:18px;padding:12px;display:flex;justify-content:center}
.activateur img{width:148px;height:auto}

/* ---------- pied ---------- */
footer{border-top:1px solid var(--ink);padding:clamp(26px,3.4vw,46px) var(--pad) 26px;
  display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(20px,4vw,62px);
  font-family:"Montserrat",sans-serif;font-size:12px;line-height:1.7;letter-spacing:.04em;color:var(--dim)}
footer .pied-titre{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink);margin-bottom:10px}
footer p{margin:0 0 2px}
footer a{color:var(--dim)}
footer a:hover{color:var(--ink)}
.legal{grid-column:1/-1;margin-top:24px;padding-top:14px;border-top:1px solid var(--rule);
  display:flex;flex-wrap:wrap;gap:10px 26px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}

/* ---------- pages intérieures ---------- */
.page-head{padding:clamp(26px,3.4vw,44px) 0 clamp(26px,3.4vw,40px);border-bottom:1px solid var(--ink)}
.crumb{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--dim);display:flex;gap:10px;flex-wrap:wrap}
.crumb a:hover{color:var(--ink)}
.crumb span{color:#b3aea5}
.page-head h1{font-size:clamp(2rem,4.4vw,4.1rem);line-height:.94;margin-top:18px;max-width:22ch}
.page-head .chapo{margin-top:22px;max-width:62ch;font-size:1.06rem;line-height:1.66}
.page-head .meta{display:flex;gap:clamp(14px,2.4vw,32px);flex-wrap:wrap;margin-top:26px}
.page-head .meta span{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--bleu)}
.page-head .meta span+span{border-left:1px solid var(--rule);padding-left:clamp(14px,2.4vw,32px)}
.body-pad{padding-top:clamp(32px,4.4vw,56px);padding-bottom:clamp(40px,5vw,76px)}
.cnote{margin-top:28px;font-style:italic;color:var(--dim);font-size:1rem;max-width:66ch}

/* catalogue : lignes */
.rows.cat .prog{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr) auto;align-items:start}
.rows.cat .prog .t{margin-bottom:6px}
.rows.cat .prog .d{max-width:44ch}
.cmeta{display:flex;flex-direction:column;gap:4px;align-items:flex-end;text-align:right}
.cmeta b{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--bleu)}
.cmeta span{font-family:"Montserrat",sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.cmeta em{font-style:normal;font-family:"Montserrat",sans-serif;font-size:1.02rem;font-weight:500;color:var(--ink);margin-top:6px}

/* page programme */
.prog-head{padding:clamp(26px,3.4vw,44px) 0 clamp(26px,3.4vw,40px);border-bottom:1px solid var(--ink)}
.prog-head h1{font-size:clamp(2rem,4.4vw,4.1rem);line-height:.94;margin-top:18px;max-width:22ch}
.prog-head .chapo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,4vw,64px);margin-top:24px}
.prog-head .chapo p{font-size:1.06rem;line-height:1.66;max-width:50ch}
.prog-head .chapo p:only-child{grid-column:1/-1;max-width:62ch}
.prog-head .meta{display:flex;gap:clamp(14px,2.4vw,32px);flex-wrap:wrap;margin-top:26px}
.prog-head .meta span{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--bleu)}
.prog-head .meta span+span{border-left:1px solid var(--rule);padding-left:clamp(14px,2.4vw,32px)}

.prog-body{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(30px,5vw,84px);
  padding:clamp(32px,4.4vw,64px) var(--pad) clamp(40px,5vw,64px);align-items:start;max-width:var(--max);margin:0 auto}
.article h2{font-size:clamp(1.3rem,2vw,1.75rem);margin-bottom:18px}
.article section+section{margin-top:clamp(30px,4vw,52px);padding-top:clamp(26px,3vw,36px);border-top:1px solid var(--rule)}
.article .lab{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.article ul{list-style:none}
.article ul li{position:relative;padding-left:22px;margin-bottom:10px;font-size:1.02rem;line-height:1.6}
.article ul li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:2px;background:var(--bleu)}
.article p+p{margin-top:1em}
ul.modules{list-style:none;counter-reset:m;margin-top:18px}
ul.modules li{counter-increment:m;position:relative;padding:18px 0 18px 64px;
  border-bottom:1px solid var(--rule);margin-bottom:0;font-size:1rem}
ul.modules li:first-child{border-top:1px solid var(--rule)}
ul.modules li::before{content:counter(m,decimal-leading-zero);position:absolute;left:0;top:19px;
  width:auto;height:auto;background:none;font-family:"Montserrat",sans-serif;
  font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--bleu)}
.modules h3{font-family:"Montserrat",sans-serif;font-size:1.02rem;font-weight:600;letter-spacing:-.005em;
  text-transform:none;color:var(--ink);margin-bottom:6px}
.modules p{font-size:.99rem;line-height:1.6;color:var(--body)}
.info dl{display:grid;grid-template-columns:170px 1fr;gap:12px 24px;border-top:1px solid var(--rule);padding-top:18px}
.info dt{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--dim);padding-top:.3em}
.info dd{font-size:1rem;line-height:1.6}
.faq-item{border-bottom:1px solid var(--rule);padding:16px 0}
.faq-item:first-of-type{border-top:1px solid var(--rule)}
.faq-item h3{font-family:"Montserrat",sans-serif;font-size:1rem;font-weight:600;text-transform:none;
  letter-spacing:0;color:var(--ink);display:flex;justify-content:space-between;gap:20px}
.faq-item h3 span{color:var(--bleu);font-weight:400}
.faq-item p{margin-top:8px;font-size:.99rem;line-height:1.62;max-width:62ch;color:var(--body)}

.side{position:sticky;top:18px;border:1px solid var(--ink);padding:22px 22px 20px;background:var(--creme)}
.side .prix{font-family:"Montserrat",sans-serif;font-size:clamp(1.7rem,2.4vw,2.15rem);font-weight:500;
  letter-spacing:-.02em;color:var(--ink);line-height:1}
.side .prix-note{font-family:"Montserrat",sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);margin-top:8px}
.side dl{margin-top:18px;border-top:1px solid var(--rule)}
.side dt{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--dim);padding-top:11px}
.side dd{font-size:.96rem;line-height:1.5;padding-bottom:11px;border-bottom:1px solid var(--rule)}
.side .actions{margin-top:20px;display:grid;gap:10px}
.btn{display:block;text-align:center;font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;padding:14px 16px}
.btn-plein{background:var(--bleu);color:#fff}
.btn-plein:hover{background:#003c5b;color:#fff}
.btn-ligne{border:1px solid var(--bleu);color:var(--bleu)}
.btn-ligne:hover{background:var(--bleu);color:#fff}
.side .rassure{margin-top:14px;font-size:.9rem;line-height:1.5;color:var(--dim);font-style:italic;text-align:center}
.side .pdf{display:block;margin-top:12px;text-align:center;font-size:.92rem;color:var(--bleu)}
.bandeau{background:var(--bleu);color:var(--creme);padding:clamp(26px,3.4vw,44px) var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.bandeau p{font-size:1.06rem;max-width:56ch;color:#dbe9f1}
.bandeau strong{color:#fff;font-weight:500}
.bandeau a{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink);background:var(--jaune);padding:13px 18px;white-space:nowrap}
.bandeau a:hover{background:var(--creme)}

/* autres formats */
.fmts{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,5vw,76px)}
.fmt{border-top:1px solid var(--ink);padding:22px 0 32px}
.fmt h2{font-size:clamp(1.3rem,2.1vw,1.7rem);margin-bottom:12px}
.fmt p{font-size:1.02rem;line-height:1.66;max-width:52ch}
.fmt .src{color:var(--ink)}
.fmt .detail{margin-top:10px;font-style:italic;font-weight:400;color:#3c454c;font-size:1.06rem}

/* à propos */
.ap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(30px,5vw,80px);align-items:start}
.apmain section+section{margin-top:clamp(30px,4vw,52px);padding-top:clamp(26px,3vw,36px);border-top:1px solid var(--rule)}
.apmain h2{font-size:clamp(1.3rem,2vw,1.75rem);margin-bottom:18px}
.apmain p+p{margin-top:1em}
.apmain blockquote{margin-top:22px;font-style:italic;font-size:1.3rem;line-height:1.4;color:var(--bleu);
  border-top:2px solid var(--jaune);padding-top:18px;max-width:48ch}
.apavis p{border-bottom:1px solid var(--rule);padding:14px 0;font-style:italic;font-size:1.02rem;color:var(--ink)}
.apportrait{width:100%;object-fit:cover}
.apcap{margin-top:9px;font-family:"Montserrat",sans-serif;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--dim);text-align:right}
.apbox{margin-top:22px;border-top:1px solid var(--ink);padding-top:16px}
.apbox h3{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.apbox ul{list-style:none}
.apbox li{font-size:.99rem;line-height:1.55;color:var(--body);padding:9px 0;border-bottom:1px solid var(--rule)}

/* faq */
.faqbloc+.faqbloc{margin-top:clamp(30px,4vw,48px)}
.faqbloc h2{font-size:clamp(1.3rem,2vw,1.7rem);margin-bottom:16px}
details{border-bottom:1px solid var(--rule)}
details:first-of-type{border-top:1px solid var(--rule)}
summary{font-family:"Montserrat",sans-serif;font-size:1.02rem;font-weight:600;color:var(--ink);
  padding:16px 30px 16px 0;cursor:pointer;position:relative;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:14px;color:var(--bleu);font-weight:400}
details[open] summary::after{content:"–"}
details p{padding:0 0 18px;font-size:1rem;line-height:1.66;max-width:70ch;color:var(--body)}
details p+p{padding-top:0}

/* contact */
.ctc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,80px);align-items:start}
.ctcmain p{font-size:1.06rem;line-height:1.7;max-width:52ch}
.ctcmail{margin-top:clamp(24px,3vw,38px);border-top:1px solid var(--ink);padding-top:22px}
.ctcmail a{font-family:"Montserrat",sans-serif;font-size:clamp(1.2rem,2.2vw,1.7rem);font-weight:500;
  letter-spacing:-.02em;color:var(--bleu);text-transform:none;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.ctctel{margin-top:10px;font-family:"Montserrat",sans-serif;font-size:1.02rem;letter-spacing:.06em;color:var(--ink)}
.ctcbox{border-top:1px solid var(--ink);padding-top:4px}
.ctcbox h2{font-family:"Montserrat",sans-serif;font-size:.95rem;font-weight:600;text-transform:none;
  letter-spacing:0;color:var(--bleu);margin-top:18px;margin-bottom:6px}
.ctcbox p{font-size:.99rem;line-height:1.62;max-width:48ch}

/* pages légales */
.leg-sommaire{display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:clamp(30px,4vw,48px)}
.leg-sommaire a{font-family:"Montserrat",sans-serif;font-weight:600;font-size:.98rem;color:var(--bleu);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.leg{scroll-margin-top:20px;border-top:1px solid var(--ink);padding-top:20px;margin-bottom:clamp(34px,4.4vw,56px);max-width:78ch}
.leg>h2{font-size:clamp(1.25rem,2vw,1.6rem);margin-bottom:16px}
.leg h3{font-family:"Montserrat",sans-serif;font-size:1rem;font-weight:600;text-transform:none;
  letter-spacing:0;color:var(--bleu);margin:22px 0 8px}
.leg p,.leg li{font-size:.98rem;line-height:1.66;max-width:74ch}
.leg p+p{margin-top:.8em}
.leg ul,.leg ol{margin:.6em 0 .6em 1.2em}
.leg li{margin-bottom:.35em}
.leg strong{font-weight:500;color:var(--ink)}
.leg table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.95rem}
.leg th,.leg td{border-top:1px solid var(--rule);padding:9px 12px 9px 0;text-align:left;vertical-align:top}
.leg th{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}

/* ---------- mobile ---------- */
@media (max-width: 980px){
  body{font-size:16.5px}
  .top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:13px var(--pad)}
  .marque{width:calc(100% - 60px)}
  .burger{display:block;margin-left:auto}
  nav.menu{display:none;order:4;width:100%;flex-direction:column;align-items:flex-start;gap:0;
    border-top:1px solid rgba(255,246,234,.3);margin-top:10px;padding-top:6px}
  nav.menu.ouvert{display:flex}
  nav.menu a{width:100%;padding:11px 0;font-size:13px;border-bottom:0}
  nav.menu a.cta{width:auto;margin-top:10px;padding:11px 16px}
  .hero{grid-template-columns:1fr}
  .hero .txt{grid-column:auto;padding:28px var(--pad) 30px}
  .hero figure{grid-column:auto;position:static;min-height:0;overflow:visible}
  .hero h1{font-size:clamp(1.85rem,7.4vw,2.6rem);max-width:100%}
  .hero figure img{position:static;min-height:0;height:auto;aspect-ratio:4/3;object-position:center 20%;width:100%}
  .faits{grid-template-columns:1fr;gap:0;padding-top:16px;padding-bottom:18px}
  .faits div{padding-left:0;border-left:0;padding-top:13px;border-top:1px solid rgba(255,246,234,.22)}
  .faits div:first-child{padding-top:0;border-top:0}
  .faits b{font-size:1rem}
  .faits span{font-size:.92rem}
  .sec{padding:38px var(--pad)}
  .sec-head{flex-direction:column;gap:8px;align-items:flex-start}
  .rows .prog,.rows.cat .prog{grid-template-columns:1fr;gap:6px;padding:16px 0}
  .rows .prog .m{margin-top:4px}
  .cmeta{align-items:flex-start;text-align:left;margin-top:6px}
  .note{grid-template-columns:1fr;gap:8px}
  .valeurs .grid,.vision,.qual .grid{grid-template-columns:1fr;gap:24px}
  .avis .grid{grid-template-columns:1fr}
  .logos div{flex:0 0 50%;height:88px}
  .formats .grid{grid-template-columns:1fr}
  .f+.f{border-left:0;padding-left:0;margin-top:10px}
  .closing .grid{grid-template-columns:1fr;gap:30px}
  footer{grid-template-columns:1fr;gap:22px}
  .page-head h1,.prog-head h1{font-size:clamp(1.8rem,7vw,2.6rem)}
  .prog-head .chapo{grid-template-columns:1fr;gap:8px}
  .prog-body,.ap,.ctc{grid-template-columns:1fr;gap:30px}
  .side{position:static}
  .prog-body .side{order:-1}
  .info dl{grid-template-columns:1fr;gap:4px 0}
  .info dd{margin-bottom:12px}
  .info dt{padding-top:10px}
  .fmts{grid-template-columns:1fr;gap:0}
  .apside{order:-1}
  .apportrait{max-height:420px;width:100%}
  ul.modules li{padding-left:48px}
}
@media (max-width: 560px){
  .hero h1{font-size:clamp(1.7rem,8vw,2.2rem)}
  .faits div{font-size:11.5px}
  .prog-head .meta span+span{border-left:0;padding-left:0}
  .prog-head .meta{flex-direction:column;gap:6px}
  .side{padding:18px}
}

/* logo animé  */
.hero .txt{position:relative}
.logo-anime{display:block;position:relative;aspect-ratio:1023/1087}
.logo-anime img,.logo-anime svg{position:absolute;inset:0;width:100%;height:100%}
.l-etoile{transform-origin:52.6% 61%;animation:etoile 1.1s cubic-bezier(.2,.9,.25,1.15) .2s both}
.l-boucle .trace{stroke-dasharray:1 1;stroke-dashoffset:1;animation:trace 1.7s cubic-bezier(.45,.05,.4,1) 1s forwards}
@keyframes trace{to{stroke-dashoffset:0}}
.logo-anime:hover .l-etoile{transform:rotate(45deg);transition:transform .6s cubic-bezier(.2,.9,.25,1.15)}
@keyframes etoile{from{opacity:0;transform:scale(.15) rotate(-200deg)}60%{opacity:1}to{opacity:1;transform:none}}
@keyframes boucle{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.l-etoile,.l-boucle .trace{animation:none;stroke-dashoffset:0}}

.hero .entete{display:flex;align-items:center;gap:clamp(14px,2vw,28px);margin-bottom:clamp(26px,3.4vw,44px)}
.hero .entete p{font-family:"Montserrat",sans-serif;font-weight:700;font-size:clamp(1.6rem,2.8vw,2.6rem);line-height:1;letter-spacing:-.03em;color:#fff;margin:0}
.hero .entete .logo-anime{width:clamp(96px,9vw,140px);flex:0 0 auto}
.hero h1{font-size:clamp(1.8rem,3.3vw,3.1rem)}
@media (max-width:980px){.hero .entete .logo-anime{width:84px}}

/* mini-animations au défilement  : actives seulement si le script a posé .anim */
.anim .mark::after{transform:skewX(-7deg) scaleX(0);transform-origin:left center;transition:transform .55s cubic-bezier(.6,0,.3,1) .45s}
.anim .mark.vu::after{transform:skewX(-7deg) scaleX(1)}
.anim .sec-head{position:relative;border-top-color:transparent}
.anim .sec-head::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left center;transition:transform .6s cubic-bezier(.6,0,.3,1)}
.anim .sec-head.vu::before{transform:scaleX(1)}
.anim .cascade>*{opacity:0;transform:translateY(10px);transition:opacity .45s ease-out,transform .45s ease-out;transition-delay:calc(var(--i,0) * 90ms)}
.anim .logos.cascade>*{transition-delay:calc(var(--i,0) * 45ms)}
.anim .cascade.vu>*{opacity:1;transform:none}

/* photo du hero entière + label UE « AI modified » posé sur l'image  */
.hero figure{min-height:0;overflow:visible;background:none;display:block;position:relative;align-self:stretch}
.hero figure img:not(.label-ia){position:static;inset:auto;width:100%;height:auto;object-fit:initial;display:block}
.hero figure .label-ia{position:absolute;right:8px;bottom:8px;width:auto;height:11px;inset:auto 8px 8px auto;min-height:0;aspect-ratio:auto}
@media (max-width:980px){.hero figure img:not(.label-ia){aspect-ratio:auto;height:auto}.hero figure .label-ia{height:10px}}

/* À propos : nouvelle photo entière + petit label UE  */
.apphoto{position:relative}
.apphoto .apportrait{height:auto;max-height:none;object-fit:initial}
.apphoto .label-ia{position:absolute;right:8px;bottom:8px;height:11px;width:auto}
@media (max-width:980px){.apphoto .apportrait{max-height:none}.apphoto .label-ia{height:10px}}

/* logo à côté du nom dans la barre : nom et « Formation » sur la même ligne de base, logo centré */
.marque{align-items:baseline}
.marque .logo-barre{height:34px;width:auto;flex:0 0 auto;margin-right:-4px;align-self:center}
@media (max-width:980px){.marque .logo-barre{height:28px}}
@media (max-width:440px){.marque{gap:8px}.marque .logo-barre{height:24px;margin-right:0}.marque .nom{font-size:1.06rem}.marque .volet{font-size:11.5px;letter-spacing:.1em}}
@media (max-width:350px){.marque{gap:6px}.marque .logo-barre{height:20px}.marque .nom{font-size:.95rem}.marque .volet{font-size:10.5px;letter-spacing:.06em}}

/* le numéro « Module N : » est dans son texte : pas de second numéro automatique */
ul.modules li::before{content:none}
ul.modules li{padding-left:0}

/* bande bleue en tête des pages intérieures (validée par Sara le 5/11) */
.page-head,.prog-head{background:var(--bleu);color:var(--creme);border-bottom:0;border-top:1px solid rgba(255,246,234,.28)}
.page-head h1,.prog-head h1{color:var(--creme)}
.page-head .chapo,.page-head .chapo p,.prog-head .chapo p{color:#f3ece2}
.page-head .crumb,.prog-head .crumb,.page-head .crumb a,.prog-head .crumb a{color:rgba(255,246,234,.82)}
.page-head .crumb span,.prog-head .crumb span{color:rgba(255,246,234,.5)}
.page-head .crumb a:hover,.prog-head .crumb a:hover{color:var(--jaune)}
.page-head .meta span,.prog-head .meta span{color:var(--jaune)}
.page-head .meta span+span,.prog-head .meta span+span{border-left-color:rgba(255,246,234,.35)}
.page-head a.lien,.prog-head a.lien{color:var(--creme)}
.page-head :focus-visible,.prog-head :focus-visible{outline-color:var(--jaune)}


/* « Bon à savoir » retiré le 5/11 : la phrase garde sa place dans la colonne de droite */
.note p{grid-column:2}
@media (max-width:980px){.note p{grid-column:1}}

/* FAQ : listes dans les réponses ; À propos : phrase sous les domaines d’expertise */
details ul{margin:-6px 0 18px;padding-left:1.25em;max-width:70ch}
details li{font-size:1rem;line-height:1.66;color:var(--body);margin-bottom:6px}
.apbox .apintervient{margin-top:16px;font-size:15px;line-height:1.55}

/* Typographie légère (validée le 11/11/2026) : titres en 500, interlettrage normal, interligne aéré */
h1,h2,h3,h4{font-weight:500;letter-spacing:0;line-height:1.15;text-wrap:balance}
.hero h1{font-weight:500;letter-spacing:0;line-height:1.1}
.marque .nom{font-weight:500;letter-spacing:0}
.rows .prog .t,.val h3,.q h3,.f h3,.faits b,.modules h3{font-weight:500;letter-spacing:0}
.hero .sub{font-weight:500}
