@font-face{font-family:'Figtree';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/figtree-400-italic-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/figtree-400-italic-latin.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}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/figtree-400-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/figtree-400-latin.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}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/figtree-500-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/figtree-500-latin.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}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/figtree-600-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/figtree-600-latin.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}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/figtree-700-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/figtree-700-latin.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}
@font-face{font-family:'Rubik';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/rubik-500-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Rubik';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/rubik-500-latin.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}
@font-face{font-family:'Rubik';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/rubik-600-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Rubik';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/rubik-600-latin.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}
@font-face{font-family:'Rubik';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/rubik-700-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Rubik';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/rubik-700-latin.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{
  --leaf:#6DB22A; --forest:#2E6A14; --forest-2:#3F8A1D;
  --petrol:#0B4A66; --petrol-2:#0E5E82; --sky:#1C8CC8;
  --paper:#F3F6F1; --surface:#FFFFFF; --mist:#E3EBE1; --line:#D3DDD1;
  --ink:#13262E; --ink-2:#4A5D63; --on-dark:#F2F7F3; --warn:#B3261E;
  --display:"Rubik",Arial,sans-serif;
  --text:"Figtree","Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1180px; --r:14px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0E1C21; --surface:#15272D; --mist:#1B3239; --line:#28434B;
    --ink:#E7F0EA; --ink-2:#A9BCB9; --forest:#8CCB4E; --forest-2:#9ED862; --petrol:#0A3E55; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0E1C21; --surface:#15272D; --mist:#1B3239; --line:#28434B;
  --ink:#E7F0EA; --ink-2:#A9BCB9; --forest:#8CCB4E; --forest-2:#9ED862; --petrol:#0A3E55; color-scheme:dark;
}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 90px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--text);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,4.4vw,3.5rem)}
h2{font-size:clamp(1.7rem,2.8vw,2.35rem)}
h3{font-size:1.3rem;font-weight:600}
h4{font-size:1.1rem;font-weight:600}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.1rem,3vw,2rem)}
.lede{font-size:1.2rem;color:var(--ink-2);max-width:60ch}
.muted{color:var(--ink-2)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:4px}

