/* ===== Header : logo centre, nav gauche/droite ===== */
.site-head{position:sticky;top:0;z-index:60;background:rgba(255,253,248,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,55,77,.07)}
.site-head__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s-3);padding:10px 24px}
.brand{justify-self:center}
.brand img{height:54px;width:auto}
.nav{display:flex;align-items:center;gap:20px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.nav--left{justify-self:start}.nav--right{justify-self:end}
.nav a,.nav-drop__t{color:var(--c-bleu-fonce);font-weight:500;background:none;border:none;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0}
.nav a:hover,.nav-drop__t:hover{color:var(--c-rose)}
.nav__cta{padding:9px 18px;border-radius:var(--r-pill);text-transform:uppercase}
.nav-drop{position:relative}
.nav-drop__m{position:absolute;top:140%;left:50%;transform:translateX(-50%) translateY(6px);background:#fff;border-radius:14px;box-shadow:var(--ombre);padding:10px;min-width:210px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transition:.18s;z-index:5}
.nav-drop:hover .nav-drop__m,.nav-drop:focus-within .nav-drop__m{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-drop__m a{padding:9px 14px;border-radius:9px;text-transform:none;letter-spacing:0;font-size:.95rem}
.nav-drop__m a:hover{background:var(--c-creme)}
/* ===== Menu mobile : burger + panneau (desktop INCHANGÉ) ===== */
.nav-burger{display:none}
.nav-overlay{display:none}
.nav-panel{display:contents}
@media(max-width:980px){
  .site-head__in{grid-template-columns:44px 1fr 44px;padding:8px 14px}
  .nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;justify-self:start;grid-column:1;z-index:80;padding:9px}
  .nav-burger span{display:block;height:2.5px;width:100%;background:var(--c-bleu-fonce);border-radius:2px;transition:.25s}
  .site-head.shrink .nav-burger span,.site-head.nav-open .nav-burger span{background:#fff}
  .site-head.nav-open .nav-burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .site-head.nav-open .nav-burger span:nth-child(2){opacity:0}
  .site-head.nav-open .nav-burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .brand{justify-self:center;grid-column:2}
  .nav-overlay{display:block;position:fixed;inset:0;background:rgba(0,30,45,.55);z-index:64;opacity:0;transition:opacity .3s;pointer-events:none}
  .site-head.nav-open ~ .nav-overlay{opacity:1;pointer-events:auto}
  /* LE panneau unique : les deux nav s'enchaînent naturellement dedans */
  .nav-panel{display:flex;flex-direction:column;position:fixed;top:0;right:0;width:min(86vw,340px);height:100dvh;background:var(--c-bleu-fonce);padding:78px 26px 32px;gap:0;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);z-index:70;box-shadow:-14px 0 44px rgba(0,0,0,.3);overflow-y:auto;visibility:hidden}
  .site-head.nav-open .nav-panel{transform:translateX(0);visibility:visible}
  .site-head.nav-open{z-index:75}
  .nav{position:static;display:flex;flex-direction:column;align-items:stretch;width:100%;gap:0;transform:none;background:none;box-shadow:none;text-transform:none;letter-spacing:.01em}
  .nav--right{margin-top:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}
  .nav a,.nav-drop__t{color:#eaf4f8;width:100%;padding:13px 2px;font-size:1.06rem;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;background:none}
  .nav a:hover,.nav-drop__t:hover{color:var(--c-jaune)}
  .nav-drop{width:100%;position:static}
  .nav-drop__t{display:flex;align-items:center;justify-content:space-between}
  .nav-drop__m{position:static;transform:none;opacity:1;visibility:visible;background:rgba(0,0,0,.14);box-shadow:none;padding:4px 0;margin:0 0 6px;min-width:0;display:flex;flex-direction:column;border-radius:10px}
  .nav-drop__m a{color:#cfe0e8;font-size:.97rem;padding:11px 16px;border:none}
  .nav-drop__m a:hover{background:rgba(255,255,255,.08);color:#fff}
  .nav__cta{background:var(--c-jaune);color:var(--c-bleu-fonce)!important;border-radius:var(--r-pill);padding:13px 20px;margin-top:16px;display:block;width:100%;text-transform:uppercase;text-align:center;border:none;font-weight:700}
  body.nav-locked{overflow:hidden}
}
/* ===== HERO video + halos ===== */
.hero{position:relative;overflow:hidden;min-height:560px;display:flex;align-items:center;color:#fff}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg video,.hero__bg img{width:100%;height:100%;object-fit:cover}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,56,77,.82),rgba(0,110,151,.55))}
.hero__halo{position:absolute;border-radius:50%;z-index:1;filter:blur(2px);animation:breathe 9s ease-in-out infinite}
.hero__halo--1{width:380px;height:380px;background:var(--c-jaune);opacity:.22;top:-120px;right:6%}
.hero__halo--2{width:280px;height:280px;background:var(--c-turquoise);opacity:.25;bottom:-110px;left:4%;animation-delay:-3s}
.hero__halo--3{width:160px;height:160px;border:1px dashed rgba(255,255,255,.5);top:18%;left:12%;animation:spin 40s linear infinite}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes spin{to{transform:rotate(360deg)}}
.hero__in{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:var(--s-6) var(--s-3);width:100%}
.hero .kicker{color:var(--c-jaune)}
.hero h1{color:#fff;font-size:var(--t-5);max-width:16ch;margin:0 0 var(--s-2)}
.hero h1 em{font-style:italic;color:#ffd9ec}
.hero p.lead{font-size:var(--t-1);max-width:46ch;color:rgba(255,255,255,.92);margin:0 0 var(--s-3)}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.hero .rule em{color:rgba(255,255,255,.85)}
@media(max-width:820px){.hero h1{font-size:var(--t-4)}.hero{min-height:480px}}

/* ===== Entrees par public ===== */
.publics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3)}
.public{position:relative;border-radius:var(--r);overflow:hidden;min-height:300px;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--ombre)}
.public img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .4s}
.public:hover img{transform:scale(1.06)}
.public::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,56,77,.9),rgba(0,56,77,.05) 65%)}
.public__body{position:relative;z-index:2;padding:var(--s-3)}
.public__body .k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--c-jaune)}
.public h3{color:#fff;font-size:var(--t-2);margin:6px 0 4px}
.public__link{font-size:.9rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px}
.public:nth-child(1){border-top:4px solid var(--c-turquoise)}
.public:nth-child(2){border-top:4px solid var(--c-rose)}
.public:nth-child(3){border-top:4px solid var(--c-jaune)}
@media(max-width:820px){.publics{grid-template-columns:1fr}}

/* ===== Sections generiques ===== */
.section{padding:var(--s-7) 0}
.section--creme{background:var(--c-creme)}
.section--bleu{background:var(--c-bleu-fonce);color:#fff}
.section--bleu h2{color:#fff}
.section__head{text-align:center;max-width:60ch;margin:0 auto var(--s-5)}

/* ===== Domaines pastilles ===== */
.domaines{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.domaine{display:inline-flex;align-items:center;gap:8px;padding:9px 17px;border-radius:var(--r-pill);background:#fff;border:1px solid rgba(0,55,77,.1);font-size:.92rem;color:var(--c-bleu-fonce);transition:.15s}
.domaine:hover{transform:translateY(-2px);border-color:var(--c-turquoise);color:var(--c-rose)}

/* ===== Financement / Qualiopi ===== */
.finance{display:grid;grid-template-columns:1fr 280px;gap:var(--s-5);align-items:center;background:#fff;border-radius:var(--r);padding:var(--s-5);box-shadow:var(--ombre)}
.finance__logo{text-align:center}
.finance__logo img{margin:0 auto var(--s-1);max-width:200px}
.finance__logo small{color:var(--c-texte-doux);font-size:.8rem}
@media(max-width:820px){.finance{grid-template-columns:1fr;text-align:center}.finance__logo img{max-width:160px}}

/* ===== Equipe : pastilles (PAS un annuaire) ===== */
.team{display:flex;flex-wrap:wrap;gap:var(--s-4);justify-content:center}
.member{width:130px;text-align:center}
.member__ph{width:118px;height:118px;border-radius:50%;margin:0 auto;object-fit:cover;border:4px solid #fff;box-shadow:var(--ombre);background:var(--c-sable)}
.member b{display:block;font-family:var(--f-titre);font-weight:600;color:var(--c-bleu-fonce);margin-top:10px;font-size:1.05rem}
.member span{font-size:.8rem;color:var(--c-texte-doux)}
.team__filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:var(--s-4)}
.team__filters button{font:inherit;font-size:.85rem;padding:7px 15px;border-radius:var(--r-pill);border:1px solid rgba(0,55,77,.14);background:#fff;color:var(--c-bleu-fonce);cursor:pointer;transition:.15s}
.team__filters button.on,.team__filters button:hover{background:var(--c-bleu);color:#fff;border-color:var(--c-bleu)}
.member.hide{display:none}

/* ===== Actualites ===== */
.news{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-3)}
.post{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--ombre);transition:transform .18s}
.post:hover{transform:translateY(-4px)}
.post__img{aspect-ratio:3/2;background:var(--c-sable)}
.post__img img{width:100%;height:100%;object-fit:cover}
.post__body{padding:var(--s-2)}
.post__body h3{font-size:1.02rem;margin:0 0 6px;color:var(--c-bleu-fonce)}
.post__body p{font-size:.85rem;color:var(--c-texte-doux);margin:0}
@media(max-width:920px){.news{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.news{grid-template-columns:1fr}}

/* ===== Temoignages ===== */
.testis{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3)}
.testi{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:var(--s-3)}
.testi p{font-family:var(--f-titre);font-style:italic;font-size:1.05rem;color:#fff;margin:0 0 var(--s-2)}
.testi b{color:var(--c-jaune);font-size:.9rem;font-style:normal}
@media(max-width:820px){.testis{grid-template-columns:1fr}}

/* ===== Footer ===== */
.site-foot{background:var(--c-bleu-fonce);color:#cfe4ec;padding:var(--s-6) 0 var(--s-3)}
.site-foot__in{display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;padding-bottom:var(--s-4);border-bottom:1px solid rgba(255,255,255,.12)}
.site-foot .brand img{height:48px}
.foot-col{display:flex;flex-direction:column;gap:8px}
.foot-col a{color:#cfe4ec;font-size:.92rem}.foot-col a:hover{color:var(--c-jaune)}
.foot-col h3{color:#fff;font-size:1rem;margin-bottom:6px}
.muted{color:#9fc0cd}.small{font-size:.85rem;padding-top:var(--s-3)}
