:root{
  --nuit:#000b33; --nuit2:#00081f; --teal:#16b89e; --teal-d:#0f8f7a;
  --gold:#f0bc00; --gold-d:#c79c00; --silver:#b9becb; --ivoire:#fbf9f4;
  --ink:#23262f; --ink-soft:#55596a; --line:rgba(23,27,52,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,Arial,sans-serif;color:var(--ink);
  background:var(--ivoire);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:'Poppins',system-ui,sans-serif;font-weight:600;line-height:1.15}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.btn{display:inline-block;padding:14px 28px;border-radius:999px;font-weight:600;
  font-size:.95rem;letter-spacing:.2px;transition:.2s;cursor:pointer;border:1.5px solid transparent}
.btn-gold{background:var(--gold);color:#241c00}
.btn-gold:hover{background:var(--gold-d);color:#fff}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-d)}
.btn-ghost{border-color:var(--silver);color:#fff}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.kicker{text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;
  font-weight:600;color:var(--teal-d)}
section{padding:84px 0}
.section-dark{background:var(--nuit);color:#edeff5}
.section-dark .kicker{color:var(--gold)}
.section-dark h2,.section-dark h3{color:#fff}
.lead{font-size:1.15rem;color:var(--ink-soft);max-width:720px}
.section-dark .lead{color:#c5c9d8}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;background:rgba(251,249,244,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;
  height:70px;gap:18px}
.brand{display:flex;align-items:center;gap:12px;font-family:'Poppins',system-ui,sans-serif}
.brand svg{width:40px;height:40px}
.brand b{font-size:1.35rem;font-weight:600;letter-spacing:.5px}
.brand span{display:block;font-size:.62rem;letter-spacing:.34em;
  text-transform:uppercase;color:var(--ink-soft);font-family:'Inter',sans-serif}
.nav-links{display:flex;align-items:center;gap:26px;font-size:.92rem;font-weight:500}
.nav-links a:hover{color:var(--teal-d)}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer}

/* HERO */
.hero{position:relative;background:linear-gradient(160deg,#00081f 0%,#000b33 55%,#0a1452 100%);
  color:#fff;overflow:hidden;padding:120px 0 110px}
.hero::after{content:"";position:absolute;inset:0;opacity:.16;
  background:radial-gradient(circle at 78% 30%,#1d9e75 0,transparent 40%),
             radial-gradient(circle at 12% 80%,#c9a227 0,transparent 38%)}
.hero .wrap{position:relative;z-index:2;max-width:860px}
.hero h1{font-size:clamp(2.5rem,6vw,4.3rem);margin:18px 0 20px}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero p{font-size:1.2rem;color:#cfd3e2;max-width:640px;margin-bottom:34px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.hero-moon{position:absolute;right:-60px;top:-40px;width:420px;height:420px;
  border-radius:50%;border:1px solid rgba(201,162,39,.35);z-index:1}
.hero-moon::before{content:"";position:absolute;right:60px;top:40px;width:260px;height:260px;
  border-radius:50%;background:radial-gradient(circle at 35% 35%,#13205f,#000b33)}

/* GRID cards */
.grid{display:grid;gap:26px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}

.section-dark .card{background:#0a1452;border-color:rgba(255,255,255,.08)}
.card h3{font-size:1.5rem;margin-bottom:8px}
.icon-disc{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:rgba(29,158,117,.12);color:var(--teal-d);font-size:1.4rem;margin-bottom:14px}

/* PRICING */
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:42px}
.price{border:1px solid var(--line);border-radius:22px;padding:38px 34px;background:#fff;
  display:flex;flex-direction:column;position:relative}
.price.featured{border:2px solid var(--gold);box-shadow:0 18px 50px -28px rgba(201,162,39,.55)}
.price .tag{position:absolute;top:-13px;left:34px;background:var(--gold);color:#241c00;
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:6px 14px;border-radius:999px}
.price h3{font-size:1.9rem}
.price .amount{font-family:'Poppins',system-ui,sans-serif;font-size:3.2rem;font-weight:600;
  color:var(--nuit);margin:6px 0 2px}
.price .amount small{font-size:1.1rem;color:var(--ink-soft);font-family:'Inter',sans-serif}
.price ul{list-style:none;margin:22px 0 28px;display:grid;gap:11px}
.price li{display:flex;gap:11px;align-items:flex-start;font-size:.97rem}
.price li::before{content:"✓";color:var(--teal);font-weight:800;flex:none}
.price .btn{margin-top:auto;text-align:center}

/* MASTERCLASS */
.mc-dates{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:34px 0}
.mc-date{background:rgba(255,255,255,.05);border:1px solid rgba(201,162,39,.4);
  border-radius:18px;padding:26px 28px}
.mc-date .d{font-family:'Poppins',system-ui,sans-serif;font-size:2.1rem;color:var(--gold)}
.mc-date .m{letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;color:#cfd3e2}

/* DUO */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);
  border-radius:22px;overflow:hidden;margin-top:38px}
.duo>div{padding:42px 38px}
.duo .a{background:#fff}
.duo .b{background:var(--nuit);color:#edeff5}
.duo .b h3{color:#fff}

/* FORMS */
form.lead-form{display:grid;gap:16px;max-width:680px;margin-top:28px}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--ink-soft);
  display:block;margin-bottom:6px}
.section-dark label{color:#aeb4c7}
input,select,textarea{width:100%;padding:13px 15px;border:1px solid var(--line);
  border-radius:12px;font:inherit;background:#fff;color:var(--ink)}
textarea{min-height:120px;resize:vertical}
.checks{display:flex;flex-wrap:wrap;gap:10px}
.checks label{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:9px 16px;font-weight:500;color:var(--ink);cursor:pointer;margin:0;font-size:.88rem}
.checks input{width:auto;margin:0}
.form-msg{font-weight:600;padding:12px 0}
.form-msg.ok{color:var(--teal-d)} .form-msg.err{color:#a32d2d}

/* FOOTER */
footer{background:var(--nuit2);color:#aeb4c7;padding:56px 0 34px;font-size:.9rem}
footer h4{color:#fff;font-family:'Poppins',system-ui,sans-serif;font-size:1.3rem;margin-bottom:12px}
footer a:hover{color:var(--gold)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;margin-bottom:34px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem}

@media(max-width:880px){
  .nav-links{position:fixed;inset:70px 0 auto 0;background:var(--ivoire);
    flex-direction:column;padding:24px;border-bottom:1px solid var(--line);display:none}
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
  .grid-3,.grid-2,.price-grid,.mc-dates,.duo,.foot-grid,form .row{grid-template-columns:1fr}
  .hero-moon{display:none}
}

/* ═══════════ AJOUTS v2 : approche, modules, équipe, BNS ═══════════ */

/* Bandeau de sous-titre de section */
.eyebrow-row{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:8px}

/* APPROCHE — piliers */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.pillar{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;
  position:relative;overflow:hidden}
.pillar .n{font-family:'Poppins',system-ui,sans-serif;font-size:2.4rem;color:var(--gold);line-height:1;margin-bottom:8px}
.pillar h3{font-size:1.3rem;margin-bottom:8px}
.pillar p{font-size:.96rem;color:var(--ink-soft)}
.section-dark .pillar{background:#0a1452;border-color:rgba(255,255,255,.08)}
.section-dark .pillar p{color:#c5c9d8}

/* BNS24 — détail */
.bns-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;margin-top:38px;align-items:start}
.bns-num{display:flex;gap:18px;align-items:center;margin:18px 0 6px}
.bns-num b{font-family:'Poppins',system-ui,sans-serif;font-size:3.4rem;color:var(--teal);line-height:1}
.bns-num span{font-size:1rem;color:var(--ink-soft)}
.bns-sols{list-style:none;display:grid;gap:10px;margin-top:6px}
.bns-sols li{display:flex;gap:11px;align-items:flex-start;font-size:.97rem}
.bns-sols li::before{content:"→";color:var(--gold);font-weight:800;flex:none}
.bns-aside{background:var(--nuit);color:#edeff5;border-radius:18px;padding:30px}
.bns-aside h4{color:#fff;font-family:'Poppins',system-ui,sans-serif;font-size:1.4rem;margin-bottom:12px}
.bns-aside ul{list-style:none;display:grid;gap:9px}
.bns-aside li{display:flex;gap:10px;font-size:.94rem;color:#c5c9d8}
.bns-aside li::before{content:"✦";color:var(--gold);flex:none}

/* MODULES — groupes + items */
.mod-group{margin-top:44px}
.mod-group-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.mod-group-head .lbl{font-family:'Poppins',system-ui,sans-serif;font-size:1.7rem;color:var(--nuit)}
.mod-group-head .line{flex:1;height:1px;background:var(--line)}
.mod-group-head .count{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--teal-d);font-weight:600}
.mod-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.mod{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:20px 22px;transition:.18s}
.mod:hover{border-color:var(--gold);box-shadow:0 12px 30px -22px rgba(23,27,52,.5)}
.mod .id{font-family:'Poppins',system-ui,sans-serif;font-weight:600;font-size:1.5rem;
  color:var(--gold);min-width:44px;line-height:1.1}
.mod .mc-body h4{font-size:1.05rem;margin-bottom:4px;line-height:1.25;color:#000b33;font-weight:600}
.mod .mc-body p{font-size:.9rem;color:var(--ink-soft)}
.mod.dia .id{color:var(--teal-d)}
.mod.dia:hover{border-color:var(--teal)}

/* ÉQUIPE */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:42px}
.team-card{display:flex;gap:22px;background:#fff;border:1px solid var(--line);
  border-radius:20px;padding:28px}
.team-av{width:84px;height:84px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-family:'Poppins',system-ui,sans-serif;font-size:1.9rem;font-weight:600;color:#fff;
  background:linear-gradient(140deg,var(--teal),var(--teal-d));box-shadow:0 8px 20px -10px rgba(15,110,86,.7)}
.team-av.gold{background:linear-gradient(140deg,var(--gold),var(--gold-d));
  box-shadow:0 8px 20px -10px rgba(156,125,18,.7)}
.team-av.soon{background:linear-gradient(140deg,#9aa0b3,#6b7185);font-size:.8rem;letter-spacing:.04em}
.team-card h3{font-size:1.45rem;margin-bottom:2px}
.team-role{font-size:.86rem;font-weight:600;color:var(--teal-d);letter-spacing:.02em;margin-bottom:8px}
.team-quote{font-family:'Poppins',system-ui,sans-serif;font-style:italic;font-size:1.05rem;
  color:var(--nuit);margin-bottom:8px;line-height:1.3}
.team-bio{font-size:.92rem;color:var(--ink-soft)}
.team-card.soon{align-items:center;border-style:dashed;background:#faf8f2}

@media(max-width:880px){
  .pillars,.bns-wrap,.mod-list,.team-grid{grid-template-columns:1fr}
  .team-card{flex-direction:column;align-items:flex-start}
}

/* ═══════════ AJOUTS v3 : en-tête navy (logo teal), login, photos équipe ═══════════ */
:root{--teal-bright:#4de1cc}
header.nav{background:rgba(0,11,51,.94);border-bottom:1px solid rgba(255,255,255,.10)}
.brand b{color:#fff}
.brand span{color:#aeb8e8}
.nav-logo{height:40px;width:auto;display:block}
.nav-links a{color:#e9ecff}
.nav-links a:hover{color:var(--teal-bright)}
.nav-toggle{color:#fff}
.btn-login{background:transparent;border:1.5px solid var(--teal-bright);color:var(--teal-bright)}
.btn-login:hover{background:var(--teal-bright);color:#000b33}
.hero h1 em{color:var(--teal-bright)}
.kicker{color:var(--teal-d)}
@media(max-width:880px){
  .nav-links{background:#000b33}
  .nav-links a{color:#e9ecff}
}
/* photos d'équipe (vraies images, rondes) */
.team-ph{width:88px;height:88px;border-radius:50%;object-fit:cover;flex:none;
  border:2px solid var(--teal-bright);box-shadow:0 8px 20px -10px rgba(19,16,97,.6)}

/* ═══════════ v4 : cartes-modules avec images du campus ═══════════ */
.mod-list{grid-template-columns:repeat(auto-fit,minmax(252px,1fr))}
.mod{flex-direction:column;padding:0;overflow:hidden;background:#fff;gap:0}
.mod .mod-img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.mod .mod-ph{width:100%;aspect-ratio:3/2;display:grid;place-items:center;
  background:linear-gradient(135deg,#000b33,#0a1452);color:var(--teal-bright);
  font-family:'Poppins',sans-serif;font-weight:600;font-size:2.6rem;letter-spacing:.02em}
.mod .mod-txt{padding:18px 20px;display:flex;gap:14px;align-items:flex-start}
.mod .mod-txt .id{min-width:46px}
.mod-intro{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);
  border-radius:20px;overflow:hidden;margin:34px 0 8px;background:#fff}
.mod-intro img{width:100%;height:100%;object-fit:cover;min-height:230px}
.mod-intro .t{padding:34px 32px;align-self:center}
.section-dark .mod-intro{background:#0a1452;border-color:rgba(255,255,255,.08)}
.spec-band{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:20px;overflow:hidden;
  margin-top:30px;border:1px solid rgba(255,255,255,.08)}
.spec-band img{width:100%;height:100%;object-fit:cover;min-height:260px}
.spec-band .t{padding:38px 34px;background:#0a1452;align-self:center}
@media(max-width:880px){.mod-intro,.spec-band{grid-template-columns:1fr}}

/* ═══════════ v5 : modales, accordéons, ArtemisIA, témoignages, JYH ═══════════ */
/* carte module cliquable */
.mod{cursor:pointer}
.mod:hover{transform:translateY(-3px)}
.mod-txt .id{color:var(--gold)}
.mod.dia .mod-txt .id{color:var(--teal-d)}
/* modules sans image : carte compacte (pas de placeholder) */
.mod.noimg .mod-txt{padding:24px 22px;min-height:118px;align-items:center}
.mod.noimg .mod-txt .id{font-size:1.7rem}
.mod .more{display:block;margin-top:8px;font-size:.8rem;font-weight:600;color:var(--teal-d);letter-spacing:.02em}

/* MODALE flottante */
.modal-ov{position:fixed;inset:0;background:rgba(0,11,51,.66);backdrop-filter:blur(3px);
  z-index:200;display:none;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow:auto}
.modal-ov.open{display:flex}
.modal{background:#fff;border-radius:18px;max-width:760px;width:100%;overflow:hidden;
  box-shadow:0 30px 80px -20px rgba(0,11,51,.6);animation:popin .22s ease}
@keyframes popin{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.modal-img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block}
.modal-hd{width:100%;aspect-ratio:16/6;display:grid;place-items:center;
  background:linear-gradient(135deg,#000b33,#0a1452);color:var(--teal-bright);
  font-family:'Poppins',sans-serif;font-weight:600;font-size:2.6rem}
.modal-bd{padding:30px 34px}
.modal-bd .mtag{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-d);font-weight:600}
.modal-bd h3{font-family:'Poppins',sans-serif;font-size:1.7rem;color:#000b33;margin:6px 0 14px}
.modal-bd p{color:var(--ink-soft);margin-bottom:12px}
.modal-bd ul{color:var(--ink-soft);margin:0 0 12px 18px;display:grid;gap:6px}
.modal-x{position:absolute;top:18px;right:22px;font-size:2rem;color:#fff;cursor:pointer;
  line-height:1;background:none;border:0;z-index:1}
.modal-wrap{position:relative;max-width:760px;width:100%}

/* ACCORDÉON */
.acc{margin-top:30px;display:grid;gap:12px}
.acc-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.section-dark .acc-item{background:#0a1452;border-color:rgba(255,255,255,.10)}
.acc-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;
  padding:18px 22px;font:600 1.02rem/'1.3' 'Inter',sans-serif;color:#000b33;
  display:flex;justify-content:space-between;align-items:center;gap:16px}
.section-dark .acc-q{color:#fff}
.acc-q .chev{transition:.2s;color:var(--teal-d);font-size:1.3rem;flex:none}
.section-dark .acc-q .chev{color:var(--teal-bright)}
.acc-item.open .acc-q .chev{transform:rotate(45deg)}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.acc-a-in{padding:0 22px 20px;color:var(--ink-soft)}
.section-dark .acc-a-in{color:#c5c9d8}

/* ArtemisIA tool */
.tool-band{display:grid;grid-template-columns:.8fr 1.2fr;gap:0;border-radius:22px;overflow:hidden;
  margin-top:8px;background:#000b33;color:#edeff5}
.tool-logo{display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 50% 40%,#13205f,#000b33)}
.tool-logo img{max-width:230px;width:100%}
.tool-txt{padding:42px 40px;align-self:center}
.tool-txt h3{font-family:'Poppins',sans-serif;color:#fff;font-size:1.9rem;margin-bottom:10px}
.tool-txt p{color:#c5c9d8;margin-bottom:14px}
.tool-link{font-size:.86rem;color:var(--teal-bright);font-weight:500;text-decoration:underline;text-underline-offset:3px}
@media(max-width:880px){.tool-band{grid-template-columns:1fr}}

/* Témoignages */
.tmoins{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.tmoin{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.tmoin .stars{color:var(--gold);letter-spacing:2px;margin-bottom:10px}
.tmoin p{font-size:.98rem;color:var(--ink);font-style:italic;margin-bottom:14px}
.tmoin .who{font-weight:600;color:#000b33;font-size:.92rem}
.tmoin .who span{display:block;font-weight:400;color:var(--ink-soft);font-size:.84rem}
@media(max-width:880px){.tmoins{grid-template-columns:1fr}}

/* Encadré bleu Dr Jean-Yves (forme reprise du site) */
.jyh-box{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;
  background:linear-gradient(135deg,#000b33,#0a1452);color:#edeff5;border-radius:22px;
  padding:38px 40px;margin-top:40px;border:1px solid rgba(77,225,204,.25)}
.jyh-box img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid var(--teal-bright)}
.jyh-box h3{font-family:'Poppins',sans-serif;color:#fff;font-size:1.7rem;margin-bottom:4px}
.jyh-box .role{color:var(--teal-bright);font-weight:600;font-size:.9rem;margin-bottom:10px}
.jyh-box .q{font-style:italic;color:#cfd3ea;margin-bottom:10px}
.jyh-box p{color:#c5c9d8;font-size:.95rem}
@media(max-width:880px){.jyh-box{grid-template-columns:1fr;text-align:center}.jyh-box img{margin:0 auto}}

/* réseaux sociaux footer */
.socials{display:flex;gap:14px;margin-top:14px}
.socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.08);color:#fff;font-size:1rem;transition:.2s}
.socials a:hover{background:var(--teal-bright);color:#000b33}

/* ═══════════ v6 : bandeau actu, forces, bienvenue, faculté, newsletter, blog ═══════════ */
/* Bandeau d'actualité défilant (deux bleus) */
.newsbar{background:linear-gradient(90deg,#000b33,#0a1f7a);overflow:hidden;white-space:nowrap;border-bottom:2px solid var(--teal-bright)}
.newsbar .track{display:inline-flex;gap:60px;padding:11px 0;animation:marq 28s linear infinite;will-change:transform}
.newsbar span{color:#eaf6ff;font-size:.9rem;font-weight:500;letter-spacing:.02em}
.newsbar b{color:var(--teal-bright)}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Bloc Bienvenue */
.welcome{text-align:center;max-width:820px;margin:0 auto}
.welcome img.flag{width:62px;margin-bottom:14px}

/* Les forces (4 cartes icône verte) */
.forces{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:42px}
.force{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 24px;text-align:center}
.force img{height:74px;width:auto;margin:0 auto 14px;display:block}
.force h3{font-family:'Poppins',sans-serif;font-size:1.3rem;color:#000b33;margin-bottom:8px}
.force p{font-size:.92rem;color:var(--ink-soft)}
@media(max-width:880px){.forces{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.forces{grid-template-columns:1fr}}

/* Citation mise en avant */
.quote-feat{text-align:center;max-width:880px;margin:46px auto 0;padding:34px 30px;
  border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.quote-feat p{font-family:'Poppins',sans-serif;font-size:1.7rem;font-weight:500;color:#fff;font-style:italic;line-height:1.3}
.quote-feat .by{margin-top:12px;color:var(--teal-bright);font-weight:600;font-size:.95rem}

/* Historique faculté + logo vert */
.facto{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;
  background:#f7f9f6;border:1px solid var(--line);border-radius:22px;padding:36px 38px;margin-top:8px}
.facto img{width:210px}
.facto h3{font-family:'Poppins',sans-serif;font-size:1.5rem;color:#000b33;margin-bottom:8px}
.facto p{color:var(--ink-soft);margin-bottom:10px}
.facto .vals{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.facto .vals span{background:rgba(77,225,204,.16);color:var(--teal-d);font-weight:600;
  font-size:.82rem;padding:6px 14px;border-radius:999px}
@media(max-width:880px){.facto{grid-template-columns:1fr;text-align:center}.facto img{margin:0 auto}}

/* Groupe de modules pliable (accordéon flèche) */
.mod-group-head{cursor:pointer;user-select:none}
.mod-group-head .gchev{margin-left:auto;color:var(--teal-bright);font-size:1.5rem;transition:.25s;flex:none}
.mod-group.open .mod-group-head .gchev{transform:rotate(180deg)}
.mod-wrap{max-height:0;overflow:hidden;transition:max-height .4s ease}
.mod-group.open .mod-wrap{max-height:3000px}

/* Témoignage vedette */
.tmoin-feat{background:linear-gradient(135deg,#000b33,#0a1452);color:#edeff5;border-radius:22px;
  padding:40px 42px;margin-top:30px;border:1px solid rgba(77,225,204,.3);text-align:center;max-width:900px;margin-left:auto;margin-right:auto}
.tmoin-feat .stars{color:var(--gold);letter-spacing:3px;margin-bottom:14px;font-size:1.1rem}
.tmoin-feat p{font-family:'Poppins',sans-serif;font-size:1.4rem;font-style:italic;color:#fff;line-height:1.4;margin-bottom:16px}
.tmoin-feat .who{color:var(--teal-bright);font-weight:600}
.tmoin-feat .who span{display:block;color:#aeb8d8;font-weight:400;font-size:.88rem}

/* Newsletter */
.news-form{display:flex;gap:12px;max-width:540px;margin-top:18px;flex-wrap:wrap}
.news-form input{flex:1;min-width:220px}
.news-note{font-size:.82rem;color:var(--ink-soft);margin-top:8px}
.section-dark .news-note{color:#aeb8d8}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.bpost{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer;transition:.2s;display:flex;flex-direction:column}
.bpost:hover{transform:translateY(-3px);border-color:var(--teal)}
.bpost .bcat{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:5px 12px;border-radius:999px;align-self:flex-start;margin:18px 18px 0}
.bpost .bcat.prat{background:rgba(0,11,51,.08);color:#000b33}
.bpost .bcat.fam{background:rgba(77,225,204,.18);color:var(--teal-d)}
.bpost h4{font-family:'Poppins',sans-serif;font-size:1.12rem;color:#000b33;padding:10px 18px 0;line-height:1.3}
.bpost p{font-size:.9rem;color:var(--ink-soft);padding:8px 18px 20px}
@media(max-width:880px){.blog-grid{grid-template-columns:1fr}}

/* v7 : filtres blog */
.blog-filters{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.bfilter{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 20px;
  font:600 .9rem 'Inter',sans-serif;color:var(--ink-soft);cursor:pointer;transition:.18s}
.bfilter:hover{border-color:var(--teal)}
.bfilter.active{background:#000b33;color:#fff;border-color:#000b33}
.bpost .more{color:var(--teal-d);margin-top:auto}

/* v8 : encart KB blog, note Zoom, contact, forces cliquables */
.force{cursor:pointer;transition:.18s}
.force:hover{transform:translateY(-3px);border-color:var(--teal)}
.force .more{color:var(--teal-d);font-weight:600;font-size:.85rem;display:inline-block;margin-top:10px}
.kb-callout{background:#f1faf8;border:1px solid rgba(22,184,158,.35);border-left:4px solid var(--teal);
  border-radius:12px;padding:18px 20px;margin:18px 0}
.kb-callout .kb-h{font-family:'Poppins',sans-serif;font-weight:600;color:var(--teal-d);margin-bottom:8px;font-size:1rem}
.kb-callout p{margin-bottom:8px}
.kb-callout .kb-src{font-size:.8rem;color:var(--ink-soft);font-style:italic;margin-top:6px}
.bdisc{background:#fff7f0;border-left:4px solid #e0883a;border-radius:8px;padding:12px 16px;
  font-size:.86rem;color:#8a5a2a;margin-top:14px}
.zoom-note{background:#f1faf8;border:1px dashed var(--teal);border-radius:12px;padding:14px 18px;margin-top:16px;font-size:.92rem;color:#0a4f44}
.zoom-banner{background:rgba(255,255,255,.04);color:#aeb8d8;border:0;border-left:3px solid rgba(77,225,204,.45);
  border-radius:0 8px 8px 0;padding:9px 16px;margin:16px 0 4px;font-size:.84rem;line-height:1.45}
.zoom-banner strong{color:#cfd3ea;font-weight:600}
/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;margin-top:38px}
.contact-info{display:flex;flex-direction:column;gap:18px}
.ci-row{display:flex;gap:14px;align-items:flex-start;font-size:1rem;color:var(--ink)}
.ci-row .ci-ic{font-size:1.3rem;flex:none}
.ci-row a{color:var(--teal-d);font-weight:600}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr}}

/* v9 : blog recherche/thèmes, icônes spé, bouton étudiant icône */
.blog-controls{display:flex;gap:16px;align-items:center;margin-top:24px;flex-wrap:wrap}
#blog-search{flex:1;min-width:240px;padding:12px 16px;border:1px solid var(--line);border-radius:999px;font:inherit}
.blog-all{margin-top:10px}
.blog-theme{margin-top:34px}
.blog-theme h3{font-family:'Poppins',sans-serif;color:#000b33;font-size:1.35rem;margin-bottom:14px;border-left:4px solid var(--teal);padding-left:12px}
.blog-theme h3 span{color:var(--teal-d);font-weight:500;font-size:.9rem}
.spec-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none;margin-right:4px;
  background:rgba(77,225,204,.10);border:1px solid rgba(77,225,204,.45)}
.spec-ic svg{width:24px;height:24px;fill:none;stroke:var(--teal-bright);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mod .mod-txt .spec-ic+.id{display:none}
.nav-iconbtn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:1.2rem;
  background:rgba(77,225,204,.15);border:1.5px solid var(--teal-bright);position:relative;margin-left:auto}
.nav-iconbtn:hover{background:var(--teal-bright)}
.nav-iconbtn[data-tip]:hover::after{content:attr(data-tip);position:absolute;top:50px;right:0;white-space:nowrap;
  background:#000b33;color:#fff;font-size:.78rem;padding:6px 10px;border-radius:8px;font-weight:500}
@media(max-width:880px){.nav-iconbtn{margin-left:0}}

/* v10 : contenu structuré modale + JEUX */
.modal-bd h4{font-family:'Poppins',sans-serif;font-size:1rem;color:#000b33;margin:16px 0 4px}
.modal-bd ul{margin:6px 0 12px 18px;color:var(--ink-soft);display:grid;gap:5px}
.game-card{background:#0a1452;border:1px solid rgba(77,225,204,.25);border-radius:18px;padding:28px;margin-top:22px}
.game-card>h3{font-family:'Poppins',sans-serif;color:#fff;font-size:1.3rem;margin-bottom:16px}
.quiz-q{margin-bottom:20px}
.quiz-q p{color:#eaf6ff;font-weight:600;margin-bottom:10px}
.quiz-opt{display:block;width:100%;text-align:left;background:#13205f;border:1px solid rgba(255,255,255,.12);
  color:#dfe6ff;border-radius:10px;padding:11px 16px;margin:6px 0;cursor:pointer;font:inherit;transition:.15s}
.quiz-opt:hover{border-color:var(--teal-bright)}
.quiz-opt.ok{background:rgba(77,225,204,.25);border-color:var(--teal-bright);color:#fff}
.quiz-opt.no{background:rgba(224,136,58,.22);border-color:#e0883a}
.quiz-expl{font-size:.88rem;color:#aeb8d8;margin-top:8px;display:none}
.quiz-expl.show{display:block}
.flips{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.flip{height:150px;perspective:1000px;cursor:pointer}
.flip-in{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}
.flip.flipped .flip-in{transform:rotateY(180deg)}
.flip-f,.flip-b{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;padding:18px;
  display:grid;place-items:center;text-align:center;font-size:.95rem}
.flip-f{background:linear-gradient(135deg,#16b89e,#0f8f7a);color:#fff;font-weight:600;font-family:'Poppins',sans-serif}
.flip-b{background:#fff;color:#000b33;transform:rotateY(180deg);font-size:.9rem;line-height:1.4}
@media(max-width:880px){.flips{grid-template-columns:1fr}}

/* v11 : thérapeutes & publications */
.ther-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:38px}
.ther-card{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;align-items:flex-start}
.ther-card .team-av{width:60px;height:60px;font-size:1.2rem;flex:none}
.ther-card h3{font-family:'Poppins',sans-serif;font-size:1.12rem;color:#000b33;margin-bottom:2px}
.ther-role{font-size:.9rem;color:var(--teal-d);font-weight:600;margin-bottom:4px}
.ther-loc{font-size:.86rem;color:var(--ink-soft)}
.ther-ct{font-size:.84rem;margin-top:6px}
.ther-ct a{color:var(--teal-d);font-weight:500}
.pub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}
.pub-card{background:#0a1452;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden}
.pub-card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.pub-card .pub-b{padding:18px 20px}
.pub-card h3{font-family:'Poppins',sans-serif;font-size:1.1rem;color:#fff;margin-bottom:6px;line-height:1.25}
.pub-card p{font-size:.9rem;color:#c5c9d8}
.pub-list{list-style:none;display:grid;gap:8px;margin-top:8px}
.pub-list li{color:#c5c9d8;padding-left:18px;position:relative}
.pub-list li::before{content:"📄";position:absolute;left:0}
@media(max-width:880px){.pub-grid{grid-template-columns:1fr}}

/* v12 : citation exergue (clair) */
.quote-light{border:0;border-left:4px solid var(--teal);background:linear-gradient(90deg,rgba(77,225,204,.12),transparent);
  margin:0 0 20px;padding:18px 24px;border-radius:0 12px 12px 0;font-family:'Poppins',sans-serif;
  font-size:1.5rem;font-style:italic;color:#000b33;line-height:1.35;max-width:820px}
.quote-light span{display:block;font-size:.92rem;font-style:normal;font-weight:600;color:var(--teal-d);margin-top:8px}

/* v13 : fenêtre livre (recto/verso + commande) */
.pub-card{cursor:pointer;transition:.2s}
.pub-card:hover{transform:translateY(-4px);border-color:var(--teal-bright)}
.book-modal{padding:32px 34px;text-align:center}
.book-modal h3{font-family:'Poppins',sans-serif;color:#000b33;font-size:1.5rem;margin-bottom:20px}
.book-covers{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.book-covers figure{margin:0}
.book-covers img{height:320px;width:auto;border-radius:8px;box-shadow:0 14px 36px -14px rgba(0,11,51,.55)}
.book-covers figcaption{font-size:.8rem;color:var(--ink-soft);margin-top:8px;font-weight:600}
@media(max-width:600px){.book-covers img{height:230px}}

/* v14 : en-tête icône (forces) + liste discrète */
.modal-hd.icon-head{background:#f1faf8;aspect-ratio:16/6}
.modal-hd.icon-head img{height:88px;width:auto;filter:none}
.forces-also{margin-top:22px;font-size:.92rem;color:#aeb8d8;font-style:italic;max-width:820px;line-height:1.6}

/* v15 : carte thérapeute sans avatar */
.ther-card{display:block}
.ther-in h3{font-family:'Poppins',sans-serif;font-size:1.12rem;color:#000b33;margin-bottom:2px}