/* maquette */
.maquette{background:#FFF4C2;color:#5A4600;font-size:.88rem;text-align:center;padding:.4rem 1rem}
.todo{background:#FFF4C2;color:#5A4600;padding:0 .3em;border-radius:3px;font-weight:600}

/* header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--surface);border-bottom:1px solid var(--line)}
.progress{position:absolute;left:0;bottom:-1px;height:4px;width:0;background:linear-gradient(90deg,var(--leaf),var(--sky) 60%,var(--petrol));transition:width .08s linear}
.bar{display:flex;align-items:center;gap:1.5rem;min-height:78px}
.logo{display:block;flex-shrink:0}
.logo svg{height:44px;width:auto;display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo{background:#fff;border-radius:8px;padding:4px 8px}}
nav{margin-left:auto}
.navlist{list-style:none;display:flex;gap:.2rem;margin:0;padding:0;align-items:center}
.navlist > li{position:relative}
.navlist a,.navlist button{font:600 1rem var(--text);color:var(--ink);text-decoration:none;background:none;border:0;padding:.65rem .8rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.35rem}
.navlist a:hover,.navlist button:hover,.navlist a[aria-current="page"],.navlist button.on{color:var(--forest)}
.navlist button::after{content:"";width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.sub{position:absolute;top:100%;left:0;min-width:300px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(11,74,102,.14);padding:.5rem;list-style:none;margin:.3rem 0 0;display:none}
.sub.open{display:block}
.sub a{display:block;padding:.6rem .8rem;font-weight:500}
.sub a small{display:block;color:var(--ink-2);font-weight:400;font-size:.88rem}
.sub a:hover{background:var(--mist)}
.actions{display:flex;gap:.6rem;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 1rem var(--text);text-decoration:none;border-radius:8px;padding:.78rem 1.25rem;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s}
.btn-green{background:var(--leaf);color:#0F2A06}
.btn-green:hover{background:#7FC53A}
.btn-petrol{background:var(--petrol);color:#fff}
.btn-petrol:hover{background:var(--petrol-2)}
.btn-line{border-color:currentColor;color:var(--petrol);background:transparent}
.btn-line:hover{background:var(--mist)}
.btn-white{background:#fff;color:var(--petrol)}
.btn-ghost-w{border-color:rgba(255,255,255,.7);color:#fff}
.btn-ghost-w:hover{background:rgba(255,255,255,.12)}
.burger{display:none;margin-left:auto;background:none;border:2px solid var(--line);border-radius:8px;padding:.5rem .8rem;font:600 1rem var(--text);color:var(--ink)}
@media (max-width:1180px){
  .burger{display:block}
  nav{position:fixed;inset:calc(78px + env(safe-area-inset-top,0px)) 0 0 0;background:var(--surface);padding:1rem 1.2rem 2rem;overflow:auto;display:none;margin:0}
  nav.open{display:block}
  .navlist{flex-direction:column;align-items:stretch}
  .sub{position:static;display:block;box-shadow:none;border:0;padding:0 0 .5rem 1rem;min-width:0}
  .navlist button::after{display:none}
  .actions .btn-line{display:none}
  .actions{order:3}
  .bar-cta{display:none}
}

/* hero: les deux flux */
.hero{padding:clamp(2.2rem,5vw,4rem) 0 0;background:var(--surface)}
.hero-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2rem;align-items:end;padding-bottom:2.2rem}
.hero-head h1{margin:0;color:var(--petrol)}
.hero-head h1 span{display:block;color:var(--forest)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero-head h1{color:#BFE3F4}}
.hero-head p{margin:0;font-size:1.18rem;color:var(--ink-2)}
@media (max-width:820px){.hero-head{grid-template-columns:1fr}}
.flux{display:grid;grid-template-columns:1fr 1fr;min-height:470px}
@media (max-width:820px){.flux{grid-template-columns:1fr}.flux-side{min-height:380px}}
.flux-side{position:relative;overflow:hidden;color:#fff;display:flex;align-items:flex-end;isolation:isolate}
.flux-side img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s ease}
.flux-side:hover img{transform:scale(1.03)}
.flux-side::before{content:"";position:absolute;inset:0;z-index:-1}
.flux-a::before{background:linear-gradient(180deg,rgba(11,74,102,.35) 0%,rgba(11,74,102,.93) 62%)}
.flux-b::before{background:linear-gradient(180deg,rgba(46,106,20,.3) 0%,rgba(35,84,14,.94) 62%)}
.flux-in{padding:clamp(1.5rem,4vw,3rem);max-width:560px}
.flux-in h2{font-size:clamp(1.7rem,2.8vw,2.3rem);margin-bottom:.35em}
.flux-in p{color:rgba(255,255,255,.88)}
.flux-in ul{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:.45rem}
.flux-in li a{display:inline-block;padding:.35rem .8rem;border:1px solid rgba(255,255,255,.5);border-radius:999px;text-decoration:none;font-size:.95rem}
.flux-in li a:hover{background:rgba(255,255,255,.15)}

/* sections */
.sec{padding:clamp(3.5rem,7vw,6rem) 0}
.sec-white{background:var(--surface)}
.sec-mist{background:var(--mist)}
.sec-petrol{background:var(--petrol);color:var(--on-dark)}
.sec-petrol .muted,.sec-petrol .lede{color:rgba(242,247,243,.8)}
.sec-green{background:var(--forest);color:#fff}
.sec-head{max-width:720px;margin-bottom:2.5rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split.top{align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.ph{border-radius:var(--r);overflow:hidden;background:var(--mist)}
.ph img{width:100%;height:100%;object-fit:cover}
.ph.tall{aspect-ratio:4/5}
.ph.wide{aspect-ratio:16/10}
.cap{font-size:.9rem;color:var(--ink-2);margin-top:.5rem}

/* rows (liste de services) */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--line);align-items:center;text-decoration:none;color:inherit}
.row h3{margin:0;font-size:1.3rem}
.row p{margin:0;color:var(--ink-2)}
.row .go{font-weight:600;color:var(--forest);white-space:nowrap}
a.row:hover h3{color:var(--forest)}
@media (max-width:760px){.row{grid-template-columns:1fr;gap:.4rem}}

/* chiffres */
.figures{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.fig b{display:block;white-space:nowrap;font:700 clamp(2.4rem,4.6vw,3.6rem)/1 var(--display);color:var(--leaf)}
.fig span{font-size:1.05rem}
@media (max-width:640px){.figures{grid-template-columns:1fr}}

/* liste à coches */
.checks{list-style:none;padding:0;margin:0 0 1.2rem}
.checks li{position:relative;padding:.35rem 0 .35rem 1.9rem}
.checks li::before{content:"";position:absolute;left:0;top:.62rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.5' fill='none' stroke='%230F2A06' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}
.cols2{columns:2;column-gap:2.5rem}
.cols2 li{break-inside:avoid}
@media (max-width:640px){.cols2{columns:1}}

/* avantages : colonnes numérotées seulement si séquence, sinon filets */
.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2rem 2.5rem}
.perk{border-top:3px solid var(--leaf);padding-top:1rem}
.perk h4{margin-bottom:.3rem}
.perk p{margin:0;color:var(--ink-2)}
.sec-petrol .perk p{color:rgba(242,247,243,.8)}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}
.step{counter-increment:s}
.step::before{content:counter(s);display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--petrol);color:#fff;font:700 1.3rem var(--display);margin-bottom:.8rem}
.step p{color:var(--ink-2);margin:0}

/* logos */
.logos{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;align-items:center}
.logos img{height:46px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.logos img:hover{filter:none;opacity:1}
.logos.small img{height:38px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logos{background:#F3F6F1;padding:1.2rem;border-radius:12px}}

/* témoignages */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.quote{margin:0;background:var(--surface);border-radius:var(--r);padding:1.6rem;border:1px solid var(--line);display:flex;flex-direction:column}
.quote blockquote{margin:0 0 1.2rem;font-size:1.05rem;flex:1}
.who{display:flex;gap:.8rem;align-items:center}
.who img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.who b{display:block}
.who span{font-size:.9rem;color:var(--ink-2)}

/* timeline distinctions */
.timeline{list-style:none;padding:0;margin:0;border-left:3px solid var(--leaf)}
.timeline li{padding:0 0 1.4rem 1.4rem;position:relative}
.timeline li::before{content:"";position:absolute;left:-9px;top:.35rem;width:15px;height:15px;border-radius:50%;background:var(--surface);border:3px solid var(--leaf)}
.timeline time{font:700 1.15rem var(--display);color:var(--forest)}
.timeline p{margin:.1rem 0 0}

/* page header */
.phead{background:var(--surface);padding:clamp(2.4rem,5vw,4rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line)}
.crumbs{font-size:.92rem;color:var(--ink-2);margin-bottom:1rem}
.crumbs a{text-decoration:none;color:var(--forest)}
.crumbs a:hover{text-decoration:underline}
.phead h1{color:var(--petrol);max-width:18ch}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .phead h1{color:#BFE3F4}}
.phead-img{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3rem;align-items:center}
@media (max-width:860px){.phead-img{grid-template-columns:1fr}}

/* catalogue formations */
.group{margin-bottom:3.5rem}
.group > h2{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.group > h2 small{font:500 1.05rem var(--text);color:var(--ink-2)}
.frow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:1.2rem;align-items:center;padding:1.25rem 1.4rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:.7rem;text-decoration:none;color:inherit;border-left:5px solid var(--leaf)}
.frow.alt{border-left-color:var(--sky)}
.frow.pro{border-left-color:var(--petrol)}
.frow:hover{border-color:var(--forest)}
.frow h3{margin:0;font-size:1.2rem}
.frow .meta{color:var(--ink-2);font-size:.97rem}
.frow .go{font-weight:600;color:var(--forest)}
@media (max-width:760px){.frow{grid-template-columns:1fr;gap:.3rem}}

/* fiche formation */
.fiche{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:3rem;align-items:start}
@media (max-width:920px){.fiche{grid-template-columns:1fr}}
.aside{position:sticky;top:110px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}
.aside dl{margin:0 0 1.2rem}
.aside dt{font-weight:600;font-size:.92rem;color:var(--ink-2);margin-top:.8rem}
.aside dd{margin:.1rem 0 0;font-weight:600}
.aside .btn{width:100%;margin-top:.5rem}
.block{margin-bottom:2.4rem}
.block h2{font-size:1.6rem}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0}
.tag{background:var(--mist);border-radius:999px;padding:.3rem .8rem;font-size:.92rem;font-weight:500}

/* grille rémunération */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:520px}
th,td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
thead th{background:var(--petrol);color:#fff;font-weight:600}
tbody tr:last-child td{border-bottom:0}
td b{color:var(--forest)}

/* certificats */
.certs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.cert{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;display:flex;gap:1.2rem;align-items:flex-start}
.cert img{width:110px;height:auto;flex-shrink:0;background:#fff;border-radius:6px}
.cert h3{font-size:1.4rem;margin-bottom:.2rem}
.cert p{margin:0 0 .8rem;color:var(--ink-2)}

/* équipe */
.team{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.6rem}
.team li{display:flex;gap:.9rem;align-items:center}
.av{width:3.4rem;height:3.4rem;border-radius:50%;display:grid;place-items:center;background:var(--petrol);color:#fff;font:700 1.2rem var(--display);flex-shrink:0}
.team li:nth-child(2n) .av{background:var(--forest)}
.team b{display:block}
.team span{font-size:.93rem;color:var(--ink-2)}

/* galerie */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px;gap:.8rem}
.gallery .ph:first-child{grid-row:span 2}
@media (max-width:760px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.gallery .ph:first-child{grid-column:span 2;grid-row:auto}}

/* bandeau CTA */
.cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem}
.cta h2{margin:0;max-width:22ch}

/* formulaires */
.tabs{display:flex;gap:.4rem;margin-bottom:1.5rem;flex-wrap:wrap}
.tabs button{font:600 1rem var(--text);padding:.7rem 1.1rem;border-radius:8px;border:2px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--petrol);border-color:var(--petrol);color:#fff}
.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.2rem,3vw,2rem)}
.frm{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media (max-width:560px){.frm{grid-template-columns:1fr}}
.fld{margin-bottom:1rem}
.fld.full{grid-column:1/-1}
label{display:block;font-weight:600;margin-bottom:.3rem}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:8px;padding:.7rem .8rem}
input:focus,select:focus,textarea:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px rgba(28,140,200,.2)}
.err{color:var(--warn);font-size:.9rem;margin-top:.25rem;min-height:0}
.invalid{border-color:var(--warn)}
.hp{position:absolute;left:-5000px}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.93rem;color:var(--ink-2)}
.consent input{width:1.15rem;height:1.15rem;margin-top:.2rem;accent-color:var(--forest);flex-shrink:0}
.req{color:var(--warn)}
.ok{padding:1.5rem;border-radius:var(--r);background:var(--mist)}
.coords dt{font-weight:700;margin-top:1.1rem}
.coords dd{margin:.15rem 0 0;color:var(--ink-2)}

/* prose légale */
.prose{max-width:760px}
.prose h2{font-size:1.9rem;margin-top:2.2rem}
.prose h3{font-size:1.35rem;margin-top:1.4rem}
.prose p,.prose li{color:var(--ink-2)}

/* footer */
.site-footer{background:#0A2F40;color:#D7E6E4;padding:4rem 0 calc(1.5rem + env(safe-area-inset-bottom,0px));font-size:.97rem}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}}
.site-footer h4{color:#fff;font-size:1.25rem;margin-bottom:.8rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:.35rem 0}
.site-footer a{color:#D7E6E4;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.flogo{display:inline-block;margin-bottom:1rem}
.flogo svg{height:74px;width:auto;display:block}
.fcert{display:flex;gap:.7rem;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:.7rem;margin-bottom:.6rem;cursor:pointer;color:#D7E6E4;font:inherit;text-align:left;width:100%}
.fcert:hover{background:rgba(255,255,255,.12)}
.fcert img{width:64px;background:#fff;border-radius:4px;padding:2px}
.fcert small{display:block;opacity:.8}
.fbottom{border-top:1px solid rgba(255,255,255,.14);margin-top:3rem;padding-top:1.3rem;display:flex;flex-wrap:wrap;gap:1rem 1.6rem;justify-content:space-between;font-size:.9rem}
.fbottom ul{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.social{display:flex;gap:.6rem;margin-top:1rem}
.social a{width:2.3rem;height:2.3rem;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3)}
.social svg{width:1.05rem;height:1.05rem;fill:#fff}

/* visionneuse */
.viewer{position:fixed;inset:0;z-index:90;background:rgba(6,24,32,.86);display:none;flex-direction:column}
.viewer.open{display:flex}
.vbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:calc(.8rem + env(safe-area-inset-top,0px)) 1.2rem .8rem;color:#fff}
.vbar b{font-weight:600}
.vbar button{background:#fff;color:var(--petrol);border:0;border-radius:8px;padding:.55rem 1rem;font:600 1rem var(--text);cursor:pointer}
.vbody{flex:1;overflow:auto;padding:0 1rem calc(2rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:1rem;user-select:none;-webkit-user-select:none}
.vbody img{max-width:min(900px,100%);height:auto;box-shadow:0 10px 40px rgba(0,0,0,.4);pointer-events:none;background:#fff}
.vnote{color:rgba(255,255,255,.75);font-size:.88rem;text-align:center}

/* cookies */
.cookies{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:80;max-width:560px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.2);padding:1.2rem 1.3rem;display:none}
.cookies.show{display:block}
.cookies p{font-size:.95rem;margin-bottom:.9rem}
.cookies .row-b{display:flex;gap:.5rem;flex-wrap:wrap}
.cookies .btn{padding:.6rem 1rem}

/* compteur */
.count{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.fade-in{animation:fi .5s ease both}
@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.center{text-align:center}
.mt{margin-top:2rem}
.btns{display:flex;flex-wrap:wrap;gap:.7rem}

.pill{display:inline-block;font:600 .82rem var(--text);padding:.25rem .7rem;border-radius:999px;color:#fff;vertical-align:middle}
.pill.courte{background:var(--sky)}.pill.alternance{background:#4A961C}
.fmt{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem}
.fmt a{font-weight:600;font-size:.95rem;text-decoration:none;border:1.5px solid var(--line);border-radius:8px;padding:.45rem .8rem;color:var(--petrol);background:var(--surface)}
.fmt a:hover{border-color:var(--forest)}
.tcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;border-top:5px solid var(--petrol)}
.tcard h3{margin-bottom:.2rem}
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}
.chips-l{display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0 0}
.chips-l span{background:var(--mist);border-radius:999px;padding:.25rem .7rem;font-size:.88rem;font-weight:500}
.qual{display:flex;gap:1rem;align-items:center;background:#fff;border-radius:12px;padding:1rem 1.2rem;border:1px solid var(--line)}
.qual img{width:190px;height:auto}
.fqual{background:#fff;border-radius:10px;padding:.6rem;display:block;margin-bottom:.6rem}
.fqual img{width:100%;height:auto;display:block}
.bloc2{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--petrol);border-radius:10px;padding:1rem 1.2rem;margin-bottom:.8rem}
.bloc2 .c{font-weight:600;font-size:.85rem;color:var(--forest)}
.bloc2 h3{font-size:1.1rem;margin:.2rem 0 .5rem}
.bloc2 ul{margin:0;padding-left:1.1rem;color:var(--ink-2)}
.band-title{background:var(--petrol);color:#fff}
.band-title h1{color:#fff!important}
.band-title .lede{color:rgba(255,255,255,.85)}
.band-title .crumbs,.band-title .crumbs a{color:#9ED862}
.band-title .tag{background:rgba(255,255,255,.12);color:#fff}
.btn-ghost-w{background:transparent}.btn-line{background:transparent}

.tvar{display:flex;flex-direction:column;gap:.55rem;margin-top:.4rem}
.tvar a{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;text-decoration:none;color:var(--ink);border:1.5px solid var(--line);border-radius:10px;padding:.7rem .9rem;background:var(--paper)}
.tvar a:hover{border-color:var(--forest)}
.tvar .go{font-weight:600;color:var(--forest);white-space:nowrap}
.tvar .pill{margin-right:.4rem}
.tvar a{flex-wrap:nowrap}.tvar a>span:first-child{flex:1;min-width:0}.tvar .go{border:1.5px solid var(--forest);border-radius:8px;padding:.3rem .7rem;font-size:.92rem}
.navlist a,.navlist button{white-space:nowrap;padding:.6rem .65rem}.btn{white-space:nowrap}.bar{gap:1.2rem}
.site-header .wrap{max-width:var(--wrap)}

.site-footer{background:#082B3A;padding:3.5rem 0 calc(1.5rem + env(safe-area-inset-bottom,0px))}
.ftop{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:flex-start;padding-bottom:2.2rem;border-bottom:1px solid rgba(255,255,255,.12)}
.fbrand{max-width:420px}.fbrand .flogo{margin-bottom:.8rem}
.fpitch{opacity:.8;font-size:.95rem;margin:0 0 1rem}
.fcontact{display:flex;flex-direction:column;gap:.55rem;align-items:flex-start}
.fc{display:flex;gap:.7rem;align-items:baseline;color:#fff;font-weight:600;text-decoration:none}
a.fc:hover{text-decoration:underline}
.fci{font:500 .8rem var(--text);color:#9ED862;min-width:5rem}
.fcontact .btn{margin-top:.5rem}
.fcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;padding:2.2rem 0}
@media (max-width:760px){.fcols{grid-template-columns:1fr 1fr}}
.fcards{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1rem;padding-bottom:2rem}
@media (max-width:900px){.fcards{grid-template-columns:1fr}}
.fcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem}
.fcard b{color:#fff;font:600 1.05rem var(--display)}
.fcard small{color:#C7D9DA;line-height:1.45;font-size:.86rem}
.fk{font-size:.8rem;color:#9ED862;font-weight:600}
.fcard.fq{flex-direction:row;gap:1rem;align-items:center}
.fqimg{background:#fff;border-radius:10px;padding:.4rem;flex-shrink:0;width:170px}
.fqimg img{width:100%;height:auto;display:block}
@media (max-width:520px){.fcard.fq{flex-direction:column;align-items:flex-start}}
.fbtns{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}
.fbtns button{font:600 .82rem var(--text);background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:.4rem .7rem;cursor:pointer}
.fbtns button:hover{background:rgba(255,255,255,.12)}
.fbtns button:disabled{cursor:default;opacity:.8}
.site-footer .fbottom{margin-top:0;border-top:1px solid rgba(255,255,255,.12);padding-top:1.2rem;font-size:.85rem;opacity:.85}
.fcard b,.fcard small{display:block}.fcard.fq small{margin-top:.2rem}

.topbar{background:#082B3A;color:#D7E6E4;font-size:.86rem;border-top:4px solid transparent;border-image:linear-gradient(90deg,#0B4A66 0 70%,#4A961C 70% 90%,#6DB22A 90%) 1}
.tb-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:40px;max-width:1320px}
.tb-l{display:flex;align-items:center;gap:.55rem}
.tb-dot{width:.55rem;height:.55rem;border-radius:50%;background:#6DB22A;flex-shrink:0}
.tb-r{display:flex;align-items:center;gap:1.3rem}
.topbar a{color:#fff;text-decoration:none;font-weight:600}
.topbar a:hover{text-decoration:underline}
.tb-cta{background:#6DB22A;color:#0F2A06!important;border-radius:999px;padding:.2rem .8rem}
.tb-cta:hover{text-decoration:none!important;background:#7FC53A}
@media (max-width:900px){.tb-hide,.tb-l{display:none}.tb-in{justify-content:center}}

/* bandeau de départ */
.phead{position:relative;background-color:var(--petrol);background-image:linear-gradient(100deg,rgba(8,43,58,.96) 0%,rgba(11,74,102,.9) 48%,rgba(11,74,102,.62) 100%),var(--bg,none);background-size:cover;background-position:center 35%;color:#fff;border-bottom:0;padding:clamp(3rem,7vw,5.2rem) 0 clamp(2.6rem,6vw,4.4rem)}
.phead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,#0B4A66 0 70%,#4A961C 70% 90%,#6DB22A 90%)}
.phead h1,:root .phead h1{color:#fff!important}
.phead .lede{color:rgba(255,255,255,.9)}
.phead .crumbs,.phead .crumbs a{color:#9ED862}
.phead .btn-line{color:#fff;border-color:rgba(255,255,255,.75)}
.phead .btn-line:hover{background:rgba(255,255,255,.12)}
.phead .tag{background:rgba(255,255,255,.14);color:#fff}
.phead .ph{box-shadow:0 20px 50px rgba(0,0,0,.3)}
.band-title{background-image:linear-gradient(100deg,rgba(8,43,58,.96) 0%,rgba(11,74,102,.9) 50%,rgba(11,74,102,.65) 100%),var(--bg,none)}
/* missions CFA */
.missions{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.4rem}
@media (max-width:760px){.missions{grid-template-columns:1fr}}
.missions li{display:flex;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem 1.2rem}
.mnum{flex-shrink:0;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--petrol);color:#fff;display:grid;place-items:center;font:700 1rem var(--display)}
.missions li:nth-child(even) .mnum{background:#4A961C}
.missions h4{margin:.1rem 0 .25rem;font-size:1.02rem}
.missions p{margin:0;color:var(--ink-2);font-size:.95rem}

/* ===== en-tête d'accueil façon SERENITE ===== */
.shero{position:relative;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line)}
.shero::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:#6DB22A;opacity:.16;right:-160px;top:-200px}
.shero::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:#0B4A66;opacity:.07;right:220px;bottom:-160px}
.shero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3rem;align-items:center;padding-top:clamp(2.6rem,5.5vw,4.4rem);padding-bottom:clamp(2.6rem,5.5vw,4.4rem)}
@media (max-width:920px){.shero-grid{grid-template-columns:1fr}}
.shero-logo{margin-bottom:1.4rem}
.shero-logo svg{max-width:100%;height:auto!important;max-height:96px}
.eyebrow{display:inline-block;font:600 .8rem var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--forest);margin-bottom:.8rem}
.shero h1{font-size:clamp(2.2rem,4.6vw,3.5rem);line-height:1.08;color:var(--petrol);margin-bottom:.9rem}
.shero h1 span{color:#4A961C}
.shero p{color:var(--ink-2);font-size:clamp(1.02rem,1.4vw,1.15rem);max-width:56ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.shero-visu{position:relative}
.shero-photo{margin:0;border-radius:26px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(11,74,102,.5)}
.shero-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 30%}
.hchip{position:absolute;background:#fff;color:var(--petrol);font:600 .88rem var(--text);padding:.55rem .95rem;border-radius:999px;box-shadow:0 12px 30px -12px rgba(11,74,102,.45);display:flex;align-items:center;gap:.5rem;white-space:nowrap}
.hchip::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:#6DB22A}
.hchip.c1{left:-1.2rem;top:12%}
.hchip.c2{right:-1rem;top:46%}
.hchip.c3{left:12%;bottom:-1.1rem}
@media (max-width:920px){.hchip.c1{left:.6rem}.hchip.c2{right:.6rem}}
/* ===== en-têtes de page clairs (remplacent les bandeaux photo) ===== */
.phead{background:var(--paper)!important;background-image:none!important;color:var(--ink);padding:clamp(2.6rem,5.5vw,4rem) 0 clamp(2.2rem,4.5vw,3.2rem);overflow:hidden}
.phead::before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:#6DB22A;opacity:.14;right:-130px;top:-170px;pointer-events:none}
.phead>.wrap{position:relative;z-index:1}
.phead h1,:root .phead h1{color:var(--petrol)!important}
.phead .lede{color:var(--ink-2)}
.phead .crumbs,.phead .crumbs a{color:var(--forest)}
.phead .btn-line{color:var(--petrol);border-color:var(--petrol)}
.phead .btn-line:hover{background:var(--mist)}
.phead .tag{background:#fff;color:var(--ink);border:1px solid var(--line)}
.phead .ph{border-radius:26px;box-shadow:0 30px 60px -32px rgba(11,74,102,.5)}
.band-title p[style*="9ED862"]{color:#4A961C!important}
.band-title p[style*="CFE6F0"]{color:var(--ink-2)!important}
.band-title a[style*="9ED862"]{color:var(--forest)!important}
.band-title .backbtn{color:var(--petrol);border-color:var(--petrol)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .phead h1,:root:not([data-theme="light"]) .shero h1{color:#BFE3F4!important}}

/* défilement des partenaires */
.marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mtrack{display:flex;width:max-content;animation:defile 38s linear infinite}
.marquee:hover .mtrack{animation-play-state:paused}
.mgroup{display:flex;align-items:center;gap:1.2rem;padding-right:1.2rem}
.mlogo{display:grid;place-items:center;width:190px;height:96px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.9rem 1.2rem;flex-shrink:0}
.mlogo img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1);opacity:.8;transition:filter .25s,opacity .25s}
.mlogo:hover img{filter:none;opacity:1}
@keyframes defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mtrack{animation:none;flex-wrap:wrap;width:auto}.mgroup[aria-hidden]{display:none}.mgroup{flex-wrap:wrap}}

/* bulles animées de l'en-tête d'accueil */
.shero::before{animation:bulle1 16s ease-in-out infinite alternate}
.shero::after{animation:bulle2 20s ease-in-out infinite alternate}
.shero-bulles{position:absolute;inset:0;pointer-events:none;z-index:0}
.shero-bulles span{position:absolute;border-radius:50%}
.shero-bulles .b1{width:140px;height:140px;background:#6DB22A;opacity:.12;left:6%;bottom:12%;animation:bulle3 14s ease-in-out infinite alternate}
.shero-bulles .b2{width:70px;height:70px;background:#1C8CC8;opacity:.12;left:44%;top:14%;animation:bulle4 11s ease-in-out infinite alternate}
.shero-bulles .b3{width:36px;height:36px;background:#4A961C;opacity:.18;left:52%;bottom:18%;animation:bulle3 9s ease-in-out infinite alternate-reverse}
.shero-bulles .b4{width:220px;height:220px;background:#0B4A66;opacity:.05;left:-70px;top:-60px;animation:bulle4 18s ease-in-out infinite alternate}
@keyframes bulle1{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,30px) scale(1.06)}100%{transform:translate(20px,50px) scale(.96)}}
@keyframes bulle2{0%{transform:translate(0,0) scale(1)}50%{transform:translate(50px,-30px) scale(1.08)}100%{transform:translate(-30px,-50px) scale(.95)}}
@keyframes bulle3{0%{transform:translate(0,0)}100%{transform:translate(30px,-40px)}}
@keyframes bulle4{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-25px,30px) scale(1.12)}}
@media (prefers-reduced-motion:reduce){.shero::before,.shero::after,.shero-bulles span{animation:none}}

/* en-têtes de page uniformisés avec l'accueil */
.phead{padding:clamp(2.8rem,5.5vw,4.2rem) 0 clamp(2.8rem,5.5vw,4.2rem)!important}
.phead::before{width:520px;height:520px;right:-160px;top:-200px;opacity:.16;animation:bulle1 16s ease-in-out infinite alternate}
.phead::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:#0B4A66;opacity:.07;right:22%;bottom:-150px;left:auto;top:auto;height:300px;animation:bulle2 20s ease-in-out infinite alternate}
.phead .shero-bulles{z-index:0}
.phead-img{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;gap:3rem!important}
.phead h1{font-size:clamp(2rem,4vw,3.1rem)}
.pvisu{position:relative}
.pvisu .ph{border-radius:26px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(11,74,102,.5);aspect-ratio:4/3}
.pvisu .ph img{width:100%;height:100%;object-fit:cover}
@media (max-width:920px){.pvisu .hchip.c1{left:.6rem}.pvisu .hchip.c2{right:.6rem}}
@media (prefers-reduced-motion:reduce){.phead::before,.phead::after{animation:none}}

/* en-têtes plus compacts */
.phead{padding:clamp(2.2rem,4.5vw,3.4rem) 0!important}
.phead h1{font-size:clamp(1.9rem,3.6vw,2.8rem)!important}
.pvisu .ph{aspect-ratio:16/10!important;max-height:330px}
@media (max-width:860px){.pvisu .ph{max-height:230px}.pvisu .hchip.c3{display:none}}
/* bandeaux de chiffres */
.stats-band{padding:clamp(2.6rem,5vw,3.8rem) 0}
.figures.f4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:860px){.figures.f4{grid-template-columns:1fr 1fr}}
.stats-band .fig b{font-size:clamp(2.2rem,4vw,3.2rem)}
.stats-band .fig b span{font:inherit;color:inherit}
.stats-band .fig>span{display:block;margin-top:.3rem;color:rgba(242,247,243,.88)}
.stats-note{margin:1.6rem 0 0;font-size:.88rem;color:rgba(242,247,243,.7);max-width:80ch}

/* cartes de formation */
.fcgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-bottom:1rem}
@media (max-width:1000px){.fcgrid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.fcgrid{grid-template-columns:1fr}}
.fc-group{font-size:1.25rem;margin:2.2rem 0 1rem;color:var(--petrol)}
.fcard2{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
@media (hover:hover){.fcard2:hover{transform:translateY(-5px);box-shadow:0 26px 50px -30px rgba(11,74,102,.55);border-color:#6DB22A}}
.fc-top{position:relative;display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap;padding:1.2rem 1.3rem 1rem;min-height:118px;color:#fff;overflow:hidden}
.is-courte .fc-top{background:linear-gradient(135deg,#0B4A66 0%,#1C8CC8 100%)}
.is-alt .fc-top{background:linear-gradient(135deg,#2E6A14 0%,#6DB22A 100%)}
.fc-top::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.12);right:-40px;top:-60px}
.fc-ico{position:absolute;right:1.1rem;top:1rem;width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.18);display:grid;place-items:center;z-index:1}
.fc-ico svg{width:30px;height:30px}
.fc-pill{background:#fff;color:var(--petrol);font:600 .78rem var(--text);padding:.28rem .7rem;border-radius:999px;position:relative;z-index:1}
.is-alt .fc-pill{color:#2E6A14}
.fc-niv{font:600 .82rem var(--text);color:rgba(255,255,255,.95);position:relative;z-index:1}
.fc-body{padding:1.2rem 1.3rem 0;flex:1;display:flex;flex-direction:column}
.fc-kind{font:600 .8rem var(--text);color:var(--forest);margin-bottom:.3rem}
.fcard2 h3{font-size:1.18rem;line-height:1.25;margin:0 0 .5rem}
.fcard2 h3 a{color:var(--petrol);text-decoration:none}
.fcard2 h3 a:hover{text-decoration:underline}
.fc-body>p{color:var(--ink-2);font-size:.96rem;margin:0 0 1rem}
.fc-meta{list-style:none;padding:0;margin:auto 0 0;border-top:1px solid var(--line)}
.fc-meta li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.9rem;text-align:right}
.fc-meta b{font-weight:600;color:var(--ink-2);text-align:left}
.fc-foot{display:flex;gap:.5rem;padding:1.1rem 1.3rem 1.3rem;flex-wrap:wrap}
.fc-foot .btn{padding:.6rem 1rem;font-size:.93rem}
.fc-foot .btn-green{flex:1}

/* feuilles qui volent (remplacent les bulles) */
.shero::before,.shero::after,.phead::before,.phead::after{display:none!important;animation:none!important}
.shero-bulles{display:none!important}
.leaves{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.lf{position:absolute;left:-8%;top:var(--y);opacity:0;animation:vent var(--t) linear var(--d) infinite}
.lf-swirl{display:block;animation:tourbillon calc(var(--t) / 3) ease-in-out var(--d) infinite}
.lf-spin{display:block;width:calc(38px * var(--s));height:auto;animation:virevolte calc(var(--t) / 4) linear var(--d) infinite;filter:drop-shadow(0 4px 6px rgba(46,106,20,.18))}
@keyframes vent{0%{left:-8%;opacity:0}8%{opacity:var(--o)}50%{transform:translateY(-40px)}90%{opacity:var(--o)}100%{left:106%;opacity:0;transform:translateY(20px)}}
@keyframes tourbillon{0%{transform:rotate(0deg) translateX(22px) rotate(0deg)}50%{transform:rotate(180deg) translateX(34px) rotate(-180deg)}100%{transform:rotate(360deg) translateX(22px) rotate(-360deg)}}
@keyframes virevolte{0%{transform:rotate3d(1,.35,.2,0deg) rotate(0deg)}50%{transform:rotate3d(1,.35,.2,180deg) rotate(160deg)}100%{transform:rotate3d(1,.35,.2,360deg) rotate(360deg)}}
.shero-grid,.phead>.wrap{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.lf,.lf-swirl,.lf-spin{animation:none}.lf{opacity:var(--o);left:calc(var(--y) * 1.1)}}

/* interactivité légère */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
.btn{transition:background .15s,color .15s,transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 22px -14px rgba(11,74,102,.7)}
.btn:active{transform:translateY(0)}
.perk{transition:transform .25s,border-color .25s}
.perk:hover{transform:translateY(-4px);border-top-color:#4A961C}
.step::before{transition:transform .25s,background .25s}
.step:hover::before{transform:scale(1.12) rotate(-6deg);background:#4A961C}
.missions li{transition:transform .25s,box-shadow .25s,border-color .25s}
.missions li:hover{transform:translateY(-3px);border-color:#6DB22A;box-shadow:0 18px 36px -26px rgba(11,74,102,.55)}
.missions li:hover .mnum{transform:scale(1.1)}
.mnum{transition:transform .25s}
.quote,.tcard,.box,.cert{transition:transform .25s,box-shadow .25s}
.quote:hover,.tcard:hover,.cert:hover{transform:translateY(-4px);box-shadow:0 22px 44px -30px rgba(11,74,102,.55)}
.row .go{transition:transform .2s}
.row:hover .go{transform:translateX(5px)}
.gallery .ph img,.pvisu .ph img,.shero-photo img{transition:transform .7s ease}
.gallery .ph:hover img,.pvisu .ph:hover img,.shero-photo:hover img{transform:scale(1.04)}
.hchip{animation:flotte 5s ease-in-out infinite}
.hchip.c2{animation-delay:-1.7s}.hchip.c3{animation-delay:-3.2s}
@keyframes flotte{0%,100%{translate:0 0}50%{translate:0 -7px}}
.bloc2{transition:border-color .2s,transform .2s}
.bloc2:hover{border-left-color:#6DB22A;transform:translateX(3px)}
.timeline li::before{transition:background .25s,transform .25s}
.timeline li:hover::before{background:#6DB22A;transform:scale(1.2)}
.to-top{position:fixed;right:1.2rem;bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));z-index:70;width:48px;height:48px;border-radius:50%;border:0;background:var(--petrol);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 30px -14px rgba(11,74,102,.8);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,transform .3s,visibility .3s,background .2s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:#4A961C}
.to-top svg{width:22px;height:22px}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hchip{animation:none}.btn:hover,.perk:hover,.quote:hover,.tcard:hover{transform:none}}

/* salle de formation */
.salle-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1rem;height:420px}
.salle-grid figure{margin:0;position:relative;border-radius:20px;overflow:hidden}
.salle-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.salle-grid figure:hover img{transform:scale(1.05)}
.salle-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:.8rem 1rem;color:#fff;font:600 .9rem var(--text);background:linear-gradient(transparent,rgba(8,43,58,.85))}
@media (max-width:760px){.salle-grid{grid-template-columns:1fr 1fr;height:auto}.salle-grid .salle-a{grid-column:1/-1;aspect-ratio:4/3}.salle-grid figure:not(.salle-a){aspect-ratio:3/4}}
.res{min-width:0}.res th,.res td{padding:.65rem .8rem;font-size:.95rem}.res td:not(:first-child),.res th:not(:first-child){text-align:center}

.crumbs-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.crumbs-row .crumbs{margin:0}
.phead .ph.ph-full{aspect-ratio:1/1!important;max-height:none!important;max-width:460px;margin-left:auto;margin-right:auto}
.phead .ph.ph-full img{object-fit:contain;object-position:center}
@media (min-width:861px){.nowrap-lg{white-space:nowrap}}

/* logo animé dans l'en-tête d'accueil */
.shero-brand{position:relative;display:grid;place-items:center;aspect-ratio:4/3;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -34px rgba(11,74,102,.45);padding:2.2rem}
.hero-logo-svg{width:100%;max-width:520px;height:auto;overflow:visible}
.hero-logo-svg .sprout{transform-box:fill-box;transform-origin:50% 100%;animation:pousse 1.4s cubic-bezier(.2,.9,.3,1.25) .3s both,balance 4.5s ease-in-out 1.8s infinite}
@keyframes pousse{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{opacity:1}100%{transform:scale(1) rotate(0)}}
@keyframes balance{0%,100%{transform:rotate(0deg)}25%{transform:rotate(-7deg)}75%{transform:rotate(6deg)}}
.shero-brand:hover .sprout{animation:balance 1.1s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.hero-logo-svg .sprout{animation:none}}
@media (max-width:920px){.shero-brand{aspect-ratio:auto;padding:1.6rem}}
.shero-visu .hchip.c1{top:-1rem;left:8%}.shero-visu .hchip.c2{top:auto;bottom:-1.1rem;right:8%}.shero-visu .hchip.c3{left:10%;bottom:-1.1rem}
@media (max-width:920px){.shero-visu .hchip.c3{display:none}}
.shero-brand{background:transparent!important;border:0!important;box-shadow:none!important}
.shero-brand{aspect-ratio:auto!important;padding:0!important;align-self:center}
.shero-visu{display:flex;align-items:center;justify-content:center;align-self:stretch}
.shero-brand{width:100%;display:flex!important;justify-content:center}
.hero-logo-svg{width:100%;max-width:520px}

/* philosophie */
.philo{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3.5rem;align-items:center}
@media (max-width:900px){.philo{grid-template-columns:1fr;gap:2rem}}
.philo h2{color:var(--petrol)}
.philo>div>p{color:var(--ink-2);margin-bottom:1rem;max-width:62ch}
.philo>div>p:last-child{margin-bottom:0}
.philo-vals{list-style:none;margin:0;padding:0}
.philo-vals li{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.philo-vals li:first-child{border-top:1px solid var(--line)}
.pv-ico{flex-shrink:0;color:#4A961C;width:30px;height:30px;margin-top:.1rem;transition:transform .3s}
.pv-ico svg{width:30px;height:30px}
.philo-vals li:hover .pv-ico{transform:rotate(-8deg) scale(1.1)}
.philo-vals b{display:block;font:600 1.05rem var(--display);color:var(--petrol);margin-bottom:.15rem}
.philo-vals span{color:var(--ink-2);font-size:.95rem}
.philo-vals .pv-ico{color:#4A961C}
.fc-ico{width:62px;height:62px;border-radius:18px}.fc-ico svg{width:36px;height:36px;stroke-width:1.6}
.philo-vals .pv-ico{width:52px;height:52px;border-radius:16px;background:#E6F2DA;display:grid;place-items:center;margin-top:0;color:#2E6A14}
.philo-vals .pv-ico svg{width:28px;height:28px}
.philo-vals li{align-items:center}
.philo-vals li:hover .pv-ico{background:#6DB22A;color:#fff}
.pv-ico{transition:transform .3s,background .3s,color .3s}
.philo-vals .pv-ico svg{width:30px!important;height:30px!important;display:block;stroke-width:1.8}

/* page entreprises */
.ent-vals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 2.5rem}
@media (max-width:760px){.ent-vals{grid-template-columns:1fr}}
.ent-vals li{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-top:1px solid var(--line)}
.ent-vals .pv-ico{flex-shrink:0;width:52px;height:52px;border-radius:16px;background:#E6F2DA;color:#2E6A14;display:grid;place-items:center;transition:transform .3s,background .3s,color .3s}
.ent-vals .pv-ico svg{width:28px;height:28px}
.ent-vals li:hover .pv-ico{background:#6DB22A;color:#fff;transform:rotate(-8deg)}
.ent-vals b{display:block;font:600 1.08rem var(--display);color:var(--petrol);margin-bottom:.2rem}
.ent-vals span:not(.pv-ico){color:var(--ink-2);font-size:.96rem}
.metiers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.metiers-grid a{display:flex;flex-direction:column;gap:.3rem;padding:1.2rem 1.3rem;border:1px solid var(--line);border-left:4px solid #6DB22A;border-radius:14px;background:var(--surface);text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s,border-color .25s}
.metiers-grid a:hover{transform:translateY(-3px);box-shadow:0 18px 36px -26px rgba(11,74,102,.55);border-left-color:#0B4A66}
.metiers-grid b{font:600 1.08rem var(--display);color:var(--petrol)}
.metiers-grid span{color:var(--ink-2);font-size:.94rem}
.metiers-grid em{font-style:normal;font-size:.84rem;font-weight:600;color:var(--forest);margin-top:.3rem}
.fin-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.fin-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.fin-grid.four{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.fin-grid,.fin-grid.four{grid-template-columns:1fr}}
.fin{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.4rem;border-top:4px solid #0B4A66;transition:transform .25s,box-shadow .25s}
.fin:hover{transform:translateY(-3px);box-shadow:0 18px 36px -26px rgba(11,74,102,.55)}
.fin b{display:block;font:600 1.12rem var(--display);color:var(--petrol);margin-bottom:.4rem}
.fin p{color:var(--ink-2);margin:0 0 .8rem;font-size:.96rem}
.fin a{font-weight:600;color:var(--forest);text-decoration:none}
.fin a:hover{text-decoration:underline}
.fin.small{border-top-color:#6DB22A}
.fin.small b{font-size:1rem}
.faq-wrap{max-width:860px}
.faq-wrap details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 1.2rem;margin-bottom:.7rem;transition:border-color .2s}
.faq-wrap details[open]{border-color:#6DB22A}
.faq-wrap summary{cursor:pointer;list-style:none;padding:1rem 0;font:600 1.02rem var(--display);color:var(--petrol);display:flex;justify-content:space-between;gap:1rem}
.faq-wrap summary::-webkit-details-marker{display:none}
.faq-wrap summary::after{content:"+";font-size:1.4rem;line-height:1;color:#4A961C;transition:transform .2s}
.faq-wrap details[open] summary::after{transform:rotate(45deg)}
.faq-wrap details p{margin:0 0 1rem;color:var(--ink-2)}
.philo-vals .pv-ico{width:30px!important;height:30px!important;background:none!important;border-radius:0!important;color:#4A961C!important;margin-top:.1rem}
.philo-vals li{align-items:flex-start!important}
.philo-vals li:hover .pv-ico{background:none!important;color:#4A961C!important;transform:rotate(-8deg) scale(1.1)}
.philo-vals .pv-ico svg{width:30px!important;height:30px!important;stroke-width:1.7}

/* titres dans la couleur de « CITY » (charte : bleu pétrole) */
h1,h2,h3,h4{color:var(--petrol)}
.sec-petrol h1,.sec-petrol h2,.sec-petrol h3,.sec-petrol h4,.sec-green h1,.sec-green h2,.sec-green h3,.sec-green h4,.stats-band h2{color:#fff}
.site-footer h4{color:#fff}
.fc-top h3,.fc-top h4{color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) h1,:root:not([data-theme="light"]) h2,:root:not([data-theme="light"]) h3,:root:not([data-theme="light"]) h4{color:#BFE3F4}}
@media (max-width:860px){.split{grid-template-columns:1fr!important}}
@media (max-width:600px){.pvisu .hchip{font-size:.8rem;padding:.45rem .75rem;white-space:normal;max-width:70%}.pvisu .hchip.c1{left:.5rem;top:.5rem}.pvisu .hchip.c2{right:.5rem}}
.split>*,.fiche>*,.philo>*{min-width:0}

/* page EnVol */
.logo-card{background:#fff;display:grid;place-items:center;padding:2rem;border:1px solid var(--line)}
.pvisu .ph.logo-card img{object-fit:contain!important;width:auto!important;max-width:78%;height:auto!important;max-height:88%}
.pvisu .ph.logo-card:hover img{transform:none}
.chr-card{display:grid;grid-template-columns:240px 1fr;gap:2.5rem;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:2rem 2.4rem}
@media (max-width:760px){.chr-card{grid-template-columns:1fr;padding:1.6rem;text-align:left}.chr-img{max-width:180px}}
.chr-img{background:#fff;border-radius:50%;padding:.6rem;box-shadow:0 18px 40px -26px rgba(11,74,102,.6)}
.chr-img img{width:100%;height:auto;display:block;border-radius:50%}
.chr-card h2{margin-bottom:.6rem}
.chr-card p{color:var(--ink-2)}
.steps-mini{display:grid;gap:.8rem}
.steps-mini div{display:flex;align-items:center;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem}
.steps-mini b{flex-shrink:0;width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:#6DB22A;color:#fff;font:700 1rem var(--display)}
.steps-mini div:nth-child(2) b{background:#4A961C}.steps-mini div:nth-child(3) b{background:#0B4A66}
.steps-mini span{font:600 1rem var(--display);color:var(--petrol)}
.phead .ph.logo-card{aspect-ratio:16/10;max-height:330px;border-radius:26px;box-shadow:0 30px 60px -30px rgba(11,74,102,.4)}
.phead .ph.logo-card img{object-fit:contain;width:auto;max-width:70%;max-height:85%;height:auto}
