
@font-face{font-family:"LUGDUNIA font";src:url(../fonts/lugdunia-font-black.woff2) format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"LUGDUNIA font";src:url(../fonts/lugdunia-font-bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"FORMATION-IA font";src:url(../fonts/formation-ia-font-latin.woff2) format("woff2");font-weight:300 800;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"FORMATION-IA font";src:url(../fonts/formation-ia-font-latin-ext.woff2) format("woff2");font-weight:300 800;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
:root{
  --sable:#E3DCD0; --encre:#242424; --gris:#8C867D; --filet:rgba(36,36,36,.28); --clair:#F1ECE3;
  --cond:"LUGDUNIA font","Arial Narrow",sans-serif;
  --large:"FORMATION-IA font",system-ui,sans-serif; --font-sans:"FORMATION-IA font",system-ui,sans-serif; --muted:#8C867D;
  --m:clamp(16px,3.2vw,48px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--sable);color:var(--encre);font-family:var(--large);font-size:clamp(1.125rem,1rem + .4vw,1.375rem);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
.cadre-blanc,.duo figure,.formateur figure,.bandeau,.apercu,.intro__carte{border:clamp(4px,.4vw,6px) solid #ffffff}
a{color:inherit}
::selection{background:var(--encre);color:var(--sable)}
:focus-visible{outline:2px solid var(--encre);outline-offset:4px}

/* ---------- Titres ---------- */
.geant{font-family:var(--cond);font-weight:900;text-transform:uppercase;line-height:.86;letter-spacing:-.005em}
.h-section{font-size:clamp(5rem,17vw,17rem);color:var(--encre);padding:0 var(--m)}
.large{font-family:var(--cond);font-weight:900;text-transform:uppercase;line-height:.95;letter-spacing:.01em}

/* ---------- Ouverture : carte épinglée, vidéo pilotée au scroll, lion qui se dessine ---------- */
.intro{position:relative;height:300vh}
.intro__cadre{position:sticky;top:0;height:100vh;height:100svh;padding:var(--m)}
.intro__carte{position:relative;height:100%;border-radius:clamp(24px,4vw,64px);overflow:hidden;background:#2a2622;color:#fff;transform:scale(var(--s,1));will-change:transform}
.intro__carte video,.intro__carte .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.intro__voile{position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 45%,rgba(20,17,14,.55),rgba(20,17,14,0) 70%),linear-gradient(to top,rgba(20,17,14,.72),rgba(20,17,14,0) 55%);pointer-events:none}
.intro__pastille-haut{position:absolute;top:clamp(14px,2vw,28px);left:clamp(14px,2vw,28px);z-index:3}
.intro__bas{position:absolute;left:0;right:0;bottom:0;padding:0 clamp(18px,3vw,48px) clamp(18px,3vw,44px);display:grid;gap:clamp(.8rem,2vw,1.6rem)}
.intro__titre{font-size:clamp(3.4rem,13.5vw,15rem);line-height:.84;color:#fff}
.intro__titre span{display:block;overflow:hidden}
.intro__titre span>span{display:block;transform:translateY(var(--ty,105%))}
.intro__pied{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;opacity:var(--po,0);transform:translateY(calc((1 - var(--po,0)) * 20px))}
.intro__pied p{max-width:40ch;font-size:clamp(1.05rem,1rem + .3vw,1.3rem)}
.btn--clair{background:#fff;color:var(--encre);border-color:#fff}
.btn--clair:hover{background:transparent;color:#fff}
.sans-js .intro,.reduit .intro{height:auto}
.sans-js .intro__cadre,.reduit .intro__cadre{position:relative;height:88svh;min-height:560px}
.reduit .intro__titre span>span{transform:none}
.reduit .intro__pied{opacity:1;transform:none}
@media (max-width:760px){.intro{height:240vh}.intro__titre{font-size:17.5vw}}

/* ---------- Bouton ---------- */
.btn{display:inline-flex;align-items:center;gap:.7em;padding:1em 1.6em;border:1.5px solid var(--encre);border-radius:999px;text-decoration:none;letter-spacing:.06em;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.02em;transition:background .25s,color .25s}
.btn:hover{background:var(--encre);color:var(--sable)}
.btn--plein{background:var(--encre);color:var(--sable)}
.btn--plein:hover{background:transparent;color:var(--encre)}

/* ---------- Défilant ---------- */
.defile{overflow:hidden;border-block:1px solid var(--filet);margin-top:clamp(1rem,3vw,2.5rem);padding:1rem 0}
.defile div{display:flex;gap:3rem;width:max-content;animation:defile 38s linear infinite}
.defile span{letter-spacing:.06em;font-weight:700;text-transform:uppercase;font-size:clamp(1rem,1.6vw,1.4rem);white-space:nowrap}
.defile span::after{content:"";display:inline-block;width:.45em;height:.45em;border-radius:50%;background:var(--encre);margin-left:3rem;vertical-align:.15em}
@keyframes defile{to{transform:translateX(-50%)}}

/* ---------- Liste à filets (formations) ---------- */
section{position:relative}
.bloc{padding-top:clamp(5rem,12vw,11rem)}
.liste{list-style:none;margin:clamp(1.5rem,3vw,3rem) var(--m) 0;border-top:1px solid var(--filet)}
.liste li{border-bottom:1px solid var(--filet)}
.liste a{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:2rem;padding:clamp(1.6rem,3vw,2.6rem) 0;text-decoration:none}
.liste h3{font-size:clamp(2.2rem,4.6vw,4.6rem)}
.liste p{color:#4a4640;max-width:46ch}
.liste .fl{font-size:1.6rem;transition:transform .3s}
.liste a:hover .fl{transform:translateX(.4em)}
.liste h3{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.liste a:hover h3{transform:translateX(.35em)}
@media (max-width:760px){.liste a{grid-template-columns:1fr;gap:.6rem}.liste .fl{display:none}}
.apercu{position:fixed;z-index:15;left:0;top:0;width:min(30vw,380px);aspect-ratio:4/5;border-radius:28px;overflow:hidden;pointer-events:none;opacity:0;transform:translate(var(--x),var(--y)) translate(-50%,-50%) scale(.85);transition:opacity .25s,transform .25s}
.apercu.on{opacity:1;transform:translate(var(--x),var(--y)) translate(-50%,-50%) scale(1)}
.apercu img{width:100%;height:100%;object-fit:cover}
@media (hover:none){.apercu{display:none}}

/* ---------- Publics : deux cartes ---------- */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,2.5rem);padding:clamp(1.5rem,3vw,3rem) var(--m) 0}
.duo a{text-decoration:none;display:block}
.duo figure{border-radius:clamp(24px,3vw,48px);overflow:hidden;aspect-ratio:4/5;background:#cfc6b8}
.duo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.1,1)}
.duo a:hover img{transform:scale(1.05)}
.duo h3{font-size:clamp(2rem,3.6vw,3.6rem);margin-top:1.4rem}
.duo p{margin-top:.6rem;color:#4a4640;max-width:44ch}
@media (max-width:760px){.duo{grid-template-columns:1fr}}

/* ---------- Méthode : révélation du texte ---------- */
.revele{padding:clamp(1.5rem,3vw,3rem) var(--m) 0;max-width:1500px}
.revele p{font-size:clamp(1.6rem,3.4vw,3.4rem);line-height:1.18;font-weight:500;letter-spacing:-.01em}
.revele p+p{margin-top:.8em}
.revele .m{color:var(--encre);opacity:var(--o,.18);transition:opacity .2s linear}
.outils{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(3rem,6vw,5rem) var(--m) 0;border-top:1px solid var(--filet)}
.outils div{padding:1.6rem 0;border-bottom:1px solid var(--filet)}
.outils div+div{padding-left:clamp(1rem,2vw,2rem);border-left:1px solid var(--filet)}
.outils strong{display:block;letter-spacing:.06em;font-weight:700;text-transform:uppercase;font-size:clamp(1.1rem,1.8vw,1.6rem)}
.outils span{color:#4a4640;font-size:1rem}
@media (max-width:760px){.outils{grid-template-columns:1fr}.outils div+div{padding-left:0;border-left:0}}

/* ---------- Formateur ---------- */
.formateur{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,6rem);align-items:end;padding:clamp(1.5rem,3vw,3rem) var(--m) 0}
.formateur figure{border-radius:clamp(24px,3vw,48px);overflow:hidden;aspect-ratio:3/4;background:#cfc6b8}
.formateur img{width:100%;height:115%;object-fit:cover;object-position:44% 20%;transform:translateY(var(--py,0))}
.formateur h3{font-size:clamp(2rem,4.6vw,4.6rem)}
.formateur .role{margin-top:.8rem;letter-spacing:.06em;font-weight:600;text-transform:uppercase;font-size:.9rem;letter-spacing:.03em}
.faits{list-style:none;margin-top:clamp(2rem,4vw,3.5rem);border-top:1px solid var(--filet)}
.faits li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1.5rem;padding:1.2rem 0;border-bottom:1px solid var(--filet)}
.faits b{letter-spacing:.06em;font-weight:700;text-transform:uppercase;font-size:.95rem;letter-spacing:.02em}
@media (max-width:860px){.formateur{grid-template-columns:1fr}.formateur figure{max-width:520px}.faits li{grid-template-columns:1fr;gap:.2rem}}

/* ---------- Bandeau Lyon ---------- */
.bandeau{margin:clamp(5rem,12vw,11rem) var(--m) 0;border-radius:clamp(24px,4vw,64px);overflow:hidden;position:relative;height:clamp(420px,70vh,760px)}
.bandeau img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover;transform:translateY(var(--py,0))}
.bandeau p{position:absolute;left:clamp(1.5rem,4vw,4rem);bottom:clamp(1.5rem,4vw,4rem);right:clamp(1.5rem,4vw,4rem);color:#fff;font-family:var(--cond);text-transform:uppercase;font-size:clamp(3rem,9vw,9rem);line-height:.88;text-shadow:0 2px 30px rgba(0,0,0,.25)}

/* ---------- Contact ---------- */
.contact{padding:clamp(5rem,12vw,11rem) var(--m) 0}
.contact .geant{font-size:clamp(4.2rem,15vw,15rem)}
.contact .tel{display:inline-block;margin-top:clamp(1.5rem,3vw,2.5rem);letter-spacing:.06em;font-weight:800;font-size:clamp(2rem,6vw,6rem);text-decoration:none;line-height:1;letter-spacing:-.02em}
.contact .tel{background:linear-gradient(currentColor,currentColor) 0 100%/0 3px no-repeat;transition:background-size .5s cubic-bezier(.16,1,.3,1)}
.contact .tel:hover{background-size:100% 3px}
.contact .bas{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;margin-top:clamp(2rem,4vw,3.5rem);padding-top:2rem;border-top:1px solid var(--filet)}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:clamp(4rem,8vw,7rem) var(--m) 2rem;font-size:.9rem;color:#4a4640}


/* ---------- Apparitions ---------- */
.js .monte{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.1,1),transform .9s cubic-bezier(.2,.7,.1,1)}
.js .monte.vu{opacity:1;transform:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .monte{opacity:1;transform:none}.revele .m{--o:1!important}
}

/* =========================================================
   EN-TÊTE : deux boutons ronds (menu à gauche, contact à droite), d'après Pixeldorado
   ========================================================= */
:root{--ease:cubic-bezier(.65,0,.35,1);--ease-out:cubic-bezier(.16,1,.3,1);--btn-t:clamp(48px,3.6vw,58px)}
.topbar{position:fixed;inset:0 0 auto;z-index:90;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:clamp(14px,1.8vw,26px) var(--m);pointer-events:none;transition:transform .6s var(--ease-out),opacity .6s}
.topbar>*{pointer-events:auto}
.topbar.cachee{transform:translateY(-130%);opacity:0}
.marque-centre{justify-self:center;line-height:1;font-family:var(--font-sans);font-weight:500;font-size:12px;letter-spacing:.28em;margin-right:-.28em;text-transform:uppercase;color:#242424;white-space:nowrap;text-decoration:none;padding:.9em 1.2em;border-radius:999px;background:rgba(227,220,208,.86);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rbtn{width:var(--btn-t);height:var(--btn-t);border:0;border-radius:50%;background:var(--encre);color:var(--sable);display:grid;place-items:center;position:relative;cursor:pointer;transition:background .5s,color .5s}
.rbtn::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--encre);opacity:0;scale:.8;transition:opacity .4s,scale .5s var(--ease-out)}
.rbtn:hover::before{opacity:.6;scale:1}
.rbtn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* bouton menu : forme organique */
.rbtn--menu{background:transparent;isolation:isolate}
.rbtn--menu::before{inset:0;border:0;border-radius:0;opacity:1;scale:1;background:var(--encre);z-index:-1;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 157 157'%3E%3Cg transform='matrix%281,0,0,1,-1421.616667,-921.616667%29'%3E%3Cg transform='matrix%280,-8.333333,-8.333333,0,1500,921.616667%29'%3E%3Cpath d='M-9.406,-9.406C-15.999,-9.406 -18.812,-6.832 -18.812,0C-18.812,6.832 -16.115,9.406 -9.406,9.406C-2.697,9.406 0,6.479 0,0C0,-6.479 -2.813,-9.406 -9.406,-9.406'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 157 157'%3E%3Cg transform='matrix%281,0,0,1,-1421.616667,-921.616667%29'%3E%3Cg transform='matrix%280,-8.333333,-8.333333,0,1500,921.616667%29'%3E%3Cpath d='M-9.406,-9.406C-15.999,-9.406 -18.812,-6.832 -18.812,0C-18.812,6.832 -16.115,9.406 -9.406,9.406C-2.697,9.406 0,6.479 0,0C0,-6.479 -2.813,-9.406 -9.406,-9.406'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;
  transition:background .5s,scale .6s var(--ease-out),rotate .8s var(--ease-out)}
.rbtn--menu:hover::before{scale:1.1;rotate:90deg}
.burger{width:20px;height:12px;position:relative}
.burger i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger i:nth-child(1){top:1px}.burger i:nth-child(2){top:9px}
.menu-ouvert .burger i:nth-child(1){top:5px;transform:rotate(45deg)}
.menu-ouvert .burger i:nth-child(2){top:5px;transform:rotate(-45deg)}
.menu-ouvert .rbtn--menu{color:var(--encre)}
.menu-ouvert .rbtn--menu::before{background:var(--sable);rotate:45deg}
.menu-ouvert .rbtn--panneau{background:var(--sable);color:var(--encre)}
.menu-ouvert .rbtn--panneau::before{border-color:var(--sable)}
.menu-ouvert .marque-centre{background:transparent;color:var(--sable)}
.rbtn--panneau{width:calc(var(--btn-t)*1.05);height:calc(var(--btn-t)*1.05)}

/* menu plein écran, ouvert en cercle depuis le bouton */
.menu{position:fixed;inset:0;z-index:80;background:var(--encre);color:var(--sable);visibility:hidden;clip-path:circle(0 at 40px 40px);display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:clamp(60px,11vw,220px);padding:110px var(--m) 90px;overflow:hidden;transition:clip-path 1s var(--ease),visibility 0s 1s}
.menu-ouvert .menu{visibility:visible;clip-path:circle(var(--R,150vmax) at var(--cx,40px) var(--cy,40px));transition:clip-path 1s var(--ease),visibility 0s}
.menu-nav{list-style:none}
.menu-nav li{overflow:hidden}
.menu-link{display:inline-flex;align-items:center;gap:.25em;font-family:var(--cond);font-weight:900;text-transform:uppercase;font-size:clamp(40px,min(7vw,9.6vh),132px);line-height:1.02;text-decoration:none;color:var(--sable);transition:color .35s;transform:translateY(110%)}
.menu-ouvert .menu-link{transform:none;transition:color .35s,transform .9s var(--ease-out) calc(.35s + var(--i)*.05s)}
.menu-link .num{font-family:var(--font-sans);font-size:.8rem;font-weight:600;letter-spacing:.1em;opacity:.5;align-self:flex-start;margin-top:.6em;margin-left:.5em}
.menu-link[aria-current] .num::after{content:" ●"}
.menu-link{background:linear-gradient(currentColor,currentColor) 0 92%/0 .06em no-repeat;transition:background-size .5s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.menu-link:hover,.menu-link:focus-visible{background-size:100% .06em}
.menu-side{text-align:center;max-width:400px;display:grid;justify-items:center;gap:22px;padding:44px 36px;border-radius:28px;background:rgba(227,220,208,.06);box-shadow:inset 0 0 0 1.5px rgba(227,220,208,.14);opacity:0;transform:translateY(30px);transition:opacity .6s,transform .8s var(--ease-out)}
.menu-ouvert .menu-side{opacity:1;transform:none;transition-delay:.55s}
.menu-side h2{font-family:var(--cond);font-weight:900;text-transform:uppercase;font-size:clamp(40px,3.8vw,68px);line-height:.92}
.menu-side p{font-size:1.05rem;color:rgba(227,220,208,.8)}
.menu-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;border:4px solid #fff}
.menu-avatar img{width:100%;height:100%;object-fit:cover;object-position:44% 18%}
.menu .btn{border-color:var(--sable);background:var(--sable);color:var(--encre)}
.menu .btn:hover{background:transparent;color:var(--sable)}
.menu-foot{position:absolute;left:var(--m);right:var(--m);bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.9rem;color:rgba(227,220,208,.75)}
.menu-foot a{color:inherit}
@media (max-width:860px){.menu{grid-template-columns:1fr;align-content:start;padding-top:110px}.menu-side{display:none}.menu-foot{flex-direction:column;align-items:flex-start;gap:8px}}
@media (max-width:520px){.marque-centre{font-size:10px;letter-spacing:.22em;padding:.8em .9em}}

/* panneau latéral de contact */
.voile{position:fixed;inset:0;z-index:94;background:rgba(36,36,36,.45);opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s .5s}
.panneau-ouvert .voile{opacity:1;visibility:visible;transition:opacity .5s}
.panneau{position:fixed;z-index:95;top:12px;right:12px;bottom:12px;width:min(620px,calc(100vw - 24px));background:var(--sable);color:var(--encre);border:clamp(4px,.4vw,6px) solid #ffffff;border-radius:clamp(24px,3vw,40px);padding:clamp(24px,2.6vw,40px);display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;visibility:hidden;transform:translateX(110%) rotate(4deg);transition:transform .7s var(--ease),visibility 0s .7s}
.panneau-ouvert .panneau{visibility:visible;transform:none;transition:transform 1s var(--ease-out)}
.panneau-fermer{position:absolute;top:16px;right:16px;width:48px;height:48px}
.panneau h2{font-family:var(--cond);font-weight:900;text-transform:uppercase;font-size:clamp(46px,4.6vw,76px);line-height:.9;margin-top:.4rem}
.panneau>p{margin-top:.8rem;color:#4a4640;max-width:38ch}
.pform{margin-top:24px;display:grid;gap:14px;flex:1;align-content:start}
.pform-ligne{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.champ{display:grid;gap:6px}
.champ label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.champ input,.champ textarea{font:inherit;font-size:1rem;color:var(--encre);background:#fff;border:1.5px solid rgba(36,36,36,.25);border-radius:14px;padding:.8em 1em;outline:none;transition:border-color .3s}
.champ input:focus,.champ textarea:focus{border-color:var(--encre)}
.champ textarea{resize:vertical;min-height:clamp(140px,24vh,240px)}
.pform .btn{justify-self:start}
.pform-note{font-size:.85rem;color:#4a4640}
.panneau-pied{margin-top:20px;padding-top:16px;border-top:1px solid var(--filet);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.95rem}
@media (max-width:520px){.pform-ligne{grid-template-columns:1fr}}
.bloque{overflow:hidden}
@media (prefers-reduced-motion:reduce){.menu,.panneau,.voile,.menu-link,.menu-side{transition:none!important}}

/* pages intérieures */
.page-tete{padding:clamp(110px,12vw,170px) var(--m) 0}
.page-tete .geant{font-size:clamp(4rem,14vw,15rem)}
.page-tete .chapo{margin-top:clamp(1.2rem,2.4vw,2rem);max-width:46ch;font-size:clamp(1.2rem,1rem + .8vw,1.7rem);line-height:1.35}
.fil{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:1.2rem;color:#4a4640}
.fil a{text-decoration:none}
.carte-photo{margin:clamp(2rem,4vw,3.5rem) var(--m) 0;border:clamp(4px,.4vw,6px) solid #ffffff;border-radius:clamp(24px,4vw,64px);overflow:hidden;height:clamp(320px,62vh,720px)}
.carte-photo img{width:100%;height:100%;object-fit:cover}
.topbar{transition:transform .6s var(--ease-out),opacity .6s,background .4s,border-color .4s;border-bottom:1px solid transparent}
.topbar.fond{background:var(--sable);border-bottom-color:var(--filet)}
.topbar.fond .marque-centre{background:transparent}
.menu-ouvert .topbar.fond{background:transparent;border-bottom-color:transparent}
/* en-tête plus bas */
:root{--btn-t:clamp(38px,2.7vw,44px)}
.topbar{padding-block:clamp(8px,.8vw,12px)}
.rbtn svg{width:20px;height:20px}
.burger{width:17px;height:10px}
.burger i:nth-child(2){top:8px}
.menu-ouvert .burger i:nth-child(1),.menu-ouvert .burger i:nth-child(2){top:4.5px}
.marque-centre{padding:.7em 1em}
.panneau-fermer{width:42px;height:42px}
:root{--btn-t:clamp(42px,3vw,50px)}
.rbtn svg{width:22px;height:22px}
.burger{width:19px;height:11px}
.burger i:nth-child(2){top:9px}
.menu-ouvert .burger i:nth-child(1),.menu-ouvert .burger i:nth-child(2){top:5px}
/* hero : placement affiné */
.intro__voile{background:linear-gradient(to top,rgba(20,17,14,.82) 0%,rgba(20,17,14,.55) 32%,rgba(20,17,14,0) 62%),linear-gradient(to bottom,rgba(20,17,14,.35),rgba(20,17,14,0) 22%)}
.intro__haut{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;gap:1rem;padding:clamp(18px,2.4vw,40px) clamp(20px,3.2vw,52px);font-family:var(--font-sans);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#fff}
.intro__bas{padding:0 clamp(20px,3.2vw,52px) clamp(22px,3.2vw,48px);gap:clamp(1rem,2.2vw,1.8rem)}
.intro__titre{font-size:clamp(3.6rem,min(14.5vw,24vh),17rem);line-height:.86}
.intro__titre span>span{animation:monte 1.1s cubic-bezier(.16,1,.3,1) both}
.intro__titre span:nth-child(2)>span{animation-delay:.12s}
@keyframes monte{from{transform:translateY(105%)}to{transform:none}}
.intro__pied{align-items:flex-end;border-top:1px solid rgba(255,255,255,.35);padding-top:clamp(1rem,1.8vw,1.5rem)}
.intro__pied p{max-width:46ch;font-size:clamp(1.1rem,.95rem + .45vw,1.45rem);line-height:1.4}
@media (max-width:760px){.intro__haut{font-size:10px;letter-spacing:.18em}.intro__haut span+span{display:none}.intro__titre{font-size:17.5vw}.intro__voile{background:linear-gradient(to top,rgba(20,17,14,.88) 0%,rgba(20,17,14,.6) 42%,rgba(20,17,14,0) 72%)}}
@media (prefers-reduced-motion:reduce){.intro__titre span>span{animation:none}}
.intro__voile{background:linear-gradient(to top,rgba(20,17,14,.82) 0%,rgba(20,17,14,.55) 32%,rgba(20,17,14,0) 62%),linear-gradient(to bottom,rgba(20,17,14,.55),rgba(20,17,14,0) 18%)}
.intro__haut{text-shadow:0 1px 12px rgba(0,0,0,.5)}
/* ---------- Ouverture du hero au chargement ---------- */
.js .intro__carte{clip-path:inset(34% 32% 34% 32% round clamp(24px,4vw,64px));transition:clip-path 1.5s cubic-bezier(.76,0,.24,1)}
.js .intro__carte video,.js .intro__carte .poster{transform:scale(1.35);transition:transform 2.2s cubic-bezier(.16,1,.3,1)}
.js .intro__haut{opacity:0;transform:translateY(-10px);transition:opacity .8s ease 1.55s,transform .8s cubic-bezier(.16,1,.3,1) 1.55s}
.js .intro__titre span>span{animation:none;transform:translateY(105%)}
.js .hero-pret .intro__carte{clip-path:inset(0 round clamp(24px,4vw,64px))}
.js .hero-pret .intro__carte video,.js .hero-pret .intro__carte .poster{transform:none}
.js .hero-pret .intro__haut{opacity:1;transform:none}
.js .hero-pret .intro__titre span>span{animation:monte 1.1s cubic-bezier(.16,1,.3,1) 1.05s both}
.js .hero-pret .intro__titre span:nth-child(2)>span{animation-delay:1.2s}
.intro__amorce{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-sans);font-weight:500;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--encre);pointer-events:none;transition:opacity .5s ease .2s}
.hero-pret .intro__amorce{opacity:0}
@media (prefers-reduced-motion:reduce){.js .intro__carte{clip-path:none;transition:none}.js .intro__carte video,.js .intro__carte .poster{transform:none;transition:none}.js .intro__haut{opacity:1;transform:none}.js .intro__titre span>span{transform:none}.intro__amorce{display:none}}
.intro__amorce{place-items:end center;padding-bottom:calc(var(--m) + 24vh)}
.intro__titre{text-shadow:0 4px 24px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.35)}
/* ombre du titre : marge intérieure pour que le masque de l'animation ne la coupe pas */
.intro__titre span{padding:.25em .35em;margin:-.25em -.35em}
.js .intro__titre span>span{transform:translateY(140%)}
@keyframes monte{from{transform:translateY(140%)}to{transform:none}}
.intro__titre{text-shadow:0 3px 18px rgba(0,0,0,.22),0 1px 3px rgba(0,0,0,.16)}
.intro__titre>span+span{margin-top:-.5em}
.intro__titre{font-size:clamp(3rem,min(10.5vw,18vh),12.5rem)}@media (max-width:760px){.intro__titre{font-size:14vw}}
.menu-ouvert .menu-link{transition:background-size .5s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1) calc(.35s + var(--i)*.05s)}
.duo figure{aspect-ratio:1/1}
.menu-link[aria-current],.menu-link:hover,.menu-link:focus-visible{color:#ffffff}
.marque-centre{font-size:12.3px}

/* =========================================================
   HERO v2 : texte à gauche, vidéo pilotée au scroll à droite,
   la carte s'élargit jusqu'à occuper tout le cadre
   ========================================================= */
.i2{position:relative;height:300vh;--e:0;--haut:clamp(64px,5.2vw,78px)}
.i2-cadre{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.i2-texte{position:absolute;left:var(--m);top:var(--haut);bottom:var(--m);width:calc(47% - var(--m));display:flex;flex-direction:column;justify-content:center;gap:clamp(1.2rem,2.4vw,2rem);opacity:calc(1 - var(--e) * 1.6);transform:translateX(calc(var(--e) * -10%))}
.i2-titre{font-size:clamp(3.8rem,min(10.5vw,19vh),13rem);line-height:.86;color:var(--encre)}
.i2-l{display:block;overflow:hidden;padding:.06em 0 .02em}
.i2-c{display:inline-block;transform:translateY(115%) rotate(9deg);transform-origin:0 100%}
.i2-pret .i2-c{transform:none;transition:transform 1s cubic-bezier(.16,1,.3,1) calc(.45s + var(--i) * 38ms)}
.i2-trait{display:block;height:2px;width:min(220px,40%);background:var(--encre);transform:scaleX(0);transform-origin:0 50%}
.i2-pret .i2-trait{transform:scaleX(1);transition:transform 1.1s cubic-bezier(.65,0,.35,1) 1.05s}
.i2-chapo{max-width:40ch;font-size:clamp(1.1rem,.95rem + .5vw,1.5rem);line-height:1.42;color:#3d3a35;opacity:0;transform:translateY(24px)}
.i2-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.8rem;opacity:0;transform:translateY(24px)}
.i2-pret .i2-chapo,.i2-pret .i2-actions{opacity:1;transform:none;transition:opacity .9s ease 1.25s,transform 1.1s cubic-bezier(.16,1,.3,1) 1.25s}
.i2-pret .i2-actions{transition-delay:1.4s}
.i2-aimant{transition:background .25s,color .25s,transform .35s cubic-bezier(.16,1,.3,1)}
.i2-lien{font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;padding-bottom:3px;transition:background-size .4s}
.i2-lien:hover{background-size:0 1.5px;background-position:100% 100%}
/* la carte : à droite, puis plein cadre */
.i2-carte{position:absolute;top:var(--haut);bottom:var(--m);right:var(--m);left:calc(var(--m) + (1 - var(--e)) * (50% - var(--m) * .5));border:clamp(4px,.4vw,6px) solid #fff;border-radius:clamp(24px,3.4vw,56px);overflow:hidden;background:#2a2622;transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform;clip-path:inset(0 0 100% 0 round clamp(24px,3.4vw,56px))}
.i2-pret .i2-carte{clip-path:inset(0 0 0 0 round clamp(24px,3.4vw,56px));transition:clip-path 1.5s cubic-bezier(.76,0,.24,1) .1s}
.i2-film{position:absolute;inset:0;transform:scale(1.4);transform-origin:50% 60%}
.i2-pret .i2-film{transform:none;transition:transform 2.4s cubic-bezier(.16,1,.3,1) .1s}
.i2-film img,.i2-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.i2-voile{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,17,14,.7),rgba(20,17,14,0) 55%);opacity:var(--e);pointer-events:none}
.i2-final{position:absolute;left:clamp(20px,3.2vw,52px);bottom:clamp(22px,3.2vw,48px);right:clamp(20px,3.2vw,52px);font-family:var(--cond);font-weight:900;text-transform:uppercase;font-size:clamp(2.6rem,min(7vw,12vh),8.5rem);line-height:.9;color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.22)}
.i2-final>span{display:block;overflow:hidden;padding:.08em .3em;margin:-.08em -.3em}
.i2-final>span+span{margin-top:-.16em}
.i2-final>span>span{display:block;transform:translateY(calc((1 - var(--f,0)) * 120%))}
/* mobile : texte en haut, la carte monte jusqu'à occuper tout le cadre */
@media (max-width:820px){
  .i2{height:260vh}
  .i2-texte{width:auto;right:var(--m);bottom:auto;justify-content:flex-start;padding-top:1.2rem;gap:1rem;transform:translateY(calc(var(--e) * -8%))}
  .i2-titre{font-size:clamp(3rem,17vw,6rem)}
  .i2-chapo{font-size:1.05rem}
  .i2-carte{left:var(--m);top:calc(var(--haut) + (1 - var(--e)) * 50svh)}
}
@media (max-width:820px) and (max-height:700px){.i2-chapo{display:none}}
.reduit .i2{height:auto}
.reduit .i2-cadre{position:relative;height:auto;min-height:100svh}
.reduit .i2-c,.reduit .i2-trait,.reduit .i2-chapo,.reduit .i2-actions,.reduit .i2-film{transform:none;opacity:1}
.reduit .i2-carte{clip-path:none}
.i2-l+.i2-l{margin-top:-.1em}
/* carte moins haute au départ, décollée de l'en-tête ; pas d'effet 3D */
.i2-carte{transform:none;top:calc(var(--haut) + 1.6vh + (1 - var(--e)) * 7vh);bottom:calc(var(--m) + (1 - var(--e)) * 7vh)}
@media (max-width:820px){.i2-carte{top:calc(var(--haut) + 1.6vh + (1 - var(--e)) * 50svh);bottom:var(--m)}}
/* LUGDUNIA font Bold (plus fine) : phrases finales du hero et liens du menu plein écran */
.i2-final,.menu-link{font-weight:700}
/* carte : plus haute, marges égales en haut et en bas */
.i2-carte{top:calc(var(--haut) + 1.4vh + (1 - var(--e)) * 1.6vh);bottom:calc(var(--m) + (1 - var(--e)) * 1.6vh)}
.i2-texte{top:calc(var(--haut) + 1.4vh)}
@media (max-width:820px){.i2-carte{top:calc(var(--haut) + 1.6vh + (1 - var(--e)) * 50svh);bottom:var(--m)}.i2-texte{top:var(--haut)}}
/* menu 7 entrées */
.menu-link{font-size:clamp(30px,min(4.6vw,7.4vh),84px)}

/* =========================================================
   PARTENAIRES ET CLIENTS
   ========================================================= */
.refs-tete{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);align-items:end;gap:2rem 4rem;padding-right:var(--m)}
.refs-intro{color:#4a4640;font-size:clamp(1.05rem,1rem + .3vw,1.3rem);padding-bottom:.6rem}
.refs-grille{--mx:-999px;--my:-999px;position:relative;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(2rem,4vw,3.5rem) var(--m) 0;border-top:1px solid var(--filet);border-left:1px solid var(--filet)}
.refs-grille::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(260px circle at var(--mx) var(--my),rgba(255,255,255,.55),transparent 70%);mix-blend-mode:soft-light}
.refs-grille li{position:relative;aspect-ratio:4/3;border-right:1px solid var(--filet);border-bottom:1px solid var(--filet);overflow:hidden}
.refs-grille figure{position:absolute;inset:0;display:grid;place-items:center;padding:clamp(1.4rem,3vw,3rem);transition:background .5s}
.refs-grille figure::after{content:"";position:absolute;inset:10px;border-radius:clamp(16px,2vw,28px);background:#fff;border:clamp(4px,.4vw,6px) solid #fff;box-shadow:0 18px 40px -24px rgba(36,36,36,.45);opacity:0;transform:scale(.9);transition:opacity .45s,transform .6s cubic-bezier(.16,1,.3,1);z-index:0}
.refs-grille img{grid-area:1/1;position:relative;z-index:1;max-width:min(78%,220px);max-height:42%;width:auto;height:auto;object-fit:contain;transition:opacity .45s,transform .7s cubic-bezier(.16,1,.3,1)}
.refs-couleur{opacity:0;transform:scale(.92)}
.refs-grille figcaption{position:absolute;left:clamp(18px,2vw,26px);bottom:clamp(14px,1.6vw,22px);z-index:1;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .5s cubic-bezier(.16,1,.3,1)}
@media (hover:hover){
  .refs-grille li:hover figure::after{opacity:1;transform:none}
  .refs-grille li:hover .refs-mono{opacity:0;transform:scale(1.06)}
  .refs-grille li:hover .refs-couleur{opacity:1;transform:scale(1.06)}
  .refs-grille li:hover figcaption{opacity:.7;transform:none}
}
/* case « Et la vôtre ? » */
.refs-vous button{position:absolute;inset:0;width:100%;border:0;background:var(--encre);color:var(--sable);cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;padding:clamp(1.2rem,2.4vw,2.2rem);font:inherit}
.refs-vous-t{font-family:var(--cond);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,3.6vw,3.6rem);line-height:.9}
.refs-vous-l{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;padding-bottom:3px;transition:background-size .5s cubic-bezier(.16,1,.3,1)}
.refs-vous button:hover .refs-vous-l,.refs-vous button:focus-visible .refs-vous-l{background-size:100% 1.5px}
.refs-vous button::after{content:"";position:absolute;right:clamp(1.2rem,2.4vw,2.2rem);top:clamp(1.2rem,2.4vw,2.2rem);width:14px;height:14px;border-radius:50%;background:var(--sable);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.refs-vous button:hover::after{transform:scale(2.4)}
/* entrée en cascade */
.js .refs-grille li{clip-path:inset(100% 0 0 0)}
.js .refs-grille.vu li{clip-path:inset(0);transition:clip-path 1.1s cubic-bezier(.76,0,.24,1) calc(var(--i) * 90ms)}
.js .refs-grille li img.refs-mono{transform:translateY(30px)}
.js .refs-grille.vu li img.refs-mono{transform:none;transition:transform 1.2s cubic-bezier(.16,1,.3,1) calc(.25s + var(--i) * 90ms),opacity .45s}
.js .refs-grille.monte{opacity:1;transform:none}
@media (max-width:860px){.refs-tete{grid-template-columns:1fr}.refs-grille{grid-template-columns:repeat(2,minmax(0,1fr))}.refs-grille figcaption{opacity:.6;transform:none}}
@media (prefers-reduced-motion:reduce){.js .refs-grille li{clip-path:none}.js .refs-grille li img.refs-mono{transform:none}}
.refs-intro{padding-left:var(--m)}
.refs-tete{padding-right:var(--m)}
.refs-grille li{aspect-ratio:16/10}
.refs-grille img{max-width:min(72%,300px);max-height:50%}
@media (max-width:860px){.refs-grille figcaption{display:none}.refs-grille li{aspect-ratio:4/3}.refs-grille img{max-width:80%;max-height:46%}.refs-vous button::after{display:none}.refs-vous-t{font-size:clamp(1.6rem,8vw,2.4rem)}}
.refs-grille figure::after{box-shadow:none}
/* 16 logos : entrée en cascade plus serrée, pied avec appel */
.js .refs-grille.vu li{transition-delay:calc(var(--i) * 55ms)}
.js .refs-grille.vu li img.refs-mono{transition-delay:calc(.2s + var(--i) * 55ms)}
.refs-pied{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin:clamp(1.6rem,3vw,2.6rem) var(--m) 0}
.refs-pied p{font-family:var(--cond);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,4.4vw,4.4rem);line-height:.9}
/* chaque logo tient dans un cadre fixe, centré dans sa case */
.refs-grille img{position:absolute;inset:0;margin:auto;max-width:62%;max-height:44%;width:auto;height:auto}
@media (max-width:860px){.refs-grille img{max-width:72%;max-height:46%}}
.refs-grille figure{display:block}.refs-grille img{grid-area:auto}
.refs-grille::before{display:none}.refs-grille img{filter:none;box-shadow:none}

/* partenaires : survol sobre, logo noir et simple contour blanc */
.refs-grille figure::after{background:transparent;border:clamp(2px,.2vw,3px) solid #fff;box-shadow:none}
@media (hover:hover){
  .refs-grille li:hover .refs-mono{opacity:1;transform:none}
  .refs-grille li:hover .refs-couleur{opacity:0;transform:none}
}

.bandeau--suite{margin-top:clamp(1rem,2vw,1.6rem)}
/* Réglages validés (conservés hors du bloc régénéré) */
.apercu{width:min(20vw,260px)}
.menu-side h2{font-weight:700}
.enr-grille h3{font-weight:700}
/* mention « & en Vallée du Rhône » à la suite du titre, en FORMATION-IA font */
.i2-suite{display:inline-block;font-family:var(--font-sans);font-weight:500;font-size:clamp(.95rem,.8rem + .45vw,1.35rem);letter-spacing:.06em;text-transform:uppercase;line-height:1.1;margin-left:.3em;vertical-align:baseline;white-space:nowrap}
.i2-c.i2-suite{transform:none}
@media (max-width:820px){.i2-suite{display:block;margin:.5rem 0 0;font-size:.9rem}}
/* mention à la suite du titre : plus grosse, plus grasse, sur deux lignes */
.i2-suite{font-weight:700;font-size:clamp(1.1rem,.9rem + .9vw,1.9rem);letter-spacing:.04em;line-height:1.05;margin-left:.35em;vertical-align:baseline;white-space:normal;text-align:left}
@media (max-width:820px){.i2-suite{display:inline-block;margin:0 0 0 .3em;font-size:1.05rem}}
/* la mention arrive en dernier : glisse depuis la gauche derrière « Lyon », puis se pose */
.js .i2-suite{opacity:0;transform:translateX(-.6em) skewX(-8deg);transform-origin:0 100%;clip-path:inset(0 100% 0 0)}
.js .i2-pret .i2-suite{opacity:1;transform:none;clip-path:inset(0 0 0 0);transition:opacity .5s ease calc(.6s + var(--i) * 38ms),transform .9s cubic-bezier(.16,1,.3,1) calc(.6s + var(--i) * 38ms),clip-path .9s cubic-bezier(.76,0,.24,1) calc(.6s + var(--i) * 38ms)}
@media (prefers-reduced-motion:reduce){.js .i2-suite{opacity:1;transform:none;clip-path:none}}
.i2-suite{vertical-align:middle;margin-bottom:.12em}
.i2-suite{margin-left:.7em}@media (max-width:820px){.i2-suite{margin-left:.6em}}
/* menu 8 entrées */
.menu-link{font-size:clamp(28px,min(4.2vw,6.6vh),76px)}
/* formulaire : pot de miel et état d’envoi */
.pot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.pform-etat{font-weight:600;min-height:1.4em;color:#8a2a1a}
.pform-etat.ok{color:#1f6b3a}
.pform-etat:empty{display:none}
/* badge reCAPTCHA masqué : mention et liens Google affichés sous les formulaires */
.grecaptcha-badge{visibility:hidden}
.pform-note a{color:inherit}
.pg-jour{color:#fff}

/* BLOG */
.blog-filtres{display:flex;flex-wrap:wrap;gap:.6rem;margin:clamp(2rem,4vw,3.5rem) var(--m) 0}
.blog-filtres button{font:inherit;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.7em 1.2em;border:1.5px solid var(--encre);border-radius:999px;background:transparent;color:var(--encre);cursor:pointer;transition:background .25s,color .25s}
.blog-filtres button.is-on,.blog-filtres button:hover{background:var(--encre);color:var(--sable)}
.blog-grille{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem) clamp(1rem,2.4vw,2.5rem);margin:clamp(2rem,4vw,3.5rem) var(--m) 0}
.blog-carte a{display:block;text-decoration:none}
.blog-carte figure{border:clamp(4px,.4vw,6px) solid #fff;border-radius:clamp(20px,2.6vw,40px);overflow:hidden;aspect-ratio:16/10;background:#cfc6b8}
.blog-carte img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.1,1)}
.blog-carte a:hover img{transform:scale(1.04)}
.blog-carte h2{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(1.5rem,2.4vw,2.3rem);line-height:.98;margin:.7rem 0 .6rem;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;display:inline;transition:background-size .5s cubic-bezier(.16,1,.3,1)}
.blog-carte a:hover h2{background-size:100% 2px}
.blog-carte>a>p:last-child{margin-top:.6rem;color:#4a4640;line-height:1.5;max-width:52ch}
.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;margin-top:1.2rem;font-size:.85rem;color:#4a4640}
.blog-cat{display:inline-block;padding:.45em .9em;border:1.5px solid var(--encre);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--encre)}
.art-titre{font-size:clamp(2.6rem,7vw,7rem);max-width:18ch}
.art-corps{margin:clamp(2.5rem,5vw,4.5rem) var(--m) 0;max-width:72ch;font-size:clamp(1.1rem,1rem + .35vw,1.3rem);line-height:1.6}
.art-corps p+p{margin-top:1.2em}
.art-corps h2{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(1.7rem,3vw,2.6rem);line-height:.98;margin:2.2em 0 .8em}
.art-corps blockquote{margin:2em 0;padding:1.4em 1.6em;border-left:4px solid var(--encre);font-size:1.15em;line-height:1.45;font-weight:500}
.art-sources{margin-top:3em;padding-top:1.6em;border-top:1px solid var(--filet)}
.art-sources h2{font-size:clamp(1.3rem,2vw,1.8rem);margin:0 0 .8em}
.art-sources ul{list-style:none}
.art-sources li{font-size:.95rem;color:#4a4640;line-height:1.5}
.art-sources li+li{margin-top:.6em}
.art-liens{list-style:none;display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.5em}
.art-liens a{display:inline-block;padding:.8em 1.3em;border:1.5px solid var(--encre);border-radius:999px;text-decoration:none;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:background .25s,color .25s}
.art-liens a:hover{background:var(--encre);color:var(--sable)}
.blog-lire{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,2.5rem);margin:clamp(2rem,4vw,3.5rem) var(--m) 0}
.blog-lire a{display:grid;gap:.8rem;padding:clamp(1.4rem,2.6vw,2.4rem);border:1px solid var(--filet);border-radius:clamp(20px,2.6vw,36px);text-decoration:none;transition:background .3s}
.blog-lire a:hover{background:#fff}
.blog-lire strong{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(1.3rem,2vw,1.9rem);line-height:1}
.blog-lire .blog-cat{justify-self:start}
@media (max-width:860px){.blog-grille,.blog-lire{grid-template-columns:1fr}}
/* menu 9 entrées */
.menu-link{font-size:clamp(26px,min(4vw,6vh),70px)}
.bloc.blog{padding-top:clamp(1.5rem,3vw,2.5rem)}
/* titres du blog : plus d'espace sous la catégorie et la date */
.blog-carte h2{margin-top:1.6rem}
.enr-blog h3{margin-top:1.5rem}
.blog-lire a{gap:1.2rem}
.blog-carte .art-meta{margin-bottom:1.5rem}.enr-blog .art-meta{margin-bottom:1.3rem}
/* pied de page commun : ligne principale + numéro de déclaration d'activité */
footer{flex-direction:column;align-items:stretch;gap:1.6rem}
.pied-haut{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.pied-dna{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;padding-top:1.4rem;border-top:1px solid var(--filet);font-size:.8rem;line-height:1.45}
.pied-dna img{width:190px;height:auto;flex:none;border-radius:8px}
.pied-dna p{max-width:60ch;margin:0}
/* ancres : marge pour l’en-tête fixe */
.h-section{scroll-margin-top:110px}

/* =========================================================
   CONTENUS ENRICHIS ET FAQ
   ========================================================= */
.enr-intro{margin:clamp(1.2rem,2.4vw,2rem) var(--m) 0;max-width:52ch;font-size:clamp(1.1rem,1rem + .4vw,1.4rem);line-height:1.45;color:#3d3a35}
/* Le programme : carte noire, jour fixe à gauche, modules qui s’allument à droite */
.pg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0;margin:clamp(2.5rem,5vw,4.5rem) var(--m) clamp(1.5rem,3vw,2.5rem);background:var(--encre);color:var(--sable);border:clamp(4px,.4vw,6px) solid #fff;border-radius:clamp(24px,3.4vw,56px);overflow:clip}
.pg-piste{position:relative}
.pg-gauche{position:relative;border-right:1px solid rgba(227,220,208,.18)}
.pg-colle{display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(2.4rem,4vw,4rem) clamp(1.6rem,3.4vw,3.6rem)}
.pg-etiquette{font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(227,220,208,.6)}
.pg-jours{position:relative;height:.9em;font-family:var(--cond);font-weight:600;text-transform:uppercase;font-size:clamp(4rem,7.4vw,8.5rem);line-height:.86;margin:1.1rem 0 1rem;white-space:nowrap}
.pg-jour{position:absolute;left:0;top:0;opacity:0;transform:translateY(.25em);transition:opacity .5s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.pg-jour.is-on{opacity:1;transform:none}
.pg-titre{position:relative;height:2.7em;max-width:24ch;font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(1.3rem,1.1rem + .9vw,2.1rem);line-height:1.05}
.pg-titre span{position:absolute;left:0;top:0;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .6s cubic-bezier(.16,1,.3,1)}
.pg-titre span.is-on{opacity:1;transform:none;transition-delay:.15s}
.pg-note{margin-top:clamp(1.4rem,2.6vw,2.4rem);padding-top:clamp(1.2rem,2vw,1.8rem);border-top:1px solid rgba(227,220,208,.18);max-width:36ch;font-size:clamp(1rem,.95rem + .25vw,1.15rem);line-height:1.5;color:rgba(227,220,208,.78)}
.pg-droite{padding:clamp(2.4rem,4vw,4rem) clamp(1.6rem,3.4vw,3.6rem);will-change:transform}
@media (min-width:861px){.pg{position:sticky;top:var(--pg-top,96px)}}
.pg-groupe+.pg-groupe{margin-top:clamp(2.4rem,4vw,3.6rem)}
.pg-groupe h3{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(1.8rem,3vw,3rem);line-height:.95;color:#fff;margin-bottom:clamp(1rem,2vw,1.6rem)}
.pg-jour-m{display:none;font-family:var(--cond);font-weight:600;text-transform:uppercase;font-size:clamp(3rem,14vw,4.5rem);line-height:.9;margin-bottom:.6rem}
.pg-groupe ul{list-style:none;border-top:1px solid rgba(227,220,208,.18)}
.pg-item{--on:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem;padding:clamp(.8rem,1.2vw,1rem) 0 clamp(.8rem,1.2vw,1rem) clamp(1.4rem,2.4vw,2rem);border-bottom:1px solid rgba(227,220,208,.18);position:relative;opacity:calc(.42 + var(--on) * .58);transform:translateX(calc(var(--on) * .4rem));transition:opacity .25s linear,transform .35s ease}
.pg-item::before{content:"";position:absolute;left:0;top:50%;width:.7rem;height:.7rem;margin-top:-.35rem;border-radius:50%;background:var(--sable);transform:scale(calc(.45 + var(--on) * .55));transition:transform .3s ease}
.pg-k{font-family:var(--font-sans);font-weight:700;text-transform:none;letter-spacing:-.01em;font-size:clamp(1.1rem,1rem + .5vw,1.5rem);line-height:1.2;color:color-mix(in srgb, #ffffff calc(60% + var(--on) * 40%), transparent)}
.pg-r{font-size:clamp(.95rem,.9rem + .2vw,1.1rem);line-height:1.4;color:color-mix(in srgb, #ffffff calc(55% + var(--on) * 35%), transparent)}
.pg-note-m{display:none}
.js .pg.monte{opacity:1;transform:none}
.js .pg-item{clip-path:inset(0 0 0 0)}
@media (max-width:860px){
  .pg{grid-template-columns:1fr}
  .pg-gauche{display:none}
  .pg-jour-m{display:block}
  .pg-note-m{display:block;margin-top:clamp(2rem,6vw,3rem);padding-top:1.2rem;border-top:1px solid rgba(227,220,208,.18);font-size:1rem;line-height:1.5;color:rgba(227,220,208,.78)}
  .pg-droite{padding:clamp(1.6rem,6vw,2.4rem) clamp(1.2rem,5vw,1.8rem)}
  .pg-item{opacity:1;transform:none}
  .pg-item::before{transform:scale(1)}
}
.enr-jour{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#4a4640}
.enr-grille{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(2rem,4vw,3.5rem) var(--m) 0;border-top:1px solid var(--filet);border-left:1px solid var(--filet)}
.enr-grille li{padding:clamp(1.4rem,2.6vw,2.4rem);border-right:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.enr-grille h3{font-family:var(--cond);font-weight:900;text-transform:uppercase;font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:.95;margin-bottom:.8rem}
.enr-grille p{color:#3d3a35;line-height:1.45}
.enr-reperes ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 var(--m);border-top:1px solid var(--encre);border-bottom:1px solid var(--encre)}
.enr-reperes li{padding:clamp(1.6rem,3vw,2.8rem) clamp(1rem,2vw,2rem);display:grid;gap:.8rem;align-content:start}
.enr-reperes li+li{border-left:1px solid var(--filet)}
.enr-reperes strong{font-family:var(--cond);font-weight:900;font-size:clamp(3.4rem,7vw,7.5rem);line-height:.85}
.enr-reperes span{color:#3d3a35;max-width:24ch;line-height:1.4}
.enr-cas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,2.5rem);margin:clamp(2rem,4vw,3.5rem) var(--m) 0}
.enr-cas article{border-top:2px solid var(--encre);padding-top:1.4rem}
.enr-cas article>p:last-child{color:#3d3a35;max-width:46ch;line-height:1.5}
.enr-lieux{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin:clamp(1.6rem,3vw,2.4rem) var(--m) 0}
.enr-lieux li{padding:.65em 1.1em;border:1.5px solid var(--encre);border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.enr-lieux li:last-child{background:var(--encre);color:var(--sable)}
.enr-infos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(2rem,4vw,3.5rem) var(--m) 0;border-top:1px solid var(--filet);border-left:1px solid var(--filet)}
.enr-infos>div{padding:clamp(1.3rem,2.4vw,2.2rem);border-right:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.enr-infos dt{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.7rem}
.enr-infos dd{font-size:clamp(1.05rem,1rem + .3vw,1.3rem);line-height:1.4}
/* FAQ */
.faq{margin:clamp(2rem,4vw,3.5rem) var(--m) 0;border-top:1px solid var(--encre)}
.faq-q{border-bottom:1px solid var(--filet)}
.faq-q summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.2rem,2.2vw,1.8rem) 0;font-size:clamp(1.15rem,1rem + .55vw,1.6rem);font-weight:600;line-height:1.3}
.faq-q summary::-webkit-details-marker{display:none}
.faq-q summary i{flex:none;position:relative;width:44px;height:44px;border-radius:50%;background:var(--encre);transition:transform .5s cubic-bezier(.16,1,.3,1),background .3s}
.faq-q summary i::before,.faq-q summary i::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;margin:-1px 0 0 -8px;background:var(--sable);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.faq-q summary i::after{transform:rotate(90deg)}
.faq-q[open] summary i{transform:rotate(180deg)}
.faq-q[open] summary i::after{transform:rotate(0deg)}
.faq-q summary span{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .5s cubic-bezier(.16,1,.3,1)}
.faq-q summary:hover span{background-size:100% 1.5px}
.faq-r{padding:0 clamp(0px,6vw,90px) clamp(1.4rem,2.4vw,2rem) 0}
.faq-r p{max-width:72ch;font-size:clamp(1.05rem,1rem + .25vw,1.25rem);line-height:1.55;color:#3d3a35}
.faq-q[open] .faq-r{animation:faq-ouvre .5s cubic-bezier(.16,1,.3,1)}
@keyframes faq-ouvre{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width:860px){
  .enr-prog,.enr-cas{grid-template-columns:1fr}
  .enr-grille,.enr-infos{grid-template-columns:1fr}
  .enr-reperes ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .enr-reperes li:nth-child(3){border-left:0}
  .enr-reperes li:nth-child(n+3){border-top:1px solid var(--filet)}
  .faq-q summary i{width:38px;height:38px}
}
@media (min-width:861px) and (max-width:1100px){.enr-grille,.enr-infos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.faq-q[open] .faq-r{animation:none}}
/* maillage interne */
.enr-voir{margin:clamp(2rem,4vw,3.5rem) var(--m) 0}
.enr-blog{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.4vw,2.5rem);margin:clamp(2rem,4vw,3.5rem) var(--m) 0}
.enr-blog a{display:block;text-decoration:none}
.enr-blog figure{border:clamp(4px,.4vw,6px) solid #fff;border-radius:clamp(20px,2.6vw,36px);overflow:hidden;aspect-ratio:16/10;background:#cfc6b8}
.enr-blog img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.1,1)}
.enr-blog a:hover img{transform:scale(1.04)}
.enr-blog .art-meta{margin-top:1.4rem}
.enr-blog h3{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(1.5rem,2.4vw,2.3rem);line-height:.98;margin-top:1rem}
.enr-blog-extrait{margin-top:.8rem;color:#4a4640;line-height:1.5;font-size:clamp(1rem,.95rem + .2vw,1.1rem)}
.enr-blog-plus{margin:clamp(1.6rem,3vw,2.5rem) var(--m) 0}
.pg-note--lien{border-top:0;padding-top:0;margin-top:1.2rem}
.pg-note--lien a{color:var(--sable);font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat}
@media (max-width:860px){.enr-blog{grid-template-columns:1fr}}
/* numéro de déclaration d'activité */
.enr-dna{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,3vw,3rem);margin:clamp(2rem,4vw,3rem) var(--m) 0;padding:clamp(1.4rem,2.6vw,2.2rem);background:#fff;border:clamp(4px,.4vw,6px) solid #fff;border-radius:clamp(20px,2.6vw,36px)}
.enr-dna img{width:100%;height:auto}
.enr-dna p{color:#3d3a35;line-height:1.5;max-width:56ch}
@media (max-width:860px){.enr-dna{grid-template-columns:1fr}}
/* /CONTENUS ENRICHIS ET FAQ */
/* menu plein écran : plus gros sur mobile */
@media (max-width:600px){.menu-link{font-size:clamp(38px,10vw,52px)}}
/* logo collé à l'adresse dans la section contact */
.contact .bas-g{display:flex;align-items:center;gap:clamp(1rem,2vw,1.6rem)}
.pied-logo{flex:none;display:inline-block;line-height:0}
.pied-logo img{width:clamp(72px,8vw,96px);height:auto;display:block}
/* lien Mentions légales en bas à droite du bloc DREETS */
.pied-dna{position:relative}
.pied-mentions{margin-left:auto;align-self:flex-end;font-size:.85rem;text-decoration:none;border-bottom:1px solid currentColor}
.pied-mentions:hover{opacity:.7}
@media (max-width:620px){.pied-mentions{align-self:flex-start}}
/* Curseur personnalisé (desktop uniquement) */
html.hk-on,html.hk-on *{cursor:none!important}
.hk-cursor{position:fixed;top:0;left:0;width:25px;height:26px;z-index:2147483647;pointer-events:none;will-change:transform;filter:drop-shadow(rgba(0,0,0,.18) 0 1px 1.5px);opacity:0;transition:opacity .25s cubic-bezier(.22,1,.36,1)}
.hk-cursor.on{opacity:1}
.hk-cursor svg{position:absolute;inset:0;width:100%;height:100%;display:none}
.hk-cursor[data-state="arrow"] .hk-arrow,
.hk-cursor[data-state="point"] .hk-point,
.hk-cursor[data-state="grab"] .hk-grab,
.hk-cursor[data-state="grabbing"] .hk-grabbing{display:block}
