/* Recopié de la maquette v7 par outils/construire.py : ne pas modifier ici, voir royal.css. */
/* ---- v7.css */
:root{
  --creme:#f3eee6;--blanc:#fbfaf8;--encre:#1c1b3d;--brun:#2a2c68;--jaune:#d47e06;--nuit:#0e1233;--gris:#6e6c84;--bronze:#8a4e12;--bleu:#0f6db3;--filet:#e2dbd0;--wa:#0f7f43;
  --marge:max(32px,calc((100vw - 1400px) / 2));
  --serif:"Instrument Serif",Georgia,serif;--sans:"Oswald",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:20px}
body{background:var(--creme);color:var(--encre);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button,input{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.01em}
em{font-style:italic}

.pilule{display:inline-flex;align-items:center;gap:14px;padding:15px 26px;border-radius:999px;background:var(--brun);color:#fff;text-decoration:none;text-transform:uppercase;font-size:14px;font-weight:500;letter-spacing:.02em;border:0;cursor:pointer;transition:background .3s,gap .3s}
.pilule:hover{background:var(--encre);gap:20px}
.pilule span{font-size:18px;line-height:1}
.pilule--clair{background:rgba(255,255,255,.92);color:var(--encre)}
.pilule--clair:hover{background:#fff}
.pilule--wa{background:var(--wa)}

/* en-tête */
.tete{position:absolute;inset:0 0 auto 0;z-index:30;display:flex;align-items:center;gap:40px;height:96px;padding:0 var(--marge)}
.tete__logo img{width:128px;height:auto}
.tete__nav{display:flex;gap:clamp(26px,3.6vw,64px);margin:0 auto;padding-left:clamp(0px,2vw,40px);white-space:nowrap;text-transform:uppercase;font-size:15px;font-weight:500}
.tete__nav a{position:relative;text-decoration:none;color:var(--brun);transition:color .2s}
.tete__nav a:hover,.tete__nav a.actif{color:var(--encre)}
.tete__nav a.actif:after{content:"";position:absolute;left:50%;top:calc(100% + 8px);width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--jaune)}
.tete__cta{padding:13px 22px;white-space:nowrap}
.tete__burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--encre);background:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.tete__burger i{display:block;width:16px;height:1.5px;background:var(--encre);transition:transform .3s}
.tete__burger[aria-expanded=true] i:first-child{transform:translateY(3.25px) rotate(45deg)}
.tete__burger[aria-expanded=true] i:last-child{transform:translateY(-3.25px) rotate(-45deg)}

/* 1. héros */
.heros{position:relative;height:100vh;height:100svh;min-height:680px;overflow:hidden}
.heros__titre{position:absolute;left:5vw;top:16vh;z-index:3;font-size:4.7vw;line-height:.96;letter-spacing:-.01em}
.heros__cartes{position:absolute;inset:0;z-index:1;pointer-events:none}
.heros__cartes figure{position:absolute;left:0;top:0;width:12.5vw;aspect-ratio:1.33;will-change:transform}
.heros__cartes img{width:100%;height:100%;object-fit:cover;border-radius:14px}
html:not(.anime) .heros__cartes{display:none}
.heros__chef{position:absolute;left:50%;bottom:-4vh;z-index:2;height:min(92vh,960px);width:auto;translate:-50% 0}
.anime .heros__chef{visibility:hidden}
.voyageur{display:none}
.anime .voyageur{display:block;position:fixed;left:50%;bottom:-4vh;z-index:2;translate:-50% 0;pointer-events:none;will-change:transform}
.voyageur img{height:min(92vh,960px);width:auto;max-width:none}
.tampon{position:absolute;right:80px;top:11.6vh;z-index:3;width:122px;height:122px;display:grid;place-items:center}
.tampon svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--encre);font-size:9px;font-weight:500;letter-spacing:.12em;animation:tourne 26s linear infinite}
.tampon span{font-family:var(--serif);font-size:38px;color:var(--encre);line-height:1}
@keyframes tourne{to{transform:rotate(360deg)}}
.heros__cta{position:absolute;left:32px;bottom:32px;z-index:3;height:56px;padding:0 30px;font-size:14.3px;background:#79553a;transition:background .16s,scale .16s cubic-bezier(.23,1,.32,1)}
.heros__cta:hover{background:#5d3f2c;gap:14px}
.heros__cta:active{scale:.97}
.heros__note{position:absolute;right:32px;bottom:32px;z-index:3;width:288px;padding-left:44px;text-transform:uppercase;font-size:13.5px;font-weight:500;line-height:1.55;color:#6e5a49}
.heros__note:before{content:"";position:absolute;left:0;top:.8em;width:32px;height:1px;background:rgba(42,26,18,.6)}

/* 4. comment nous faisons : la part coupée grandit jusqu'à l'écran */
.dedans{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:#fff}
.dedans__tete{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;gap:40px;padding:0 var(--marge)}
.dedans__titre{width:30%;font-size:clamp(40px,4.6vw,76px);line-height:1}
.dedans__texte{width:min(26%,340px);font-size:16px;line-height:1.6;color:#4b4a68}
.dedans__cadre{position:absolute;left:50%;top:50%;z-index:2;width:min(24vw,360px);aspect-ratio:.8;translate:-50% -50%;overflow:hidden;border-radius:24px;background:#d9c8b3}
.dedans__cadre video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dedans__voile{position:absolute;inset:0;opacity:0;background:linear-gradient(to top,rgba(20,12,8,.72),rgba(20,12,8,.18) 55%,rgba(20,12,8,.1))}
.dedans__phrase{position:absolute;left:var(--marge);right:var(--marge);bottom:clamp(40px,8vh,88px);z-index:3;font-size:clamp(40px,5.6vw,92px);font-weight:400;line-height:1;letter-spacing:-.045em;color:#fff}
html:not(.anime) .dedans__voile{opacity:1}
html:not(.anime) .dedans__cadre{inset:0;width:auto;aspect-ratio:auto;translate:none;border-radius:0}
html:not(.anime) .dedans__tete{display:none}
@media (max-width:760px){
  .dedans__tete{flex-direction:column;justify-content:space-between;align-items:flex-start;padding:76px var(--marge) 40px}
  .dedans__titre{width:auto;font-size:40px}
  .dedans__texte{width:auto;max-width:340px;font-size:15px}
  .dedans__cadre{width:52vw}
  .dedans__phrase{font-size:38px;bottom:56px}
}

/* les étages : les pièces flottent, puis se posent */
.etages{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:#fff}
.etages__titre{position:absolute;left:var(--marge);top:12vh;z-index:3;width:29vw;font-size:clamp(36px,3.7vw,64px);line-height:1.02}
.etages__note{position:absolute;right:var(--marge);top:14.8vh;z-index:3;width:304px;font-size:15px;font-weight:500;line-height:1.5;color:var(--brun)}
.etages__note .ligne{padding-bottom:.2em}
.etages__gateau{position:absolute;left:50%;bottom:-2vh;width:min(60vw,96vh);aspect-ratio:1;translate:-50% 0}
.piece{--fy:0;--fr:0;--amp:0;--rmax:4deg;position:absolute;height:auto;translate:0 calc(var(--fy) * var(--amp) * 1.5vh);rotate:calc(var(--fr) * var(--amp) * var(--rmax));will-change:transform}
@media (max-width:760px){
  .etages__titre{top:84px;width:auto;font-size:34px}
  .etages__note{left:var(--marge);right:var(--marge);top:auto;bottom:28px;width:auto;font-size:14px}
  .etages__gateau{width:92vw;bottom:15vh}
}

@media (max-width:760px){
  .heros__titre{left:20px;top:96px;font-size:13.5vw}
  .heros__cartes figure{width:15vw}
  .heros__chef,.anime .voyageur{bottom:0}
  .heros__chef,.voyageur img{height:56svh}
  .tampon{display:none}
  .heros__cta{left:20px;bottom:auto;top:calc(83svh - 28px)}
  .heros__note{left:20px;right:auto;bottom:auto;top:calc(83svh + 42px);width:288px}
}
html.sombre{background:var(--nuit)}

/* lignes de titre masquées */
.ligne{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.ligne > span{display:block}

/* 6. parcours */
.parcours{position:relative;z-index:2}
.parcours__ecran{position:relative;height:100vh;height:100svh;overflow:hidden;background:var(--creme)}
.parcours.statique .parcours__ecran{height:320vh;height:320svh}
.parcours__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.parcours__fond,.parcours__trait{fill:none;stroke-width:clamp(18px,2.4vw,34px);stroke-linecap:round;stroke-linejoin:round}
.parcours__fond{stroke:rgba(42,26,18,.08)}
.parcours__trait{stroke:var(--jaune)}
.parcours__monde{position:absolute;inset:0 0 auto 0;height:320vh;height:320svh}
.parcours__titre{position:absolute;top:40vh;top:40svh;left:var(--marge);z-index:2;font-size:clamp(2.4rem,5.2vw,5rem);line-height:1}
.parcours__ruban{position:absolute;width:min(34vw,28rem);overflow:visible}
.parcours__ruban--a{top:6vh;top:6svh;right:-4vw}
.parcours__ruban--b{top:150vh;top:150svh;left:-4vw}
.parcours__ruban path{fill:none;stroke:var(--jaune);stroke-width:38;stroke-linecap:round}
.parcours__ruban text{font-family:var(--sans);font-size:15px;font-weight:700;letter-spacing:.18em;fill:var(--encre);dominant-baseline:central}
.parcours__etapes{list-style:none;position:absolute;inset:0}
.parcours__etapes li{position:absolute;width:0;height:0}
.parcours__etapes b{position:absolute;left:0;top:0;translate:-50% -50%;display:grid;place-items:center;width:clamp(2.6rem,3.4vw,3.4rem);aspect-ratio:1;border-radius:50%;background:var(--encre);color:var(--creme);font-size:clamp(.85rem,1.1vw,1.05rem);font-weight:500;letter-spacing:.04em}
.parcours__etapes li > div{position:absolute;top:0;width:min(24rem,38vw);translate:0 -50%}
.parcours__etapes li[data-cote=d] > div{left:clamp(2rem,3vw,3rem)}
.parcours__etapes li[data-cote=g] > div{right:clamp(2rem,3vw,3rem);text-align:right}
.parcours__etapes h3,.parcours__etapes p{overflow:hidden}
.parcours__etapes h3 span,.parcours__etapes p span{display:block}
.parcours__etapes h3{font-size:clamp(1.6rem,2.6vw,2.6rem);line-height:1.05;padding-bottom:.08em}
.parcours__etapes p{margin-top:.5em;font-size:clamp(.9rem,1.1vw,1.1rem);line-height:1.45;text-transform:uppercase;font-weight:500;color:var(--brun)}

/* 7. avis : les fêtes à faire glisser, puis leurs mots */
.avis{position:relative;z-index:3;padding:clamp(5rem,11vw,9rem) 0;border-radius:28px 28px 0 0;background:#fff;overflow:hidden}
.anime .avis{margin-top:-100vh;margin-top:-100svh}
.avis__tete{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:0 var(--marge);margin-bottom:40px}
.avis__titre{font-size:clamp(2.4rem,5.4vw,5.4rem);line-height:1}
.avis__glisse{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--brun);white-space:nowrap}
.avis__glisse span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--creme);color:var(--encre);animation:pousse 1.6s ease-in-out 2}
@keyframes pousse{50%{translate:5px 0}}
.souvenirs{display:flex;gap:20px;padding:0 var(--marge) 10px;overflow-x:auto;scrollbar-width:none;cursor:grab;user-select:none;-webkit-user-select:none}
.souvenirs::-webkit-scrollbar{display:none}
.souvenirs.tire{cursor:grabbing}
.souvenir{flex:0 0 clamp(240px,21vw,320px);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.souvenir:nth-child(odd){margin-top:60px}
.souvenir img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%;border-radius:20px;pointer-events:none}
.souvenir figcaption{display:grid;gap:2px;margin-top:12px;font-size:14px;color:var(--gris)}
.souvenir figcaption b{font-size:16px;font-weight:600;color:var(--encre)}
.souvenir:hover{transform:translateY(-8px)}
.avis__mots{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 40px;margin-top:clamp(4rem,7vw,6rem);padding:0 var(--marge)}
.avis__mot{border-top:1px solid var(--filet);padding-top:22px}
.avis__mot p{font-size:19px;line-height:1.5;color:var(--gris)}
.avis__mot footer{margin-top:16px;font-size:14px;color:var(--brun)}
.avis__lien{margin:40px var(--marge) 0}

/* 8. formations : vidéo et photos à gauche, offres à droite */
.formations{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,120px);align-items:start;padding:clamp(5rem,11vw,9rem) var(--marge);background:var(--creme)}
.formations__video{overflow:hidden;border-radius:24px;background:#d9c8b3}
.formations__video video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.formations__photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.formations__photos img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:16px}
.formations__titre{font-size:clamp(2.4rem,5vw,5rem);line-height:1}
.formations__intro{max-width:560px;margin:22px 0 34px;font-size:17px;line-height:1.6;color:#4b4a68}
.formation{padding:26px 0;border-top:1px solid var(--filet)}
.formation:last-child{border-bottom:1px solid var(--filet)}
.formation__tete{display:flex;justify-content:space-between;gap:24px;align-items:center}
.formation h3{font-size:clamp(28px,2.6vw,42px);line-height:1.05;margin-bottom:8px}
.formation__tete p{max-width:440px;font-size:15px;line-height:1.5;color:var(--gris)}
.formation__prix{flex:none;text-align:right;font-size:24px!important;font-weight:700;letter-spacing:-.02em;color:var(--encre)!important;white-space:nowrap}
.formation__prix span{display:block;font-size:13px;font-weight:400;letter-spacing:0;color:var(--gris)}
.formation__programme{margin:16px 0 22px;font-size:15px;color:#4b4a68}
.formation__programme summary{width:max-content;cursor:pointer;color:var(--encre);font-weight:500;text-decoration:underline;text-decoration-color:var(--filet);text-underline-offset:4px}
.formation__programme ul{margin:14px 0 0 18px;columns:2;column-gap:32px}
.formation__programme li{margin-bottom:6px;break-inside:avoid}

/* commander : le modèle */
.choix__titre small{margin-left:8px;font-size:13px;font-weight:400;color:rgba(243,238,230,.55)}
.modele{display:grid;gap:12px;justify-items:start}
.modele__photo{position:relative;display:flex;align-items:center;gap:16px;width:100%;max-width:520px;padding:14px 18px 14px 14px;border:1px solid rgba(243,238,230,.28);border-radius:16px;cursor:pointer;transition:border-color .3s}
.modele__photo:hover,.modele__photo:focus-within{border-color:var(--creme)}
.modele__photo input{position:absolute;inset:0;opacity:0;cursor:pointer}
.modele__photo:before{content:"+";display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:12px;background:rgba(243,238,230,.1);font-size:24px;color:var(--creme)}
.modele__photo.rempli:before{display:none}
.modele__photo img{flex:none;width:56px;height:56px;border-radius:12px;object-fit:cover}
.modele__texte{display:grid;gap:2px;font-size:15px;color:var(--creme)}
.modele__texte b{font-weight:500}
.modele__texte small{font-size:13px;color:rgba(243,238,230,.6)}
.modele__vitrine{display:flex;align-items:center;gap:14px;font-size:15px;color:var(--creme)}
.modele__retirer{background:none;border:0;padding:0;font-size:13px;color:rgba(243,238,230,.7);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.commander__aide{margin-top:12px;font-size:13px;line-height:1.5;color:var(--brun)}

/* 9. commander : l'appel final */
.commander{background:var(--nuit);color:var(--creme);padding:clamp(5rem,11vw,9rem) var(--marge) 0}
.commander__tete{display:grid;gap:24px;max-width:46rem}
.commander__titre{font-size:clamp(2.8rem,7vw,7rem);line-height:.98}
.commander__intro{max-width:34rem;font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.55;text-transform:uppercase;font-weight:500;color:#dfe3f0}
.commander__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,100px);align-items:start;margin-top:clamp(3rem,5vw,4.5rem)}
.choix{padding:20px 0;border-top:1px solid rgba(243,238,230,.14)}
.choix__titre{display:flex;justify-content:space-between;align-items:baseline;text-transform:uppercase;font-size:13px;font-weight:500;margin-bottom:14px}
.choix__titre output{font-family:var(--serif);font-size:30px;text-transform:none}
.choix__options{display:flex;flex-wrap:wrap;gap:8px}
.pastille{background:none;border:1px solid rgba(243,238,230,.5);border-radius:999px;padding:9px 18px;font-size:13px;text-transform:uppercase;color:var(--creme);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.pastille:hover{border-color:var(--creme)}
.pastille.choisi{background:var(--brun);border-color:var(--brun);color:#fff}
.choix--deux{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.choix label{display:grid;gap:6px;text-transform:uppercase;font-size:12px;font-weight:500;color:#aab0cc}
.choix label input{background:none;border:0;border-bottom:1px solid rgba(243,238,230,.3);padding:10px 0;font-size:16px;text-transform:none;color:var(--creme);outline:none;color-scheme:dark}
.choix label input::placeholder{color:rgba(243,238,230,.4)}
.choix label input:focus{border-color:var(--jaune)}
.choix input[type=range]{width:100%;accent-color:var(--jaune)}
.commander__lien{display:inline-block;margin-top:20px;font-size:16px;text-transform:uppercase;font-weight:500;text-decoration:underline;text-decoration-color:var(--jaune);text-decoration-thickness:1px;text-underline-offset:.35em}
.commander__message{position:sticky;top:40px;padding:26px 28px;border-radius:12px 12px 4px 4px;background:#fffdf8;color:var(--encre)}
.commander__etiquette{text-transform:uppercase;font-size:12px;font-weight:500;color:var(--gris);margin-bottom:14px}
.bulle{padding-bottom:18px;border-bottom:1px solid var(--filet);font-family:system-ui,sans-serif;font-size:15px;line-height:1.6;white-space:pre-line}
.commander__message .pilule{display:flex;justify-content:space-between;min-height:3.5rem;margin-top:20px;padding:0 2rem;font-size:17px}
.commander .pilule:hover,.offre .pilule:hover{background:#1b1d4d}
.commander .pilule span,.offre .pilule span{transition:translate .3s,color .3s}
.commander .pilule:hover span,.offre .pilule:hover span{translate:4px 0;color:var(--jaune)}
.commander__note{font-size:12px;color:var(--gris);margin-top:12px}

/* pied */
.pied{background:var(--nuit);color:var(--creme)}
.pied__bas{display:grid;grid-template-columns:5fr 4fr 3fr;gap:48px 72px;padding:64px var(--marge) 32px;border-top:1px solid rgba(243,238,230,.12);font-size:14px;color:#dfe3f0}
.pied__marque img{width:176px;height:auto;filter:brightness(0) invert(1)}
.pied__marque p{margin-top:12px;text-transform:uppercase;font-size:12px;opacity:.75}
.pied__contact,.pied__liens{display:grid;align-content:start;justify-items:start;text-transform:uppercase}
.pied__contact p{min-height:2rem;display:flex;align-items:center}
.pied__contact a,.pied__liens a{position:relative;display:inline-flex;align-items:center;min-height:2rem;text-decoration:none;transition:color .16s,translate .35s cubic-bezier(.2,.8,.2,1)}
.pied__contact a:after,.pied__liens a:after{content:"";position:absolute;left:0;right:0;bottom:.55rem;height:1px;background:var(--jaune);transform:scaleX(0);transform-origin:0 50%;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.pied__contact a:hover,.pied__liens a:hover{color:var(--creme);translate:4px 0}
.pied__contact a:hover:after,.pied__liens a:hover:after{transform:scaleX(1)}
.pied__fin{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:26px;border-top:1px solid rgba(243,238,230,.12);font-size:12px;opacity:.7}
.pied__fin a{font-weight:600;text-decoration:none}

.wa-flottant{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:50;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--brun);transition:opacity .28s,translate .28s cubic-bezier(.23,1,.32,1),visibility 0s,background .16s}
.wa-flottant:hover{background:#1b1d4d}
.wa-flottant:active{scale:.97}
.wa-flottant.cache{opacity:0;visibility:hidden;pointer-events:none;translate:0 12px;transition:opacity .28s,translate .28s cubic-bezier(.23,1,.32,1),visibility 0s .28s,background .16s}
.wa-flottant svg{width:26px;height:26px;fill:var(--creme)}

html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}

@media (max-width:1000px){
  .tete__nav{position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;gap:6px;margin:0;padding:100px var(--marge);background:var(--creme);font-family:var(--serif);text-transform:none;font-size:46px;font-weight:400;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .tete__nav.ouvert{opacity:1;visibility:visible}
  .tete__nav a.actif:after{display:none}
  .tete__cta{margin-left:auto}
  .tete__burger{display:flex}
}
@media (max-width:760px){
  :root{--marge:18px}
  .tete{height:76px;gap:10px}
  .tete__logo img{width:90px}
  .tete__cta{padding:10px 16px;font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* bas de page : mises en page étroites */
@media (max-width:1000px){
  .commander__in{grid-template-columns:1fr}
  .commander__message{position:static}
}
@media (max-width:760px){
  .parcours__etapes b{width:2.6rem;font-size:.85rem}
  .parcours__etapes li > div{width:48vw;padding:.5rem .65rem;border-radius:.7rem;background:rgba(243,238,230,.88)}
  .parcours__etapes li[data-cote=d] > div{left:1.2rem}
  .parcours__etapes li[data-cote=g] > div{right:1.2rem}
  .parcours__etapes h3{font-size:25.6px}
  .parcours__etapes p{font-size:13px}
  .parcours__ruban{width:60vw}
  .avis__tete{flex-direction:column;align-items:flex-start}
  .souvenirs{gap:12px}
  .souvenir{flex-basis:70vw}
  .souvenir:nth-child(odd){margin-top:30px}
  .avis__mots{grid-template-columns:1fr}
  .formations{grid-template-columns:1fr}
  .formation__tete{flex-direction:column;align-items:flex-start;gap:10px}
  .formation__prix{text-align:left}
  .formation__programme ul{columns:1}
  .commander{padding:80px 18px 0}
  .commander__titre{font-size:44px}
  .choix--deux{grid-template-columns:1fr}
  .pied__bas{grid-template-columns:1fr;gap:32px;padding:64px var(--marge) 96px}
  .pied__liens{grid-template-columns:1fr 1fr;column-gap:32px}
  .pied__marque img{width:150px}
}

/* héros : le mur d'alvéoles de la v5 en fond, pour que le chef s'y fonde */
.heros--alveoles{background:radial-gradient(72% 68% at 50% 52%,#18255d 0%,#0b112c 78%);color:var(--creme)}
.heros--alveoles .mur-cache{display:none}
.heros--alveoles .bouclier{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.heros--alveoles .heros__titre,.heros--alveoles .heros__titre em{color:var(--creme)}
.heros--alveoles .heros__note{color:rgba(243,238,230,.82)}
.heros--alveoles .heros__note:before{background:rgba(243,238,230,.6)}
.heros--alveoles .tampon svg{fill:var(--creme)}
.heros--alveoles .tampon span{color:var(--creme)}
.heros--alveoles .heros__cta{background:var(--creme);color:var(--encre)}
.tete:has(+ main .heros--alveoles) .tete__logo img,.tete.sur-alveoles .tete__logo img{filter:brightness(0) invert(1)}
.tete:has(+ main .heros--alveoles) .tete__nav a,.tete.sur-alveoles .tete__nav a{color:rgba(243,238,230,.78)}
.tete:has(+ main .heros--alveoles) .tete__nav a:hover,.tete:has(+ main .heros--alveoles) .tete__nav a.actif{color:var(--creme)}
.tete:has(+ main .heros--alveoles) .tete__cta{background:var(--creme);color:var(--encre)}
.tete:has(+ main .heros--alveoles) .tete__burger{border-color:var(--creme)}
.tete:has(+ main .heros--alveoles) .tete__burger i{background:var(--creme)}
@media (max-width:1000px){.tete:has(+ main .heros--alveoles) .tete__nav a{color:var(--encre)}}

/* typographie de la v5 : Geist, titres fins et serrés, mots forts en gras */
:root{--serif:"Geist",system-ui,sans-serif;--sans:"Geist",system-ui,sans-serif}
h1,h2,h3,.heros__titre{font-weight:400;letter-spacing:-.045em}
em{font-style:normal;font-weight:700}
body :not(.majuscules):not(.majuscules *){text-transform:none}
.heros__titre{font-size:clamp(40px,4.1vw,68px);line-height:1}

/* le chef */
.apropos{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:end;min-height:100vh;min-height:100svh;padding:0 var(--marge);background:radial-gradient(70% 60% at 30% 50%,#26242c 0%,#17161b 70%);color:var(--creme);overflow:hidden}
.apropos__photo{align-self:end;display:flex;justify-content:center}
.apropos__photo img{height:min(86vh,880px);width:auto;max-width:none}
.apropos__texte{align-self:center;display:grid;gap:22px;max-width:520px;padding:120px 0}
.apropos__etiquette{font-size:14px;color:rgba(243,238,230,.7)}
.apropos h2{font-size:clamp(40px,4.2vw,68px);line-height:1}
.apropos__texte > p{font-size:17px;line-height:1.6;color:rgba(243,238,230,.82)}
.apropos__faits{display:grid;gap:0;margin-top:6px;border-top:1px solid rgba(243,238,230,.16)}
.apropos__faits div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(243,238,230,.16);font-size:15px}
.apropos__faits dt{color:rgba(243,238,230,.6)}
.apropos__cta{justify-self:start;background:var(--creme);color:var(--encre);margin-top:8px}
@media (max-width:760px){
  .apropos{grid-template-columns:1fr;align-items:start;padding:0 var(--marge)}
  .apropos__photo{order:2}
  .apropos__photo img{height:56svh}
  .apropos__texte{padding:96px 0 24px;gap:16px}
  .apropos h2{font-size:34px}
  .apropos__texte > p{font-size:15px}
  .apropos__faits div{grid-template-columns:100px 1fr;font-size:14px}
}
@media (max-width:760px){
  .apropos__photo{order:0;padding-top:76px}
  .apropos__photo img{height:50svh}
  .apropos__texte{padding:20px 0 70px}
}
/* le chef : fond crème chaud, différent du héros */
.apropos{background:radial-gradient(55% 75% at 28% 62%,#e4d4bf 0%,#efe6da 55%,var(--creme) 100%);color:var(--encre)}
.apropos__etiquette{color:var(--brun)}
.apropos__texte > p{color:#4b4a68}
.apropos__faits{border-top-color:var(--filet)}
.apropos__faits div{border-bottom-color:var(--filet)}
.apropos__faits dt{color:var(--brun)}
.apropos__cta{background:var(--brun);color:#fff}
.apropos__cta:hover{background:var(--encre)}
.apropos{background:#fff}
/* sans tirets ni graduations */
.heros__note:before{display:none}
.heros__note{padding-left:0}
.tampon__r{width:30px;height:auto}
/* le chef : la section fait exactement un écran, la photo ne bouge plus à l'arrivée */
.apropos{height:100vh;height:100svh;min-height:0}
.apropos__photo img{height:min(86vh,880px);height:min(86svh,880px)}
.apropos__texte{padding:0;gap:18px}
.apropos h2{font-size:clamp(36px,3.8vw,62px)}
.apropos__texte > p{font-size:16px;line-height:1.55}
.apropos__faits div{padding:11px 0}
@media (max-height:760px) and (min-width:761px){.apropos__texte > p + p{display:none}}
@media (max-width:760px){
  .apropos{height:auto;display:block;padding:0}
  .apropos__photo{position:sticky;top:0;height:100svh;align-items:flex-start;padding-top:76px}
  .apropos__photo img{height:50svh}
  .apropos__texte{position:relative;z-index:2;margin-top:-34svh;padding:28px var(--marge) 70px;background:#fff;border-radius:22px 22px 0 0}
}
.tampon__cercle{fill:none;stroke:currentColor;stroke-width:.8;opacity:.55}
.tampon svg{color:var(--encre);overflow:visible}
.heros--alveoles .tampon svg{color:var(--creme)}
@media (max-width:760px){.apropos{overflow:clip}}

[hidden]{display:none!important}
.choix label.modele__photo{display:flex;align-items:center;gap:16px;text-transform:none;font-size:15px;color:var(--creme)}
.choix__titre small{text-transform:none}

/* ---- heros-cartes.css */
/* héros : toutes les cartes au même format carré, photos carrées entières */
.heros__cartes figure{aspect-ratio:1;height:auto}
.heros__cartes img{height:100%;object-fit:cover}

/* ---- vitrine.css */
.pv-cadre{margin-inline:var(--marge)}
/* section épinglée */
.pv{--pas:5.5;position:relative;height:calc(var(--pas) * 90vh + 100vh);height:calc(var(--pas) * 90svh + 100svh);background:#16184a}
.pv__scene{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;color:#fff;contain:layout paint}

.pv__fonds,.pv__fond,.pv__titres,.pv__gateaux{position:absolute;inset:0}
.pv__fond{opacity:0;visibility:hidden;will-change:opacity}

.pv__titre{position:absolute;left:0;right:0;top:0;display:flex;justify-content:center;pointer-events:none;will-change:clip-path}
.pv__titre span{display:block;font-weight:700;letter-spacing:-.065em;line-height:.8;white-space:nowrap;color:rgba(255,255,255,.07);will-change:transform;padding-right:.065em}

.pv__plateau{position:absolute;left:0;right:0;margin-inline:auto;bottom:15vh;bottom:15svh;width:min(36vw,600px);height:min(66vh,700px);height:min(66svh,700px);visibility:hidden;pointer-events:none}

.pv__gateaux{opacity:0;transition:opacity .8s ease}
.pv.pret .pv__gateaux{opacity:1}
.pv__gateau{position:absolute;left:0;top:0;height:auto;max-width:none;user-select:none;-webkit-user-drag:none;will-change:transform,opacity;backface-visibility:hidden}

.pv__haut{position:absolute;left:0;right:0;top:96px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;z-index:3}
.pv__haut h2{font-size:clamp(28px,2.6vw,44px);max-width:13ch;line-height:1.05}
.pv__compteur{display:flex;align-items:baseline;gap:6px;font-size:14px;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums;padding-top:4px}
.pv__num{display:block;height:1em;overflow:hidden;font-size:40px;font-weight:600;line-height:1;letter-spacing:-.04em;color:#fff}
.pv__rouleau{display:flex;flex-direction:column;will-change:transform;transition:transform .8s cubic-bezier(.65,0,.25,1)}
.pv__rouleau b{display:block;height:1em;font-weight:600}

.pv__bas{position:absolute;left:0;right:0;bottom:48px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;z-index:3}
.pv__fiches{position:relative;flex:0 1 360px;min-height:150px}
.pv__fiche{position:absolute;left:0;top:0;width:100%;opacity:0;visibility:hidden}
.pv__fiche > *{will-change:transform}
.pv__occasion{font-size:15px;color:rgba(255,255,255,.66);margin-bottom:10px}
.pv__fiche h3{font-size:40px;font-weight:600;letter-spacing:-.045em;margin-bottom:12px}
.pv__texte{font-size:15px;line-height:1.5;text-wrap:pretty;color:rgba(255,255,255,.8);max-width:34ch}

.pv__actions{display:flex;align-items:center;gap:28px;min-width:0}
.pv__vignettes{position:relative;display:flex;gap:8px;padding-bottom:12px}
.pv__vignette{flex:0 0 auto;width:56px;height:56px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:transparent;padding:5px;cursor:pointer;transition:border-color .35s,background-color .35s}
.pv__vignette img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.pv__vignette:hover{border-color:rgba(255,255,255,.45)}
.pv__vignette[aria-current=true]{border-color:rgba(255,255,255,.9);background:rgba(255,255,255,.08)}
.pv__vignette:focus-visible{outline:2px solid #fff;outline-offset:3px}
.pv__curseur{position:absolute;left:0;bottom:0;width:56px;height:2px;border-radius:2px;background:#fff;transform-origin:0 50%;will-change:transform}

.pv__cta{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;padding:14px 16px 14px 24px;border-radius:999px;background:var(--creme);color:var(--encre);text-decoration:none;font-size:14px;font-weight:500;margin-bottom:12px;transition:background-color .3s}
.pv__cta em{font-style:normal}
.pv__cta span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--encre);color:#fff;font-size:13px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.pv__cta:hover span{transform:rotate(45deg)}
.pv__cta:focus-visible{outline:2px solid #fff;outline-offset:3px}

@media (max-width:1280px){
  .pv{--marge:48px}
}

/* portrait : gâteau en haut, fiche dessous */
@media (max-width:900px) and (orientation:portrait){
  .pv{--marge:32px}
  .pv__haut{top:84px}
  .pv__haut h2{font-size:clamp(26px,4.6vw,40px)}
  .pv__plateau{top:calc(108px + 13.5vw);bottom:302px;width:66vw;height:auto}
  .pv__bas{bottom:28px;flex-direction:column;align-items:stretch;gap:24px}
  .pv__fiches{flex:none;min-height:150px}
  .pv__fiche h3{font-size:36px}
  .pv__texte{max-width:46ch}
  .pv__actions{justify-content:space-between;gap:16px}
  .pv__vignettes{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;margin-left:-2px;padding-left:2px;padding-top:2px}
  .pv__vignettes::-webkit-scrollbar{display:none}
  .pv__vignette{scroll-snap-align:start}
}

@media (max-width:600px) and (orientation:portrait){
  .pv{--marge:16px}
  .pv__haut{top:76px}
  .pv__haut h2{font-size:25px;max-width:11ch}
  .pv__num{font-size:32px}
  .pv__plateau{top:176px;bottom:258px;width:80vw}
  .pv__bas{bottom:20px;gap:18px}
  .pv__fiches{min-height:136px}
  .pv__occasion{font-size:14px;margin-bottom:6px}
  .pv__fiche h3{font-size:30px;margin-bottom:10px}
  .pv__texte{font-size:14px}
  .pv__vignette{width:52px;height:52px;border-radius:13px}
  .pv__curseur{width:52px}
  .pv__cta{padding:0;width:52px;height:52px;justify-content:center;margin-bottom:12px}
  .pv__cta em{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .pv__cta span{width:auto;height:auto;background:none;color:var(--encre);font-size:18px}
}

@media (max-height:520px) and (orientation:landscape){
  .pv__haut{top:20px}
  .pv__haut h2{font-size:22px;max-width:16ch}
  .pv__num{font-size:28px}
  .pv__plateau{top:84px;bottom:84px;height:auto;width:30vw}
  .pv__bas{bottom:16px}
  .pv__fiches{flex-basis:260px;min-height:96px}
  .pv__occasion{font-size:13px;margin-bottom:4px}
  .pv__fiche h3{font-size:24px;margin-bottom:6px}
  .pv__texte{display:none}
  .pv__vignette{width:44px;height:44px;border-radius:11px}
  .pv__curseur{width:44px}
  .pv__cta{padding:10px 10px 10px 16px}
}

@media (prefers-reduced-motion:reduce){
  .pv__gateaux,.pv__rouleau{transition:none}
  .pv__cta span,.pv__vignette{transition:none}
}

/* variante photos et grand Royal, repris de la v6 */
.pv--photos .pv__titres{display:none}
.pv--photos .pv__plateau{width:min(62vw,900px);height:min(86vh,900px);height:min(86svh,900px);bottom:0}
.pv--photos .pv__gateaux img{-webkit-mask-image:radial-gradient(ellipse 52% 54% at 50% 50%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 52% 54% at 50% 50%,#000 70%,transparent 100%)}
.pv--photos .pv__vignette img{border-radius:10px;object-fit:cover}
@media (max-width:860px){.pv--photos .pv__plateau{width:96vw;height:auto;top:150px;bottom:250px}}

.pv__geant{position:absolute;left:50%;top:52%;z-index:2;transform:translate(-50%,-50%);font-size:clamp(220px,32vw,560px);font-weight:700;letter-spacing:-.08em;line-height:.8;color:rgba(255,255,255,.07);white-space:nowrap;pointer-events:none;padding-right:.08em}
@media (max-width:600px) and (orientation:portrait){.pv__geant{top:42%;font-size:34vw}}
.pv--royal .pv__geant{z-index:0}.pv--royal .pv__gateaux{z-index:1}
@media (max-width:600px) and (orientation:portrait){
  .pv__actions{flex-wrap:wrap;gap:12px}
  .pv__cta{width:100%;height:auto;padding:12px 12px 12px 20px;justify-content:space-between;margin-bottom:0}
  .pv__cta em{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
  .pv__cta span{width:26px;height:26px;background:var(--encre);color:#fff;font-size:13px}
  .pv__plateau,.pv--photos .pv__plateau{bottom:316px}
}
.pv h2{font-weight:400;letter-spacing:-.045em}

/* filtre par occasion et lien vers la page Facebook */
.pv__gauche{min-width:0}
.pv__droite{display:grid;justify-items:end;gap:18px}
.pv__filtres{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}
.pv__filtre{height:36px;padding:0 15px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:none;color:rgba(255,255,255,.8);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s,border-color .3s,color .3s}
.pv__filtre:hover{border-color:rgba(255,255,255,.6);color:#fff}
.pv__filtre[aria-pressed=true]{background:#fff;border-color:#fff;color:var(--encre)}
.pv__filtre:focus-visible,.pv__fb:focus-visible{outline:2px solid #fff;outline-offset:3px}
.pv__fb{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px;border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .3s,color .3s,border-color .3s}
.pv__fb span{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.pv__fb:hover{background:#fff;border-color:#fff;color:var(--encre)}
.pv__fb:hover span{transform:translate(2px,-2px)}
.pv__fiches,.pv__vignettes,.pv__compteur{transition:opacity .45s ease}
.pv.change .pv__gateaux,.pv.change .pv__fiches,.pv.change .pv__vignettes,.pv.change .pv__compteur{opacity:0;transition:opacity .3s ease}
@media (max-width:900px) and (orientation:portrait){
  .pv__haut{display:grid;grid-template-columns:1fr auto;column-gap:16px;align-items:start}
  .pv__gauche,.pv__droite{display:contents}
  .pv__haut h2{grid-column:1;grid-row:1}
  .pv__compteur{grid-column:2;grid-row:1}
  .pv__filtres{grid-column:1/-1;grid-row:2;flex-wrap:nowrap;overflow-x:auto;margin:14px calc(var(--marge) * -1) 0;padding:0 var(--marge);scrollbar-width:none}
  .pv__filtres::-webkit-scrollbar{display:none}
  .pv__filtre{flex:none;height:34px;padding:0 14px;font-size:13.5px}
  .pv__fb{grid-column:1/-1;grid-row:3;justify-self:start;height:auto;margin-top:12px;padding:0;border:0;font-size:14px;text-decoration:underline;text-decoration-color:var(--jaune);text-underline-offset:.3em}
  .pv__fb:hover{background:none;color:#fff}
  .pv--photos .pv__plateau{top:236px}
}
@media (max-width:600px) and (orientation:portrait){
  .pv__haut h2{font-size:24px;max-width:none}
  .pv--photos .pv__plateau{top:226px}
}

/* ---- boutons.css */
/* un seul modèle de bouton : texte + flèche dans un rond */
.pilule,a.pv__cta,a.pv__fb{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;width:auto;height:52px;padding:0 6px 0 24px;border:0;border-radius:999px;background:var(--brun);color:#fff;font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s}
.pilule em,a.pv__cta em{font-style:normal}
.pilule > span[aria-hidden],a.pv__cta > span,a.pv__fb > span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--creme);color:var(--encre);font-size:17px;line-height:1;translate:none;transform:none;transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .3s,color .3s}
.pilule:hover,.commander .pilule:hover,.offre .pilule:hover{background:#1b1d4d;gap:16px}
.pilule:hover > span[aria-hidden],.commander .pilule:hover span,.offre .pilule:hover span,a.pv__cta:hover > span,a.pv__fb:hover > span{transform:rotate(-45deg);translate:none;color:var(--encre)}
.pilule:active{scale:.98}
.pilule:focus-visible,a.pv__cta:focus-visible,a.pv__fb:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* clair : sur fond sombre */
.pilule--clair,.heros--alveoles .heros__cta,.tete:has(+ main .heros--alveoles) .tete__cta,a.pv__cta{background:var(--creme);color:var(--encre)}
.pilule--clair > span[aria-hidden],.heros--alveoles .heros__cta > span,.tete:has(+ main .heros--alveoles) .tete__cta > span,a.pv__cta > span{background:var(--brun);color:#fff}
.pilule--clair:hover,.heros--alveoles .heros__cta:hover,.tete:has(+ main .heros--alveoles) .tete__cta:hover,a.pv__cta:hover{background:#fff}
.pilule--clair:hover > span[aria-hidden],.heros--alveoles .heros__cta:hover > span,.tete:has(+ main .heros--alveoles) .tete__cta:hover > span,a.pv__cta:hover > span{color:#fff}

/* contour : lien secondaire */
.pilule--ligne,a.pv__fb{background:none;color:inherit;border:1px solid color-mix(in srgb,currentColor 30%,transparent);padding-left:23px}
.pilule--ligne > span[aria-hidden],a.pv__fb > span{background:color-mix(in srgb,currentColor 12%,transparent);color:inherit}
.pilule--ligne:hover,a.pv__fb:hover{background:none;border-color:currentColor;color:inherit}
.pilule--ligne:hover > span[aria-hidden],a.pv__fb:hover > span{color:inherit}
a.pv__fb{color:#fff}

/* places particulières */
.tete__cta{height:46px;padding:0 4px 0 20px;gap:12px}
.tete__cta > span[aria-hidden]{width:36px;height:36px}
.commander__message .pilule{display:flex;width:100%;height:56px;min-height:0;margin-top:20px;padding:0 8px 0 26px;font-size:16px}
.avis__lien{margin-top:6px}
.pv__cta{margin-bottom:12px}

/* puces de choix : filtres de la vitrine et formulaire */
.pv__filtre,.pastille{height:38px;padding:0 16px;border:1px solid rgba(243,238,230,.28);border-radius:999px;background:none;color:rgba(243,238,230,.85);font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;cursor:pointer;transition:background-color .3s,border-color .3s,color .3s}
.pv__filtre:hover,.pastille:hover{border-color:var(--creme);color:var(--creme)}
.pv__filtre[aria-pressed=true],.pastille.choisi{background:var(--creme);border-color:var(--creme);color:var(--encre)}

@media (max-width:900px) and (orientation:portrait){
  a.pv__fb{height:44px;padding:0 4px 0 18px;margin-top:12px;border:1px solid rgba(255,255,255,.3);text-decoration:none;font-size:14px}
  a.pv__fb > span{width:34px;height:34px}
  .pv__filtre{height:36px}
  .pv--photos .pv__plateau{top:286px}
}
@media (max-width:760px){
  .tete__cta{height:42px;padding:0 4px 0 16px;gap:10px;font-size:14px}
  .tete__cta > span[aria-hidden]{width:32px;height:32px;font-size:15px}

}
@media (max-width:600px) and (orientation:portrait){
  a.pv__cta{width:100%;height:52px;padding:0 6px 0 22px;margin-bottom:0}
  a.pv__cta em{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
  a.pv__cta > span{width:40px;height:40px;background:var(--brun);color:#fff;font-size:17px}
}

/* bouton d envoi pendant que la photo part */
.pilule.attente{opacity:.6;pointer-events:none}
.pilule.attente > span[aria-hidden]{animation:attente 1s linear infinite}
@keyframes attente{to{transform:rotate(360deg)}}

/* bouton d'envoi pendant que la photo part */
.pilule.attente{opacity:.6;pointer-events:none}
.pilule.attente > span[aria-hidden]{animation:attente 1s linear infinite}
@keyframes attente{to{transform:rotate(360deg)}}

/* ---- faq.css */
/* questions fréquentes */
.faq{position:relative;z-index:3;display:grid;grid-template-columns:5fr 7fr;gap:48px clamp(3rem,7vw,8rem);align-items:start;padding:clamp(5rem,11vw,9rem) var(--marge);background:#fff}
.faq__tete{position:sticky;top:110px;display:grid;gap:22px;justify-items:start}
.faq__titre{font-size:clamp(2.4rem,5vw,5rem);line-height:1}
.faq__intro{max-width:360px;font-size:17px;line-height:1.6;color:#4b4a68}
.faq__liste{border-top:1px solid var(--encre)}
.faq__item{border-bottom:1px solid var(--filet)}
.faq__item summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;list-style:none;cursor:pointer;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.3;letter-spacing:-.01em;transition:color .3s}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--brun)}
.faq__item summary:focus-visible{outline:2px solid var(--brun);outline-offset:4px;border-radius:4px}
.faq__item summary i{position:relative;flex:none;width:40px;height:40px;border-radius:50%;background:var(--creme);transition:background-color .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.faq__item summary i:before,.faq__item summary i:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:var(--encre);translate:-50% -50%;transition:background-color .3s}
.faq__item summary i:after{rotate:90deg}
.faq__item[open] summary i{background:var(--brun);transform:rotate(45deg)}
.faq__item[open] summary i:before,.faq__item[open] summary i:after{background:#fff}
.faq__item p{max-width:62ch;padding:0 64px 28px 0;font-size:16px;line-height:1.65;color:#4b4a68}
.faq__item p a{color:var(--encre);text-underline-offset:3px}
.faq__item[open] p{animation:faq-ouvre .45s cubic-bezier(.2,.8,.2,1)}
@keyframes faq-ouvre{from{opacity:0;translate:0 -6px}}

@media (max-width:1100px) and (orientation:portrait),(max-width:760px){
  .faq{grid-template-columns:1fr;gap:40px}
  .faq__tete{position:static}
}
@media (max-width:760px){
  .faq__item summary{padding:20px 0;gap:16px}
  .faq__item summary i{width:34px;height:34px}
  .faq__item p{padding-right:0;font-size:15px}
}

/* ---- appel.css */
/* carte de contact : le dernier pas avant la commande */
.appel{padding:clamp(4.5rem,8vw,7rem) var(--marge) clamp(3.5rem,6vw,5rem)}
.appel__carte{display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:clamp(24px,2.6vw,36px);background:#fff;color:var(--encre)}
.appel__texte{display:grid;align-content:center;justify-items:start;gap:22px;padding:clamp(2rem,4.6vw,4.5rem)}
.appel__etiquette{font-size:14px;color:var(--bronze)}
.appel h2{max-width:15ch;font-size:clamp(2.2rem,4.2vw,4.4rem);line-height:1}
.appel__points{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;width:100%;margin:6px 0 4px;padding:0;list-style:none}
.appel__points li{display:grid;gap:4px;padding:16px 0;border-top:1px solid var(--filet);font-size:15px;line-height:1.45;color:#4b4a68}
.appel__points b{font-size:16px;font-weight:600;color:var(--encre)}
.appel__actions{display:flex;flex-wrap:wrap;gap:12px}
.appel__wa{height:58px;padding:0 7px 0 26px;font-size:16px}
.appel__wa > span[aria-hidden]{width:44px;height:44px}
.appel__wa > span svg{width:22px;height:22px;fill:currentColor}
.appel .pilule:hover > span svg{transform:rotate(45deg)}
.appel__wa:hover > span[aria-hidden]{transform:none}
.appel__tel{height:58px}
.appel__note{max-width:52ch;font-size:14px;line-height:1.55;color:var(--gris)}
.appel__visuel{position:relative;margin:0;min-height:100%;background:#0b112c}
.appel__visuel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.appel__visuel figcaption{position:absolute;left:24px;bottom:22px;font-size:13px;color:rgba(255,255,255,.78)}
.pied .pied__bas{border-top:0}

@media (max-width:1100px) and (orientation:portrait),(max-width:900px){
  .appel__carte{grid-template-columns:1fr}
  .appel__visuel{order:-1;aspect-ratio:16/10;min-height:0}
}
@media (max-width:760px){
  .appel{padding:64px 12px 40px}
  .appel__texte{padding:28px 22px 30px;gap:18px}
  .appel__points{grid-template-columns:1fr}
  .appel__points li{padding:13px 0}
  .appel__actions{display:grid;width:100%}
  .appel__actions .pilule{width:100%}
  .appel__visuel{aspect-ratio:4/3}
}

/* variante Prisme */
.prisme .appel__carte{background:#fff}
.prisme .appel__etiquette{color:var(--gris)}
.prisme .appel h2 b{color:var(--gris-titre)}

/* ---- responsive.css */
/* ajustements par taille d'écran : chaque bloc garde sa place */

/* téléphones : titre, phrase et bouton au-dessus du chef, rien sur sa veste */
@media (max-width:760px){
  .heros__titre{top:112px}
  .heros__cartes figure{width:21vw}
  .heros__note{left:20px;right:20px;top:248px;bottom:auto;width:auto;max-width:min(330px,70vw);font-size:14px;line-height:1.5;text-transform:none}
  .heros__cta{top:330px;bottom:auto}
  .heros__chef,.voyageur img{height:52svh}
}
@media (max-width:760px) and (max-height:720px){
  .heros__note{display:none}
  .heros__cta{top:248px}
  .heros__chef,.voyageur img{height:52svh}
}

/* écrans tactiles : liens assez grands pour le doigt */
@media (max-width:1100px) and (orientation:portrait){
  .formation__programme summary{padding:10px 0}
  .commander__lien{padding:10px 0}
  .pied__fin a{display:inline-block;padding:10px 0}
}

/* tablettes debout : même ordre que sur téléphone, en plus grand */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .heros__titre{left:40px;top:160px;font-size:60px}
  .heros__note{left:40px;right:auto;top:360px;bottom:auto;width:420px;font-size:16px;line-height:1.5;text-transform:none}
  .heros__cta{left:40px;top:450px;bottom:auto}
  .heros__chef,.anime .voyageur{bottom:0}
  .heros__chef,.voyageur img{height:58svh}
  .heros__cartes figure{width:14vw}
  .tampon{right:40px;top:150px}

  .apropos{height:auto;display:block;padding:0;overflow:clip}
  .apropos__photo{position:sticky;top:0;height:100svh;align-items:flex-start;padding-top:110px}
  .apropos__photo img{height:58svh}
  .apropos__texte{position:relative;z-index:2;max-width:none;margin-top:-30svh;padding:48px 40px 96px;background:#fff;border-radius:28px 28px 0 0}
  .apropos__texte > *{max-width:620px}
  .apropos h2{font-size:52px}
  .apropos__texte > p + p{display:block}

  .dedans__tete{flex-direction:column;justify-content:space-between;align-items:flex-start;padding:120px 40px 64px}
  .dedans__titre{width:auto;font-size:60px}
  .dedans__texte{width:auto;max-width:440px;font-size:17px}
  .dedans__cadre{width:46vw}

  .formations{grid-template-columns:1fr;gap:56px}
  .formations__video video{aspect-ratio:16/10}
  .formations__texte{max-width:680px}
}

/* petits portables et tablettes couchées : la barre du bas de la vitrine tient dans l'écran */
@media (max-width:1200px) and (orientation:landscape){
  .pv__bas{gap:20px}
  .pv__fiches{flex-basis:290px}
  .pv__fiche h3{font-size:34px}
  .pv__texte{font-size:14px}
  .pv__actions{gap:16px}
  .pv__vignettes{gap:6px}
  .pv__vignette{width:44px;height:44px;border-radius:12px;padding:4px}
  .pv__curseur{width:44px}
}
@media (max-width:1200px) and (orientation:landscape) and (max-height:820px){
  .pv--photos .pv__plateau{height:78vh;height:78svh}
  .pv__haut h2{font-size:28px;max-width:none}
}

/* les formations passent par-dessus la vidéo épinglée, comme les avis */
.formations{position:relative;z-index:3}

/* héros : cartes et titre mesurés aussi sur la hauteur, pour les écrans larges mais bas */
@media (min-width:761px){
  .heros__cartes figure{width:min(15vw,25.5svh)}
  .heros__titre{top:max(16vh,150px)}
  .tampon{top:max(11.6vh,104px)}
  .heros__titre{font-size:min(clamp(40px,4.1vw,68px),8.4svh)}
}
@media (min-width:761px) and (max-height:820px){
  .tampon{width:104px;height:104px}
  .tampon svg{font-size:8px}
}

/* ---- couleurs.css */
/* couleurs du logo : bleu royal pour l'action, bronze de « CakeLand » pour les repères, or de la couronne en touche */
.apropos__etiquette,.apropos__faits dt,.offre__faits dt,.formation__prix span,.avis__mot footer,.souvenir figcaption,.offre__public,.faq__intro,.avis__glisse{color:var(--bronze)}
.souvenir figcaption b{color:var(--encre)}
.formation__programme summary{text-decoration-color:var(--jaune)}
.faq__item summary:hover{color:var(--bleu)}
.faq__item[open] summary{color:var(--brun)}
.avis__glisse span{background:var(--creme);color:var(--brun)}
.choix input[type=range]{accent-color:var(--jaune)}
.commander__lien{text-decoration-color:var(--jaune)}
::selection{background:var(--brun);color:#fff}

/* ---- fin.css */
/* fin de page recomposée : blanc (questions), crème (commande et contact), bleu nuit (pied) */

/* questions : carte bleu royal à gauche, liste numérotée à droite */
.faq{background:#fff;align-items:stretch}
.faq__tete{position:sticky;top:110px;align-self:start;overflow:hidden;gap:20px;padding:clamp(28px,3vw,44px) clamp(26px,3vw,44px) 0;border-radius:32px;background:radial-gradient(90% 70% at 85% 100%,#3b4fa8 0%,#2a2c68 45%,#1a1c4d 100%);color:var(--creme)}
.faq__titre{color:#fff}
.faq__titre b{color:#f0c27a}
.faq .faq__intro{max-width:340px;color:rgba(243,238,230,.78)}
.faq__reperes{display:grid;width:100%;margin:6px 0 4px;padding:0;list-style:none}
.faq__reperes li{display:grid;gap:2px;padding:14px 0;border-top:1px solid rgba(243,238,230,.16);font-size:14px;color:rgba(243,238,230,.7)}
.faq__reperes b{font-size:17px;font-weight:600;color:#fff}
.faq__tete .pilule{margin-bottom:6px}
.faq__gateau{display:block;align-self:end;justify-self:end;width:auto;height:clamp(170px,22vh,240px);margin:-40px -6px 0 0;pointer-events:none}

.faq__liste{border-top:0;counter-reset:q}
.faq__item{border-bottom:1px solid var(--filet);border-radius:0;transition:background-color .35s}
.faq__item summary{gap:20px;padding:22px 18px}
.faq__num{flex:none;width:28px;font-size:14px;font-weight:600;color:var(--jaune);font-variant-numeric:tabular-nums}
.faq__item summary > span:nth-child(2){flex:1}
.faq__item[open]{border-radius:22px;border-bottom-color:transparent;background:#f6f1e8}
.faq__item[open] summary{color:var(--encre)}
.faq__item[open] summary i{background:var(--jaune)}
.faq__item p{padding:0 74px 26px 66px}

/* commande : fond crème, formulaire dans un panneau bleu */
.commander{background:var(--creme);color:var(--encre)}
.commander__titre{color:var(--encre)}
.commander__titre em{font-style:normal;color:var(--brun)}
.commander__intro{color:#4b4a68}
.commander__in{padding:clamp(26px,3.4vw,52px);border-radius:32px;background:radial-gradient(80% 90% at 0% 0%,#2f3478 0%,#20225a 45%,#14163f 100%);color:var(--creme)}
.commander .choix label input::placeholder{color:rgba(243,238,230,.45)}
.commander .choix input[type=range]{accent-color:#f0c27a}
.commander .pastille.choisi{background:#f0c27a;border-color:#f0c27a;color:#1c1b3d}
.commander__lien{color:var(--creme)}
.commander__message{border-radius:22px;background:#fff}
.commander__note{color:var(--gris)}

/* contact : la carte reste blanche, sur le crème */
.pied{background:var(--creme)}
.appel{background:var(--creme);padding-top:clamp(2rem,4vw,3.5rem)}
.appel__carte{border:1px solid #e7dfd2}
.appel__etiquette{color:var(--jaune)}
.appel h2 b{color:var(--brun)}

/* pied : bleu nuit aux coins arrondis, slogan en or */
.pied__bas{border-radius:36px 36px 0 0;background:radial-gradient(70% 120% at 100% 0%,#1d2366 0%,#0e1233 60%);color:#dfe3f0}
.pied__marque p{margin-top:16px;font-size:18px;text-transform:none;letter-spacing:0;opacity:1;color:#f0c27a}
.pied__contact a,.pied__liens a{color:#fff}
.pied__contact p{color:rgba(223,227,240,.75)}
html.sombre{background:var(--nuit)}

@media (max-width:1100px) and (orientation:portrait),(max-width:760px){
  .faq__tete{position:static}
  .faq__gateau{height:170px}
}
@media (max-width:760px){
  .faq__tete{border-radius:26px}
  .faq__item summary{padding:18px 12px;gap:12px}
  .faq__num{width:22px;font-size:13px}
  .faq__item p{padding:0 12px 22px 46px}
  .commander__in{padding:22px 16px;border-radius:24px}
  .pied__bas{border-radius:28px 28px 0 0}
}

/* Prisme garde ses couleurs */
.prisme .faq__tete{background:#121317}
.prisme .faq__titre b{color:var(--gris-titre)}
.prisme .faq__num{color:var(--gris)}
.prisme .faq__item[open]{background:var(--cadre)}
.prisme .commander{background:var(--perle)}
.prisme .commander__in{background:#121317}
.prisme .pied,.prisme .appel{background:var(--perle)}
.prisme .pied__bas{background:#121317}
@media (max-width:760px){
  .commander .choix__titre output{font-size:24px;white-space:nowrap}
}
@media (max-width:760px){
  .commander__in{grid-template-columns:minmax(0,1fr)}
  .commander__in > *{min-width:0}
}

/* espaces entre les sections resserrés */
.avis{padding-top:clamp(3.5rem,6vw,5.5rem);padding-bottom:clamp(3rem,5vw,4.5rem)}
.formations{padding-top:clamp(3.5rem,6vw,5.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.faq{padding-top:clamp(3.5rem,6vw,5.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.commander{padding-top:clamp(3.5rem,6vw,5.5rem)}
.commander__tete{margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.appel{padding-top:clamp(2rem,3.5vw,3rem);padding-bottom:clamp(2.5rem,4vw,3.5rem)}
.avis__mots{margin-top:clamp(2.5rem,5vw,4rem)}
.formations__offres{margin-top:clamp(2.5rem,5vw,4rem)}
@media (max-width:760px){
  .avis,.formations,.faq{padding-top:56px;padding-bottom:56px}
  .commander{padding-top:56px}
  .appel{padding-top:28px;padding-bottom:36px}
}

.formations__tout{display:inline-flex;gap:10px;margin-top:18px;color:var(--encre);font-weight:500;text-decoration:underline;text-decoration-color:var(--jaune);text-underline-offset:5px}

/* corrections après tests */
html.menu-ouvert,html.menu-ouvert body{overflow:hidden}
.choix label input:focus-visible,.fi .choix label input:focus-visible{outline:2px solid #f0c27a;outline-offset:4px;border-radius:4px}
.fi .choix label input[aria-invalid=true]{border-bottom-color:#ff8a7a}
.fh__titre .fh__etiquette{display:block;margin-bottom:18px;font-size:14px;font-weight:400;letter-spacing:0;line-height:1.4;color:#f0c27a}

/* ===== corrections issues du contrôle visuel ===== */

/* B2 : photos des Petits Chefs contenues dans leur grille */
.fp__photos{grid-template-rows:repeat(2,minmax(0,1fr))}
.fp__photos img{min-height:0}
@media (max-width:1100px) and (orientation:portrait),(max-width:900px){
  .fp__photos{height:auto;aspect-ratio:4/3}
}

/* B3 : menu ouvert sur téléphone couché */
@media (max-height:520px) and (orientation:landscape){
  html .tete .tete__encoche .tete__nav{justify-content:flex-start;padding:84px var(--marge) 24px;overflow-y:auto;font-size:26px;line-height:1.2;gap:4px}
}

/* B4 : vitrine sur téléphone couché */
@media (max-height:520px) and (orientation:landscape){
  .pv__fiches{flex-basis:200px}
  .pv__vignettes{max-width:36vw;overflow-x:auto;scrollbar-width:none}
  .pv--photos .pv__plateau{top:64px;bottom:86px;height:auto;width:44vw}
}

/* B5 : Prisme, bloc de commande lisible */
.prisme .commander{background:var(--perle)}
.prisme .commander__titre{color:var(--encre)}

/* I1 : bouton flottant plus discret sur téléphone, crédit dégagé */
@media (max-width:760px){
  .wa-flottant{width:48px;height:48px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}
}
.pied__fin{padding-right:72px}

/* I4 : « Parlons-en » bleu royal partout dans l'encoche blanche */
html:not(.prisme) .tete .tete__droite .tete__cta{background:var(--brun)!important;color:#fff!important}
html:not(.prisme) .tete .tete__droite .tete__cta > span{background:var(--creme)!important;color:var(--encre)!important}
html:not(.prisme) .tete .tete__droite .tete__cta:hover{background:#1b1d4d!important}
html:not(.prisme) .tete .tete__droite .tete__cta:hover > span{color:var(--encre)!important}

/* I5 : héros sur téléphone couché */
@media (max-height:520px) and (orientation:landscape){
  .heros{min-height:0}
  html .heros .heros__cta{top:auto;bottom:24px}
  html .heros .heros__note{display:none}
}

/* I6 : vitrine sur petit téléphone, le gâteau d'abord */
@media (max-width:600px) and (max-height:760px) and (orientation:portrait){
  .pv__fb{display:none!important}
  .pv__texte{display:none}
  .pv--photos .pv__plateau{top:190px;bottom:250px}
}

/* I7 : petits repères en bronze sur fond clair (l'or reste pour les fonds bleus) */
.faq__num,.appel__etiquette,.fm__modules span{color:var(--bronze)}
.fm__modules li:last-child span{color:#f0c27a}

/* I8 : moins de vide autour du chef */
@media (min-width:761px){
  .apropos{height:min(100vh,960px);height:min(100svh,960px)}
}
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .apropos__texte{margin-top:-42svh}
}
@media (max-width:760px){
  .apropos__texte{margin-top:-44svh;padding-top:24px}
  .apropos__photo{padding-top:64px}
}

/* M2 : légende de la photo de contact sur le fond bleu */
.appel__visuel figcaption{top:20px;bottom:auto}

/* M3 : bouton du héros dégagé du chef sur petits téléphones */
@media (max-width:760px) and (max-height:760px){
  html:not(.prisme) .heros__note{display:none}
  html:not(.prisme) .heros__cta{top:calc(var(--encoche-h) + 172px)}
}

/* M4 : mêmes marges partout */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .apropos__texte{padding-left:var(--marge);padding-right:var(--marge)}
  .dedans__tete{padding-left:var(--marge);padding-right:var(--marge)}
}
@media (max-width:600px) and (orientation:portrait){
  .pv{--marge:18px}
}

/* M5 : les cinq filtres tiennent sur 360 px */
@media (max-width:600px){
  .pv__filtre{padding:0 12px;font-size:13px}
}

/* M7 : gris des sous-titres assez contrasté */
.formation__tete p,.fm__durees p{color:#5b5970}

/* M8 : cartes bleues en aplat, sans halo */
.faq__tete{background:#2a2c68}
.fo__carte--bleu{background:#2a2c68}

/* M9 : le grand « Royal » de la vitrine plus discret */
.pv__geant{color:rgba(255,255,255,.045)}

/* M11 : pas de marge en trop sous les cartes */
.fo__carte > :last-child,.fi__in > :last-child{margin-bottom:0}

/* M12 : grands écrans */
.pv__haut h2{font-size:clamp(28px,2.6vw,56px)}

/* ---- entete.css */
/* en-tête emboîté : deux encoches taillées dans le haut du héros, le logo et le menu à gauche, le bouton à droite */
:root{--encoche:#fff;--encoche-r:30px;--encoche-h:100px;--bord:var(--marge)}
.tete{align-items:flex-start;justify-content:space-between;height:auto;padding:0;gap:12px}
.tete__encoche,.tete__droite{position:relative;display:flex;align-items:center;height:var(--encoche-h);background:var(--encoche)}
.tete__encoche{gap:clamp(24px,3.2vw,52px);padding:0 clamp(26px,2.8vw,44px) 0 var(--bord);border-bottom-right-radius:var(--encoche-r)}
.tete__droite{gap:10px;padding:0 var(--bord) 0 clamp(18px,1.8vw,26px);border-bottom-left-radius:var(--encoche-r)}
.tete__encoche:before,.tete__encoche:after,.tete__droite:before,.tete__droite:after{content:"";position:absolute;width:var(--encoche-r);height:var(--encoche-r);pointer-events:none}
.tete__encoche:before,.tete__encoche:after{background:radial-gradient(circle at 100% 100%,transparent calc(var(--encoche-r) - .5px),var(--encoche) var(--encoche-r))}
.tete__droite:before,.tete__droite:after{background:radial-gradient(circle at 0 100%,transparent calc(var(--encoche-r) - .5px),var(--encoche) var(--encoche-r))}
.tete__encoche:before{top:0;left:100%}
.tete__encoche:after{top:100%;left:0}
.tete__droite:before{top:0;right:100%}
.tete__droite:after{top:100%;right:0}
.tete .tete__encoche .tete__logo img{width:120px;filter:none!important}
.tete .tete__encoche .tete__nav{margin:0;padding:0;gap:clamp(20px,2.4vw,40px);font-size:14.5px}
.tete .tete__encoche .tete__nav a{color:#4b4a68!important}
.tete .tete__encoche .tete__nav a:hover,.tete .tete__encoche .tete__nav a.actif{color:var(--encre)!important}
.tete .tete__droite .tete__cta{margin:0;background:var(--brun);color:#fff}
.tete .tete__droite .tete__cta > span{background:var(--creme);color:var(--encre)}
.tete .tete__droite .tete__cta:hover{background:#1b1d4d}
.tete .tete__droite .tete__burger{margin:0;border-color:var(--encre)!important}
.tete .tete__droite .tete__burger i{background:var(--encre)!important}

/* héros : mêmes bords que l'en-tête */
.heros .heros__titre,.heros .heros__cta{left:var(--bord)}
.heros .heros__note,.heros .tampon{right:var(--bord)}
@media (min-width:761px){
  .heros .heros__titre{top:max(17vh,calc(var(--encoche-h) + 56px))}
  .heros .tampon{top:max(15vh,calc(var(--encoche-h) + 22px))}
}
@media (max-width:1000px){
  .tete .tete__encoche{padding-right:24px}
  .tete .tete__encoche .tete__nav{position:fixed;inset:0;z-index:-1;margin:0;padding:120px var(--marge);font-size:46px}
}
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .heros .heros__note{left:var(--bord);right:auto}
}
@media (max-width:760px){
  :root{--encoche-h:74px;--encoche-r:22px}
  .tete .tete__encoche .tete__logo img{width:92px}
  .tete .tete__droite .tete__cta{height:42px}
  .tete .tete__encoche .tete__nav{font-size:36px;white-space:normal;line-height:1.15;gap:14px}
  .heros .heros__titre{top:118px}
  .heros .heros__note{left:var(--bord);right:var(--bord)}
}

/* menu ouvert : les encoches se fondent dans le menu */
.tete:has(.tete__nav.ouvert){--encoche:var(--creme)}

/* Prisme : les encoches prennent le gris perle du cadre et s'alignent sur le contenu du héros */
.prisme{--encoche:var(--perle);--bord:calc(var(--jour) + var(--marge))}
.prisme .tete{top:0;left:0;right:0;height:auto;padding:0;border-radius:0;background:none}
.prisme .tete__encoche,.prisme .tete__droite{height:calc(var(--encoche-h) + var(--jour));padding-top:var(--jour)}
.prisme .tete__encoche:after{left:var(--jour)}
.prisme .tete__droite:after{right:var(--jour)}
.prisme .heros .heros__titre,.prisme .heros .heros__cta{left:var(--marge)}
.prisme .heros .heros__note,.prisme .heros .tampon{right:var(--marge)}
.prisme .tete .tete__droite .tete__cta{background:var(--relief);box-shadow:var(--relief-bord)}
.prisme .tete .tete__droite .tete__cta > span{background:#fff}
.prisme .tete .tete__droite .tete__cta:hover{background:#000}
@media (min-width:761px){
  .prisme .heros .heros__titre{top:max(17vh,calc(var(--encoche-h) + 44px))}
  .prisme .heros .tampon{top:max(15vh,calc(var(--encoche-h) + 10px))}
}
@media (max-width:760px){
  .prisme .heros .heros__note{left:var(--marge);right:var(--marge)}
  .prisme .heros .heros__titre{top:106px}
}
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .prisme .heros .heros__note{left:var(--marge)}
}

/* ---- entete-v2.css */
/* en-tête du héros 2 sur le site : logo et menu en blanc sur le héros, trait fin, seul le bouton est emboîté */
html:not(.prisme){--encoche-h:84px}
html:not(.prisme) .tete__encoche{flex:1;height:var(--encoche-h);padding:0 0 0 var(--bord);background:none;border-radius:0;gap:0}
html:not(.prisme) .tete__encoche:before,html:not(.prisme) .tete__encoche:after{display:none}
html:not(.prisme) .tete .tete__encoche .tete__logo img{width:116px;filter:brightness(0) invert(1)!important}
html:not(.prisme) .tete .tete__encoche .tete__nav{flex:1;justify-content:center;align-self:stretch;align-items:center;margin-right:28px;border-bottom:1px solid rgba(255,255,255,.28)}
html:not(.prisme) .tete .tete__encoche .tete__nav a{color:rgba(255,255,255,.82)!important}
html:not(.prisme) .tete .tete__encoche .tete__nav a:hover,html:not(.prisme) .tete .tete__encoche .tete__nav a.actif{color:#fff!important}

@media (max-width:1000px){
  html:not(.prisme) .tete .tete__encoche .tete__nav{flex:0;border:0;margin:0}
  html:not(.prisme) .tete .tete__encoche .tete__nav a{color:#4b4a68!important}
  html:not(.prisme) .tete .tete__encoche .tete__nav a.actif{color:var(--encre)!important}
}
@media (max-width:760px){
  html:not(.prisme){--encoche-h:72px}
  html:not(.prisme) .tete .tete__encoche .tete__logo img{width:90px}
}
/* menu ouvert : le logo reprend ses couleurs sur le fond clair */
html .tete:has(.tete__nav.ouvert) .tete__encoche .tete__logo img{filter:none!important}
@media (max-width:1000px){
  html:not(.prisme) .tete .tete__encoche .tete__nav{align-items:flex-start;justify-content:center}
}
@media (min-width:761px){
  html:not(.prisme) .heros .tampon{top:calc(var(--encoche-h) + 14px);width:104px;height:104px}
  html:not(.prisme) .heros .tampon svg{font-size:8px}
}
@media (min-width:761px) and (max-height:730px){
  html:not(.prisme) .heros .tampon{display:none}
}

/* contenu du héros descendu sous l'en-tête */
@media (min-width:761px){
  html:not(.prisme) .heros .heros__titre{top:max(20vh,calc(var(--encoche-h) + 88px))}
  html:not(.prisme) .heros .tampon{top:calc(var(--encoche-h) + 34px)}
  html:not(.prisme) .heros__chef,html:not(.prisme) .voyageur img{height:min(84svh,900px,calc(100svh - var(--encoche-h) - 70px))}
}
@media (max-width:760px){
  html:not(.prisme) .heros .heros__titre{top:calc(var(--encoche-h) + 40px)}
  html:not(.prisme) .heros__note{top:calc(var(--encoche-h) + 176px)}
  html:not(.prisme) .heros__cta{top:calc(var(--encoche-h) + 258px)}
}
@media (min-width:761px) and (max-height:820px){
  html:not(.prisme) .heros .heros__titre{top:calc(var(--encoche-h) + 64px);font-size:min(clamp(40px,4.1vw,68px),7.6svh)}
  html:not(.prisme) .heros .heros__cartes figure{width:min(15vw,22svh)}
  html:not(.prisme) .heros .tampon{top:calc(var(--encoche-h) + 14px)}
}
@media (max-width:760px) and (max-height:720px){
  html:not(.prisme) .heros__note{display:none}
  html:not(.prisme) .heros__cta{top:calc(var(--encoche-h) + 172px)}
}

/* Prisme : bloc de commande sur perle, titre lisible */
.prisme .commander{background:var(--perle)}
.prisme .commander__titre{color:var(--encre)}
.prisme .commander__intro{color:#4b4a68}
@media (max-height:520px) and (orientation:landscape){
  html:not(.prisme) .heros .heros__titre{top:calc(var(--encoche-h) + 14px);font-size:min(clamp(30px,4.1vw,68px),7.2svh)}
  html:not(.prisme) .heros .heros__cartes figure{width:min(13vw,17svh)}
}
@media (max-height:520px) and (orientation:landscape){
  html:not(.prisme) .heros .heros__cta{top:auto;bottom:20px}
  html:not(.prisme) .heros .heros__note{display:none}
  html:not(.prisme) .heros .heros__cartes figure{width:min(13vw,16svh)}
}

/* ---- formations-page.css */
/* page Formations */
.page-formations{background:#fff}
.page-formations .tete{position:absolute}

/* ouverture bleue, l'en-tête blanc s'y pose */
.fh{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,80px);align-items:center;min-height:100vh;min-height:100svh;padding:calc(var(--encoche-h) + clamp(32px,5vh,64px)) var(--marge) clamp(48px,7vh,80px);background:radial-gradient(72% 68% at 30% 60%,#18255d 0%,#0b112c 78%);color:var(--creme)}
.fh__etiquette{font-size:14px;color:#f0c27a}
.fh__titre{margin:16px 0 22px;font-size:clamp(44px,6vw,92px);line-height:.98;color:#fff}
.fh__titre b{display:block;font-weight:400;color:#f0c27a}
.fh__intro{max-width:52ch;font-size:18px;line-height:1.6;color:rgba(243,238,230,.82)}
.fh__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}
.fh__lien{color:#fff;font-size:15px;font-weight:500;text-decoration:underline;text-decoration-color:#f0c27a;text-underline-offset:5px}
.fh__reperes{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px;margin:42px 0 0;padding:0;list-style:none;max-width:640px}
.fh__reperes li{display:grid;gap:2px;padding-top:14px;border-top:1px solid rgba(243,238,230,.2);font-size:13.5px;color:rgba(243,238,230,.7)}
.fh__reperes b{font-size:16px;font-weight:600;color:#fff}
.fh__video{justify-self:center;width:min(100%,380px);aspect-ratio:9/16;max-height:calc(100svh - var(--encoche-h) - 90px);overflow:hidden;border-radius:28px;background:#14205a}
.fh__video video{width:100%;height:100%;object-fit:cover}

/* les deux offres */
.fo{padding:clamp(3.5rem,6vw,5.5rem) var(--marge);background:#fff}
.fo__titre{font-size:clamp(2.2rem,4.4vw,4.4rem);line-height:1}
.fo__titre b{color:var(--brun)}
.fo__cartes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:clamp(2rem,4vw,3rem)}
.fo__carte{display:grid;align-content:start;justify-items:start;gap:14px;padding:clamp(26px,3vw,44px);border-radius:30px}
.fo__carte--bleu{background:radial-gradient(90% 80% at 100% 100%,#3b4fa8 0%,#2a2c68 45%,#1a1c4d 100%);color:var(--creme)}
.fo__carte--creme{background:var(--creme);color:var(--encre)}
.fo__public{font-size:14px;opacity:.75}
.fo__carte--bleu .fo__public{color:#f0c27a;opacity:1}
.fo__carte--creme .fo__public{color:var(--bronze);opacity:1}
.fo__carte h3{font-size:clamp(34px,3.6vw,56px);line-height:1}
.fo__prix{font-size:22px;font-weight:700}
.fo__prix small{font-size:14px;font-weight:400;opacity:.7}
.fo__carte ul{width:100%;margin:6px 0 10px;padding:0;list-style:none}
.fo__carte li{padding:12px 0;border-top:1px solid currentColor;border-top-color:rgba(127,127,140,.25);font-size:15px}

/* Masterclass : durées et 10 modules */
.fm{padding:clamp(3.5rem,6vw,5.5rem) var(--marge);background:var(--creme)}
.fm__tete{display:grid;gap:16px;max-width:720px}
.fm__etiquette{font-size:14px;color:var(--bronze)}
.fm h2,.fp h2{font-size:clamp(2.2rem,4.4vw,4.4rem);line-height:1}
.fm h2 b,.fp h2 b{color:var(--brun)}
.fm__intro{font-size:17px;line-height:1.6;color:#4b4a68}
.fm__durees{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:clamp(2rem,4vw,3rem) 0 0}
.fm__durees div{display:grid;gap:6px;padding:22px 24px;border-radius:22px;background:#fff}
.fm__durees span{font-size:14px;color:var(--gris)}
.fm__durees b{font-size:clamp(22px,2.2vw,30px);font-weight:600;letter-spacing:-.02em}
.fm__durees p{grid-column:1/-1;font-size:14px;color:var(--gris)}
.fm__modules{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:clamp(2rem,4vw,3rem) 0 0;padding:0;list-style:none}
.fm__modules li{display:grid;align-content:start;gap:8px;min-height:170px;padding:20px;border-radius:22px;background:#fff}
.fm__modules span{font-size:14px;font-weight:600;color:var(--jaune)}
.fm__modules b{font-size:17px;font-weight:600;line-height:1.25}
.fm__modules p{font-size:14px;line-height:1.5;color:#4b4a68}
.fm__modules li:last-child{background:var(--brun);color:#fff}
.fm__modules li:last-child p{color:rgba(255,255,255,.75)}
.fm__modules li:last-child span{color:#f0c27a}

/* Les Petits Chefs */
.fp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(3.5rem,6vw,5.5rem) var(--marge);background:#fff}
.fp__photos{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:clamp(420px,52vw,620px)}
.fp__photos img{width:100%;height:100%;object-fit:cover;border-radius:24px}
.fp__photos img:first-child{grid-row:span 2}
.fp__texte{display:grid;justify-items:start;gap:18px}
.fp__texte > p:not(.fm__etiquette){font-size:17px;line-height:1.6;color:#4b4a68}
.fp__faits{width:100%;border-top:1px solid var(--filet)}
.fp__faits div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--filet);font-size:15px}
.fp__faits dt{color:var(--bronze)}

/* questions de la page */
.fq{background:var(--creme)}
.fq .faq__item[open]{background:#fff}

/* inscription */
.fi{padding:clamp(3.5rem,6vw,5.5rem) var(--marge);background:#fff}
.fi__tete{display:grid;gap:16px;max-width:46rem;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.fi__tete h2{font-size:clamp(2.4rem,5vw,5rem);line-height:1}
.fi__tete h2 b{color:var(--brun)}
.fi__tete p{font-size:17px;line-height:1.6;color:#4b4a68}
.fi__in{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,64px);align-items:start;padding:clamp(26px,3.4vw,52px);border-radius:32px;background:radial-gradient(80% 90% at 0% 0%,#2f3478 0%,#20225a 45%,#14163f 100%);color:var(--creme)}
.fi__form{display:grid;gap:26px}
.fi .choix{padding-top:22px;border-top:1px solid rgba(243,238,230,.16)}
.fi .choix:first-child{padding-top:0;border:0}
.fi .choix__options{display:flex;flex-wrap:wrap;gap:8px}
.fi .choix--deux{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fi .choix label{display:grid;gap:6px;font-size:12px;color:#aab0cc}
.fi .choix label input{background:none;border:0;border-bottom:1px solid rgba(243,238,230,.3);padding:10px 0;font:inherit;font-size:16px;color:var(--creme);outline:none}
.fi .choix label input:focus{border-color:#f0c27a}
.fi .choix label input::placeholder{color:rgba(243,238,230,.45)}
.fi .pastille.choisi{background:#f0c27a;border-color:#f0c27a;color:#1c1b3d}
.fi__message .pilule{display:flex;width:100%;height:56px;margin-top:20px;padding:0 8px 0 26px;font-size:16px}

/* accueil : lien vers la page */
.formations__tout{display:inline-flex;gap:10px;margin-top:18px;color:var(--encre);font-weight:500;text-decoration:underline;text-decoration-color:var(--jaune);text-underline-offset:5px}

@media (max-width:1100px){
  .fm__modules{grid-template-columns:repeat(2,1fr)}
  .fm__modules li{min-height:0}
}
@media (max-width:1100px) and (orientation:portrait),(max-width:900px){
  .fh{grid-template-columns:1fr;min-height:0}
  .fh__video{width:min(100%,340px);max-height:none}
  .fo__cartes,.fp,.fi__in{grid-template-columns:1fr}
}
@media (max-width:760px){
  .fh{padding:calc(var(--encoche-h) + 28px) var(--marge) 48px}
  .fh__intro{font-size:16px}
  .fh__reperes{grid-template-columns:1fr;gap:0}
  .fh__reperes li{padding:12px 0}
  .fm__durees{grid-template-columns:1fr}
  .fm__modules{grid-template-columns:1fr}
  .fp__photos{height:360px}
  .fp__faits div{grid-template-columns:100px 1fr;font-size:14px}
  .fi .choix--deux{grid-template-columns:1fr}
  .fi__in{padding:22px 16px;border-radius:24px}
}

/* corrections issues du contrôle visuel (après les règles de la page) */
.fp__photos{grid-template-rows:repeat(2,minmax(0,1fr))}
.fp__photos img{min-height:0}
.fm__modules span{color:var(--bronze)}
.fm__modules li:last-child span{color:#f0c27a}
.fo__carte--bleu{background:#2a2c68}
.fm__durees p{color:#5b5970}
.fo__carte > :last-child,.fi__in > :last-child{margin-bottom:0}
@media (max-width:1100px) and (orientation:portrait),(max-width:900px){
  .fp__photos{height:auto;aspect-ratio:4/3}
}
