:root{--navy:#14308b;--ink:#0d1b4f;--orange:#ff5a0a;--bg:#fff;--alt:#f2f5fc;--line:#dbe1f2;--muted:#4d5a85;
--display:"Bricolage Grotesque","Trebuchet MS",sans-serif;--body:"Figtree","Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font:400 1.05rem/1.65 var(--body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--navy)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
h1,h2,h3{font-family:var(--display);line-height:1.1;margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800;color:var(--navy)}
h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;color:var(--navy)}
h3{font-size:1.25rem;font-weight:600}
p{margin:0 0 1em;max-width:68ch}

/* Navigation */
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.6rem clamp(1rem,4vw,3rem);background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font:800 1.2rem var(--display);color:var(--navy)}
.nav nav{display:flex;align-items:center;gap:1.4rem}
.nav nav a{text-decoration:none;font-weight:500;color:var(--ink)}
.nav nav a:not(.btn):hover,.nav nav a.act{color:var(--orange)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.burger i,.burger i::before,.burger i::after{display:block;width:24px;height:3px;background:var(--navy);border-radius:2px;position:relative;margin:auto;transition:.2s}
.burger i::before,.burger i::after{content:"";position:absolute;left:0}
.burger i::before{top:-8px}.burger i::after{top:8px}

/* Boutons */
.btn{display:inline-block;padding:.8rem 1.5rem;border-radius:999px;background:var(--orange);color:#fff;font:700 1rem var(--body);text-decoration:none;border:2px solid var(--orange);cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{background:#e04a00;border-color:#e04a00;transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.small{padding:.5rem 1.1rem}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}

/* Hero : l'anneau du logo comme motif */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;max-width:1180px;margin:auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,3rem)}
.lead{font-size:1.4rem;line-height:1.4;color:var(--ink)}
.rot{color:var(--orange);display:inline-block;transition:opacity .3s}
.sub{color:var(--muted)}
.orbit{position:relative;width:min(440px,86vw);aspect-ratio:1;margin:auto;display:grid;place-items:center}
.orbit::before{content:"";position:absolute;inset:6%;border:3px dashed var(--line);border-radius:50%}
.orbit>img{width:58%;position:relative}
.spin{position:absolute;inset:6%;animation:turn 18s linear infinite}
.dot{position:absolute;top:-11px;left:50%;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 6px rgba(255,90,10,.18)}
@keyframes turn{to{transform:rotate(360deg)}}
.chip{position:absolute;padding:.4rem 1rem;border-radius:999px;background:#fff;border:2px solid var(--navy);color:var(--navy);font-weight:700;font-size:.95rem;text-decoration:none;white-space:nowrap;transition:.15s}
.chip:hover{background:var(--navy);color:#fff}
.c1{top:2%;left:50%;transform:translateX(-50%);display:none}
.c1{display:block;top:19%;left:-4%;transform:none}
.c2{top:19%;right:-4%}
.c3{bottom:19%;left:-4%}
.c4{bottom:19%;right:-4%}

/* Chiffres */
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:#fff;padding:2rem clamp(1rem,4vw,3rem)}
.stats div{padding:.5rem 1rem;border-left:3px solid var(--orange)}
.stats b{display:block;font:800 clamp(2rem,4vw,3rem)/1 var(--display)}
.stats span{font-size:.95rem;opacity:.85}

/* Sections */
.sec{padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem)}
.sec.alt{background:var(--alt)}
.wrap{max-width:1180px;margin:auto}
.wrap.narrow{max-width:820px}
.two{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:start}
.intro{color:var(--muted)}
.values{background:var(--alt);border-radius:18px;padding:1.6rem}
.values h3{color:var(--navy)}
details{border-top:1px solid var(--line);padding:.7rem 0}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between}
summary::after{content:"+";color:var(--orange);font-size:1.3rem;line-height:1}
details[open] summary::after{content:"−"}
details p{margin:.5rem 0 0}

/* Onglets et filtres */
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 1.6rem}
.tabs button{font:600 1rem var(--body);padding:.6rem 1.2rem;border-radius:999px;border:2px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer}
.tabs button[aria-selected=true],.tabs button[aria-pressed=true]{background:var(--navy);color:#fff}
.panel{background:#fff;border-radius:18px;border-left:6px solid var(--orange);padding:1.6rem 1.8rem}
.panel ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.5rem 1.5rem}
.panel li{padding:.5rem 0;border-bottom:1px solid var(--line)}

/* Références */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.2rem}
.card{border:2px solid var(--line);border-radius:18px;padding:1.5rem;transition:border-color .15s}
.card:hover{border-color:var(--orange)}
.card h3{color:var(--navy);margin-bottom:.4em}
.card p{margin:0;color:var(--muted)}
.card[hidden]{display:none}
.trust{margin-top:2rem;color:var(--muted);max-width:none}

