/* Police Nunito Sans hébergée chez Wix (aucun appel à Google Fonts) */
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 900;font-display:swap;src:url(https://static.wixstatic.com/ufonts/d803d6_e5b40061ce304ec59f106f53cf8dd4d5/file.woff2) format('woff2');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}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 900;font-display:swap;src:url(https://static.wixstatic.com/ufonts/d803d6_48aa79adefbe437c9f8e4e0865e916f8/file.woff2) format('woff2');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}

:root{
  --navy:#033567; --navy-2:#022448; --blue:#2B6DA3; --blue-2:#3d84c2;
  --gold:#F5C642; --gold-2:#e6b32a; --green:#2fae63;
  --bg:#F4F7FB; --line:#e3e9f1; --text:#1d2b3a; --muted:#5b6b7d; --white:#fff;
  --radius:18px; --shadow:0 10px 30px rgba(3,53,103,.08); --shadow-lg:0 24px 60px rgba(3,53,103,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Nunito Sans',system-ui,sans-serif;color:var(--text);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1200px,92%);margin:0 auto}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.6rem;border-radius:999px;font-weight:800;font-size:1rem;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;border:0}
.btn-gold{background:var(--gold);color:var(--navy);box-shadow:0 8px 24px rgba(245,198,66,.35)}
.btn-gold:hover{transform:translateY(-2px);background:#ffd457;box-shadow:0 12px 30px rgba(245,198,66,.5)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.btn-ghost:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.btn svg{width:18px;height:18px}
.eyebrow{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);background:#e8f0fa;padding:.4rem .85rem;border-radius:999px}
.eyebrow.green{color:#1f7a45;background:#e4f5ea}
h2.title{font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.15;color:var(--navy);font-weight:900;letter-spacing:-.01em;margin:.9rem 0 .8rem}
.lead{font-size:1.1rem;color:var(--muted);max-width:640px}
section{position:relative}

/* ===== Top bar ===== */
.topbar{background:var(--navy-2);color:#cfe0f3;font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0}
.topbar .links{display:flex;gap:.6rem}
.topbar a.pill{padding:.35rem .95rem;border-radius:999px;font-weight:800;font-size:.82rem}
.pill-light{background:rgba(255,255,255,.1);color:#fff}
.pill-light:hover{background:rgba(255,255,255,.2)}
.pill-gold{background:var(--gold);color:var(--navy)}
.pill-gold:hover{background:#ffd457}

/* ===== Header ===== */
header.main{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s}
header.main.scrolled{box-shadow:0 6px 24px rgba(3,53,103,.08);border-color:var(--line)}
header.main .wrap{display:flex;align-items:center;justify-content:space-between;height:82px}
.logo img{height:58px;width:auto}
nav.menu>ul{display:flex;list-style:none;gap:.3rem;align-items:center}
nav.menu>ul>li{position:relative}
nav.menu>ul>li>a,nav.menu>ul>li>button{display:flex;align-items:center;gap:.3rem;padding:.6rem .9rem;border-radius:10px;font-weight:700;color:var(--navy);font-size:.98rem;background:none;border:0;font-family:inherit;cursor:pointer}
nav.menu>ul>li>a:hover,nav.menu>ul>li>button:hover,nav.menu>ul>li:focus-within>button{background:var(--bg)}
nav.menu>ul>li>a.active{color:var(--blue)}
nav.menu .chev{width:14px;height:14px;transition:transform .2s}
nav.menu li:hover .chev{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:290px;background:#fff;border-radius:14px;box-shadow:var(--shadow-lg);padding:.6rem;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s}
nav.menu li:hover .dropdown,nav.menu li:focus-within .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:9px;font-size:.93rem;font-weight:600;color:var(--text)}
.dropdown a:hover{background:var(--bg);color:var(--navy)}
.dropdown .tag{font-size:.68rem;font-weight:800;color:#1f7a45;background:#e4f5ea;padding:.15rem .5rem;border-radius:999px;white-space:nowrap}
.header-cta{display:flex;align-items:center;gap:.8rem}
.header-cta .btn{padding:.7rem 1.2rem;font-size:.92rem}
.burger{display:none;background:none;border:0;cursor:pointer;padding:.4rem}
.burger svg{width:28px;height:28px;color:var(--navy)}

/* ===== Hero ===== */
.hero{background:radial-gradient(1200px 600px at 85% 30%,#5f8fe0 0%,rgba(95,143,224,0) 60%),linear-gradient(120deg,#022448 0%,#033567 35%,#1d56a8 70%,#5b8ee6 100%);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(90deg,#000 0%,transparent 60%)}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:2rem;min-height:680px;position:relative}
.hero-text{padding:5rem 0 5.5rem;align-self:center}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:.45rem .9rem;border-radius:999px;font-size:.85rem;font-weight:700;margin-bottom:1.4rem}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(245,198,66,.25)}
.hero h1{font-size:clamp(2.1rem,3.6vw,2.7rem);line-height:1.08;font-weight:900;letter-spacing:-.02em}
.hero h1 .u{position:relative;white-space:nowrap}
.hero h1 .u::after{content:"";position:absolute;left:0;right:0;bottom:-.12em;height:.16em;background:var(--gold);border-radius:4px;transform-origin:left;animation:grow 1s .5s both}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero .sub{font-size:1.25rem;font-weight:800;color:var(--gold);margin:1.6rem 0 .6rem}
.hero p.txt{font-size:1.08rem;color:#d9e6f6;max-width:540px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}
.hero-visual{position:relative;align-self:end;display:flex;align-items:flex-end;justify-content:flex-end;line-height:0}
.hero-visual img.people{width:135%;max-width:none;margin-right:-22%;height:auto;filter:drop-shadow(0 20px 30px rgba(0,0,0,.22));animation:rise 1s .2s both}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.float{line-height:1.35;position:absolute;background:#fff;color:var(--navy);border-radius:16px;box-shadow:var(--shadow-lg);padding:.8rem 1rem;display:flex;align-items:center;gap:.7rem;font-weight:800;font-size:.9rem;animation:bob 5s ease-in-out infinite}
.float small{display:block;font-weight:600;color:var(--muted);font-size:.75rem}
.float .ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none}
.float .ic svg{width:20px;height:20px}
.f1{top:6%;left:-6%;z-index:2}
.f2{bottom:12%;right:-14%;z-index:2;animation-delay:-2.5s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ===== Pourquoi ===== */
.why{padding:6.5rem 0 5rem}
.why .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center}
.why p{color:var(--muted);font-size:1.06rem;margin-bottom:1rem}
.axes{list-style:none;display:grid;gap:1rem;margin:1.4rem 0}
.axes li{display:flex;gap:1rem;background:var(--bg);border-radius:14px;padding:1.1rem 1.2rem;color:var(--text)}
.axes .num{flex:none;width:34px;height:34px;border-radius:10px;background:var(--navy);color:var(--gold);font-weight:900;display:grid;place-items:center}
.quote-line{border-left:4px solid var(--gold);padding:.3rem 0 .3rem 1.1rem;font-weight:700;color:var(--navy)!important;font-size:1.1rem!important}
.stats{display:grid;gap:1.1rem}
.stat{display:flex;align-items:center;gap:1.3rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.6rem;box-shadow:var(--shadow);transition:transform .25s}
.stat:hover{transform:translateX(6px)}
.stat .v{font-size:2.6rem;font-weight:900;color:var(--navy);line-height:1;min-width:150px}
.stat .v span{color:var(--green)}
.stat .l{font-weight:700;color:var(--muted)}
.stat .ring{width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px #e4f5ea;flex:none}

/* ===== Axes cards ===== */
.duo{padding:0 0 6rem}
.duo .grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.duo-card{border-radius:24px;padding:2.4rem;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.duo-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.duo-card.a{background:linear-gradient(150deg,#e9f1fb,#d8e6f7)}
.duo-card.b{background:linear-gradient(150deg,#033567,#0d4a8a);color:#fff}
.duo-card .ic{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;margin-bottom:1.3rem}
.duo-card.a .ic{background:#fff;color:var(--navy)}
.duo-card.b .ic{background:rgba(255,255,255,.12);color:var(--gold)}
.duo-card .ic svg{width:30px;height:30px}
.duo-card h3{font-size:1.35rem;line-height:1.35;font-weight:800;margin-bottom:1.1rem}
.duo-card.a h3{color:var(--navy)}
.duo-card ul{list-style:none;display:grid;gap:.55rem;margin-bottom:1.8rem}
.duo-card li{display:flex;gap:.6rem;align-items:center;font-weight:600}
.duo-card li svg{width:20px;height:20px;flex:none;color:var(--gold-2)}
.duo-card.b li svg{color:var(--gold)}
.duo-card .deco{position:absolute;right:-40px;bottom:-40px;width:180px;height:180px;border-radius:50%;border:30px solid rgba(255,255,255,.06)}
.duo-card.a .deco{border-color:rgba(3,53,103,.05)}

/* ===== Formations ===== */
.formations{background:var(--bg);padding:6rem 0}
.f-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2.4rem}
.tabs{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem;box-shadow:var(--shadow)}
.tab{border:0;background:none;font-family:inherit;font-weight:800;font-size:.95rem;color:var(--muted);padding:.75rem 1.3rem;border-radius:999px;cursor:pointer;transition:all .2s}
.tab.on{background:var(--navy);color:#fff}
.panel{display:none}
.panel.on{display:block;animation:fade .45s both}
@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:#cdd9e8}
.card .body{padding:1.6rem 1.6rem 1.2rem;flex:1;display:flex;flex-direction:column}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}
.t{font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .65rem;border-radius:7px;background:#edf1f6;color:var(--navy)}
.t.prev{background:#e4f5ea;color:#1f7a45}
.t.une{background:var(--gold);color:var(--navy)}
.t.new{background:#e07a1f;color:#fff}
.card h3{font-size:1.2rem;line-height:1.3;color:var(--navy);font-weight:800}
.cpf{display:inline-flex;align-items:center;gap:.35rem;margin-top:.6rem;font-size:.75rem;font-weight:800;color:var(--navy);background:#eef2f7;padding:.25rem .6rem;border-radius:999px;align-self:flex-start}
.cpf svg{width:14px;height:14px;color:var(--green)}
.card p.d{color:var(--muted);margin:.9rem 0 1rem;font-size:.97rem}
.card ul{list-style:none;border-top:1px dashed var(--line);padding-top:1rem;display:grid;gap:.5rem;margin-bottom:1rem}
.card ul li{position:relative;padding-left:1.1rem;font-size:.9rem;font-weight:600;color:#3d4c5c}
.card ul li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.cert{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:800;color:#a27400;background:#fff6db;padding:.35rem .7rem;border-radius:8px}
.meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:1rem 1.6rem;border-top:1px solid var(--line);font-size:.83rem;font-weight:700;color:var(--muted)}
.meta span{display:inline-flex;align-items:center;gap:.35rem}
.meta svg{width:15px;height:15px;color:var(--blue)}
.card .go{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.6rem;background:#f7f9fc;font-weight:800;color:var(--navy);font-size:.93rem;transition:background .2s}
.card .go:hover{background:#edf2f8}
.card .go svg{width:18px;height:18px;transition:transform .2s}
.card:hover .go svg{transform:translateX(4px)}
.card.feat{background:linear-gradient(165deg,#033567,#022448);border:2px solid var(--gold);color:#fff;box-shadow:0 18px 40px rgba(3,53,103,.25)}
.card.feat h3{color:#fff}
.card.feat .t:not(.une):not(.new){background:rgba(255,255,255,.12);color:#fff}
.card.feat .cpf{background:rgba(255,255,255,.12);color:var(--gold)}
.card.feat p.d{color:#c9d8ea}
.card.feat ul{border-color:rgba(255,255,255,.15)}
.card.feat ul li{color:#fff;padding-left:1.8rem;font-weight:700}
.card.feat ul li::before{width:20px;height:20px;top:.15em;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23033567' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.card.feat .meta{border-color:rgba(255,255,255,.15);color:#c9d8ea}
.card.feat .meta svg{color:var(--gold)}
.card.feat .go{background:var(--gold);color:var(--navy)}
.card.feat .go:hover{background:#ffd457}
.panel-intro{margin-bottom:2rem}

/* ===== Qualiopi / financement ===== */
.finance{padding:6rem 0}
.finance .box{background:linear-gradient(115deg,#022448 0%,#033567 40%,#2b6db0 80%,#5b8ee6 100%);border-radius:32px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:end;position:relative}
.finance .box::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:24px 24px}
.finance .inner{padding:3.5rem;position:relative;color:#fff;align-self:center}
.finance h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:900;line-height:1.15;margin-bottom:1rem}
.finance p{color:#d9e6f6;margin-bottom:1.6rem;max-width:460px}
.qualiopi{display:flex;align-items:center;gap:1.2rem;background:#fff;border-radius:18px;padding:1rem 1.2rem;margin-bottom:2rem;max-width:460px}
.qualiopi img{width:150px;height:auto;flex:none}
.qualiopi small{color:var(--muted);font-size:.82rem;line-height:1.45;font-style:italic}
.fin-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.fin-list span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:.4rem .85rem;border-radius:999px;font-weight:700;font-size:.85rem}
.finance .man{position:relative;align-self:end;display:flex;justify-content:center}
.finance .man img{width:100%;max-width:520px;filter:drop-shadow(0 20px 30px rgba(0,0,0,.25))}

/* ===== Témoignages ===== */
.testi{padding:0 0 6rem;text-align:center}
.testi .t-card{margin:2.6rem auto 0;max-width:980px;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:260px 1fr;gap:2.6rem;align-items:center;padding:2.6rem;text-align:left;position:relative}
.testi .t-card::before{content:"\201C";position:absolute;top:-34px;right:40px;font-size:9rem;line-height:1;color:var(--gold);font-weight:900;opacity:.9}
.testi .ph{width:260px;height:260px;border-radius:50%;overflow:hidden;border:8px solid var(--bg);box-shadow:var(--shadow)}
.testi .ph img{width:100%;height:100%;object-fit:cover}
.stars{display:flex;gap:.2rem;margin-bottom:1rem;color:var(--gold)}
.stars svg{width:22px;height:22px}
.testi blockquote{font-size:1.3rem;line-height:1.55;font-weight:700;color:var(--navy)}
.testi cite{display:block;margin-top:1.3rem;font-style:normal;font-weight:800;color:var(--text)}
.testi cite span{color:var(--muted);font-weight:600}

/* ===== Map + footer ===== */
.map{height:340px;filter:grayscale(.6) contrast(1.05)}
.map iframe{width:100%;height:100%;border:0;display:block}
footer{background:var(--navy-2);color:#c3d3e6}
footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.4rem;padding:4rem 0 3rem}
footer .flogo{background:#fff;border-radius:14px;padding:.7rem 1rem;display:inline-block;margin-bottom:1.1rem}
footer .flogo img{height:52px;width:auto}
footer p{font-size:.93rem;max-width:300px}
footer h4{color:#fff;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.1rem}
footer ul{list-style:none;display:grid;gap:.55rem;font-size:.93rem}
footer a:hover{color:var(--gold)}
footer .ct{display:flex;align-items:center;gap:.6rem}
footer .ct svg{width:18px;height:18px;color:var(--gold);flex:none}
footer .bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.4rem 0;display:flex;justify-content:space-between;align-items:center;font-size:.85rem}
footer .soc{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center}
footer .soc:hover{background:var(--gold);color:var(--navy)}
footer .soc svg{width:18px;height:18px}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}

/* ===== Responsive ===== */
@media (max-width:1080px){
  nav.menu,.header-cta .btn{display:none}
  .burger{display:block}
  nav.menu.open{display:block;position:absolute;top:82px;left:0;right:0;background:#fff;box-shadow:var(--shadow-lg);padding:1rem 4%;max-height:calc(100vh - 82px);overflow:auto}
  nav.menu.open>ul{flex-direction:column;align-items:stretch}
  nav.menu.open .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 .8rem}
  .cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .hero .wrap,.why .grid,.duo .grid,.finance .box,.testi .t-card{grid-template-columns:1fr}
  .hero-text{padding:3.5rem 0 1rem}
  .hero-visual{max-width:520px;margin:0 auto;justify-content:center}
  .hero-visual img.people{width:100%;margin-right:0}
  .f1{left:0;top:10%}.f2{right:0}
  .finance .inner{padding:2.4rem}
  .testi .t-card{justify-items:center;text-align:center;padding:2rem}
  .testi .ph{width:200px;height:200px}
  .stars{justify-content:center}
  footer .top{grid-template-columns:1fr 1fr}
  .topbar .msg{display:none}
}
@media (max-width:600px){
  .cards{grid-template-columns:1fr}
  .tabs{width:100%}.tab{flex:1;padding:.7rem .6rem;font-size:.85rem}
  .stat .v{min-width:110px;font-size:2.1rem}
  footer .top{grid-template-columns:1fr}
  footer .bottom{flex-direction:column;gap:1rem}
}

/* ===== Boutons supplémentaires ===== */
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:#0a4a8c;transform:translateY(-2px)}
.btn-outline{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.btn-outline:hover{background:var(--bg);transform:translateY(-2px)}
.btn.full{width:100%;justify-content:center}
.center{text-align:center}
.center .lead{text-align:center}

/* ===== Page formation ===== */
.fp-hero .hero-text{padding:3rem 0 4.5rem;align-self:start}
.fp-hero .wrap{min-height:620px}
.crumbs{font-size:.85rem;color:#b9cde6;margin-bottom:1.4rem;display:flex;gap:.5rem;flex-wrap:wrap}
.crumbs a:hover{color:#fff}
.g-rate{color:var(--gold);font-weight:900;letter-spacing:.04em}
.fp-hero .pre{font-size:1.2rem;font-weight:700;color:#d9e6f6;margin-bottom:.3rem}
.fp-hero h1{text-transform:none}
.fp-hero .sub{color:#fff;font-weight:700;font-size:1.15rem;margin:1.5rem 0 1.2rem}
.pills{display:flex;flex-wrap:wrap;gap:.5rem}
.pills span{background:var(--gold);color:var(--navy);font-weight:800;font-size:.88rem;padding:.45rem .95rem;border-radius:999px}
.fp-hero .hero-visual img.people{width:118%;margin-right:-6%}
.fp-hero .f1{top:4%;left:-4%}
.fp-hero .f2{bottom:12%;right:-8%}

.advisor{background:#fff8e1;border-bottom:1px solid #f3e6b8}
.advisor .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.1rem 0}
.advisor p{color:var(--text)}
.advisor strong{color:var(--navy);font-weight:900;margin-right:.3rem}
.advisor .btn{padding:.7rem 1.2rem;font-size:.92rem}

.market{padding:3rem 0 1rem}
.market .wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.m-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem;text-align:center;display:flex;flex-direction:column;gap:.2rem}
.m-l{font-weight:700;color:var(--muted)}
.m-v{font-size:2.6rem;font-weight:900;color:var(--green);line-height:1.1}
.m-s{font-size:.8rem;color:var(--muted)}

.intro{padding:4rem 0}
.intro .grid{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:start}
.intro .big{font-size:1.15rem;line-height:1.75;color:#33445a;margin:1rem 0 2rem}
.intro .big strong{color:var(--navy)}
.objectives{background:var(--bg);border-radius:20px;padding:2rem}
.objectives h3{color:var(--navy);font-size:1.15rem;margin-bottom:1.1rem}
ul.checks{list-style:none;display:grid;gap:.75rem}
ul.checks li{position:relative;padding-left:2rem;font-weight:600;color:#33445a}
ul.checks li::before{content:"";position:absolute;left:0;top:.15em;width:20px;height:20px;border-radius:50%;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5C642' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.facts{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:1.8rem;display:grid;gap:1.3rem}
.fact{display:flex;gap:1rem}
.fi{flex:none;width:44px;height:44px;border-radius:12px;background:#e8f0fa;color:var(--navy);display:grid;place-items:center}
.fi svg{width:22px;height:22px}
.fact h4{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);font-weight:900;margin-bottom:.2rem}
.fact p,.fact li{color:var(--muted);font-size:.95rem}
.fact ul{list-style:none;display:grid;gap:.3rem}
.fact ul li{position:relative;padding-left:.9rem}
.fact ul li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--gold-2)}

.forwho{padding:0 0 4rem}
.forwho .wrap{background:#fff8e1;border-radius:22px;padding:1.6rem 2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.forwho h3{color:var(--navy);font-size:1.2rem;font-weight:900;padding-right:2rem;border-right:3px solid var(--gold)}
.who{display:flex;flex-wrap:wrap;gap:.7rem;flex:1}
.who div{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:999px;padding:.55rem 1rem;font-weight:700;color:var(--navy);box-shadow:0 4px 12px rgba(3,53,103,.06)}
.who svg{width:18px;height:18px;color:var(--gold-2)}

.program{background:var(--bg);padding:5.5rem 0}
.parts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.6rem;counter-reset:p}
.part{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.6rem;border-top:4px solid var(--navy);transition:transform .25s,box-shadow .25s}
.part:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.pn{display:inline-block;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);background:#e8f0fa;padding:.25rem .6rem;border-radius:6px;margin-bottom:.7rem}
.part h3{color:var(--navy);font-size:1.07rem;line-height:1.35;margin-bottom:.9rem}
.part ul{list-style:none;display:grid;gap:.45rem}
.part li{position:relative;padding-left:1.1rem;font-size:.92rem;color:#3d4c5c;font-weight:600}
.part li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.part.last{background:linear-gradient(120deg,#033567,#022448);border-color:var(--gold);color:#fff}
.part.last h3{color:var(--gold)}
.part.last li{color:#fff}
.part.last .pn{background:rgba(255,255,255,.12);color:#fff}

.pricing{padding:5.5rem 0 1rem}
.pricing .grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.cover{display:block;max-width:340px;margin:1.4rem 0;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg);transform:rotate(-2deg);transition:transform .3s}
.cover:hover{transform:rotate(0) scale(1.02)}
.b-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.price{border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line)}
.p-head{background:linear-gradient(120deg,#033567,#1d56a8);color:#fff;text-align:center;padding:2rem 1.5rem}
.p-head span{font-size:.8rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#b9cde6}
.p-head .amount{font-size:3.4rem;font-weight:900;line-height:1.1;margin:.3rem 0}
.p-head small{color:var(--gold);font-weight:800}
.p-body{padding:2rem;background:#fff}
.p-body h4{color:var(--navy);font-weight:900;margin-bottom:1rem}
.p-body .btn{margin-top:1.6rem}

.finance .inner p{margin-bottom:1rem}
.fin-ul{list-style:none;display:grid;gap:.6rem;margin-bottom:1.2rem}
.fin-ul li{position:relative;padding-left:1.2rem;color:#d9e6f6}
.fin-ul li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.fin-ul b{color:var(--gold)}
.serene{font-weight:800;color:#fff!important}
.badges{display:flex;gap:1rem;align-items:center;margin:1rem 0 1.8rem}
.badges a,.badges span{background:#fff;border-radius:14px;padding:.6rem .8rem;display:block}
.badges a img{height:70px;width:auto}
.badges span img{height:80px;width:auto}

.cv{padding:0 0 5rem}
.cv-box{background:linear-gradient(120deg,#022448,#033567 60%,#2b6db0);border-radius:28px;padding:3rem;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;color:#fff}
.cv-box h2{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:900;margin:1rem 0 .8rem}
.cv-box p{color:#d9e6f6;font-size:1.1rem;margin-bottom:1.6rem;max-width:420px}
.cv-box img{border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.35);transform:rotate(2deg)}
.useful{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}
.useful a{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--bg);border-radius:16px;padding:1.1rem 1.4rem;font-weight:700;color:var(--text);transition:background .2s}
.useful a:hover{background:#e8f0fa}
.useful b{color:var(--blue)}

.reviews{padding:0 0 5rem}
.r-box{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:2.4rem}
.r-score{text-align:center;background:var(--bg);border-radius:20px;padding:1.4rem 2.4rem}
.r-score .gl{font-weight:900;color:var(--blue);letter-spacing:.05em}
.r-score .sc{font-size:3rem;font-weight:900;color:var(--navy);line-height:1.1}
.r-score .sc span{font-size:1.2rem;color:var(--muted)}
.r-score .st{color:var(--gold);font-size:1.4rem;letter-spacing:.1em}
.r-score small{color:var(--muted);font-weight:700}

@media (max-width:1080px){
  .parts{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .market .wrap,.intro .grid,.pricing .grid,.cv-box,.useful{grid-template-columns:1fr}
  .facts{position:static}
  .fp-hero .hero-visual img.people{width:100%;margin-right:0}
  .forwho h3{border:0;padding:0}
  .cv-box{padding:2rem}
}
@media (max-width:600px){
  .parts{grid-template-columns:1fr}
  .m-v{font-size:2rem}
}
.g-widget{margin-top:2rem;min-height:200px}

/* ===== Ajustements mobile ===== */
@media (max-width:860px){
  .hero h1 br{display:none}
  .fp-hero .f1{top:4%;left:0}
  .fp-hero .f2{bottom:10%;right:0}
  .forwho .wrap{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.4rem}
  .who{width:100%}
  .qualiopi{flex-direction:column;align-items:flex-start;gap:.7rem}
  .useful a{flex-direction:column;align-items:flex-start;gap:.3rem}
  .r-box{padding:1.6rem}
}
@media (max-width:600px){
  .float{font-size:.8rem;padding:.6rem .75rem}
  .float .ic{width:32px;height:32px}
  .testi blockquote{font-size:1.1rem}
  .badges a img{height:56px}
  .badges span img{height:64px}
}

@media (max-width:860px){
  .fp-hero .f1{top:auto;bottom:20%;left:0}
  .fp-hero .f2{bottom:4%;right:0}
}

/* Pastilles du hero sur mobile : position unique pour toutes les pages */
@media (max-width:860px){
  body .fp-hero .float.f1{top:auto!important;bottom:22%!important;left:0!important;right:auto!important}
  body .fp-hero .float.f2{top:auto!important;bottom:4%!important;right:0!important;left:auto!important}
}

/* ===== Menu : catégories et Skills ===== */
.dropdown.mega{min-width:620px;display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1rem;padding:1rem}
.dd-group{list-style:none}
.dd-title{display:block;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);padding:.5rem .8rem .25rem}
.dd-soon{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:9px;font-size:.93rem;font-weight:600;color:var(--muted);cursor:default}
.dropdown .tag.soon{color:#a27400;background:#fff6db}
@media (max-width:1080px){
  nav.menu.open .dropdown.mega{display:block;min-width:0;padding:0 0 0 .8rem}
  nav.menu.open .dd-title{padding-left:0}
}

/* ===== Pages catalogue ===== */
.p-catalog .cat-hero .wrap{grid-template-columns:1fr;min-height:0}
.p-catalog .cat-hero .hero-text{padding:3.2rem 0 3.6rem;max-width:760px}
.catalog-list{padding:3rem 0 4rem;background:var(--bg)}
.cat-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.4rem}
.cat-filters button{border:1px solid var(--line);background:#fff;color:var(--navy);font-family:inherit;font-weight:800;font-size:.92rem;padding:.65rem 1.2rem;border-radius:999px;cursor:pointer;transition:all .2s}
.cat-filters button:hover{border-color:var(--navy)}
.cat-filters button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.cat-group{margin-bottom:3rem}
.cat-ghead{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}
.cat-ghead .eyebrow{font-size:.85rem}
.cat-count{color:var(--muted);font-weight:700;font-size:.9rem}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.cat-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:#cdd9e8}
.cat-card.is-feat{border:2px solid var(--gold)}
.cc-media{position:relative;height:240px;background:radial-gradient(400px 260px at 75% 20%,rgba(95,143,224,.7),transparent 65%),linear-gradient(135deg,#022448,#1d56a8);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.cc-media img{height:100%;width:100%;object-fit:contain;object-position:center bottom;transition:transform .4s;filter:drop-shadow(0 12px 18px rgba(0,0,0,.25))}
.cat-card:hover .cc-media img{transform:scale(1.04)}
.cc-ribbon{position:absolute;top:16px;left:0;z-index:2;background:var(--gold);color:var(--navy);font-weight:900;font-size:.78rem;padding:.45rem 1rem;border-radius:0 10px 10px 0;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.cc-ribbon.green{background:#2fae63;color:#fff}
.cc-une{position:absolute;top:16px;right:14px;z-index:2;background:#fff;color:var(--navy);font-weight:900;font-size:.72rem;padding:.35rem .7rem;border-radius:999px;letter-spacing:.06em;text-transform:uppercase}
.cc-body{padding:1.4rem 1.5rem 1.2rem;flex:1;display:flex;flex-direction:column}
.cc-body h3{color:var(--navy);font-size:1.18rem;line-height:1.3}
.cc-body p{color:var(--muted);font-size:.93rem;margin:.6rem 0 .9rem}
.cc-body ul{list-style:none;display:grid;gap:.4rem;margin-bottom:1rem}
.cc-body li{position:relative;padding-left:1.1rem;font-size:.88rem;font-weight:600;color:#3d4c5c}
.cc-body li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.cc-body .cert{margin-top:0;margin-bottom:.8rem}
.cc-fund{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto}
.cc-fund span{font-size:.74rem;font-weight:800;color:#1f7a45;background:#e4f5ea;padding:.3rem .65rem;border-radius:999px}
.cc-foot{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--line);background:#f7f9fc;font-weight:800;color:var(--navy);font-size:.9rem}
.cc-dur{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted)}
.cc-dur svg{width:15px;height:15px;color:var(--blue)}
.cc-price{margin-left:auto;font-size:1.05rem}
.cc-go{display:inline-flex;align-items:center;gap:.3rem;color:var(--blue)}
.cc-go svg{width:16px;height:16px;transition:transform .2s}
.cat-card:hover .cc-go svg{transform:translateX(4px)}
.cat-advisor{border-top:1px solid #f3e6b8}
@media (max-width:1080px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.cat-grid{grid-template-columns:1fr}.cc-media{height:210px}.cc-foot{flex-wrap:wrap}}

/* Cartes de l'accueil cliquables en entier */
.card{position:relative;cursor:pointer}
.card .go::after{content:"";position:absolute;inset:0;z-index:1}

/* Financement : personnage agrandi */
.finance .box{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.finance .inner{padding-right:1rem}
.finance .man{justify-content:flex-end;padding-top:1.6rem}
.finance .man img{max-width:700px}
@media (max-width:860px){.finance .box{grid-template-columns:1fr}.finance .inner{padding-right:2.4rem}.finance .man{justify-content:center}.finance .man img{max-width:520px}}

/* Modalités d'examen */
.useful button{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--bg);border:0;border-radius:16px;padding:1.1rem 1.4rem;font:inherit;font-weight:700;color:var(--text);text-align:left;cursor:pointer;width:100%;transition:background .2s}
.useful button:hover{background:#e8f0fa}
@media (max-width:860px){.useful button{flex-direction:column;align-items:flex-start;gap:.3rem}}
dialog.exam{margin:auto;inset:0;position:fixed;border:0;border-radius:24px;padding:0;width:min(680px,calc(100% - 28px));max-height:calc(100vh - 40px);box-shadow:0 30px 80px rgba(2,26,54,.35);color:var(--text)}
dialog.exam::backdrop{background:rgba(2,26,54,.55)}
dialog.exam .in{position:relative;padding:1.9rem 2rem 1.4rem;overflow:auto;max-height:calc(100vh - 140px)}
dialog.exam .x{position:absolute;top:.9rem;right:1rem;width:38px;height:38px;border-radius:50%;border:0;background:var(--bg);color:var(--navy);font-size:1.5rem;line-height:1;cursor:pointer}
dialog.exam .tag{display:inline-block;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);background:#e8f0fa;border-radius:999px;padding:.35rem .8rem;margin-bottom:.7rem}
dialog.exam h2{color:var(--navy);font-size:1.35rem;font-weight:900;line-height:1.25;margin:0 2.4rem .6rem 0}
dialog.exam h3{color:var(--navy);font-size:1rem;font-weight:900;margin:1.2rem 0 .35rem}
dialog.exam p,dialog.exam li{color:#33445a;font-size:.95rem;line-height:1.55}
dialog.exam ul{padding-left:1.2rem;margin:.2rem 0}
dialog.exam li{margin-bottom:.3rem}
dialog.exam p a{color:var(--blue);font-weight:700;text-decoration:underline}
dialog.exam .foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem;padding:1rem 2rem;border-top:1px solid var(--line);background:var(--bg)}

/* ===== Mobile : espacements, entêtes, pied de page ===== */
body{overflow-x:clip}
.p-psh .col .video{max-width:min(640px,100%);height:auto}
@media (max-width:860px){
  .hero .wrap{gap:.75rem;min-height:0!important}
  .hero-text{padding:2.8rem 0 .25rem}
  .fp-hero .hero-text{padding:2.4rem 0 .25rem}
  .p-catalog .cat-hero .hero-text{padding:2.4rem 0 2.6rem}
  .hero-visual{max-width:none}
  html .p-psh .hero-visual img.people{height:440px}
  body .ag-grid{margin-left:-4vw!important;margin-right:-4vw!important;padding-left:4vw!important;padding-right:4vw!important;scroll-padding-left:4vw}
}
@media (max-width:600px){
  .hero h1{font-size:1.85rem}
  footer .top{grid-template-columns:1fr 1fr;gap:1.6rem 1.2rem;padding:2.6rem 0 2rem}
  footer .top>:first-child{grid-column:1/-1}
  footer .top>:nth-child(3){grid-column:1/-1;order:5}
  footer p{max-width:none}
  footer ul{font-size:.9rem;gap:.45rem}
  footer .bottom{gap:.6rem;padding:1.1rem 0}
  .map{height:240px}
}
@media (max-width:380px){
  .hero h1 .u{white-space:normal}
  .hero h1 .u::after{display:none}
}
/* Accueil : titre « Pourquoi choisir le groupe VSC ? » sur une seule ligne */
@media (min-width:900px){.why h2.title{font-size:clamp(1.6rem,2.75vw,2.35rem);white-space:nowrap}}

/* Titres longs : le soulignement doré passe en soulignement de texte pour pouvoir aller à la ligne */
.hero h1 .u.u-wrap{white-space:normal;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:.14em;text-underline-offset:.2em}
.hero h1 .u.u-wrap::after{display:none}
/* Une colonne de grille ne doit jamais s'élargir au-delà de sa place (évite l'écrasement de la photo du héros) */
.hero .wrap>*{min-width:0}
/* Mobile : les tableaux larges défilent horizontalement au lieu d'être coupés */
@media (max-width:860px){main table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}