/* Distinctions */
.awards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem}
.award{background:#fff;border:2px solid var(--line);border-radius:18px;padding:.8rem;text-align:left;font:inherit;color:inherit;cursor:zoom-in;display:flex;flex-direction:column;gap:.4rem;transition:.15s}
.award:hover{border-color:var(--orange);transform:translateY(-3px)}
.award img{aspect-ratio:4/3;object-fit:cover;object-position:top;width:100%;border-radius:10px}
.award b{font:800 1.6rem var(--display);color:var(--orange)}
.award span{font-size:.95rem;line-height:1.4}
dialog{border:0;padding:0;background:transparent;max-width:min(94vw,1100px)}
dialog::backdrop{background:rgba(13,27,79,.85)}
dialog img{max-height:88vh;margin:auto;border-radius:10px}
dialog form{position:absolute;right:.5rem;top:.5rem}
dialog button{width:44px;height:44px;border-radius:50%;border:0;background:#fff;font-size:1.6rem;cursor:pointer}

/* Avis */
.slider blockquote{display:none;margin:0}
.slider blockquote.on{display:block}
.slider p{font:600 clamp(1.3rem,3vw,1.9rem)/1.35 var(--display);color:var(--navy);max-width:none}
cite{display:block;font-style:normal;color:var(--muted);border-left:4px solid var(--orange);padding-left:1rem}
.ctrl{display:flex;gap:.6rem;margin-top:1.6rem}
.ctrl button{width:46px;height:46px;border-radius:50%;border:2px solid var(--navy);background:#fff;color:var(--navy);font-size:1.2rem;cursor:pointer}
.ctrl button:hover{background:var(--navy);color:#fff}

/* Contact */
.contact{background:var(--alt)}
.info{list-style:none;padding:0;margin:1.5rem 0 0}
.info li{padding:.7rem 0;border-top:1px solid var(--line)}
.info b{display:block;color:var(--navy)}
.form{background:#fff;border-radius:18px;padding:1.6rem;display:grid;gap:1rem}
label{display:grid;gap:.3rem;font-weight:700;font-size:.95rem}
input,select,textarea{font:400 1rem var(--body);padding:.7rem .9rem;border:2px solid var(--line);border-radius:10px;color:var(--ink);background:#fff}
input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:none}
.err{color:#b3261e;margin:0;min-height:1.2em;font-weight:500}
footer{display:flex;align-items:center;gap:.8rem;padding:1.4rem clamp(1rem,4vw,3rem);background:var(--navy);color:#fff;font-size:.92rem}
footer img{background:#fff;border-radius:50%;padding:2px}

/* Mobile */
@media(max-width:860px){
 .burger{display:block}
 .nav nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 1.2rem 1.2rem;background:#fff;border-bottom:1px solid var(--line);display:none}
 .nav nav.open{display:flex}
 .nav nav a{padding:.7rem 0;width:100%}
 .hero,.two{grid-template-columns:1fr}
 .stats{grid-template-columns:1fr 1fr;gap:1rem 0}
 .chip{font-size:.85rem;padding:.3rem .8rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Avis : témoignages longs et sites clients */
.slider blockquote.long p{font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.5}
cite small{font-size:.85rem;color:var(--orange);font-weight:700}
.sites{margin-top:3rem}
.links{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.8rem}
.links li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:2px solid var(--line);border-radius:14px;padding:.8rem 1rem;transition:border-color .15s}
.links li:hover{border-color:var(--orange)}
.links a{font-weight:700;text-decoration:none;word-break:break-all}
.links a::after{content:" ↗";color:var(--orange)}
.links span{font-size:.8rem;font-weight:700;background:var(--alt);color:var(--navy);border-radius:999px;padding:.15rem .7rem;white-space:nowrap}

/* Image de fond (formation) en nuances de bleu et d'orange */
html{overflow-x:clip}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(img/fond-formation.jpg) center/cover no-repeat;opacity:.07}
.sec.alt,.contact{background:rgba(242,245,252,.88)}
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);
 background:
  linear-gradient(100deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 42%,rgba(255,255,255,.28) 100%),
  linear-gradient(180deg,rgba(255,90,10,0) 55%,rgba(255,90,10,.28) 100%),
  url(img/fond-formation.jpg) center 30%/cover no-repeat}
.stats{background:linear-gradient(90deg,var(--navy),#1d3fa8 60%,#2b3f9a)}
@media(max-width:860px){.hero::before{background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(255,255,255,.7)),linear-gradient(180deg,rgba(255,90,10,0) 60%,rgba(255,90,10,.25) 100%),url(img/fond-formation.jpg) center/cover no-repeat}}
