/*
Theme Name: CIRPAE-TIC — Stitch V6
Theme URI: http://underscores.me/
Author: Ariel malonga
Author URI: http://underscores.me/
Description: Thème CIRPAE-TIC avec pages Stitch, navigation cohérente et identité visuelle officielle.
Version: 6.4.0
Tested up to: 6.8
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: cirpaetic-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

Changelog 6.1.0 — cohérence avec CIRPAE-TIC Visual Builder :
- page.php : le contenu publié via le plugin (post_content non vide) est
  maintenant affiché en priorité sur les pages génériques et « stitch »,
  qui l'ignoraient jusque-là entièrement.
- front-page.php : idem pour la page d'accueil statique — publier depuis le
  plugin sur la page définie comme accueil est désormais visible sur le site.
- style.css : ajout des styles pour les blocs du plugin (cptic-hero,
  cptic-card, cptic-button, cptic-stat, cptic-section, cptic-container,
  cptic-columns, cptic-video), absents du thème jusqu'ici. Ces blocs
  s'affichaient donc totalement sans style, à l'édition comme sur le site
  publié. Les nouvelles règles réutilisent les variables de marque du thème
  (--vf, --or, --trait, --ivoire, --gris) pour rester visuellement cohérentes
  avec .btn/.btn-p/.card.

*/

:root{
  /* CIRPAE-TIC — charte graphique officielle */
  --vf:#077454;
  --vv:#00F807;
  --or:#FC8301;
  --nv:#077454;
  --ivoire:#F6F8F3;
  --gris:#6C7675;
  --trait:#DDE4D8;
  --display:Georgia,"Times New Roman",serif;
  --body:'Poppins',"Segoe UI",Arial,sans-serif;
  --mono:'Poppins',"Segoe UI",Arial,sans-serif;
  --max:1180px;
}
*{box-sizing:border-box}
/* GUIDE CSS : variables en haut; header 49-173; accueil 165+; pages 242+; responsive 733+ et overrides finaux. */
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--nv);background:var(--ivoire);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* Elementor homepage compatibility */
.elementor-home-content{width:100%;max-width:none;padding:0;background:var(--ivoire);color:var(--nv)}
.elementor-home-content > .e-con{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:24px}
.elementor-home-content .elementor-widget-heading h1,
.elementor-home-content .elementor-widget-heading h2,
.elementor-home-content .elementor-widget-heading h3,
.elementor-home-content .elementor-widget-text-editor{font-family:var(--body);color:var(--nv)}
.elementor-home-content .elementor-widget-image img{width:100%;height:auto;object-fit:cover}
.elementor-home-content .elementor-button{border-radius:2px;font-family:var(--display);font-weight:600;transition:.25s}
.elementor-home-content .elementor-button:hover{transform:translateY(-2px)}
@media(max-width:680px){
  .elementor-home-content > .e-con{padding-inline:18px}
}
.elementor-home-content .cirpaetic-elementor-hero{background:var(--ivoire);padding:clamp(58px,8vw,120px) 24px;gap:22px}
.elementor-home-content .cirpaetic-elementor-hero .elementor-widget-heading{max-width:900px}
.elementor-home-content .cirpaetic-elementor-hero h1{font-family:var(--display);font-size:clamp(36px,6vw,72px);line-height:1.05;font-weight:900}
.elementor-home-content .cirpaetic-elementor-hero h1 em{font-style:normal;color:var(--vf)}
.elementor-home-content .cirpaetic-elementor-hero .elementor-widget-text-editor{max-width:720px;color:var(--gris);font-size:clamp(17px,1.5vw,22px);line-height:1.6}
.elementor-home-content .cirpaetic-elementor-hero .elementor-widget-image{width:100%;max-width:900px;margin-top:22px}
.elementor-home-content .cirpaetic-elementor-hero .elementor-widget-image img{max-height:440px;border-radius:3px;object-fit:cover}
.elementor-home-content .cirpaetic-elementor-proof,.elementor-home-content .cirpaetic-elementor-solution,.elementor-home-content .cirpaetic-elementor-cta{color:#fff;background:var(--vf);padding:64px 24px;gap:20px}
.elementor-home-content .cirpaetic-elementor-proof h2,.elementor-home-content .cirpaetic-elementor-solution h2,.elementor-home-content .cirpaetic-elementor-cta h2{color:#fff}
.elementor-home-content .cirpaetic-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;max-width:var(--max);margin-top:18px}
.elementor-home-content .cirpaetic-proof-grid div{border-left:2px solid rgba(255,255,255,.35);padding:8px 16px}
.elementor-home-content .cirpaetic-proof-grid strong{display:block;font:800 34px/1 var(--display)}
.elementor-home-content .cirpaetic-proof-grid span{display:block;margin-top:8px;font-size:13px;opacity:.9}
.elementor-home-content .cirpaetic-elementor-needs,.elementor-home-content .cirpaetic-elementor-training,.elementor-home-content .cirpaetic-elementor-partners{padding:82px 24px;gap:20px}
.elementor-home-content .cirpaetic-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:100%;max-width:var(--max);margin-top:20px}
.elementor-home-content .cirpaetic-card-grid article{border:1px solid var(--trait);border-top:3px solid var(--vv);border-radius:3px;padding:26px;background:#fff}
.elementor-home-content .cirpaetic-card-grid h3{font-family:var(--display);color:var(--nv);font-size:20px;margin:12px 0 8px}
.elementor-home-content .cirpaetic-card-grid p{color:var(--gris);font-size:15px;margin:0}
.elementor-home-content .cirpaetic-number{display:grid;place-items:center;width:32px;height:32px;background:var(--nv);color:#fff;font:12px var(--mono)}
.elementor-home-content .cirpaetic-partner-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;max-width:var(--max);margin-top:18px}
.elementor-home-content .cirpaetic-partner-list strong{padding:24px;border:1px solid var(--trait);background:#fff;color:var(--nv);font:600 21px var(--display);text-align:center}
.elementor-home-content .cirpaetic-elementor-solution .elementor-widget-text-editor,.elementor-home-content .cirpaetic-elementor-cta .elementor-widget-text-editor{max-width:680px;color:rgba(255,255,255,.8)}
.elementor-home-content .cirpaetic-elementor-cta{background:var(--nv)}
@media(max-width:680px){
  .elementor-home-content .cirpaetic-proof-grid,.elementor-home-content .cirpaetic-card-grid,.elementor-home-content .cirpaetic-partner-list{grid-template-columns:1fr}
  .elementor-home-content .cirpaetic-elementor-hero,.elementor-home-content .cirpaetic-elementor-proof,.elementor-home-content .cirpaetic-elementor-solution,.elementor-home-content .cirpaetic-elementor-cta,.elementor-home-content .cirpaetic-elementor-needs,.elementor-home-content .cirpaetic-elementor-training,.elementor-home-content .cirpaetic-elementor-partners{padding-inline:18px}
}
.cirpaetic-html-home{width:100%;color:var(--nv);background:#fff}
.cirpaetic-html-home section{padding:clamp(58px,8vw,96px) max(18px,calc((100% - var(--max))/2))}
.cirpaetic-html-home h1,.cirpaetic-html-home h2,.cirpaetic-html-home h3{font-family:var(--display);line-height:1.12;color:var(--nv)}
.cirpaetic-html-home h1{font-size:clamp(38px,6vw,72px);max-width:900px}
.cirpaetic-html-home h1 em{font-style:normal;color:var(--vf)}
.cirpaetic-html-home h2{font-size:clamp(28px,4vw,46px);max-width:760px}
.cirpaetic-html-home h3{font-size:20px;margin:14px 0 8px}
.cirpaetic-html-home p{max-width:700px;color:var(--gris);font-size:16px}
.cirpaetic-html-home .eyebrow{max-width:none}
.cirpaetic-html-hero{display:grid;grid-template-columns:1fr .8fr;gap:48px;align-items:center;background:var(--ivoire)}
.cirpaetic-html-hero .lead{font-size:clamp(17px,1.6vw,22px);line-height:1.6;margin:24px 0 30px}
.cirpaetic-html-hero img{width:100%;max-height:520px;object-fit:cover;border-radius:3px}
.cirpaetic-html-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;background:var(--vf);color:#fff}
.cirpaetic-html-proof div{border-left:2px solid rgba(255,255,255,.35);padding:8px 16px}
.cirpaetic-html-proof strong{display:block;font:800 34px/1 var(--display)}
.cirpaetic-html-proof span{display:block;margin-top:8px;font-size:13px;opacity:.9}
.cirpaetic-html-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:32px 0}
.cirpaetic-html-grid article{border:1px solid var(--trait);border-top:3px solid var(--vv);border-radius:3px;padding:26px;background:#fff}
.cirpaetic-html-grid article p{font-size:15px;margin:0}
.cirpaetic-html-number{display:grid;place-items:center;width:32px;height:32px;background:var(--nv);color:#fff;font:12px var(--mono)}
.cirpaetic-html-solution,.cirpaetic-html-cta{background:var(--nv);color:#fff}
.cirpaetic-html-solution h2,.cirpaetic-html-cta h2{color:#fff}
.cirpaetic-html-solution p,.cirpaetic-html-cta p{color:rgba(255,255,255,.8)}
.cirpaetic-html-solution .eyebrow,.cirpaetic-html-cta .eyebrow{color:var(--vv)}
.cirpaetic-html-partners{background:var(--ivoire)}
.cirpaetic-html-partner-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.cirpaetic-html-partner-list strong{padding:24px;border:1px solid var(--trait);background:#fff;text-align:center;font:600 21px var(--display)}
.cirpaetic-html-home .btn{margin-top:10px}
@media(max-width:700px){
  .cirpaetic-html-hero,.cirpaetic-html-proof,.cirpaetic-html-grid,.cirpaetic-html-partner-list{grid-template-columns:1fr}
  .cirpaetic-html-home section{padding-inline:18px}
}
h1,h2,h3,h4{font-family:var(--display);margin:0;line-height:1.12;letter-spacing:-.02em;
  text-wrap:balance;overflow-wrap:break-word}
h2{font-size:clamp(25px,3.4vw,44px);font-weight:800;max-width:34ch}
h3{font-size:20px;font-weight:600}

.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--vf);display:flex;align-items:center;gap:12px;margin:0 0 18px;white-space:nowrap}
.eyebrow::after{content:"";height:1px;flex:1;background:var(--trait)}

.btn{display:inline-block;font-family:var(--display);font-weight:600;font-size:14.5px;
  padding:13px 24px;border-radius:2px;text-decoration:none;transition:.25s;border:2px solid transparent;cursor:pointer;position:relative;overflow:hidden}
.btn-p{background:var(--vf);color:#fff}
.btn-p:hover{background:var(--vv);transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(7,116,84,.9)}
.btn-o{background:var(--or);color:#fff}
.btn-o:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(233,113,50,.9)}
.btn-g{border-color:var(--nv);color:var(--nv)}
.btn-g:hover{background:var(--nv);color:#fff;transform:translateY(-2px)}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--trait);transition:.3s}
.site-header.scrolled,.site-header.is-scrolled{box-shadow:0 6px 24px -18px rgba(14,40,65,.8)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px}
.brand{display:inline-flex;align-items:center;text-decoration:none}
.brand img,.nav img.lg,.custom-logo{height:66px;width:112px;max-width:none;object-fit:contain;display:block}
.brand-image{object-position:center;}
.site-title{font-family:var(--display);font-size:1.35rem;font-weight:800;color:var(--nv);text-decoration:none}
.main-navigation{display:flex;align-items:center;justify-content:center;flex:1}
.header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.header-search{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--trait);border-radius:50%;color:var(--nv);text-decoration:none;transition:border-color .25s,color .25s,transform .25s}
.header-search:hover{border-color:var(--or);color:var(--or);transform:translateY(-1px)}
.header-account-link{font-family:var(--display);font-size:13px;font-weight:600;color:var(--or);text-decoration:none;white-space:nowrap}
.header-account-link:hover{text-decoration:underline}
.header-sticker{display:inline-flex;align-items:center;gap:8px;margin-left:clamp(8px,1.5vw,24px);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);white-space:nowrap;animation:headerStickerIn .8s ease both}
.header-sticker-dot{width:8px;height:8px;border-radius:50%;background:var(--or);box-shadow:0 0 0 0 rgba(233,113,50,.5);animation:headerStickerPulse 2.6s ease-in-out infinite}
.account-icon-link{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:3px 13px 3px 5px;border:1px solid var(--trait);border-radius:99px;background:#fff}
.account-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--or);color:#fff;transition:transform .25s,background .25s}
.account-icon-link:hover .account-icon{background:var(--or);transform:translateY(-2px)}
.header-actions > .btn.btn-p{height:40px;min-width:157px;padding:10px 18px;text-align:center;background:var(--or);color:#fff;border-radius:2px}
.header-actions > .btn.btn-p:hover{background:#d85f25}
.language-switcher{display:flex;align-items:center;gap:5px;color:var(--or);font-family:var(--mono);font-size:10px;letter-spacing:.08em;white-space:nowrap}
.language-switcher svg{margin-right:2px}
.language-switcher > span{color:var(--trait)}
.language-button{border:0;background:transparent;padding:4px 2px;color:var(--gris);font:inherit;cursor:pointer}
.language-button:hover,.language-button.is-active{color:var(--or);font-weight:700}
#google_translate_element{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.goog-te-banner-frame.skiptranslate{display:none!important}
body{top:0!important}
.acct-btn.account-icon-link{display:inline-flex;align-items:center;gap:9px}
.acct-btn.account-icon-link .account-icon{width:30px;height:30px}
@keyframes headerStickerIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes headerStickerPulse{0%,100%{box-shadow:0 0 0 0 rgba(233,113,50,.45)}50%{box-shadow:0 0 0 6px rgba(233,113,50,0)}}
@media(max-width:680px){.brand img,.nav img.lg{height:54px;width:96px}}
@media(max-width:1200px){.header-sticker{display:none}}
@media(max-width:680px){.header-actions{gap:6px}.header-account-link.account-icon-link{padding-right:6px}.header-account-link.account-icon-link > span:last-child{display:none}.header-actions > .btn.btn-p{min-width:0;height:38px;padding:9px 11px;font-size:12px}.header-search{width:34px;height:34px}}

/* CIRPAE-TIC platform */
.platform-shell{background:#f4f7f2;min-height:calc(100vh - 78px);padding:28px 24px 72px}
.platform-shell > .platform-users-panel{max-width:1440px;margin:0 auto 18px;padding:22px 24px}
.platform-user-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.platform-user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--trait);background:#fff}
.platform-user-row strong,.platform-user-row small{display:block}.platform-user-row strong{font-size:13px}.platform-user-row small{font-size:11px;color:var(--gris);margin-top:3px}.platform-user-role{font:10px var(--mono);color:var(--vf);white-space:nowrap}
.platform-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:250px 1fr;gap:28px}
.platform-sidebar{background:var(--nv);color:#fff;min-height:720px;padding:30px 20px;position:sticky;top:106px;align-self:start}
.platform-sidebar h1{font-size:24px;max-width:10ch;margin:14px 0 44px;color:#fff}
.platform-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--vv);margin:0}
.platform-sidebar nav{display:grid;gap:5px}.platform-sidebar nav a{padding:12px 13px;text-decoration:none;color:rgba(255,255,255,.7);font-family:var(--display);font-size:14px;transition:.2s}.platform-sidebar nav a:hover,.platform-sidebar nav a.is-active{background:rgba(78,167,46,.18);color:#fff;border-left:3px solid var(--vv)}
.platform-back{display:block;margin-top:190px;color:rgba(255,255,255,.65);font-size:13px;text-decoration:none}.platform-main{min-width:0}.platform-topbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:10px 0 26px}.platform-topbar h2{font-size:32px;margin-top:8px}.platform-status{font-family:var(--mono);font-size:11px;color:var(--gris);display:flex;align-items:center;gap:8px}.platform-status i{width:8px;height:8px;background:var(--vv);border-radius:50%;box-shadow:0 0 0 5px rgba(78,167,46,.12)}
.platform-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.platform-stat,.platform-panel{background:#fff;border:1px solid var(--trait);box-shadow:0 18px 36px -30px rgba(14,40,65,.6)}.platform-stat{padding:18px 16px}.platform-stat span,.platform-stat small{display:block;color:var(--gris);font-size:12px}.platform-stat strong{display:block;font-family:var(--display);font-size:32px;line-height:1.1;margin:9px 0;color:var(--nv)}.platform-stat small{color:var(--vv);font-family:var(--mono);font-size:10px}.platform-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:18px}.platform-panel{padding:24px}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:22px}.panel-heading h3{font-size:21px;margin-top:7px}.panel-date,.platform-score{font-family:var(--mono);font-size:11px;color:var(--gris)}.platform-score{font-size:27px;color:var(--vf);font-weight:700}.platform-score small{display:block;font-size:9px;font-weight:400;color:var(--gris)}.platform-row{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;border-top:1px solid var(--trait);padding:14px 0}.platform-row time{font-family:var(--mono);font-size:11px;color:var(--vf)}.platform-row time b{display:block;font-size:15px;color:var(--nv);margin-top:3px}.platform-row strong,.platform-row small{display:block}.platform-row strong{font-size:14px}.platform-row small{font-size:12px;color:var(--gris);margin-top:3px}.platform-pill{font-family:var(--mono);font-size:9px;color:var(--vf);border:1px solid #b9d7b3;padding:5px 8px;text-transform:uppercase}.platform-chart{height:170px;display:flex;align-items:end;gap:12px;border-bottom:1px solid var(--trait);padding:0 12px}.platform-chart i{display:block;flex:1;background:linear-gradient(to top,var(--vf),var(--vv));min-height:15px;animation:platformRise .8s ease both}.platform-chart i:nth-child(2){animation-delay:.08s}.platform-chart i:nth-child(3){animation-delay:.16s}.platform-chart i:nth-child(4){animation-delay:.24s}.platform-chart i:nth-child(5){animation-delay:.32s}.platform-chart i:nth-child(6){animation-delay:.4s}.platform-chart i:nth-child(7){animation-delay:.48s}@keyframes platformRise{from{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1)}}.platform-chart-label{display:flex;justify-content:space-between;color:var(--gris);font:10px var(--mono);margin:8px 12px}.platform-program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.platform-program{padding:17px;border-left:3px solid var(--vv);background:#f7faf5}.platform-program-index{font:10px var(--mono);color:var(--or)}.platform-program h4{font-family:var(--display);font-size:16px;margin:15px 0 8px}.platform-program p{font-size:12px;color:var(--gris);margin:0 0 12px}.platform-program small{font:10px var(--mono);color:var(--vf)}.platform-empty{color:var(--gris);font-size:14px}.platform-notice{border-left:3px solid var(--vv);background:#eaf5e7;padding:10px 14px;margin-bottom:16px;font-size:13px;color:var(--vf)}.platform-forms{margin-top:18px}.platform-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.platform-form-grid form{display:grid;gap:12px}.platform-form-grid label{display:grid;gap:5px;color:var(--gris);font-size:12px}.platform-form-grid input,.platform-form-grid select,.platform-form-grid textarea{width:100%;border:1px solid var(--trait);background:#fbfdf9;padding:10px;font:13px var(--body);color:var(--nv)}.platform-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.platform-form-grid .btn{justify-self:start}
@media(max-width:1000px){.platform-stats{grid-template-columns:repeat(3,1fr)}.platform-grid{grid-template-columns:1fr}.platform-sidebar{position:static;min-height:0}.platform-layout{grid-template-columns:1fr}.platform-sidebar h1{max-width:none;margin-bottom:20px}.platform-sidebar nav{display:flex;flex-wrap:wrap}.platform-back{margin-top:22px}.platform-program-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.platform-shell{padding:16px 12px 46px}.platform-topbar{align-items:start;flex-direction:column}.platform-topbar h2{font-size:26px}.platform-stats{grid-template-columns:1fr 1fr}.platform-stat strong{font-size:25px}.platform-panel{padding:17px}.platform-program-grid,.platform-form-grid{grid-template-columns:1fr}.platform-row{grid-template-columns:58px 1fr}.platform-pill{grid-column:2;justify-self:start}.platform-dates{grid-template-columns:1fr}}
@media(max-width:700px){.platform-user-list{grid-template-columns:1fr}.platform-shell > .platform-users-panel{padding:17px}}

/* Mise en page finale commune du header. */
.site-header .nav{height:78px;display:flex;align-items:center;gap:clamp(14px,2vw,32px);max-width:var(--max);margin:0 auto;padding-left:24px;padding-right:24px;background:rgba(255,255,255,.96)}
.site-header .brand{flex:0 0 112px;margin:0}
.site-header .brand-image{width:112px;height:62px;object-fit:contain}
.site-header .main-navigation{min-width:0;flex:1;display:flex;justify-content:center}
.site-header .menu{gap:clamp(12px,1.8vw,26px);font-size:13.5px;white-space:nowrap}
.site-header .menu > li{animation:headerTabIn .5s cubic-bezier(.2,.7,.3,1) both}.site-header .menu > li:nth-child(2){animation-delay:.04s}.site-header .menu > li:nth-child(3){animation-delay:.08s}.site-header .menu > li:nth-child(4){animation-delay:.12s}.site-header .menu > li:nth-child(5){animation-delay:.16s}.site-header .menu > li:nth-child(6){animation-delay:.2s}.site-header .menu > li:nth-child(7){animation-delay:.24s}@keyframes headerTabIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.site-header .header-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px}
.site-header .header-sticker{display:none}
.site-header .header-account-link{white-space:nowrap}
.site-header .header-logout{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--gris);text-decoration:none;white-space:nowrap;padding:8px 4px}.site-header .header-logout:hover{color:var(--or)}
.site-header .header-actions > .btn.btn-p{min-width:145px;padding:10px 14px;white-space:nowrap;border-radius:8px;box-shadow:0 12px 24px -18px rgba(233,113,50,.9)}
@media (max-width:1200px) and (min-width:1001px){
  .site-header .nav{gap:14px;padding-left:18px;padding-right:18px}
  .site-header .brand{flex-basis:96px}.site-header .brand-image{width:96px;height:56px}
  .site-header .menu{gap:11px;font-size:12px}
  .site-header .header-account-link > span:last-child{display:none}
  .site-header .header-actions > .btn.btn-p{min-width:130px;font-size:12px;padding-left:9px;padding-right:9px}
}
@media (max-width:1000px){
  .site-header .nav{padding-left:18px;padding-right:18px}
  .site-header .main-navigation{order:3;flex:0 0 auto}
  .site-header .menu-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0;font-size:0;border:1px solid var(--trait);border-radius:50%;background:#fff}
  .site-header .menu-toggle::after{content:'\2630';font-size:22px;line-height:1}
  .site-header .menu{top:78px;left:0;right:0;padding:10px 18px 18px}
  .site-header .header-sticker{display:none}
  .site-header .header-actions{margin-left:auto}
  .site-header .header-actions > .btn.btn-p{display:none}
  .site-header .header-logout{font-size:0;width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid var(--trait);border-radius:50%}.site-header .header-logout::before{content:'↪';font-size:18px;color:var(--or)}
}
@media (max-width:600px){
  .site-header .nav{height:70px;gap:8px;padding-left:12px;padding-right:12px}
  .site-header .brand{flex-basis:88px}.site-header .brand-image{width:88px;height:52px}
  .site-header .header-actions{gap:5px}
  .site-header .header-search{width:34px;height:34px}
  .site-header .account-icon-link{padding:2px;border-radius:50%;border:0}
  .site-header .header-account-link > span:last-child{display:none}
  .site-header .account-icon{width:32px;height:32px}
  .site-header .menu-toggle{width:36px;height:36px}
  .site-header .menu{top:70px}
}
@media (prefers-reduced-motion:reduce){.site-header .menu > li{animation:none}}

/* Keep the header usable while the navigation and Elementor content vary. */
.site-header .nav{display:grid;grid-template-columns:minmax(88px,112px) minmax(0,1fr) auto;align-items:center}
.site-header .main-navigation{min-width:0;overflow:visible}
.site-header .menu{min-width:0;max-width:100%;gap:clamp(8px,1.25vw,18px)}
.site-header .header-actions{min-width:0}
.topbar-links{flex-wrap:wrap}
@media (min-width:1001px) and (max-width:1150px){
  .site-header .nav{grid-template-columns:96px minmax(0,1fr) auto;gap:10px}
  .site-header .menu{gap:8px;font-size:11.5px}
  .site-header .header-actions > .btn.btn-p{min-width:116px;padding-left:8px;padding-right:8px}
}
@media (max-width:700px){
  .topbar-links{justify-content:center}
}
@media (max-width:300px){
  .topbar-links{gap:8px 11px;font-size:10px}
}
/* Homepage composition */
.home-main{background:#fff}.home-hero{position:relative;overflow:hidden;background:var(--ivoire);padding:clamp(72px,8vw,124px) 0 76px}.home-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(25,107,36,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(25,107,36,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 78%);pointer-events:none}.home-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.74fr);gap:clamp(42px,7vw,110px);align-items:center;position:relative;z-index:1}.home-hero-copy h1{font-size:clamp(42px,5.2vw,76px);max-width:12ch;color:var(--nv);margin:0}.home-lead{max-width:58ch;color:var(--gris);font-size:clamp(17px,1.4vw,21px);line-height:1.65;margin:26px 0 0}.home-proof{display:flex;gap:clamp(20px,3vw,44px);flex-wrap:wrap;margin-top:42px;padding-top:22px;border-top:1px solid var(--trait)}.home-proof span{font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gris);display:grid;gap:7px}.home-proof strong{font:800 30px var(--display);letter-spacing:0;color:var(--vf);line-height:1}.home-command{background:var(--nv);color:#fff;padding:24px;box-shadow:0 30px 55px -28px rgba(14,40,65,.65);position:relative;overflow:hidden}.home-command::after{content:"";position:absolute;right:-100px;bottom:-130px;width:330px;height:330px;border:1px solid rgba(78,167,46,.35);border-radius:50%;box-shadow:0 0 0 24px rgba(78,167,46,.05),0 0 0 48px rgba(78,167,46,.04)}.command-top{display:flex;align-items:center;gap:8px;font:10px var(--mono);letter-spacing:.12em;color:rgba(255,255,255,.62);position:relative;z-index:1}.command-top b{margin-left:auto;color:var(--vv);font-weight:400}.command-dot{width:7px;height:7px;border-radius:50%;background:var(--or);box-shadow:0 0 0 5px rgba(233,113,50,.12)}.command-title{display:grid;gap:5px;padding:38px 0 25px;position:relative;z-index:1}.command-title span{font:11px var(--mono);color:var(--vv);text-transform:uppercase;letter-spacing:.14em}.command-title strong{font:700 clamp(24px,2.5vw,36px) var(--display);line-height:1.1;max-width:10ch}.command-chart{height:145px;display:flex;gap:9px;align-items:end;border-bottom:1px solid rgba(255,255,255,.2);position:relative;z-index:1}.command-chart i{display:block;flex:1;background:linear-gradient(to top,var(--vv),#8fca68);min-height:18px;animation:homeRise .9s ease both}.command-chart i:nth-child(2){animation-delay:.08s}.command-chart i:nth-child(3){animation-delay:.16s}.command-chart i:nth-child(4){animation-delay:.24s}.command-chart i:nth-child(5){animation-delay:.32s}.command-chart i:nth-child(6){animation-delay:.4s}.command-chart i:nth-child(7){animation-delay:.48s}@keyframes homeRise{from{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1)}}.command-labels{display:flex;justify-content:space-between;font:9px var(--mono);color:rgba(255,255,255,.5);padding:9px 0 21px;position:relative;z-index:1}.command-list{display:grid;gap:9px;position:relative;z-index:1}.command-list span{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;border-top:1px solid rgba(255,255,255,.12);padding-top:10px;font-size:12px}.command-list i{width:7px;height:7px;border-radius:50%;background:var(--vv)}.command-list i.is-orange{background:var(--or)}.command-list i.is-white{background:#fff}.command-list b{font:9px var(--mono);color:rgba(255,255,255,.52);font-weight:400}.home-services{padding:clamp(68px,8vw,112px) 0}.home-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.home-section-heading h2,.home-path h2{font-size:clamp(30px,3.5vw,50px);max-width:16ch}.home-section-heading > p{max-width:36ch;color:var(--gris);margin:0 0 4px}.home-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.home-service-card{padding:28px 26px 26px;border:1px solid var(--trait);border-top:4px solid var(--vv);min-height:270px;display:flex;flex-direction:column;transition:.3s}.home-service-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px -30px rgba(14,40,65,.6)}.home-service-card.is-dark{background:var(--nv);border-top-color:var(--or);color:#fff}.home-service-card.is-accent{background:var(--vv);border-top-color:var(--nv);color:#fff}.home-service-card > span{font:10px var(--mono);letter-spacing:.14em;color:var(--vf)}.home-service-card.is-dark > span{color:var(--vv)}.home-service-card.is-accent > span{color:rgba(255,255,255,.75)}.home-service-card h3{font-size:23px;margin:34px 0 10px}.home-service-card p{color:var(--gris);font-size:14px;margin:0;max-width:30ch}.home-service-card.is-dark p,.home-service-card.is-accent p{color:rgba(255,255,255,.76)}.home-service-card a{margin-top:auto;padding-top:24px;font:600 12px var(--mono);text-decoration:none;color:var(--vf)}.home-service-card.is-dark a,.home-service-card.is-accent a{color:#fff}.home-service-card a b{font-size:16px;margin-left:5px}.home-path{background:var(--nv);color:#fff;padding:clamp(68px,8vw,112px) 0}.home-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,8vw,120px);align-items:center}.home-path .eyebrow{color:var(--vv)}.home-path .eyebrow::after{background:rgba(255,255,255,.18)}.home-path h2{color:#fff}.home-path p:not(.eyebrow){color:rgba(255,255,255,.7);max-width:50ch;margin:20px 0 28px}.home-path ol{list-style:none;padding:0;margin:0;border-top:1px solid rgba(255,255,255,.2)}.home-path li{display:grid;grid-template-columns:52px 1fr;gap:20px;align-items:start;border-bottom:1px solid rgba(255,255,255,.2);padding:19px 0}.home-path li > b{font:12px var(--mono);color:var(--or)}.home-path li span{font:700 20px var(--display)}.home-path li small{display:block;font:14px var(--body);font-weight:400;color:rgba(255,255,255,.65);margin-top:4px}.home-main .contact-fallback{padding-top:clamp(70px,8vw,110px)}
@media(max-width:900px){.home-hero-grid{grid-template-columns:1fr}.home-command{max-width:620px}.home-section-heading{display:block}.home-section-heading > p{margin-top:16px}.home-service-grid{grid-template-columns:1fr 1fr}.home-path-grid{grid-template-columns:1fr}}
@media(max-width:600px){.home-hero{padding-top:58px}.home-hero-copy h1{font-size:clamp(38px,12vw,54px)}.home-proof{gap:18px}.home-command{padding:20px}.home-service-grid{grid-template-columns:1fr}.home-service-card{min-height:230px}.home-path{padding:64px 0}.home-path h2{font-size:34px}}
  .platform-personal-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px}.platform-attendance-list{border-top:1px solid var(--trait)}.platform-attendance-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--trait);padding:13px 0}.platform-attendance-row strong,.platform-attendance-row small{display:block}.platform-attendance-row strong{font-size:13px}.platform-attendance-row small{font-size:11px;color:var(--gris);margin-top:3px}.platform-attendance-status{font:10px var(--mono);text-transform:uppercase;padding:6px 8px;border:1px solid var(--trait);color:var(--gris)}.platform-attendance-status.status-present{color:var(--vf);border-color:#b9d7b3;background:#f0f8ed}.platform-attendance-status.status-absent{color:#a9432a;border-color:#e7b5a7;background:#fff4ef}.platform-attendance-status.status-retard{color:#996b00;border-color:#e6d28e;background:#fffaf0}.platform-notification{border-bottom:1px solid var(--trait);padding:0 0 13px;margin-bottom:13px}.platform-notification strong{font-size:13px}.platform-notification p{font-size:12px;color:var(--gris);margin:4px 0}.platform-notification small{font:10px var(--mono);color:var(--vf)}
  @media(max-width:800px){.platform-personal-grid{grid-template-columns:1fr}}
.menu{display:flex;align-items:center;justify-content:center;gap:24px;list-style:none;margin:0;padding:0;font-family:var(--display);font-size:14.5px;font-weight:500}
.menu li{position:relative}
.menu a{text-decoration:none;padding:6px 0;position:relative;display:inline-flex;align-items:center;gap:6px;color:#173e53}
.menu a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--vv);transition:.3s}
.menu a:hover::after,.menu a:focus-visible::after,.menu .current-menu-item > a::after{width:100%}
.menu-item-has-children > a::after{width:0}
.menu-item-has-children > a .sub-arrow,.menu-item-has-children > a .caret{display:inline-block;transform:translateY(-1px)}
.menu .sub-menu{position:absolute;left:-28px;top:calc(100% + 16px);min-width:520px;list-style:none;padding:18px 22px 20px;margin:0;background:rgba(255,255,255,.97);border:1px solid rgba(11,27,38,.08);border-radius:4px;box-shadow:0 22px 42px -28px rgba(14,40,65,.8);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease, transform .2s ease, visibility .2s ease;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px 24px}
.menu > .menu-item-has-children::after{content:"";position:absolute;left:-12px;right:-12px;top:100%;height:18px}
.menu .menu-item-has-children:hover > .sub-menu,.menu .menu-item-has-children:focus-within > .sub-menu,.menu .menu-item-has-children > .sub-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
@media (max-width:1000px){
  .menu > .menu-item-has-children::after{display:none}
  .menu .menu-item-has-children > .sub-menu{position:static;display:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;min-width:0;padding:2px 0 10px 14px;margin:0 0 6px;border:0;border-left:2px solid var(--vv);border-radius:0;box-shadow:none;background:transparent;grid-template-columns:1fr}
  .menu .menu-item-has-children > .sub-menu.open{display:block}
  .menu .sub-menu a{padding:10px 4px;white-space:normal}
}
.menu .sub-menu a{display:block;padding:10px 0;white-space:normal;font-size:16px;line-height:1.4;color:#183a52}
.menu .sub-menu a::after{display:none}
.menu .sub-menu li + li{border-top:0}
.menu .sub-menu a b{display:block;font:600 16px var(--display);line-height:1.4;color:#1a2d38}
.menu .sub-menu a small{display:block;margin-top:4px;color:#5c6f72;font:12px var(--body);line-height:1.5}
.burger,.menu-toggle{display:none;background:none;border:0;font-size:26px;cursor:pointer;color:var(--nv)}
.screen-reader-text{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* ============ HERO ============ */
.hero{position:relative;overflow:hidden;background:var(--ivoire);padding:clamp(64px,9vw,150px) 0 clamp(70px,10vw,160px)}
.hero::before{content:"";position:absolute;top:-30px;left:-30px;width:280px;height:280px;opacity:.4;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px;
  -webkit-mask-image:linear-gradient(135deg,#000,transparent 72%);mask-image:linear-gradient(135deg,#000,transparent 72%)}
.hero::after{content:"";position:absolute;right:-120px;top:12%;width:min(52vw,620px);height:min(52vw,620px);border-radius:50%;
  background:radial-gradient(circle,rgba(78,167,46,.16),transparent 68%);animation:pulse 7s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.14);opacity:.5}}
.hero-grid{position:relative;z-index:2}
.hero .eyebrow{max-width:none}
.hero h1{max-width:none;white-space:normal;text-wrap:balance}
.hero .baseline,.hero .hero-cta{max-width:62ch}
.hero h1{font-size:clamp(30px,4.6vw,66px);font-weight:900;letter-spacing:-.035em;line-height:1.08}
.hero h1 em{font-style:normal;color:var(--vf);position:relative;display:inline-block}
.hero h1 em::after{content:"";position:absolute;left:0;bottom:6px;height:.16em;width:100%;
  background:rgba(78,167,46,.28);z-index:-1;transform-origin:left;animation:swipe 1s .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes swipe{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.baseline{font-family:var(--display);font-style:italic;font-weight:600;color:var(--vv);
  font-size:clamp(19px,1.9vw,28px);margin:30px 0 0}
.hero p.lead{font-size:clamp(17px,1.5vw,23px);color:var(--gris);max-width:62ch;margin:28px 0 0;line-height:1.62}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:clamp(30px,3.4vw,48px)}
.fade{opacity:0;transform:translateY(20px);animation:up .8s cubic-bezier(.2,.7,.3,1) both}
.fade.d1{animation-delay:.1s}.fade.d2{animation-delay:.25s}.fade.d3{animation-delay:.4s}
.fade.d4{animation-delay:.55s}.fade.d5{animation-delay:.7s}
@keyframes up{to{opacity:1;transform:none}}

/* bandeau chiffres */
.preuve{background:var(--vf);color:#fff;position:relative;overflow:hidden}
.preuve::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;opacity:.18;
  background-image:radial-gradient(#fff 1.6px,transparent 1.7px);background-size:13px 13px}
.preuve .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:38px;padding-bottom:38px;position:relative;z-index:1}
.preuve div{border-left:2px solid rgba(255,255,255,.3);padding-left:16px}
.preuve b{font-family:var(--display);font-size:34px;font-weight:800;display:block;line-height:1}
.preuve small{font-size:12.5px;opacity:.9}

/* marquee */
.marquee{background:var(--nv);color:#fff;overflow:hidden;padding:14px 0;white-space:nowrap}
.mq{display:inline-block;animation:slide 26s linear infinite;font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.mq span{padding:0 26px;opacity:.85}
.mq i{color:var(--vv);font-style:normal}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* sections */
section{padding:92px 0}
.sec-head{max-width:64ch;margin-bottom:46px}
.sec-head p{color:var(--gris);font-size:17px;margin:16px 0 0}

/* pages éditoriales */
.page-hero{background:#fff;padding:30px 0 42px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-100px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(78,167,46,.2),transparent 68%)}
.page-hero .wrap{position:relative;z-index:1;max-width:900px;text-align:center}
.reference-breadcrumb{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:22px;font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:#7b8792}
.reference-breadcrumb a{color:var(--vf);text-decoration:none}
.reference-breadcrumb a:hover{text-decoration:underline}
.page-hero h1{font-size:clamp(32px,4.4vw,54px);max-width:26ch;margin:0 auto;font-weight:800;color:var(--nv)}
.page-intro{max-width:68ch;color:var(--gris);font-size:clamp(17px,1.6vw,21px);margin:26px 0 0;line-height:1.65}
.page-hero .page-intro{max-width:62ch;margin-left:auto;margin-right:auto;font-size:15px;line-height:1.55}
.page-tab-links{padding:0 0 10px;background:#fff}
.page-tab-links .wrap{max-width:900px}
.page-tab-links .eyebrow{margin-bottom:14px;font-size:10px}
.page-tab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.page-tab-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:14px 16px;background:#fff;border:1px solid var(--trait);border-top:3px solid var(--vv);box-shadow:0 8px 20px -18px rgba(14,40,65,.8);color:var(--nv);text-decoration:none;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.page-tab-card strong{font-family:var(--display);font-size:13px;line-height:1.25}
.page-tab-card span{color:var(--or);font-size:18px;flex:0 0 auto;transition:transform .2s ease}
.page-tab-card:hover{border-color:var(--vv);transform:translateY(-2px);box-shadow:0 14px 24px -18px rgba(14,40,65,.7)}
.page-tab-card:hover span{transform:translateX(4px)}
.page-sections{padding:28px 0 72px}
.page-sections > .wrap{max-width:900px}
.page-sections .card{display:flex;flex-direction:column;min-height:238px;padding:10px 10px 20px;border-radius:4px;box-shadow:0 9px 24px -18px rgba(14,40,65,.8)}
.page-sections .card::before{display:none}
.page-sections .card:hover{transform:translateY(-3px);box-shadow:0 18px 28px -20px rgba(14,40,65,.65)}
.page-sections .card h2{font-size:17px;max-width:22ch;margin:0 12px;color:var(--vf);text-align:center}
.page-sections .card p{font-size:12px;line-height:1.55;text-align:center;margin:14px 12px 0}
.page-sections .card .num{display:none}
.formation-meta{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap;margin:-12px 0 28px}
.formation-meta span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--trait);border-radius:99px;background:#fff;color:var(--vf)}
.formation-cta{background:var(--nv);color:#fff;padding:76px 0}
.formation-cta h2{color:#fff;max-width:20ch}
.formation-cta p:not(.eyebrow){color:rgba(255,255,255,.78);max-width:55ch;margin:16px 0 24px}
.formation-cta .eyebrow{color:var(--vv)}
.card-link{display:block;width:max-content;margin:20px auto 0;padding:9px 17px;font-size:11px;border-radius:99px;margin-top:auto}
.page-main .account-page{max-width:620px}
.page-main .account-panel{margin:0 auto}
.footer-simple{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.footer-simple p{margin:0}
.footer-simple a{color:var(--vv);font-weight:600}
.pdg-page-photo{width:180px;height:180px;object-fit:cover;object-position:center 22%;border-radius:50%;border:6px solid #fff;box-shadow:0 18px 34px -20px rgba(14,40,65,.6);margin-bottom:24px}
.contact-fallback{background:#fff;padding:92px 0}
.contact-fallback h2{max-width:18ch}
.contact-fallback p{color:var(--gris);max-width:52ch}
.contact-fallback a{color:var(--vf);font-weight:700;text-decoration:none}
.contact-form{border:1px solid var(--trait);padding:28px;background:var(--ivoire);border-radius:3px}
.account-page{max-width:680px}
.account-panel{border:1px solid var(--trait);padding:clamp(24px,4vw,42px);background:#fff;border-top:4px solid var(--vf);box-shadow:0 24px 46px -34px rgba(14,40,65,.6)}
.account-form p{margin:0}
.account-panel .login-remember{display:flex;gap:8px;align-items:center;color:var(--gris);font-size:14px}
.account-panel .login-remember input{width:auto;margin:0}
.account-panel .login-submit input{background:var(--vf);color:#fff;border:0;padding:13px 24px;font-family:var(--display);font-weight:600;cursor:pointer;border-radius:2px}
.account-panel a{color:var(--vf);font-weight:600}
.account-error{padding:12px 14px;border-left:4px solid var(--or);background:#fff4ed;color:#7c351e!important}

.g2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid var(--trait);border-radius:3px;padding:30px;background:#fff;transition:.3s;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--vv);transition:.4s}
.card:hover::before{width:100%}
.card:hover{transform:translateY(-6px);box-shadow:0 26px 46px -30px rgba(14,40,65,.55);border-color:var(--vv)}
.num{font-family:var(--mono);font-size:12px;color:#fff;background:var(--nv);width:32px;height:32px;
  display:grid;place-items:center;border-radius:2px;margin-bottom:18px;transition:.3s}
.card:hover .num{background:var(--vv)}
.card.acc .num{background:var(--or)}
.card p{color:var(--gris);font-size:15.5px;margin:14px 0 0}
.card ul{margin:16px 0 0;padding-left:0;list-style:none;font-size:14.5px;color:var(--gris)}
.card ul li{padding-left:20px;position:relative;margin-bottom:6px}
.card ul li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--vv)}

/* ===== SOLUTION (image réelle) ===== */
.solution{background:var(--nv);color:#fff;position:relative;overflow:hidden;padding:0}
.sol-img{position:relative;overflow:hidden}
.sol-img img{width:100%;transform:scale(1.05);transition:transform 1.4s cubic-bezier(.2,.7,.3,1)}
.sol-img.in img{transform:scale(1)}
.sol-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(14,40,65,.35),transparent 26%,transparent 70%,rgba(10,30,49,.5));pointer-events:none}
.sol-legend{max-width:var(--max);margin:0 auto;padding:34px 24px 56px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px}
.sol-legend h3{font-size:18px;margin-bottom:8px;color:#fff}
.sol-legend p{color:rgba(255,255,255,.72);font-size:14.5px;margin:0}
.sol-legend .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--vv)}
.sol-top{max-width:var(--max);margin:0 auto;padding:76px 24px 34px}
.sol-top h2{color:#fff;max-width:18ch}
.sol-top p{color:rgba(255,255,255,.75);max-width:60ch;margin:16px 0 0;font-size:17px}
.sol-top .eyebrow{color:var(--vv)}
.sol-top .eyebrow::after{background:rgba(255,255,255,.2)}

/* ===== PDG ===== */
.pdg{background:var(--ivoire);position:relative;overflow:hidden}
.pdg::before{content:"";position:absolute;left:-40px;bottom:-40px;width:300px;height:300px;opacity:.35;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px;
  -webkit-mask-image:linear-gradient(45deg,#000,transparent 72%);mask-image:linear-gradient(45deg,#000,transparent 72%)}
.pdg-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:center;position:relative;z-index:1}
.quote{font-family:var(--display);font-size:clamp(21px,2.6vw,30px);font-weight:600;line-height:1.35;
  color:var(--nv);margin:0 0 22px;position:relative;padding-left:26px}
.quote::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:4px;background:var(--vv)}
.pdg-name{font-family:var(--display);font-size:21px;font-weight:700;margin:0}
.pdg-role{font-family:var(--mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--vf);margin:6px 0 18px}
.pdg-bio{color:var(--gris);font-size:15.5px;margin:0 0 18px}
.pdg-facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.pdg-facts span{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;
  border:1px solid var(--trait);background:#fff;padding:9px 15px;border-radius:99px;color:var(--nv)}

/* formations */
.methode{background:var(--nv);color:#fff;padding:36px;border-radius:3px;margin-bottom:26px;
  display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;position:relative;overflow:hidden}
.methode::after{content:"";position:absolute;right:-50px;bottom:-50px;width:230px;height:230px;opacity:.2;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px}
.methode h3{font-size:25px;margin-bottom:10px}
.methode p{color:rgba(255,255,255,.78);font-size:15.5px;margin:0}
.triptyque{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.triptyque span{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--vv);color:var(--vv);padding:9px 15px;border-radius:99px}
.form-card{border:1px solid var(--trait);border-radius:3px;overflow:hidden;background:#fff;transition:.3s;display:flex;flex-direction:column}
.form-card:hover{transform:translateY(-6px);box-shadow:0 26px 46px -30px rgba(14,40,65,.55)}
.form-top{height:6px;transition:.3s}
.form-card:hover .form-top{height:10px}
.form-body{padding:26px}
.tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gris);display:block;margin-bottom:12px}
.form-body h3{font-size:18.5px;margin-bottom:10px}
.form-body p{color:var(--gris);font-size:14.5px;margin:0 0 16px}
.meta{font-family:var(--mono);font-size:11.5px;color:var(--nv);border-top:1px dashed var(--trait);
  padding-top:14px;margin-top:auto;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.g2b{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}

/* espace */
.espace{background:var(--ivoire)}
.pilier{background:#fff;border:1px solid var(--trait);border-top:3px solid var(--vv);padding:28px;border-radius:3px;transition:.3s}
.pilier:hover{transform:translateY(-6px);box-shadow:0 26px 46px -30px rgba(14,40,65,.5)}
.pilier .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--vf);text-transform:uppercase}
.pilier h3{margin:12px 0 10px;font-size:19px}
.pilier p{color:var(--gris);font-size:14.5px;margin:0}
.pilier:nth-child(2){border-top-color:var(--or)}.pilier:nth-child(2) .k{color:var(--or)}
.pilier:nth-child(3){border-top-color:var(--nv)}.pilier:nth-child(3) .k{color:var(--nv)}

.partenaires{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.partenaires span{font-family:var(--display);font-weight:600;font-size:17px;color:var(--nv);
  border:1px solid var(--trait);padding:14px 26px;border-radius:2px;background:#fff;transition:.3s}
.partenaires span:hover{border-color:var(--vv);color:var(--vf);transform:translateY(-3px)}

/* promo */
.promo{background:var(--nv);color:#fff;position:relative;overflow:hidden}
.promo::after{content:"";position:absolute;right:-40px;bottom:-40px;width:300px;height:300px;opacity:.22;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px}
.promo .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.promo h2{color:#fff}
.promo p{color:rgba(255,255,255,.8);margin:16px 0 0;font-size:16.5px}
.promo .stack{display:flex;flex-direction:column;gap:12px}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.infos{padding:0;margin:0}
.infos li{list-style:none;display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--trait);align-items:flex-start}
.infos .ic{color:var(--vf);font-size:18px;flex:0 0 auto;width:22px}
.infos b{font-family:var(--display);display:block;font-size:15px}
.infos small{color:var(--gris);font-size:14px}
form label{font-family:var(--display);font-size:13px;font-weight:600;display:block;margin-bottom:6px}
form input,form select,form textarea{width:100%;padding:12px 14px;border:1px solid var(--trait);border-radius:2px;
  font-family:var(--body);font-size:15px;margin-bottom:16px;background:#fff;color:var(--nv);transition:.2s}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--vv);outline-offset:1px;border-color:var(--vv)}

footer{background:#077454;color:rgba(255,255,255,.72);padding:56px 0 26px;font-size:14.5px}
footer h4{color:#fff;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;font-family:var(--mono);font-weight:500}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:9px}
footer a{text-decoration:none;transition:.2s}
footer a:hover{color:var(--vv);padding-left:4px}
.f-logo{background:#fff;padding:14px 20px;border-radius:4px;display:inline-block;margin-bottom:18px}
.f-logo img{height:46px;width:auto;object-fit:contain;display:block}
.socials{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.socials a{width:36px;height:36px;border:1px solid rgba(255,255,255,.22);border-radius:50%;
  display:grid;place-items:center;transition:.25s;color:#fff}
.socials a svg{width:16px;height:16px;display:block;fill:currentColor}
.socials a:hover{border-color:var(--vv);background:rgba(78,167,46,.16);transform:translateY(-3px);color:var(--vv)}
.f-bas{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:18px 32px;flex-wrap:wrap;font-size:13px}
.f-bas > span{flex:0 0 auto}

.wa{position:fixed;right:20px;bottom:20px;z-index:80;background:#25D366;color:#fff;padding:14px 20px;
  border-radius:99px;text-decoration:none;font-family:var(--display);font-weight:600;font-size:14.5px;
  box-shadow:0 14px 32px -10px rgba(37,211,102,.9);display:flex;gap:9px;align-items:center;
  animation:wapulse 3.2s ease-in-out infinite}
@keyframes wapulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

.rv{opacity:0;transform:translateY(24px);transition:.75s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}

@media(max-width:960px){
  .hero-grid,.g2,.contact-grid,.methode,.promo .wrap,.pdg-grid{grid-template-columns:1fr}
  .g3,.sol-legend{grid-template-columns:1fr 1fr}
  .preuve .wrap{grid-template-columns:1fr 1fr;gap:26px}
  .f-grid{grid-template-columns:1fr 1fr}
  }
@media(max-width:680px){
  .menu{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;flex-direction:column;
    gap:0;padding:12px 24px 20px;border-bottom:1px solid var(--trait)}
  .menu.open{display:flex}
  .menu li{border-bottom:1px solid var(--trait)}
  .menu a{display:block;padding:14px 0}
  .burger{display:block}
  .nav .btn{display:none}
  .g3,.g2b,.f-grid,.sol-legend{grid-template-columns:1fr}
  section{padding:64px 0}
  .sol-top{padding:60px 24px 28px}
  .wa{padding:13px 16px;font-size:0;gap:0}
  .wa::after{content:"WhatsApp";font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv,.fade{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ===== ACRONYME (signature) ===== */
.acro{background:var(--nv);color:#fff;position:relative;overflow:hidden;padding:96px 0}
.acro::before{content:"";position:absolute;left:-60px;top:-60px;width:340px;height:340px;opacity:.22;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px}
.acro::after{content:"";position:absolute;right:-160px;bottom:-160px;width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(78,167,46,.22),transparent 66%);animation:pulse 8s ease-in-out infinite}
.acro .wrap{position:relative;z-index:2}
.acro .eyebrow{color:var(--vv)}
.acro .eyebrow::after{background:rgba(255,255,255,.18)}
.acro h2{color:#fff;margin-bottom:12px;max-width:none}
.acro .intro{color:rgba(255,255,255,.74);max-width:62ch;font-size:17px;margin:0 0 40px}
.letters{display:grid;gap:2px}
.lt{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:22px;padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.09);opacity:0;transform:translateX(-18px);transition:.6s cubic-bezier(.2,.7,.3,1)}
.letters.in .lt{opacity:1;transform:none}
.lt b{font-family:var(--display);font-size:46px;font-weight:900;line-height:1;color:var(--vv);
  text-align:center;letter-spacing:0;font-variant-numeric:tabular-nums;display:block}
.lt span{font-family:var(--display);font-size:clamp(17px,2.2vw,24px);font-weight:600;color:#fff;
  letter-spacing:-.01em;line-height:1.25}
.acro-note{margin-top:34px;padding:22px 26px;border-left:3px solid var(--vv);background:rgba(78,167,46,.09);
  color:rgba(255,255,255,.86);font-size:16px;max-width:70ch}

/* ===== carte présence ===== */
.pays{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.pays span{font-family:var(--mono);font-size:12px;letter-spacing:.06em;padding:8px 14px;border-radius:99px;
  border:1px solid var(--trait);background:#fff;transition:.3s;cursor:default}
.pays span:hover{border-color:var(--vv);background:var(--vv);color:#fff;transform:translateY(-3px)}
.pays span.hq{background:var(--vf);color:#fff;border-color:var(--vf)}

/* ===== onglets services ===== */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.tab{font-family:var(--display);font-size:14px;font-weight:600;padding:11px 18px;border-radius:99px;
  border:1px solid var(--trait);background:#fff;color:var(--gris);cursor:pointer;transition:.25s}
.tab:hover{border-color:var(--vv);color:var(--vf)}
.tab.on{background:var(--vf);color:#fff;border-color:var(--vf);box-shadow:0 10px 22px -12px rgba(25,107,36,.9)}
@keyframes fadein{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.plist{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.plist div{display:flex;gap:11px;align-items:flex-start;font-size:14.8px;color:var(--gris);
  background:#fff;border:1px solid var(--trait);padding:13px 15px;border-radius:3px;transition:.25s}
.plist div:hover{border-color:var(--vv);transform:translateX(4px)}
.plist i{color:var(--vv);font-style:normal;font-weight:700;flex:0 0 auto}

/* ===== parcours PDG ===== */
.parcours{margin-top:34px;position:relative;padding-left:26px}
.parcours::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--trait)}
.etape{position:relative;padding-bottom:20px}
.etape::before{content:"";position:absolute;left:-25px;top:7px;width:12px;height:12px;border-radius:50%;
  background:#fff;border:3px solid var(--vv);z-index:2;transition:.4s}
.etape:hover::before{transform:scale(1.35);background:var(--vv)}
.etape b{font-family:var(--display);font-size:15.5px;display:block}
.etape small{color:var(--gris);font-size:14px}
.etape .yr{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--vf);text-transform:uppercase}

/* ===== vie d'affaires ===== */
.aff{background:var(--nv);color:#fff;position:relative;overflow:hidden}
.aff::after{content:"";position:absolute;left:-50px;bottom:-50px;width:300px;height:300px;opacity:.2;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px}
.aff .wrap{position:relative;z-index:1}
.aff h2{color:#fff}
.aff .sec-head p{color:rgba(255,255,255,.75)}
.aff .eyebrow{color:var(--vv)}
.aff .eyebrow::after{background:rgba(255,255,255,.18)}
.acard{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:3px;padding:28px;transition:.3s}
.acard:hover{background:rgba(78,167,46,.12);border-color:var(--vv);transform:translateY(-6px)}
.acard .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--vv)}
.acard h3{color:#fff;margin:12px 0 10px;font-size:19px}
.acard p{color:rgba(255,255,255,.72);font-size:14.5px;margin:0}
.acard .tvbadge{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;background:var(--or);color:#fff;padding:5px 11px;border-radius:99px}

@media(max-width:960px){.plist{grid-template-columns:1fr}}
@media(max-width:680px){
  .lt{grid-template-columns:44px 1fr;gap:14px}
  .lt b{font-size:34px}
  .acro{padding:64px 0}
}


/* ===== AVANT / APRES ===== */
.av{background:var(--ivoire);position:relative;overflow:hidden}
.switch{display:inline-flex;background:#fff;border:1px solid var(--trait);border-radius:99px;padding:5px;margin-bottom:30px;gap:4px}
.switch button{font-family:var(--display);font-weight:600;font-size:14px;padding:11px 26px;border-radius:99px;
  border:0;background:none;color:var(--gris);cursor:pointer;transition:.3s}
.switch button.on{color:#fff}
.switch button[data-s="avant"].on{background:#B4442A}
.switch button[data-s="apres"].on{background:var(--vf)}
.state{display:none}
.state.on{display:block;animation:fadein .55s cubic-bezier(.2,.7,.3,1) both}
.slist{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sline{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--trait);
  border-left:4px solid var(--trait);padding:17px 19px;border-radius:3px;font-size:15.5px;transition:.3s}
.sline:hover{transform:translateX(5px)}
.state[data-s="avant"] .sline{border-left-color:#B4442A;color:#6B3226}
.state[data-s="apres"] .sline{border-left-color:var(--vv);color:var(--nv)}
.sline b{font-family:var(--mono);font-size:16px;flex:0 0 auto;line-height:1.3}
.state[data-s="avant"] .sline b{color:#B4442A}
.state[data-s="apres"] .sline b{color:var(--vv)}
.state-note{margin-top:22px;font-family:var(--display);font-size:19px;font-weight:600}
.state[data-s="avant"] .state-note{color:#B4442A}
.state[data-s="apres"] .state-note{color:var(--vf)}

/* ===== modules ===== */
.mod{border:1px solid var(--trait);border-radius:3px;background:#fff;overflow:hidden;transition:.3s}
.mod:hover{box-shadow:0 26px 46px -32px rgba(14,40,65,.5)}
.mod-h{padding:24px 28px;border-bottom:1px solid var(--trait);display:flex;gap:16px;align-items:center}
.mod-h .n{font-family:var(--display);font-weight:800;font-size:26px;color:#fff;background:var(--vf);
  width:48px;height:48px;display:grid;place-items:center;border-radius:3px;flex:0 0 auto}
.mod:nth-child(2) .mod-h .n{background:var(--nv)}
.mod-h h3{font-size:19px;margin:0}
.mod-h small{color:var(--gris);font-size:13.5px;display:block;margin-top:3px}
.mod-b{padding:24px 28px}
.step{display:flex;gap:13px;padding:10px 0;border-bottom:1px dashed var(--trait);font-size:15px;color:var(--gris)}
.step:last-child{border:0}
.step i{font-family:var(--mono);font-size:11.5px;color:var(--vv);font-style:normal;flex:0 0 auto;padding-top:3px;font-weight:600}

/* ===== fiche indexation ===== */
.fiche{background:var(--nv);border-radius:4px;padding:24px;color:#fff}
.fiche h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--vv);margin-bottom:16px}
.frow{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;padding:7px 0;align-items:center;
  border-bottom:1px solid rgba(255,255,255,.07);font-family:var(--mono);font-size:11.5px}
.frow span{color:rgba(255,255,255,.6);text-align:right}
.frow em{font-style:normal;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:2px;padding:6px 10px;color:rgba(255,255,255,.85)}
.frow:first-of-type em{background:rgba(233,113,50,.18);border-color:var(--or)}

/* ===== planète ===== */
.planete{background:linear-gradient(135deg,var(--vf),var(--vv));color:#fff;text-align:center;padding:64px 0;position:relative;overflow:hidden}
.planete::after{content:"";position:absolute;inset:0;opacity:.16;
  background-image:radial-gradient(#fff 1.6px,transparent 1.7px);background-size:15px 15px}
.planete .wrap{position:relative;z-index:1}
.planete h2{color:#fff;font-size:clamp(26px,3.6vw,40px)}
.planete p{color:rgba(255,255,255,.9);max-width:60ch;margin:16px auto 0;font-size:17px}

/* ===== réseaux ===== */
.res{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.rlink{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--trait);
  border-radius:3px;padding:17px 19px;text-decoration:none;transition:.3s}
.rlink:hover{border-color:var(--vv);transform:translateY(-4px);box-shadow:0 18px 34px -22px rgba(14,40,65,.5)}
.rlink .ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;
  font-family:var(--mono);font-size:13px;font-weight:600;flex:0 0 auto}
.rlink b{font-family:var(--display);font-size:15px;display:block}
.rlink small{color:var(--gris);font-size:12.5px}

/* ===== bureaux ===== */
.bureaux{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.bur{border:1px solid var(--trait);border-left:4px solid var(--vv);padding:20px;border-radius:3px;background:#fff}
.bur .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--vf)}
.bur b{font-family:var(--display);display:block;font-size:16px;margin:8px 0 4px}
.bur small{color:var(--gris);font-size:13.5px;display:block;line-height:1.6}
.bur:nth-child(2){border-left-color:var(--nv)}
.bur:nth-child(2) .k{color:var(--nv)}

@media(max-width:960px){.res{grid-template-columns:1fr 1fr}.slist,.bureaux{grid-template-columns:1fr}}
@media(max-width:680px){.res{grid-template-columns:1fr}}


/* ===== GALERIE RÉFÉRENCES ===== */
.gal{background:var(--nv);color:#fff;position:relative;overflow:hidden}
.gal::before{content:"";position:absolute;right:-60px;top:-60px;width:320px;height:320px;opacity:.2;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px}
.gal .wrap{position:relative;z-index:1}
.gal h2{color:#fff}
.gal .sec-head p{color:rgba(255,255,255,.75)}
.gal .eyebrow{color:var(--vv)}
.gal .eyebrow::after{background:rgba(255,255,255,.18)}
.gfilters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.gf{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;
  padding:9px 16px;border-radius:99px;border:1px solid rgba(255,255,255,.22);background:none;
  color:rgba(255,255,255,.72);cursor:pointer;transition:.25s}
.gf:hover{border-color:var(--vv);color:#fff}
.gf.on{background:var(--vv);border-color:var(--vv);color:#fff}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gitem{position:relative;overflow:hidden;border-radius:3px;cursor:pointer;background:#077454;
  border:1px solid rgba(255,255,255,.1);transition:.35s;aspect-ratio:4/3}
.gitem.hide{display:none}
.gitem img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1);filter:saturate(.95)}
.gitem:hover{border-color:var(--vv);transform:translateY(-5px);box-shadow:0 24px 44px -26px rgba(0,0,0,.9)}
.gitem:hover img{transform:scale(1.07)}
.gcap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;
  background:linear-gradient(to top,rgba(6,20,34,.95),rgba(6,20,34,.55) 55%,transparent);pointer-events:none}
.gcap .city{font-family:var(--display);font-weight:700;font-size:16px;display:block;line-height:1.2}
.gcap .what{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--vv)}
.gnote{margin-top:26px;font-size:14.5px;color:rgba(255,255,255,.6);font-family:var(--mono)}

/* lightbox */
.lb{position:fixed;inset:0;z-index:200;background:rgba(6,20,34,.96);display:none;
  align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(6px)}
.lb.on{display:flex;animation:fadein .3s both}
.lb figure{margin:0;max-width:1000px;width:100%}
.lb img{width:100%;max-height:76vh;object-fit:contain;border-radius:3px}
.lb figcaption{color:#fff;font-family:var(--display);font-weight:600;font-size:17px;margin-top:16px;text-align:center}
.lb figcaption small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--vv);font-weight:400;margin-top:5px}
.lb .x{position:absolute;top:18px;right:22px;background:none;border:1px solid rgba(255,255,255,.3);
  color:#fff;width:42px;height:42px;border-radius:50%;font-size:20px;cursor:pointer;transition:.25s}
.lb .x:hover{border-color:var(--vv);background:rgba(78,167,46,.2)}
.lb .nav-b{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(255,255,255,.3);
  color:#fff;width:46px;height:46px;border-radius:50%;font-size:20px;cursor:pointer;transition:.25s}
.lb .nav-b:hover{border-color:var(--vv);background:rgba(78,167,46,.2)}
.lb .prev{left:18px}.lb .next{right:18px}

@media(max-width:960px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.grid{grid-template-columns:1fr}.lb .nav-b{width:38px;height:38px}}


/* ===== BANDE AUDIT (CTA principal) ===== */
.audit{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--nv) 0%,#077454 52%,var(--vf) 100%);
  color:#fff;border-radius:5px;margin-top:44px;padding:0}
.audit::after{content:"";position:absolute;right:-70px;top:-70px;width:340px;height:340px;opacity:.2;
  background-image:radial-gradient(var(--vv) 1.9px,transparent 2px);background-size:15px 15px}
.audit::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--or)}
.audit-in{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .65fr;gap:36px;
  align-items:center;padding:44px 46px}
.audit .k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--vv)}
.audit h3{font-size:clamp(23px,3vw,32px);font-weight:800;color:#fff;margin:12px 0 12px;line-height:1.15}
.audit p{color:rgba(255,255,255,.8);font-size:16px;margin:0;max-width:52ch}
.audit-act{display:flex;flex-direction:column;gap:12px}
.audit-act .btn{text-align:center}
.audit-tel{font-family:var(--mono);font-size:13px;color:rgba(255,255,255,.72);text-align:center;text-decoration:none;transition:.25s}
.audit-tel:hover{color:var(--vv)}
.audit-pts{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.audit-pts span{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.26);padding:7px 13px;border-radius:99px;color:rgba(255,255,255,.85)}
@media(max-width:880px){.audit-in{grid-template-columns:1fr;padding:34px 26px;gap:24px}}

/* accents orange plus présents */
.eyebrow::before{content:"";width:16px;height:2px;background:var(--or);flex:0 0 auto}
.sec-head h2::after{content:"";display:block;width:56px;height:4px;background:var(--or);margin-top:18px;border-radius:2px}
.acro h2::after,.gal h2::after,.aff h2::after,.promo h2::after{background:var(--vv)}
.planete h2::after{display:none}


/* ===== GALERIE FORMATION (fond clair) ===== */
.galf{background:var(--ivoire);position:relative;overflow:hidden}
.galf::before{content:"";position:absolute;left:-60px;bottom:-60px;width:320px;height:320px;opacity:.32;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px;
  -webkit-mask-image:linear-gradient(45deg,#000,transparent 72%);mask-image:linear-gradient(45deg,#000,transparent 72%)}
.galf .wrap{position:relative;z-index:1}
.galf .gitem{background:#fff;border-color:var(--trait)}
.galf .gitem:hover{border-color:var(--vv)}
.galf .gcap{background:linear-gradient(to top,rgba(10,30,49,.92),rgba(10,30,49,.4) 60%,transparent)}
.galf .gcap .what{color:var(--vv)}
.hero-shot{position:relative;border-radius:4px;overflow:hidden;margin-bottom:22px;border:1px solid var(--trait);cursor:pointer}
.hero-shot img{width:100%;display:block;transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.hero-shot:hover img{transform:scale(1.03)}
.hero-shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:46px 26px 22px;
  background:linear-gradient(to top,rgba(10,30,49,.94),transparent);color:#fff}
.hero-shot .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--vv);display:block}
.hero-shot strong{font-family:var(--display);font-size:clamp(17px,2.2vw,23px);font-weight:700;display:block;margin-top:6px}


/* ===== TERRASSE / LIEU ===== */
.terrasse{margin-top:34px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);
  border-radius:4px;overflow:hidden}
.terrasse-img{display:grid;grid-template-columns:2fr 1fr;gap:3px;background:rgba(255,255,255,.13)}
.terrasse-img figure{margin:0;overflow:hidden;position:relative;cursor:pointer}
.terrasse-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.terrasse-img figure:hover img{transform:scale(1.06)}
.terrasse-img .stack{display:grid;grid-template-rows:1fr 1fr;gap:3px}
.terrasse-txt{padding:28px 30px;display:grid;grid-template-columns:1.4fr .6fr;gap:28px;align-items:center}
.terrasse-txt h3{color:#fff;font-size:22px;margin-bottom:10px}
.terrasse-txt p{color:rgba(255,255,255,.76);font-size:15.5px;margin:0}
.terrasse-txt .pts{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.terrasse-txt .pts span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.26);padding:7px 13px;border-radius:99px;color:rgba(255,255,255,.86)}

/* ===== SIÈGE ===== */
.siege{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}
.siege figure{margin:0;border-radius:3px;overflow:hidden;border:1px solid var(--trait);position:relative;cursor:pointer}
.siege img{width:100%;display:block;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.siege figure:hover img{transform:scale(1.05)}
.siege figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;color:#fff;
  background:linear-gradient(to top,rgba(10,30,49,.92),transparent);font-family:var(--mono);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase}

@media(max-width:880px){
  .terrasse-img,.terrasse-txt,.siege{grid-template-columns:1fr}

/* Archives compactes : modifier ces valeurs pour ajuster facilement les cartes. */
.archive-main{max-width:var(--max);margin:0 auto;padding:52px 24px 80px}
.archive-main .page-header{margin-bottom:28px}
.archive-main .page-title{max-width:600px;font-size:clamp(42px,7vw,76px);line-height:.9;letter-spacing:-.06em;margin:0}
.archive-main .archive-description{max-width:62ch;color:var(--gris);font-size:15px;margin-top:10px}
.archive-main article.post{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:22px 28px;margin:0;padding:22px 0;border-top:1px solid var(--trait)}
.archive-main article.post:first-of-type{border-top:0}
.archive-main article.post .entry-header{grid-column:2;grid-row:1}
.archive-main article.post .post-thumbnail{grid-column:1;grid-row:1 / span 3;display:block;aspect-ratio:4 / 3;overflow:hidden;background:var(--ivoire)}
.archive-main article.post .post-thumbnail img{width:100%;height:100%;object-fit:cover}
.archive-main article.post .entry-title{font-size:clamp(20px,2.1vw,28px);line-height:1.18;margin:0}
.archive-main article.post .entry-title a{text-decoration:none}
.archive-main article.post .entry-title a:hover{color:var(--vv)}
.archive-main article.post .entry-meta{font:10px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--gris);margin-top:9px}
.archive-main article.post .entry-content{grid-column:2;grid-row:2;margin:0;color:var(--gris);font-size:14px;line-height:1.55}
.archive-main article.post .entry-content p{margin:0}
.archive-main article.post .entry-footer{grid-column:2;grid-row:3;margin-top:0;font-size:12px}
.archive-main article.post:not(:has(.post-thumbnail)){grid-template-columns:1fr}
.archive-main article.post:not(:has(.post-thumbnail)) .entry-header,.archive-main article.post:not(:has(.post-thumbnail)) .entry-content,.archive-main article.post:not(:has(.post-thumbnail)) .entry-footer{grid-column:1}
@media(max-width:680px){
  .archive-main{padding:36px 18px 60px}
  .archive-main article.post{display:block;padding:20px 0}
  .archive-main article.post .post-thumbnail{margin-bottom:16px;aspect-ratio:16 / 9}
  .archive-main article.post .entry-content{margin-top:10px}
  .archive-main article.post .entry-footer{margin-top:10px}
}
  .terrasse-img .stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
}


/* ==========================================================================
   SYSTÈME RESPONSIVE COMPLET — de la montre au téléviseur
   Ce bloc est placé en dernier : il fait autorité sur tout ce qui précède.
   ========================================================================== */

/* --- Bases fluides : la typographie suit la largeur, sans jamais casser --- */
html{
  font-size:100%;
  -webkit-text-size-adjust:100%;      /* pas de zoom auto iOS en paysage */
  text-size-adjust:100%;
}
body{font-size:clamp(15px,0.55vw + 13px,19px)}
.wrap{width:100%;padding-left:clamp(16px,3vw,40px);padding-right:clamp(16px,3vw,40px)}
section{padding-top:clamp(48px,6vw,110px);padding-bottom:clamp(48px,6vw,110px)}
.sec-head{margin-bottom:clamp(28px,3.4vw,54px)}
img,video,iframe{max-width:100%;height:auto}
.gitem img,.terrasse-img img{height:100%}

/* ==========================================================================
   1. TRÈS PETITS TÉLÉPHONES  (≤ 380 px)
   ========================================================================== */
@media (max-width:380px){
  .nav{height:64px}
  .nav img.lg{height:34px}
  .menu{top:64px}
  .hero{padding:44px 0 52px}
  .hero h1{font-size:31px;line-height:1.08}
  .hero p.lead{font-size:16px}
  .baseline{font-size:17px}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%;text-align:center}
  h2{font-size:25px}
  .preuve b{font-size:26px}
  .lt{grid-template-columns:40px 1fr;gap:10px}
  .lt b{font-size:26px}
  .lt span{font-size:15px}
  .audit-in{padding:24px 18px}
  .card,.form-body,.pilier,.acard,.mod-b,.mod-h{padding:20px}
  .methode{padding:22px}
  .terrasse-txt{padding:20px}
  .fiche{padding:16px}
  .frow{grid-template-columns:1fr;gap:4px}
  .frow span{text-align:left}
}

/* ==========================================================================
   2. TÉLÉPHONES  (≤ 600 px)
   ========================================================================== */
@media (max-width:600px){
  .eyebrow{white-space:normal}
  .g2,.g3,.g2b,.grid,.res,.slist,.bureaux,.siege,.plist,
  .f-grid,.sol-legend,.contact-grid,.pdg-grid,
  .methode,.promo .wrap,.audit-in,.terrasse-txt,.terrasse-img,
  .preuve .wrap{grid-template-columns:1fr!important}
  .terrasse-img .stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .preuve div{border-left:0;border-top:2px solid rgba(255,255,255,.3);padding:12px 0 0 0}
  .promo .stack{width:100%}
  .promo .stack .btn{text-align:center}
  .audit-act .btn{width:100%}
  .tabs{gap:6px}
  .tab{font-size:12.5px;padding:9px 13px}
  .switch{width:100%}
  .switch button{flex:1;padding:11px 10px;font-size:13px}
  .gfilters{gap:6px}
  .gf{font-size:10.5px;padding:8px 12px}
  .partenaires span{font-size:15px;padding:11px 18px}
  .pays span{font-size:11px;padding:7px 11px}
        .lb{padding:12px}
  .lb figcaption{font-size:14.5px}
  .lb .x{top:10px;right:12px;width:38px;height:38px}
  .f-bas{flex-direction:column;gap:8px}
}

/* --- Téléphone en paysage : on écrase les hauteurs --- */
@media (max-height:520px) and (orientation:landscape){
  .hero{padding:34px 0 40px}
  section{padding-top:40px;padding-bottom:40px}
  .menu{max-height:70vh;overflow-y:auto}
  .lb img{max-height:64vh}
}

/* ==========================================================================
   3. GRANDS TÉLÉPHONES ET PETITES TABLETTES  (601 – 900 px)
   ========================================================================== */
@media (min-width:601px) and (max-width:900px){
  .contact-grid,.pdg-grid,.methode,.promo .wrap,
  .audit-in,.terrasse-txt,.sol-legend{grid-template-columns:1fr}
  .g2,.g2b,.g3,.grid,.res,.slist,.siege,.plist,.bureaux{grid-template-columns:1fr 1fr}
  .preuve .wrap{grid-template-columns:1fr 1fr}
  .f-grid{grid-template-columns:1fr 1fr}
    .terrasse-img{grid-template-columns:1fr}
  .terrasse-img .stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
}

/* --- Le menu horizontal ne tient plus : passage au menu déroulant --- */
@media (max-width:1000px){
  .burger{display:block}
  .nav .btn{display:none}
  .menu{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;gap:0;padding:10px clamp(16px,3vw,40px) 18px;
    border-bottom:1px solid var(--trait);box-shadow:0 18px 30px -24px rgba(14,40,65,.7);
    max-height:calc(100vh - 78px);overflow-y:auto;
  }
  .menu.open{display:flex}
  .menu li{border-bottom:1px solid var(--trait)}
  .menu li:last-child{border-bottom:0}
  .menu a{display:block;padding:15px 0;font-size:16px}
  .menu a::after{display:none}
}
@media (min-width:1001px){
  .menu{display:flex!important;position:static;flex-direction:row;padding:0;
    background:none;border:0;box-shadow:none;max-height:none;overflow:visible}
  .menu li{border:0}
  .burger{display:none}
}

/* ==========================================================================
   4. TABLETTES  (901 – 1180 px)
   ========================================================================== */
@media (min-width:901px) and (max-width:1180px){

  .g3,.grid,.res{grid-template-columns:repeat(3,1fr)}
  .pdg-grid{grid-template-columns:.9fr 1.1fr;gap:34px}
  .sol-legend{grid-template-columns:repeat(3,1fr)}
  .f-grid{grid-template-columns:1.4fr 1fr 1fr}
}

/* ==========================================================================
   5. GRANDS ÉCRANS  (≥ 1500 px)
   ========================================================================== */
@media (min-width:1500px){
  :root{--max:1340px}
  .grid{grid-template-columns:repeat(4,1fr)}
  .res{grid-template-columns:repeat(4,1fr)}
}

/* ==========================================================================
   6. TRÈS GRANDS ÉCRANS ET TÉLÉVISEURS  (≥ 1800 px)
   Distance de lecture plus grande : tout grossit, rien ne s'étire.
   ========================================================================== */
@media (min-width:1800px){
  :root{--max:1560px}
  body{font-size:20px;line-height:1.7}
  .hero{padding:110px 0 120px}
  .hero h1{font-size:74px}
  .hero p.lead{font-size:25px;max-width:60ch}
  .baseline{font-size:23px}
  h2{font-size:52px}
  h3{font-size:23px}
  .eyebrow{font-size:14px}
  .btn{font-size:17px;padding:16px 30px}
  .preuve b{font-size:42px}
  .preuve small{font-size:15px}
  .lt b{font-size:56px}
  .card p,.form-body p,.pilier p,.acard p{font-size:17px}
  .nav{height:92px}
  .nav img.lg{height:64px}
  .menu{font-size:17px;gap:32px}
}

@media (min-width:2400px){
  :root{--max:1780px}
  body{font-size:23px}
  .hero h1{font-size:88px}
  h2{font-size:62px}
  .nav{height:104px}
  .nav img.lg{height:74px}
  .btn{font-size:19px;padding:18px 34px}
  .grid,.res{grid-template-columns:repeat(4,1fr)}
}

/* ==========================================================================
   7. ÉCRANS TACTILES ET TÉLÉCOMMANDES
   Pas de survol : les effets de hover ne doivent pas rester « collés ».
   ========================================================================== */
@media (hover:none){
  .card:hover,.form-card:hover,.pilier:hover,.acard:hover,
  .gitem:hover,.rlink:hover,.partenaires span:hover,
  .siege figure:hover,.terrasse-img figure:hover{transform:none;box-shadow:none}
  .gitem:hover img,.hero-shot:hover img,.sol-img img,
  .siege figure:hover img,.terrasse-img figure:hover img{transform:none}
  .card::before{display:none}
  /* cibles tactiles confortables */
  .menu a,.tab,.gf,.switch button,.btn,.socials a,.rlink{min-height:44px}
  .socials a{width:44px;height:44px}
}

/* Navigation au clavier / télécommande : la cible doit être visible de loin */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,.gitem:focus-visible{
  outline:3px solid var(--vv);outline-offset:3px;border-radius:2px;
}
.gitem,.hero-shot,.siege figure,.terrasse-img figure{scroll-margin-top:100px}

/* ==========================================================================
   8. IMPRESSION
   ========================================================================== */
@media print{
  header,.wa,.lb,.marquee,.gfilters,.switch,.tabs,form,.burger{display:none!important}
  body{font-size:11pt;color:#000;background:#fff}
  .hero,.preuve,.acro,.gal,.aff,.promo,.planete,.solution{background:#fff!important;color:#000!important}
  .acro h2,.gal h2,.aff h2,.promo h2,.planete h2,.sol-top h2{color:#000!important}
  .state{display:block!important}
  section{padding:18px 0;break-inside:avoid}
  .grid{grid-template-columns:repeat(3,1fr)}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:8pt;color:#555}
}


/* Une image absente ne doit jamais laisser un trou dans la mise en page */
img[data-broken]{display:none}
figure[data-broken]{display:none!important}

/* sept entrées dans le menu : on resserre sur les écrans intermédiaires */
@media (min-width:1001px) and (max-width:1340px){
  .menu{gap:18px;font-size:13.5px}
  .nav .btn{padding:12px 18px;font-size:13.5px}
  .nav img.lg{height:46px}
}

/* ==========================================================================
   MON COMPTE
   ========================================================================== */
.tools{display:flex;align-items:center;gap:10px;margin-left:auto;flex:0 0 auto}

.acct-btn{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--trait);
  border-radius:99px;padding:7px 16px 7px 8px;cursor:pointer;font-family:var(--display);
  font-weight:600;font-size:14px;color:var(--nv);transition:.25s;white-space:nowrap}
.acct-btn:hover{border-color:var(--or);color:var(--or);transform:translateY(-1px)}
.acct-btn .avatar{width:28px;height:28px;border-radius:50%;background:var(--or);color:#fff;
  display:grid;place-items:center;flex:0 0 auto}

.acct-ov{position:fixed;inset:0;z-index:150;background:rgba(14,40,65,.74);backdrop-filter:blur(6px);
  display:none;overflow-y:auto;padding:clamp(16px,5vh,60px) 16px}
.acct-ov.on{display:block;animation:fadein .24s both}
.acct-win{position:relative;max-width:620px;margin:0 auto;background:#fff;border-radius:5px;
  border-top:4px solid var(--vf);padding:clamp(26px,3.4vw,44px);
  box-shadow:0 40px 80px -32px rgba(0,0,0,.6)}
.acct-x{position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid var(--trait);
  background:#fff;border-radius:50%;font-size:16px;color:var(--gris);cursor:pointer;transition:.2s}
.acct-x:hover{border-color:var(--vv);color:var(--vf);background:var(--ivoire)}

.acct-head{margin-bottom:22px}
.acct-k{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--vf)}
.acct-win h3{font-size:clamp(21px,2.4vw,27px);margin-top:8px;color:var(--nv)}
.acct-sub{color:var(--gris);font-size:15.5px;margin:0 0 22px}

.acct-tabs{display:flex;gap:6px;background:var(--ivoire);padding:5px;border-radius:99px;margin-bottom:24px}
.atab{flex:1;border:0;background:none;padding:11px 14px;border-radius:99px;cursor:pointer;
  font-family:var(--display);font-weight:600;font-size:14px;color:var(--gris);transition:.25s}
.atab:hover{color:var(--vf)}
.atab.on{background:var(--vf);color:#fff;box-shadow:0 8px 18px -10px rgba(25,107,36,.9)}

.avue{display:none}
.avue.on{display:block;animation:fadein .3s both}

.profils{display:grid;gap:10px}
.profil{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--trait);
  border-left:4px solid var(--trait);border-radius:3px;padding:17px 19px;cursor:pointer;transition:.25s}
.profil:hover{border-color:var(--vv);border-left-color:var(--vv);transform:translateX(4px);
  box-shadow:0 16px 30px -22px rgba(14,40,65,.5)}
.profil .pk{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--or);display:block}
.profil b{font-family:var(--display);font-size:17px;color:var(--nv);display:block;margin:6px 0 4px}
.profil small{color:var(--gris);font-size:13.8px;display:block;line-height:1.5}

.acct-win label{font-family:var(--display);font-size:13px;font-weight:600;display:block;margin-bottom:6px}
.acct-win input,.acct-win select{width:100%;padding:13px 15px;border:1px solid var(--trait);
  border-radius:2px;font-family:var(--body);font-size:15.5px;margin-bottom:17px;color:var(--nv);background:#fff}
.acct-win input:focus,.acct-win select:focus{outline:2px solid var(--vv);outline-offset:1px;border-color:var(--vv)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.check{display:flex;align-items:flex-start;gap:9px;font-family:var(--body);font-size:14px;
  font-weight:400;color:var(--gris);cursor:pointer;margin:2px 0 20px}
.check input{width:auto;margin:2px 0 0}
.acct-row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.lien-fin{font-size:14px;color:var(--vf);font-weight:600;text-decoration:none}
.lien-fin:hover{text-decoration:underline}
.btn.large{width:100%;text-align:center;padding:15px}
.retour{border:0;background:none;color:var(--vf);font-family:var(--display);font-weight:600;
  font-size:14px;cursor:pointer;padding:0;margin-bottom:14px}
.retour:hover{text-decoration:underline}
.acct-note{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--trait);
  font-size:13px;color:var(--gris);text-align:center}

@media (max-width:1200px){.nav-cta{display:none}}

/* Header final : une seule grille stable à 100 % de zoom. */
@media (min-width:1001px) and (max-width:1400px){
  .site-header .nav{height:78px;gap:16px;padding-left:20px;padding-right:20px}
  .site-header .brand{flex:0 0 100px;margin-right:0}
  .site-header .brand-image{width:100px;height:58px}
  .site-header .main-navigation{min-width:0}
  .site-header .menu{gap:12px;font-size:12.5px}
  .site-header .header-actions{gap:7px}
  .site-header .header-account-link.account-icon-link{padding-right:8px}
  .site-header .header-account-link.account-icon-link > span:last-child{display:none}
  .site-header .header-actions > .btn.btn-p{min-width:145px;padding-left:12px;padding-right:12px;font-size:13px}
}
@media (max-width:1000px){
  .acct-label{display:none}
  .acct-btn{padding:7px;border-radius:50%}
}
@media (max-width:600px){
  .tools{gap:7px}
  .f2{grid-template-columns:1fr}
  .acct-win{padding:24px 18px}
  .acct-tabs{margin-bottom:18px}
}
@media (min-width:1800px){
  .acct-btn{font-size:17px;padding:9px 20px 9px 9px}
  .acct-btn .avatar{width:34px;height:34px}
  .acct-win{max-width:760px}
}
@media (hover:none){
  .acct-btn:hover,.profil:hover{transform:none;box-shadow:none}
  .acct-btn,.atab,.profil{min-height:44px}
}



/* ==========================================================================
   MENU PRINCIPAL À SOUS-MENUS
   ========================================================================== */
.menu{align-items:center}
.menu > li{position:relative}
.has-sub > .sub-top{display:inline-flex;align-items:center;gap:6px}
.has-sub > .sub-top .ch{font-size:10px;color:var(--gris);transition:.25s}
.has-sub:hover > .sub-top .ch,.has-sub.open > .sub-top .ch{transform:rotate(180deg);color:var(--vf)}

.sub{
  position:absolute;left:-14px;top:calc(100% + 14px);min-width:310px;list-style:none;
  background:#fff;border:1px solid var(--trait);border-top:3px solid var(--vf);
  border-radius:4px;padding:9px;margin:0;z-index:80;
  box-shadow:0 30px 55px -28px rgba(14,40,65,.55);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:.24s cubic-bezier(.2,.7,.3,1);
}
/* zone tampon : le curseur peut descendre sans fermer le sous-menu */
.has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}
.has-sub:hover > .sub,.has-sub:focus-within > .sub,.has-sub.open > .sub{
  opacity:1;visibility:visible;transform:none}

.sub li{border:0;margin:0}
.sub a{display:block;padding:11px 13px;border-radius:3px;text-decoration:none;transition:.2s;border:0}
.sub a::after{display:none}
.sub a:hover,.sub a:focus-visible{background:var(--ivoire)}
.sub a b{font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--nv);display:block}
.sub a:hover b{color:var(--vf)}
.sub a small{font-family:var(--body);font-weight:400;font-size:12.8px;color:var(--gris);
  display:block;margin-top:3px;line-height:1.45}
.sub a.sub-cta{background:var(--or);color:#fff;font-family:var(--display);font-weight:600;
  font-size:14px;text-align:center;margin-top:6px}
.sub a.sub-cta:hover{background:var(--or);color:#fff}

/* --- menu déroulant sur téléphone et tablette : accordéon --- */
@media (max-width:1000px){
  .menu{align-items:stretch}
  .has-sub > .sub-top{justify-content:space-between;width:100%}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;border-left:2px solid var(--vv);border-radius:0;padding:2px 0 10px 14px;
    margin:0 0 6px;min-width:0;display:none;background:none}
  .has-sub.open > .sub{display:block}
  .has-sub::after{display:none}
  .sub a{padding:10px 4px}
  .sub a.sub-cta{margin-top:8px;padding:12px}
}

/* --- écrans intermédiaires : on resserre --- */
@media (min-width:1001px) and (max-width:1400px){
  .menu{gap:16px;font-size:13.5px}
  .nav .btn{padding:12px 16px;font-size:13.5px}
  .nav img.lg{height:46px}
  .sub{min-width:280px}
}
@media (min-width:1800px){
  .sub{min-width:360px}
  .sub a b{font-size:16.5px}
  .sub a small{font-size:14px}
}


/* mots clés des services */
.mots{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--trait)}
.mots span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:8px 13px;
  border-radius:99px;border:1px solid var(--trait);background:var(--ivoire);color:var(--nv);white-space:nowrap}
.mots span.edit{border-color:var(--vv);background:rgba(78,167,46,.1);color:var(--vf);font-weight:500}
.sub-large{min-width:400px}
@media (min-width:1800px){.sub-large{min-width:480px}}
@media (max-width:1000px){.sub-large{min-width:0}}


/* triptyque affiché au bas du sous-menu Formations */
.sub-slogan{font-family:var(--display);font-style:italic;font-weight:600;font-size:14px;
  color:var(--vv);text-align:center;padding:12px 8px 4px;margin-top:6px;
  border-top:1px solid var(--trait);letter-spacing:.01em}


/* ==========================================================================
   EN-TÊTE : aucun libellé ne doit se couper en deux lignes
   ========================================================================== */
.nav{gap:clamp(20px,3vw,54px)}
.brand,.nav > a:first-child{margin-right:clamp(6px,1.6vw,26px)}
.menu > li > a{white-space:nowrap}
.sub-top{white-space:nowrap}
.nav .btn{white-space:nowrap}
.acct-btn{white-space:nowrap}

/* le sous-menu, lui, peut respirer sur plusieurs lignes */
.sub a b,.sub a small{white-space:normal}

@media (min-width:1001px) and (max-width:1400px){
  .menu{gap:15px;font-size:13px}
  .nav{gap:24px}
  .sub-large{min-width:300px}
}
@media (min-width:1401px) and (max-width:1600px){
  .menu{gap:20px;font-size:14px}
}


/* ==========================================================================
   RÉSERVATION ET PAIEMENT
   ========================================================================== */
.res-ov{position:fixed;inset:0;z-index:160;background:rgba(14,40,65,.76);backdrop-filter:blur(6px);
  display:none;overflow-y:auto;padding:clamp(16px,4vh,54px) 16px}
.res-ov.on{display:block;animation:fadein .24s both}
.res-win{position:relative;max-width:700px;margin:0 auto;background:#fff;border-radius:5px;
  border-top:4px solid var(--or);padding:clamp(26px,3.4vw,44px);
  box-shadow:0 40px 80px -32px rgba(0,0,0,.6)}
.res-win label{font-family:var(--display);font-size:13px;font-weight:600;display:block;margin-bottom:6px}
.res-win input,.res-win select{width:100%;padding:13px 15px;border:1px solid var(--trait);
  border-radius:2px;font-family:var(--body);font-size:15.5px;margin-bottom:17px;color:var(--nv);background:#fff}
.res-win input:focus,.res-win select:focus{outline:2px solid var(--vv);outline-offset:1px;border-color:var(--vv)}

.etapes{display:flex;gap:6px;margin-bottom:24px;flex-wrap:wrap}
.et{flex:1;min-width:110px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gris);padding:9px 6px;text-align:center;
  border-bottom:3px solid var(--trait);transition:.3s}
.et.on{color:var(--vf);border-bottom-color:var(--or);font-weight:500}

.rvue{display:none}
.rvue.on{display:block;animation:fadein .3s both}

.recap{background:var(--ivoire);border-left:4px solid var(--vf);border-radius:3px;
  padding:18px 20px;margin-bottom:24px}
.recap div{display:flex;justify-content:space-between;gap:14px;padding:5px 0;font-size:14.5px;color:var(--gris)}
.recap div b{color:var(--nv);font-family:var(--display);text-align:right}
.recap .total{border-top:1px solid var(--trait);margin-top:8px;padding-top:12px;font-size:17px}
.recap .total b{font-size:21px;font-weight:800;color:var(--vf)}

.moyens{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.moyen{text-align:left;background:#fff;border:1px solid var(--trait);border-left:4px solid var(--trait);
  border-radius:3px;padding:15px 16px;cursor:pointer;transition:.25s}
.moyen:hover{border-color:var(--vv);border-left-color:var(--vv);transform:translateY(-3px);
  box-shadow:0 16px 30px -22px rgba(14,40,65,.5)}
.moyen.on{border-color:var(--vf);border-left-color:var(--or);background:rgba(78,167,46,.07)}
.moyen .mk{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--or);display:block}
.moyen b{font-family:var(--display);font-size:16px;color:var(--nv);display:block;margin:5px 0 4px}
.moyen small{color:var(--gris);font-size:12.8px;display:block;line-height:1.45}

.detail{background:var(--nv);color:#fff;border-radius:3px;padding:20px 22px;margin-bottom:20px;
  animation:fadein .3s both}
.detail h5{font-family:var(--display);font-size:15px;color:var(--vv);margin:0 0 10px}
.detail p{color:rgba(255,255,255,.8);font-size:14.5px;margin:0 0 12px}
.detail .ligne{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);
  font-size:12.5px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.detail .ligne:last-child{border-bottom:0}
.detail .ligne span{color:rgba(255,255,255,.6)}
.detail .ligne b{color:#fff;text-align:right}
.detail input{margin-bottom:0}

.res-actions{display:flex;gap:12px;flex-wrap:wrap}
.res-actions .btn{flex:1;text-align:center;min-width:150px}
.btn:disabled{opacity:.45;cursor:not-allowed}

.fin-ok{text-align:center;padding:14px 0 4px}
.coche{width:64px;height:64px;border-radius:50%;background:var(--vf);color:#fff;font-size:30px;
  display:grid;place-items:center;margin:0 auto 18px}
.fin-ok h4{font-family:var(--display);font-size:23px;color:var(--nv);margin:0 0 12px}
.fin-ok p{color:var(--gris);font-size:15.5px;margin:0 0 10px}
.fin-sub{font-size:14px!important;color:var(--gris)}
.fin-ok .btn{margin-top:16px}

@media (max-width:600px){
  .moyens{grid-template-columns:1fr}
  .res-win{padding:24px 18px}
  .etapes{gap:4px}
  .et{font-size:9.5px;min-width:0}
  .res-actions .btn{min-width:0}
}
@media (hover:none){.moyen:hover{transform:none;box-shadow:none}}


/* ==========================================================================
   EN-TÊTE : logo au coin, menu centré, actions à droite
   ========================================================================== */
.nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,40px);justify-content:flex-start}
.nav > a:first-child{margin-right:auto;flex:0 0 auto}
.nav nav{flex:0 1 auto}
.wrap.nav{max-width:none;width:100%;
  padding-left:clamp(14px,1.6vw,30px);padding-right:clamp(14px,1.6vw,30px)}

/* bouton d'audit mis en avant */
.btn-audit{background:var(--or);color:#fff;font-weight:700;letter-spacing:.01em;
  box-shadow:0 12px 26px -12px rgba(233,113,50,.95);border:0;position:relative;overflow:hidden}
.btn-audit:hover{background:var(--or);transform:translateY(-2px);
  box-shadow:0 16px 32px -12px rgba(233,113,50,1)}
.btn-audit::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  animation:brille 4.2s ease-in-out infinite}
@keyframes brille{0%,70%{left:-60%}100%{left:130%}}

/* sous-menu sur deux colonnes, avec intertitres */
.sub-deux{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;min-width:640px;align-items:start}
.sub-deux > .col{display:block}
.sub-deux > .col > ul{list-style:none;margin:0 0 6px;padding:0}
.col-titre{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gris);padding:8px 13px 9px;
  border-bottom:1px solid var(--trait);margin-bottom:5px}
.sub-deux > .col > .col-titre:not(:first-child){margin-top:12px}

/* ==========================================================================
   RECHERCHE PAR MOT CLÉ
   ========================================================================== */
.icon-btn{width:42px;height:42px;border:1px solid var(--trait);background:#fff;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;color:var(--nv);transition:.25s;flex:0 0 auto}
.icon-btn:hover{border-color:var(--vv);color:var(--vf);background:rgba(78,167,46,.08)}

.search-ov{position:fixed;inset:0;z-index:170;background:rgba(14,40,65,.76);backdrop-filter:blur(6px);
  display:none;padding:clamp(50px,10vh,120px) 18px 20px;overflow-y:auto}
.search-ov.on{display:block;animation:fadein .22s both}
.search-box{max-width:760px;margin:0 auto}
.search-field{display:flex;align-items:center;gap:12px;background:#fff;border-radius:4px;
  padding:16px 18px;box-shadow:0 30px 60px -26px rgba(0,0,0,.6);color:var(--gris)}
.search-field input{flex:1;border:0;outline:0;font-family:var(--body);font-size:18px;
  color:var(--nv);background:none;padding:0;margin:0}
.search-field button{border:0;background:none;font-size:18px;color:var(--gris);cursor:pointer;
  width:34px;height:34px;border-radius:50%;transition:.2s}
.search-field button:hover{background:var(--ivoire);color:var(--nv)}

.cles{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cles-t{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.6);width:100%;margin-bottom:2px}
.cles button{font-family:var(--mono);font-size:12px;padding:8px 14px;border-radius:99px;
  border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;
  cursor:pointer;transition:.22s}
.cles button:hover{background:var(--vv);border-color:var(--vv)}

.results{margin-top:16px;border-radius:4px}
.results a{display:block;background:#fff;padding:16px 18px;text-decoration:none;
  border-bottom:1px solid var(--trait);transition:.2s}
.results a:first-child{border-radius:4px 4px 0 0}
.results a:last-child{border-bottom:0;border-radius:0 0 4px 4px}
.results a:hover,.results a:focus-visible{background:var(--ivoire)}
.results .rp{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--or)}
.results .rt{font-family:var(--display);font-weight:700;font-size:16.5px;color:var(--nv);display:block;margin-top:4px}
.results .rx{font-size:14px;color:var(--gris);margin-top:5px;display:block}
.results mark{background:rgba(78,167,46,.3);color:inherit;padding:0 2px;border-radius:2px}
.results .vide{background:#fff;padding:24px 18px;border-radius:4px;color:var(--gris);text-align:center}
.search-hint{color:rgba(255,255,255,.62);font-family:var(--mono);font-size:11.5px;
  letter-spacing:.1em;text-align:center;margin:16px 0 0}
.search-hint kbd{border:1px solid rgba(255,255,255,.4);border-radius:3px;padding:2px 6px}

@media (max-width:1300px){
  .sub-deux{min-width:520px}
  .menu{gap:14px;font-size:13px}
}
@media (max-width:1000px){
  .sub-deux{grid-template-columns:1fr;min-width:0}
  .acct-label{display:none}
  .acct-btn{padding:7px;border-radius:50%}
  .nav-cta{display:inline-block;padding:11px 16px;font-size:13px}
}
@media (max-width:720px){
  .nav-cta{display:none}
  .icon-btn{width:38px;height:38px}
}
@media (max-width:600px){
  .page-hero{padding-top:22px;padding-bottom:30px}
  .page-hero h1{font-size:32px}
  .page-sections{padding-top:20px;padding-bottom:52px}
  .page-sections .card{min-height:0}
  .page-tab-grid{grid-template-columns:1fr}
}
@media (min-width:1800px){
  .icon-btn{width:52px;height:52px}
  .search-field input{font-size:22px}
  .sub-deux{min-width:760px}
}
@media (hover:none){
  .btn-audit::after{display:none}
  .btn-audit:hover{transform:none}
  .icon-btn,.cles button{min-height:44px}
}


/* ==========================================================================
   ACCUEIL
   ========================================================================== */
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,64px);
  align-items:center;position:relative;z-index:2}
.hero-txt{max-width:none}
.hero h1{max-width:16ch}
.hero p.lead{max-width:54ch}

.hero-mini{display:flex;gap:clamp(18px,3vw,38px);margin-top:clamp(30px,3.6vw,48px);
  padding-top:clamp(22px,2.6vw,32px);border-top:1px solid var(--trait);flex-wrap:wrap}
.hero-mini div{display:flex;flex-direction:column}
.hero-mini b{font-family:var(--display);font-size:clamp(26px,2.8vw,38px);font-weight:800;
  color:var(--vf);line-height:1}
.hero-mini span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gris);margin-top:6px}

/* visuel : photo principale, incrustation et pastille */
.hero-vis{position:relative;padding:0 0 46px 46px}
.hero-vis figure{margin:0;overflow:hidden;border-radius:4px;cursor:pointer}
.hv-main{position:relative;box-shadow:0 40px 70px -34px rgba(14,40,65,.65)}
.hv-main img{width:100%;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.3,1)}
.hv-main:hover img{transform:scale(1.05)}
.hv-main::after{content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,rgba(25,107,36,.16),transparent 55%);pointer-events:none}

.hv-inc{position:absolute;left:0;bottom:0;width:52%;border:5px solid #fff;
  box-shadow:0 26px 50px -26px rgba(14,40,65,.7);animation:flotte 7s ease-in-out infinite}
.hv-inc img{width:100%;display:block}
@keyframes flotte{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.hv-badge{position:absolute;right:-8px;top:26px;background:var(--nv);color:#fff;
  padding:16px 20px;border-radius:4px;max-width:230px;
  box-shadow:0 26px 46px -22px rgba(14,40,65,.85);animation:flotte 8s ease-in-out infinite reverse}
.hv-badge .k{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--vv);display:block}
.hv-badge b{font-family:var(--display);font-size:15.5px;font-weight:600;display:block;margin-top:7px;line-height:1.35}

/* flèche de défilement */
.hero-fleche{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gris);transition:.25s}
.hero-fleche:hover{color:var(--vf)}
.hero-fleche i{font-style:normal;font-size:17px;color:var(--vf);animation:saute 2.2s ease-in-out infinite}
@keyframes saute{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(7px);opacity:1}}

@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-vis{padding:0 0 40px 34px;max-width:560px}
  .hv-badge{right:0;top:14px;max-width:190px;padding:13px 16px}
  .hero-fleche{display:none}
}
@media (max-width:600px){
  .hero-vis{padding:0 0 30px 24px}
  .hv-inc{width:56%;border-width:4px}
  .hv-badge{position:static;max-width:none;margin-top:14px;animation:none}
  .hero-mini{gap:22px}
}
@media (min-width:1800px){
  .hv-badge{max-width:300px;padding:22px 26px}
  .hv-badge b{font-size:19px}
}
@media (hover:none){
  .hv-inc,.hv-badge{animation:none}
  .hv-main:hover img{transform:none}
}


/* ==========================================================================
   PIED DE PAGE : même architecture que l'en-tête, sans redondance
   ========================================================================== */
.f-haut{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(28px,4vw,60px);
  align-items:center;padding-bottom:36px;margin-bottom:34px;
  border-bottom:1px solid rgba(255,255,255,.14)}
.f-marque p{max-width:56ch;margin:0}
.f-cta{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);
  border-left:4px solid var(--or);border-radius:4px;padding:24px 26px}
.f-cta .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--vv);display:block}
.f-cta b{font-family:var(--display);font-size:19px;font-weight:700;color:#fff;
  display:block;margin:9px 0 18px;line-height:1.3}
.f-cta .btn{width:100%;text-align:center}
.f-tel{display:block;text-align:center;margin-top:12px;font-family:var(--mono);
  font-size:12px;color:rgba(255,255,255,.6);text-decoration:none}
.f-tel:hover{color:var(--vv)}

.f-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:26px}

.f-coord{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14)}
.f-coord .k{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--vv);display:block}
.f-coord b{font-family:var(--display);font-size:15px;color:#fff;display:block;margin:7px 0 4px}
.f-coord b a{text-decoration:none}
.f-coord b a:hover{color:var(--vv)}
.f-coord small{color:rgba(255,255,255,.6);font-size:13px;line-height:1.55;display:block}
.site-footer{padding:56px 0 26px}.site-footer .wrap{max-width:1235px}.f-coord>div{padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}.f-coord>div>a{display:block;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);color:var(--vv);font:12px var(--mono);text-decoration:none}.f-coord>div>a:hover{color:#fff}
.f-legal{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;border:0}
.f-legal a{color:rgba(255,255,255,.68);font-size:12px;text-decoration:none}
.f-legal a:hover{color:#fff;text-decoration:underline}

.site-footer .f-bas{width:100%;}
.site-footer .f-bas > .f-legal{margin-left:auto;}
.site-footer .f-legal a{padding-left:0;white-space:nowrap;}
.site-footer .f-legal a:hover{padding-left:0;}

.site-header .menu > .menu-item-has-children > .sub-menu{min-width:280px;padding:12px 0;}
.site-header .menu > .menu-item-has-children > .sub-menu > li{display:block;width:100%;}
.site-header .menu > .menu-item-has-children > .sub-menu > li > a{display:block;padding:10px 16px;white-space:normal;}
.site-header .menu > .menu-item-has-children.submenu-open > a{color:var(--vf);}

.page-subnav{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--trait)}
.page-subnav-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);white-space:nowrap}
.page-subnav-links{display:flex;justify-content:flex-end;gap:8px 22px;flex-wrap:wrap}
.page-subnav-links a{display:inline-flex;align-items:center;gap:8px;color:var(--vf);font-family:var(--display);font-size:13px;font-weight:600;text-decoration:none}
.page-subnav-links a span{color:var(--or);transition:transform .2s ease}
.page-subnav-links a:hover span{transform:translateX(4px)}

@media (max-width:1100px){
  .f-grid{grid-template-columns:repeat(3,1fr)}
  .f-haut{grid-template-columns:1fr}
  .f-coord{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .f-grid{grid-template-columns:1fr 1fr}
  .f-coord{grid-template-columns:1fr}
}
@media (max-width:720px){
  .page-subnav{display:block}
  .page-subnav-label{display:block;margin-bottom:12px}
  .page-subnav-links{justify-content:flex-start;gap:10px 18px}
}
@media (max-width:1000px){
  .site-header .menu > .menu-item-has-children > .sub-menu{width:100%;min-width:0;padding:2px 0 10px;}
  .site-header .menu > .menu-item-has-children > .sub-menu > li > a{padding:10px 4px;}
  .site-header .menu > .menu-item-has-children.submenu-open > a{background:rgba(78,167,46,.08);padding-left:8px;}
}
@media (max-width:460px){
  .f-grid{grid-template-columns:1fr}
}

/* Final responsive header override: the menu must stay compact when account actions are present. */
@media (max-width:1100px) and (min-width:701px){
  .site-header .nav{grid-template-columns:96px minmax(0,1fr) auto;gap:14px;padding-left:18px;padding-right:18px}
  .site-header .brand,.site-header .brand-image{width:96px}
  .site-header .brand-image{height:56px}
  .site-header .main-navigation{order:3;flex:0 0 auto}
  .site-header .menu-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0;font-size:0;border:1px solid var(--trait);border-radius:50%;background:#fff}
  .site-header .menu-toggle::after{content:'\2630';font-size:22px;line-height:1}
  .site-header .menu{display:none!important;position:absolute;top:78px;left:0;right:0;max-width:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 18px;background:#fff;border-bottom:1px solid var(--trait);box-shadow:0 18px 28px -24px rgba(14,40,65,.8)}
  .site-header .menu.open,.site-header .main-navigation.toggled .menu{display:flex!important}
  .site-header .menu > li{border-bottom:1px solid var(--trait)}
  .site-header .menu > li > a{display:block;padding:13px 0}
  .site-header .header-actions{margin-left:auto;gap:7px}
  .site-header .header-account-link > span:last-child{display:none}
  .site-header .header-actions > .btn.btn-p{display:none}
  .site-header .header-logout{font-size:0;width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid var(--trait);border-radius:50%}
  .site-header .header-logout::before{content:'↪';font-size:18px;color:var(--or)}
}
@media (min-width:1101px) and (max-width:1500px){
  .site-header .nav{gap:14px}
  .site-header .menu{gap:9px;font-size:11px}
  .site-header .menu > li > a{padding-top:5px;padding-bottom:5px}
}
@media (min-width:701px) and (max-width:1100px){
  .site-header .menu > li > a{font-size:11px;padding-top:11px;padding-bottom:11px}
}
@media (min-width:1101px){
  .site-header .header-actions{gap:7px}
  .site-header .header-account-link.account-icon-link{gap:5px;padding-right:7px;font-size:12px}
  .site-header .header-account-link.account-icon-link .account-icon{width:28px;height:28px}
  .site-header .header-account-link.account-icon-link > span:last-child{display:inline}
}
@media (min-width:1101px) and (max-width:1500px){
  .site-header .nav{gap:14px}
  .site-header .menu{gap:9px;font-size:11px}
  .site-header .menu > li > a{padding-top:5px;padding-bottom:5px}
}
@media (max-width:1350px) and (min-width:1101px){
  .site-header .header-actions{gap:8px}
  .site-header .header-logout{font-size:0;width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid var(--trait);border-radius:50%}
  .site-header .header-logout::before{content:'↪';font-size:18px;color:var(--or)}
}

/* Comportement du header : sticky, onglets animés et survol continu. */
.site-header{transition:background-color .3s ease,box-shadow .3s ease,border-color .3s ease}
.site-header.is-scrolled{background:rgba(255,255,255,.98);box-shadow:0 10px 28px -18px rgba(14,40,65,.72)}
.site-header .nav{transition:height .3s ease}
.site-header.is-scrolled .nav{height:70px}
.site-header.is-scrolled .brand-image{height:54px}
.site-header .menu > li{animation:referenceTabIn .65s cubic-bezier(.2,.7,.3,1) both}
.site-header .menu > li:nth-child(2){animation-delay:.06s}.site-header .menu > li:nth-child(3){animation-delay:.12s}.site-header .menu > li:nth-child(4){animation-delay:.18s}.site-header .menu > li:nth-child(5){animation-delay:.24s}.site-header .menu > li:nth-child(6){animation-delay:.3s}.site-header .menu > li:nth-child(7){animation-delay:.36s}
@keyframes referenceTabIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.site-header .menu > li > a{transition:color .22s ease,transform .22s ease}
.site-header .menu > li:hover > a,.site-header .menu > li:focus-within > a{color:var(--vf);transform:translateY(-1px)}
.site-header .menu > li > a::after{transition:width .28s cubic-bezier(.2,.7,.3,1),background-color .22s ease}
.site-header .menu > li.menu-item-has-children::after{content:"";position:absolute;left:-14px;right:-14px;top:100%;height:20px;z-index:79}
.site-header .menu .menu-item-has-children > .sub-menu{top:calc(100% + 8px);z-index:80;transition:opacity .22s ease,visibility .22s ease,transform .22s cubic-bezier(.2,.7,.3,1)}
.site-header .menu .menu-item-has-children:hover > .sub-menu,.site-header .menu .menu-item-has-children:focus-within > .sub-menu,.site-header .menu .menu-item-has-children.submenu-open > .sub-menu,.site-header .menu .menu-item-has-children > .sub-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.site-header .menu .sub-menu a{transition:background-color .2s ease,color .2s ease,padding-left .2s ease}
.site-header .menu .sub-menu a:hover,.site-header .menu .sub-menu a:focus-visible{padding-left:20px;color:var(--vf)}
@media (max-width:1000px){
  .site-header.is-scrolled .nav{height:64px}.site-header.is-scrolled .brand-image{height:48px}
  .site-header .menu > li{animation:none}
  .site-header .menu > li.menu-item-has-children::after{display:none}
  .site-header .menu .menu-item-has-children > .sub-menu{top:auto}
  .site-header .menu .menu-item-has-children.submenu-open > .sub-menu{display:block}
  .site-header .menu .sub-menu a:hover,.site-header .menu .sub-menu a:focus-visible{padding-left:4px}
}
@media (max-width:600px){.site-header.is-scrolled .nav{height:64px}.site-header.is-scrolled .brand-image{height:48px}}
@media (prefers-reduced-motion:reduce){.site-header .menu > li{animation:none!important}.site-header,.site-header .nav,.site-header .menu > li > a,.site-header .menu .sub-menu,.site-header .menu .sub-menu a{transition:none!important}}

/* Proportions finales de référence du header. */
.site-topbar{position:relative;z-index:61}
.site-header .nav{height:84px;max-width:1280px;padding-left:32px;padding-right:32px;gap:28px}
.site-header .brand{flex:0 0 126px}
.site-header .brand-image{width:126px;height:68px}
.site-header .main-navigation{flex:1 1 auto}
.site-header .menu{gap:clamp(15px,2vw,31px);font-size:13px;font-weight:600}
.site-header .menu > li > a{color:#173e53;padding:8px 0}
.site-header .menu > li:hover > a,.site-header .menu > li:focus-within > a{color:var(--vf)}
.site-header .header-actions{gap:12px}
.site-header .header-search{width:38px;height:38px;border-color:#cbd8d0}
.site-header .account-icon-link{border-color:#cbd8d0;padding-right:12px}
.site-header .header-actions > .btn.btn-p{min-width:138px;height:42px;padding:11px 18px;border-radius:6px;font-size:12px;letter-spacing:.08em}
.site-header .menu .sub-menu{left:50%;top:calc(100% + 15px);min-width:560px;padding:20px 26px 22px;transform:translate(-50%,8px);grid-template-columns:repeat(2,minmax(210px,1fr));gap:4px 28px}
.site-header .menu .menu-item-has-children:hover > .sub-menu,.site-header .menu .menu-item-has-children:focus-within > .sub-menu,.site-header .menu .menu-item-has-children.submenu-open > .sub-menu,.site-header .menu .menu-item-has-children > .sub-menu.open{transform:translate(-50%,0)}
.site-header .menu .sub-menu a{padding:12px 0;color:#183a52}
.site-header .menu .sub-menu a:hover,.site-header .menu .sub-menu a:focus-visible{padding-left:0;color:var(--vf)}
.site-header .menu .sub-menu a b{font-size:15px}
.site-header .menu .sub-menu a small{font-size:11px}
.about-navigation-anchors{position:relative;height:0;scroll-margin-top:96px}
.about-navigation-anchors span{position:relative;display:block;top:-96px;height:0}
@media (max-width:1200px) and (min-width:1001px){
  .site-header .nav{padding-left:22px;padding-right:22px;gap:16px}
  .site-header .brand{flex-basis:104px}.site-header .brand-image{width:104px;height:60px}
  .site-header .menu{gap:13px;font-size:12px}
  .site-header .header-actions{gap:7px}.site-header .header-actions > .btn.btn-p{min-width:120px;padding-left:10px;padding-right:10px}
}
@media (max-width:1000px){
  .site-header .nav{height:78px;padding-left:18px;padding-right:18px}
  .site-header .brand{flex-basis:106px}.site-header .brand-image{width:106px;height:60px}
  .site-header .menu{top:78px;transform:none}
  .site-header .menu .sub-menu{min-width:0;transform:none;grid-template-columns:1fr;padding:2px 0 10px}
  .site-header .menu .menu-item-has-children:hover > .sub-menu,.site-header .menu .menu-item-has-children:focus-within > .sub-menu,.site-header .menu .menu-item-has-children.submenu-open > .sub-menu,.site-header .menu .menu-item-has-children > .sub-menu.open{transform:none}
}
@media (max-width:600px){
  .site-topbar-inner{min-height:34px}
  .site-header .nav{height:70px;padding-left:12px;padding-right:12px}
  .site-header .brand{flex-basis:88px}.site-header .brand-image{width:88px;height:52px}
}

@media (min-width:1001px){
  .site-header .nav{max-width:none;padding-left:28px}
  .site-header .brand{flex-basis:150px}
  .site-header .brand-image.header-brand-logo{width:150px;height:80px}
}

.site-header .nav{max-width:none;padding-left:0}
.site-header .brand{margin-left:0}

@media (max-width:1000px){
  .site-header .nav{padding-left:0}
}

@media (min-width:1001px) and (max-width:1500px){
  .site-header .nav{
    grid-template-columns:150px minmax(0,1fr) auto;
    gap:14px;
    padding-right:20px;
  }
  .site-header .main-navigation{justify-content:center;min-width:0}
  .site-header .menu{justify-content:center;gap:clamp(8px,1.15vw,15px);font-size:12px}
  .site-header .header-actions{gap:7px}
  .site-header .header-logout{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid var(--trait);
    border-radius:50%;
    font-size:0;
  }
  .site-header .header-logout::before{content:'↪';font-size:18px;color:var(--or)}
  .site-header .header-actions > .btn.btn-p{min-width:132px;padding-left:10px;padding-right:10px}
}

@media (max-width:1000px){
  .site-header .brand-image.header-brand-logo{width:112px;height:70px}
}


/* ==========================================================================
   PHOTOS DU PDG : diptyque au même format, cadres réguliers
   ========================================================================== */
.pdg-photos{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.pp{margin:0;position:relative;overflow:hidden;border-radius:4px;background:var(--nv);
  aspect-ratio:3/4;cursor:pointer;border:1px solid var(--trait)}
.pp img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;
  transition:transform 1.1s cubic-bezier(.2,.7,.3,1)}
.pp:hover img{transform:scale(1.05)}
.pp figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;
  background:linear-gradient(to top,rgba(10,30,49,.94),transparent);pointer-events:none}
.pp figcaption .k{font-family:var(--mono);font-size:10px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--vv)}

/* la première photo est légèrement mise en avant */
.pp-1{border-top:3px solid var(--vf);box-shadow:0 26px 46px -28px rgba(14,40,65,.6)}
.pp-2{margin-top:30px;border-top:3px solid var(--or)}

.pp-badge{position:absolute;left:50%;transform:translateX(-50%);bottom:-16px;z-index:3;
  background:var(--vf);color:#fff;padding:9px 18px;border-radius:99px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  white-space:nowrap;box-shadow:0 14px 28px -12px rgba(25,107,36,.9)}

.pdg-grid{align-items:start}
.pdg-grid > .pdg-photos{padding-bottom:26px}

@media (max-width:1000px){
  .pdg-photos{max-width:520px;margin:0 auto}
}
@media (max-width:520px){
  .pdg-photos{grid-template-columns:1fr;gap:12px}
  .pp-2{margin-top:0}
  .pp{aspect-ratio:4/3}
  .pp img{object-position:center 25%}
  .pp-badge{position:static;transform:none;display:inline-block;margin-top:12px}
}
@media (hover:none){.pp:hover img{transform:none}}

/* Keep the dashboard sidebar aligned with the main content and footer. */
.platform-shell:has(.platform-app){display:grid;grid-template-columns:192px minmax(0,1fr);max-width:none;padding:0}
.platform-shell:has(.platform-app) .platform-app{display:contents}
.platform-shell:has(.platform-app) .platform-sidebar{grid-column:1;grid-row:1 / span 2}
.platform-shell:has(.platform-app) .platform-main{grid-column:2}
.platform-shell:has(.platform-app) .platform-footer{grid-column:2}
@media(max-width:900px){.platform-shell:has(.platform-app){display:block;padding:0 18px 42px}.platform-shell:has(.platform-app) .platform-app{display:block}.platform-shell:has(.platform-app) .platform-sidebar,.platform-shell:has(.platform-app) .platform-main,.platform-shell:has(.platform-app) .platform-footer{grid-column:auto;grid-row:auto}}

/* Topbar desktop final : slogan à gauche, liens rapides et langues à droite de l'écran. */
@media (min-width:701px){
  .site-topbar-inner{width:100%;max-width:none;margin:0;padding-left:24px;padding-right:24px}
  .topbar-slogan{margin-right:auto}
  .topbar-links{margin-left:auto}
}

/* Topbar desktop : slogan à gauche, liens rapides et langues à droite sur toute la largeur. */
@media (min-width:701px){
  .site-topbar-inner{width:100%;max-width:none;margin:0;padding-left:24px;padding-right:24px}
  .topbar-slogan{margin-right:auto}
  .topbar-links{margin-left:auto}
}

/* Sous-menus verticaux : seuls À propos de nous et Ressources restent en grille. */
@media (min-width:1001px){
  .site-header .menu > .menu-item-submenu-vertical > .sub-menu{
    grid-template-columns:1fr !important;
    min-width:330px;
  }
}

/* Header : réduit les onglets entre 1101 et 1500 px pour éviter tout chevauchement. */
@media (min-width:1101px) and (max-width:1500px){
  .site-header .menu{gap:10px;font-size:11px}
  .site-header .menu > li > a{padding-top:5px;padding-bottom:5px}
}

/* Sous-menu : l'accès WhatsApp devient l'action verte clairement identifiable. */
.site-header .menu .menu-item-whatsapp > a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:6px;
  padding:10px 18px;
  border-radius:999px;
  background:#25d366;
  color:#fff;
  font-family:var(--display);
  font-size:13px;
  font-weight:700;
  text-align:center;
  box-shadow:0 8px 18px -12px rgba(37,211,102,.95);
}
.site-header .menu .menu-item-whatsapp > a:hover,
.site-header .menu .menu-item-whatsapp > a:focus-visible{
  background:#1faa53;
  color:#fff;
  box-shadow:0 10px 20px -10px rgba(37,211,102,.95);
  transform:translateY(-1px);
}
.site-header .menu .menu-item-whatsapp > a b{color:inherit}
.site-header .menu .menu-item-whatsapp > a small{display:none}
.site-header .menu .menu-item-whatsapp{display:block!important;width:100%}
@media (max-width:1000px){
  .site-header .menu .menu-item-whatsapp > a{margin:8px 0 10px;padding:12px 18px}
}

/* Sous-menus : une colonne par défaut pour une lecture plus claire; À propos et Ressources restent en grille. */
@media (min-width:1001px){
  .site-header .menu > .menu-item-submenu-vertical > .sub-menu{grid-template-columns:1fr;min-width:330px}
}

@media (min-width:1001px){
  .site-header .menu > .menu-item-submenu-vertical > .sub-menu{
    width:300px;
    min-width:300px;
    padding:14px 10px 10px;
    gap:0;
  }
  .site-header .menu > .menu-item-submenu-vertical > .sub-menu > li > a{
    padding:10px 13px;
  }
}

.site-header .menu .menu-item-audit > a{
  border-radius:2px;
  background:var(--vf);
  box-shadow:none;
}
.site-header .menu .menu-item-audit > a:hover,
.site-header .menu .menu-item-audit > a:focus-visible{
  background:var(--vv);
  box-shadow:none;
}

/* Ressources : appel à l'action vert, aligné sur le bouton WhatsApp. */
.site-header .menu .menu-item-audit > a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:6px;
  padding:10px 18px;
  border-radius:999px;
  background:#25d366;
  color:#fff;
  font-family:var(--display);
  font-size:13px;
  font-weight:700;
  text-align:center;
  box-shadow:0 8px 18px -12px rgba(37,211,102,.95);
}
.site-header .menu .menu-item-audit > a:hover,
.site-header .menu .menu-item-audit > a:focus-visible{
  background:#1faa53;
  color:#fff;
  box-shadow:0 10px 20px -10px rgba(37,211,102,.95);
  transform:translateY(-1px);
}
.site-header .menu .menu-item-audit > a b{color:inherit}
@media (max-width:1000px){
  .site-header .menu .menu-item-audit > a{margin:8px 0 10px;padding:12px 18px}
}

/* Dernier override du header : les onglets restent compacts pour laisser respirer la zone compte. */
@media (min-width:1101px) and (max-width:1500px){
  .site-header .menu{gap:10px;font-size:11px}
  .site-header .menu > li > a{padding-top:5px;padding-bottom:5px}
}

/* Taille finale des onglets desktop, après les anciennes règles du thème. */
@media (min-width:1201px) and (max-width:1500px){
  .site-header .menu{gap:10px;font-size:11px}
  .site-header .menu > li > a{padding-top:5px;padding-bottom:5px}
}

.platform-role-context{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--nv);color:#fff;border-left:3px solid var(--or)}
.platform-role-context .platform-kicker{color:var(--vv)}
.platform-role-context strong{font:600 15px var(--display)}

/* Final homepage hero treatment inspired by the supplied preview. */
.home-hero{isolation:isolate;min-height:clamp(610px,78vh,860px);display:flex;align-items:center;background:var(--nv);padding:clamp(88px,10vw,150px) 0 clamp(90px,10vw,140px)}
.home-hero-media,.home-hero-media img,.home-hero-veil,.home-hero-gridline{position:absolute;inset:0}
.home-hero-media{z-index:-2;background-image:url('https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=2400&q=82'),linear-gradient(115deg,#dfe9e0 0%,#8cb9a4 52%,#183f45 100%);background-size:cover;background-position:center}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.9;filter:saturate(.8) contrast(1.08);animation:homeHeroDrift 24s ease-in-out infinite alternate}
.home-hero-veil{background:linear-gradient(100deg,rgba(8,22,38,.7) 0%,rgba(8,22,38,.46) 35%,rgba(8,22,38,.18) 68%,rgba(8,22,38,.34) 100%)}
.home-hero-gridline{opacity:.16;background-image:radial-gradient(var(--vv) 1.4px,transparent 1.5px);background-size:16px 16px;mask-image:linear-gradient(105deg,#000,transparent 58%)}
@keyframes homeHeroDrift{from{transform:scale(1.03)}to{transform:scale(1.1)}}
.home-hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.6fr);gap:clamp(42px,8vw,120px)}
.home-hero-copy{max-width:760px}
.home-hero-copy .eyebrow{color:var(--vv);font-size:13px;letter-spacing:.18em;display:flex;align-items:center;gap:16px}
.home-hero-copy .eyebrow::after{background:rgba(255,255,255,.34)}
.home-hero-copy h1{color:#fff;text-shadow:0 1px 18px rgba(0,0,0,.35);font-size:clamp(64px,7vw,170px);line-height:.9;letter-spacing:-.06em;max-width:600px}
.home-hero-copy h1 em{font-style:normal;color:var(--vv);display:block}
.home-lead{color:rgba(255,255,255,.9);text-shadow:0 2px 14px rgba(0,0,0,.35);font-size:clamp(22px,2vw,32px);line-height:1.45;max-width:1000px}
.home-baseline{margin:18px 0 0;color:var(--vv);font:600 clamp(19px,2vw,28px) var(--display);font-style:italic;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.home-hero .btn-g{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(4px)}
.home-proof{border-top-color:rgba(255,255,255,.35)}
.home-proof span{color:rgba(255,255,255,.78)}
.home-hero-notes{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.home-hero-notes span{display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid rgba(255,255,255,.28);border-radius:99px;background:rgba(8,22,38,.42);backdrop-filter:blur(5px);color:#fff;font:11px var(--mono);letter-spacing:.06em;white-space:nowrap}
.home-hero-notes i{width:8px;height:8px;border-radius:50%;background:var(--or);box-shadow:0 0 0 5px rgba(233,113,50,.15)}
.home-hero-notes span+span i{background:var(--vv);box-shadow:0 0 0 5px rgba(78,167,46,.15)}
@media(max-width:900px){.home-hero{min-height:0}.home-hero-grid{grid-template-columns:1fr}.home-hero-notes{align-items:flex-start;flex-direction:row;flex-wrap:wrap;margin-top:22px}}
@media(max-width:600px){.home-hero{padding-top:58px}.home-hero-copy h1{font-size:clamp(38px,12vw,54px)}.home-hero-notes span{font-size:10px;padding:8px 12px}.home-hero-media img{animation:none;transform:none}}
@media(prefers-reduced-motion:reduce){.home-hero-media img{animation:none;transform:none}}

/* CIRPAE-TIC dashboards: le chrome public reste identique au reste du site. */
body:has(.platform-shell) .site-topbar{display:block}
body:has(.platform-shell) .site-header{display:block;height:auto;background:#fff}
.platform-app{position:relative}
.platform-shell{background:#f8f9ff;min-height:calc(100vh - 78px);padding:0 32px 56px;color:#077454}
.platform-layout{max-width:1440px;grid-template-columns:250px minmax(0,1fr);gap:28px}
.platform-sidebar{background:#077454;min-height:calc(100vh - 78px);padding:30px 18px;position:sticky;top:78px;border-radius:0 0 4px 4px;box-shadow:12px 0 28px -26px rgba(11,20,32,.8)}
.platform-sidebar h1{font:800 25px/1 var(--display);letter-spacing:-.03em;color:#00F807;margin:0 0 4px;max-width:none}
.platform-sidebar .platform-kicker{font-size:10px;color:#00F807;margin:0 0 4px}
.platform-sidebar .platform-brand-name{font:800 25px/1 var(--display);letter-spacing:-.03em}
.platform-sidebar-subtitle{color:rgba(255,255,255,.7);font-size:11px;margin:0 0 42px}
.platform-sidebar nav{gap:6px}.platform-sidebar nav a{display:flex;align-items:center;gap:12px;border-left:0;border-radius:4px;padding:13px 14px;color:rgba(255,255,255,.8);font:600 13px/1.25 var(--display)}
.platform-sidebar nav a.is-active,.platform-sidebar nav a:hover{background:#FC8301;color:#077454;border-left:0}
.platform-mobile-toggle{display:none}
.platform-back{margin-top:auto;padding-top:170px;color:rgba(255,255,255,.75);font-size:12px}
.platform-audit-link{display:flex;justify-content:center;gap:8px;margin-top:42px;padding:13px 10px;border-radius:4px;background:#FC8301;color:#077454;text-decoration:none;font:700 12px var(--display)}
.platform-sidebar-footer{display:grid;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}.platform-sidebar-footer a{color:rgba(255,255,255,.78);text-decoration:none;font:600 12px var(--display)}.platform-sidebar-footer a:hover{color:#00F807}
.platform-main{padding:28px 0 0}.platform-topbar{margin:0 0 28px;align-items:center}.platform-topbar h2{font:700 clamp(27px,3vw,40px)/1.12 var(--display);color:#077454}.platform-intro{max-width:650px;margin:9px 0 0;color:#42493c;font-size:15px;line-height:1.55}.platform-status{font:11px var(--mono);color:#5c6a5e}
.platform-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:24px}.platform-role-context{border-radius:4px}.platform-stat,.platform-panel{border:1px solid #e5e7eb;border-radius:5px;box-shadow:0 10px 28px -28px rgba(11,20,32,.7)}.platform-stat{padding:20px 18px;min-height:128px}.platform-stat strong{font-size:30px}.platform-stat span{font:700 11px/1.35 var(--display);text-transform:uppercase;letter-spacing:.08em}
.platform-grid{gap:18px;margin-bottom:24px}.platform-panel{padding:24px}.panel-heading{margin-bottom:18px}.panel-heading h3{font-size:21px;color:#077454}.platform-row{padding:15px 0}.platform-pill{border:0;border-radius:99px;background:#eaf5e8;color:#077454;padding:6px 10px}
.platform-student-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#077454;color:#fff;border-radius:17px;padding:38px 42px;margin:0 0 28px;min-height:240px}.platform-student-hero h3{font-size:34px;color:#fff;margin:10px 0 12px}.platform-student-hero h3 span{color:#00F807}.platform-student-hero p:not(.platform-kicker){max-width:610px;color:rgba(255,255,255,.82);margin:0 0 22px}.platform-student-hero .btn{background:#077454;border:0;color:#fff}.platform-student-progress{width:142px;height:142px;flex:0 0 142px;border:4px solid #00F807;border-radius:50%;display:grid;place-content:center;text-align:center;background:#0a5d45}.platform-student-progress strong{font:800 35px/1 var(--display)}.platform-student-progress small{color:rgba(255,255,255,.82);font-size:10px;margin-top:7px}
.platform-shell--partenaire .platform-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-shell--partenaire .platform-role-context{grid-column:auto;background:#fff;color:#077454;border-left:0}.platform-shell--partenaire .platform-role-context .platform-kicker{color:#077454}.platform-shell--partenaire .platform-role-context strong{color:#077454}
.platform-shell--admin .platform-role-context{display:none}.platform-shell--admin .platform-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.platform-shell--admin .platform-stat:nth-child(3) span,.platform-shell--admin .platform-stat:nth-child(3) strong,.platform-shell--admin .platform-stat:nth-child(3) small{color:#ba1a1a}.platform-shell--admin .platform-stat:nth-child(6){display:none}
@media(max-width:1000px){.platform-shell{padding:0 18px 42px}.platform-layout{grid-template-columns:1fr}.platform-sidebar{position:static;min-height:0;border-radius:0;padding:20px}.platform-sidebar-subtitle{margin-bottom:18px}.platform-back{padding-top:22px}.platform-sidebar nav{display:flex;flex-wrap:wrap}.platform-sidebar nav a{flex:1 1 145px}.platform-stats,.platform-shell--partenaire .platform-stats,.platform-shell--admin .platform-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.platform-shell{padding:0 12px 30px}.platform-main{padding-top:20px}.platform-topbar{align-items:flex-start;flex-direction:column;margin-bottom:20px}.platform-topbar h2{font-size:28px}.platform-status{align-self:flex-start}.platform-mobile-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:11px 14px;background:#077454;color:#fff;border:0;border-radius:4px;font:600 13px var(--display);cursor:pointer}.platform-mobile-toggle span{font-size:18px}.platform-sidebar{display:none}.platform-sidebar.is-open{display:block}.platform-sidebar nav a{flex-basis:100%}.platform-student-hero{align-items:flex-start;flex-direction:column;padding:26px 22px;border-radius:12px}.platform-student-hero h3{font-size:28px}.platform-student-progress{align-self:center}.platform-stats,.platform-shell--partenaire .platform-stats,.platform-shell--admin .platform-stats{grid-template-columns:1fr}.platform-grid{grid-template-columns:1fr}.platform-panel{padding:18px}.platform-panel:has(table){overflow-x:auto}.platform-panel table{min-width:600px}.platform-row{grid-template-columns:58px minmax(0,1fr)}.platform-pill{grid-column:2;justify-self:start}.platform-user-list{grid-template-columns:1fr}.platform-shell--admin .platform-stat:nth-child(6){display:block}}

/* Reference dashboard application layout. */
.platform-app{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:192px minmax(0,1fr);min-height:calc(100vh - 78px);background:#f8f9ff;color:#077454}
.platform-app .platform-sidebar{position:relative;top:auto;grid-row:1 / span 2;min-height:calc(100vh + 40px);height:auto;align-self:stretch;padding:18px 10px;background:#077454;border-radius:0;box-shadow:none}
.platform-brand{padding:8px 10px 26px;border-bottom:1px solid rgba(255,255,255,.08);color:#00F807}.platform-brand strong{display:block;font:800 24px/1 var(--display)}.platform-brand small{display:block;margin-top:7px;color:rgba(255,255,255,.82);font-size:9px}
.platform-app .platform-sidebar nav{display:grid;gap:6px;margin-top:20px}.platform-app .platform-sidebar nav a{padding:11px 10px;gap:10px;font-size:11px}.platform-app .platform-sidebar nav a span{font-size:17px}.platform-app .platform-sidebar nav a.is-active{background:#FC8301}
.platform-app .platform-audit-link{margin:0 2px 14px;padding:11px 5px;font-size:10px}.platform-app .platform-sidebar-footer{margin-top:auto}.platform-app .platform-sidebar-footer a{font-size:11px;padding:7px 10px}
.platform-shell .site-footer{display:none}.platform-footer{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 48px;background:#077454;color:rgba(255,255,255,.82);font-size:10px}.platform-footer strong{color:#00F807}.platform-footer nav{display:flex;gap:20px}.platform-footer a{color:rgba(255,255,255,.82);text-decoration:none}.platform-footer a:hover{color:#00F807}
.platform-app .platform-main{padding:0;min-width:0}.platform-dashboard-header{height:58px;padding:0 32px;border-bottom:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.platform-dashboard-header h1{margin:0;color:#077454;font:700 17px var(--display)}.platform-header-actions{display:flex;align-items:center;gap:14px}.platform-search{display:flex;align-items:center;gap:7px;border:1px solid #9aa5b5;border-radius:9px;padding:6px 10px;background:#fff;color:#077454}.platform-search input{width:145px;border:0;background:transparent;outline:0;font-size:11px}.platform-icon-button{border:0;background:transparent;color:#077454;font-size:18px;cursor:pointer}.platform-account{border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;color:#077454;text-decoration:none;font-size:11px;font-weight:700;background:#fff}
.platform-content{padding:42px 48px 54px}.platform-welcome--plain{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:22px}.platform-welcome h2{margin:0 0 8px;font:700 30px/1.15 var(--display);color:#077454}.platform-welcome p{max-width:600px;margin:0;color:#42493c;font-size:13px;line-height:1.5}.platform-actions{display:flex;gap:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:2px;text-decoration:none;font:700 11px var(--display);cursor:pointer}.btn-primary{background:#077454;color:#fff}.btn-orange{background:#FC8301;color:#077454}.btn-outline{border:1px solid #dfe4ea;background:#fff;color:#077454}
.platform-stats{display:grid!important;gap:16px;margin:0 0 18px}.platform-stats--admin{grid-template-columns:repeat(4,minmax(0,1fr))}.platform-stats--partner{grid-template-columns:1fr 1.8fr 1fr}.platform-stats--student{grid-template-columns:repeat(3,1fr)}.platform-stat{padding:17px 16px;min-height:118px;background:#fff}.platform-stat>div{display:flex;justify-content:space-between;gap:10px}.platform-stat>div span,.platform-stat>span{font-size:10px;line-height:1.25;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.platform-stat>div i,.platform-stats--student>article>i{font-style:normal;color:#077454;background:#eaf1ff;padding:5px;border-radius:3px}.platform-stat strong{display:block;margin:9px 0 5px;font:700 28px var(--display);color:#077454}.platform-stat small{color:#42493c;font-size:10px}.platform-stat--wide strong{font-size:40px}.platform-stat b{float:right;color:#077454;font-size:10px}.platform-progress{display:block;height:5px;margin-top:14px;background:rgba(255,255,255,.82);border-radius:5px;overflow:hidden}.platform-progress i{display:block;height:100%;background:#077454;border-radius:inherit}.platform-storage{display:flex;height:7px;margin-top:13px}.platform-storage i{display:block;flex:1;background:#077454;margin-right:2px}.platform-storage i:nth-child(2){background:#00F807}.platform-storage i:nth-child(3){background:rgba(255,255,255,.82)}
.platform-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr);gap:18px}.platform-panel{padding:17px;background:#fff}.platform-panel h3{margin:0;color:#077454;font-size:18px}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:15px}.panel-heading p{margin:6px 0 0;color:#72796b;font-size:11px}.panel-heading a,.platform-panel a{color:#077454;font-size:10px;font-weight:700;text-decoration:none}.platform-table-scroll{overflow-x:auto}.platform-panel table{width:100%;border-collapse:collapse;font-size:11px}.platform-panel th{padding:10px;text-align:left;background:#f8f9ff;color:#42493c;font-size:9px;text-transform:uppercase}.platform-panel td{padding:13px 10px;border-top:1px solid #e5e7eb}.platform-pill{display:inline-block;padding:5px 8px;border-radius:12px;background:#eaf5e8;color:#077454;font-size:9px}.platform-side-panel{display:flex;flex-direction:column;gap:15px}.platform-score-card{padding:18px;background:#077454;color:#fff;text-align:center}.platform-score-card strong{font-size:42px;color:#00F807}.platform-score-card strong small{font-size:18px}.platform-score-card p,.platform-support p{font-size:10px;line-height:1.45;color:rgba(255,255,255,.82)}.platform-support{padding:12px;background:#eff4ff}.platform-support strong{font-size:11px}.platform-support a{font-size:10px}.platform-activity-list{display:grid;gap:15px}.platform-activity-list p{margin:0;padding-left:28px;font-size:11px}.platform-activity-list b,.platform-activity-list small{display:block}.platform-activity-list small{margin-top:3px;color:#72796b;font-size:9px}
.platform-student-hero{margin-bottom:90px;padding:35px 37px;min-height:170px;border-radius:17px;background:#077454}.platform-student-hero h2{margin:0 0 12px;color:#fff;font:700 30px var(--display)}.platform-student-hero h2 span{color:#00F807}.platform-student-hero p{max-width:510px;margin:0 0 22px;color:rgba(255,255,255,.82);font-size:13px;line-height:1.55}.platform-student-progress{width:120px;height:120px;background:#0a5d45;border:3px solid #00F807;border-radius:9px}.platform-student-progress strong{font-size:32px}.platform-student-progress small{font-size:9px}.platform-stats--student .platform-stat{min-height:160px}.platform-stats--student .platform-stat>i{display:inline-block;font-style:normal}.platform-stats--student .platform-stat>b{float:right;padding:5px 8px;border-radius:10px;background:#eaf1ff;font-size:9px}.platform-stats--student .platform-stat>span{display:block;margin-top:2px;text-transform:none;letter-spacing:0;font-weight:400;font-size:12px}.platform-stats--student .platform-stat>strong{margin-top:22px}.platform-course{padding:16px 0;border-top:1px solid #e5e7eb}.platform-course div{display:flex;justify-content:space-between;gap:10px}.platform-course strong{font-size:13px}.platform-course span{color:#077454;font-size:11px;font-weight:700}.platform-course small{display:block;margin:7px 0;color:#72796b;font-size:11px}.platform-feedback{padding:12px;margin-top:12px;border:1px solid #e5e7eb;background:#f8f9ff}.platform-feedback strong{font-size:11px}.platform-feedback strong small{float:right;color:#72796b;font-weight:400}.platform-feedback p{font-size:11px;line-height:1.45;color:#42493c}
@media(max-width:900px){.platform-app{grid-template-columns:1fr}.platform-app .platform-sidebar{grid-row:auto;display:none;height:auto}.platform-app .platform-sidebar.is-open{display:block}.platform-mobile-toggle{display:flex;position:absolute;top:10px;left:10px;z-index:4;gap:8px;padding:8px 11px;border:0;background:#077454;color:#fff;border-radius:4px}.platform-dashboard-header{padding-left:62px}.platform-dashboard-header h1{margin-left:55px}.platform-content{padding:28px 24px 42px}.platform-welcome--plain{align-items:start;flex-direction:column}.platform-actions{width:100%}.platform-actions .btn{flex:1}.platform-stats--admin{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.platform-header-actions{gap:6px}.platform-search{display:none}.platform-account{padding:8px}.platform-content{padding:25px 12px 35px}.platform-stats--admin,.platform-stats--partner,.platform-stats--student,.platform-dashboard-grid{grid-template-columns:1fr}.platform-student-hero{margin-bottom:28px;padding:25px 20px;flex-direction:column;align-items:flex-start}.platform-student-progress{align-self:center}.platform-welcome h2{font-size:26px}.platform-actions{flex-direction:column}.platform-panel{overflow:hidden}.platform-table-scroll{overflow-x:auto}.platform-panel table{min-width:520px}.platform-stat--wide strong{font-size:34px}.platform-footer{grid-column:1;align-items:flex-start;flex-direction:column;padding:20px 12px}.platform-footer nav{gap:12px;flex-wrap:wrap}}
.platform-app .platform-sidebar nav a>span:first-child,.platform-app .platform-icon-button,.platform-app .platform-stat>div>i,.platform-app .platform-stats--student>article>i{font-family:'Material Symbols Outlined';font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 22}
.platform-app .platform-sidebar nav a>span:first-child{font-size:0}.platform-app .platform-sidebar nav a>span:first-child::before{font-size:18px}.platform-app .platform-sidebar nav a:nth-child(1)>span::before{content:'dashboard'}.platform-app .platform-sidebar nav a:nth-child(2)>span::before{content:'inventory_2'}.platform-app .platform-sidebar nav a:nth-child(3)>span::before{content:'school'}.platform-app .platform-sidebar nav a:nth-child(4)>span::before{content:'computer'}.platform-app .platform-sidebar nav a:nth-child(5)>span::before{content:'settings'}
.platform-app .platform-icon-button{font-size:0}.platform-app .platform-icon-button[aria-label='Notifications']::before{content:'notifications';font-size:20px}.platform-app .platform-icon-button[aria-label='Applications']::before{content:'apps';font-size:20px}.platform-app .platform-stat>div>i,.platform-app .platform-stats--student>article>i{font-size:0}.platform-app .platform-stat>div>i::before,.platform-app .platform-stats--student>article>i::before{font-size:18px}.platform-app .platform-stat>div>i::before{content:'folder_open'}.platform-app .platform-stats--admin .platform-stat:nth-child(2)>div>i::before{content:'school'}.platform-app .platform-stats--admin .platform-stat:nth-child(3)>div>i::before{content:'assignment_late'}.platform-app .platform-stats--admin .platform-stat:nth-child(4)>div>i::before{content:'lightbulb'}.platform-app .platform-stats--student>article:nth-child(1)>i::before{content:'library_books'}.platform-app .platform-stats--student>article:nth-child(2)>i::before{content:'workspace_premium'}.platform-app .platform-stats--student>article:nth-child(3)>i::before{content:'event_available'}

/* Header layout matching the supplied reference. */
.site-topbar{background:linear-gradient(90deg,#0a2a3b 0%,#0d3550 100%);color:rgba(255,255,255,.82);font-size:12px;box-shadow:inset 0 -1px 0 rgba(255,255,255,.08)}
.site-topbar-inner{min-height:49px;display:flex;align-items:center;gap:22px;padding:0 24px;max-width:none;width:100%;margin:0}
.topbar-slogan{display:flex;align-items:center;gap:10px;margin-right:auto;color:var(--vv);font:10px var(--mono);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.topbar-slogan i{color:rgba(255,255,255,.35);font-style:normal}
.topbar-links{display:flex;align-items:center;gap:24px;white-space:nowrap}
.topbar-links a{color:rgba(255,255,255,.86);text-decoration:none;transition:color .2s ease}
.topbar-links a:hover{color:var(--vv)}
.site-topbar .language-switcher{padding-left:18px;border-left:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.52);gap:8px}
.site-topbar .language-switcher svg{display:none}
.site-topbar .language-button{padding:0;color:rgba(255,255,255,.5);font-size:11px}
.site-topbar .language-button.is-active,.site-topbar .language-button:hover{color:var(--vv)}
.site-topbar #google_translate_element{top:0;right:0}
.menu .sub-menu a b{display:block;font:600 14px var(--display);color:var(--nv);line-height:1.45;white-space:normal}
.menu .sub-menu a small{display:block;margin-top:4px;color:var(--gris);font:12px var(--body);line-height:1.45;white-space:normal}
.menu .sub-menu li{border-top:0}
@media(max-width:700px){.site-topbar-inner{justify-content:center;flex-wrap:wrap;gap:7px 14px;padding:7px 12px}.topbar-slogan{width:100%;justify-content:center;margin:0}.topbar-links{gap:13px;font-size:11px}.site-topbar .language-switcher{padding-left:12px}}
@media(max-width:460px){.topbar-links{gap:7px;font-size:10px}}

/* Responsive polish: keep quick links on one predictable row. */
.topbar-client-link{color:#fff!important;font-weight:600}
.site-header .header-actions a,.site-header .menu-toggle{min-height:42px}
@media (max-width:700px){
  .site-topbar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px}
  .topbar-slogan{grid-column:1 / -1}
  .topbar-links{justify-content:flex-start;flex-wrap:nowrap;gap:clamp(8px,3vw,14px);min-width:0}
  .topbar-links a{white-space:nowrap}
  .site-topbar .language-switcher{justify-self:end}
  .site-header .nav{box-shadow:0 8px 24px -24px rgba(14,40,65,.9)}
  .site-header .menu-toggle{flex:0 0 auto}
}
@media (max-width:460px){
  .site-topbar-inner{padding-left:10px;padding-right:10px;gap:4px 8px}
  .topbar-links{gap:7px;font-size:9.5px}
  .site-topbar .language-switcher{padding-left:8px;gap:5px}
}

/* The logged-in state adds Logout; switch to the compact menu before it crowds navigation. */
@media (max-width:1100px) and (min-width:701px){
  .site-header .nav{grid-template-columns:96px minmax(0,1fr) auto;gap:14px;padding-left:18px;padding-right:18px}
  .site-header .brand,.site-header .brand-image{width:96px}
  .site-header .brand-image{height:56px}
  .site-header .main-navigation{order:3;flex:0 0 auto}
  .site-header .menu-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0;font-size:0;border:1px solid var(--trait);border-radius:50%;background:#fff}
  .site-header .menu-toggle::after{content:'\2630';font-size:22px;line-height:1}
  .site-header .menu{display:none;position:absolute;top:78px;left:0;right:0;max-width:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 18px;background:#fff;border-bottom:1px solid var(--trait);box-shadow:0 18px 28px -24px rgba(14,40,65,.8)}
  .site-header .main-navigation.toggled .menu{display:flex}
  .site-header .menu > li{border-bottom:1px solid var(--trait)}
  .site-header .menu > li > a{display:block;padding:13px 0}
  .site-header .header-actions{margin-left:auto;gap:7px}
  .site-header .header-account-link > span:last-child{display:none}
  .site-header .header-actions > .btn.btn-p{display:none}
  .site-header .header-logout{font-size:0;width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid var(--trait);border-radius:50%}
  .site-header .header-logout::before{content:'↪';font-size:18px;color:var(--or)}
}

/* Keep the first screen calm and readable on small devices. */
@media (max-width:600px){
  .home-hero{padding-bottom:64px}
  .home-hero-copy h1{line-height:.98;letter-spacing:-.04em}
  .home-lead{max-width:100%;font-size:17px;line-height:1.55}
  .home-proof{margin-top:30px;gap:15px}
  .home-proof strong{font-size:26px}
  .home-services,.home-path,.contact-fallback{padding-top:64px;padding-bottom:64px}
  .home-section-heading{margin-bottom:30px}
}

/* Texte principal du hero : largeur et taille proches du visuel de reference. */
.home-lead{max-width:700px;font-size:clamp(18px,1.6vw,21px);line-height:1.55}
@media (max-width:600px){.home-lead{max-width:100%;font-size:17px}}

/* Elementor : cible le paragraphe principal de la page d'accueil. */
.elementor-page-content .elementor-widget-text-editor p{max-width:700px!important;font-size:clamp(18px,1.6vw,21px)!important;line-height:1.55!important}
@media (max-width:600px){.elementor-page-content .elementor-widget-text-editor p{max-width:100%!important;font-size:17px!important}}

/* Titre hero : regle finale unique pour eviter les conflits de cascade. */
#primary.home-main .home-hero-copy > h1{color:#fff;font-size:clamp(64px,7vw,170px);line-height:.9;letter-spacing:-.06em;max-width:600px;margin:0}
@media (max-width:600px){#primary.home-main .home-hero-copy > h1{font-size:clamp(38px,12vw,54px);max-width:100%}}
@media (max-width:600px){
  #primary.home-main .home-hero{height:auto;min-height:0;padding:34px 0 42px}
  #primary.home-main .home-hero-grid{gap:18px}
  #primary.home-main .home-hero-copy > h1{font-size:42px;line-height:.98}
  #primary.home-main .home-lead{font-size:17px;line-height:1.55;margin-top:16px}
  #primary.home-main .home-baseline{font-size:19px;margin-top:14px}
  #primary.home-main .hero-cta{display:flex;flex-direction:row;gap:8px;margin-top:18px}
  #primary.home-main .hero-cta .btn{width:auto;flex:1;padding:10px 8px;font-size:11px}
  #primary.home-main .home-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px;padding-top:16px}
  #primary.home-main .home-proof strong{font-size:22px}
  #primary.home-main .home-hero-notes{align-items:flex-start;gap:8px;margin-top:4px}
  #primary.home-main .home-hero-notes span{font-size:9px;padding:8px 10px;white-space:normal}
}

/* Reference visuelle : dimensions du hero fournies dans la capture. */
@media (min-width:1001px){
  #primary.home-main .home-hero{min-height:453px;height:auto;padding:24px 0 20px;align-items:flex-start}
  #primary.home-main .home-hero-grid{max-width:1095px;grid-template-columns:minmax(0,1fr) 280px;gap:40px}
  #primary.home-main .home-hero-copy > h1{font-size:64px;font-weight:900;line-height:.9;max-width:720px}
  #primary.home-main .home-lead{max-width:680px;font-size:21px;line-height:1.45;margin-top:18px}
  #primary.home-main .home-baseline{font-size:24px;margin-top:14px}
  #primary.home-main .hero-cta{margin-top:20px}
  #primary.home-main .home-proof{display:grid;grid-template-columns:repeat(4,max-content);gap:22px;margin-top:28px;padding-top:18px}
  #primary.home-main .home-proof span{gap:5px}
  #primary.home-main .home-proof strong{font-size:24px}
}

@media (min-width:1001px){
  .site-header .menu .menu-group-title{
    display:block;
    padding:2px 0 8px;
    border-bottom:1px solid var(--trait);
    color:var(--gris);
    font:10px var(--mono);
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .site-header .menu > li:not(.menu-item-submenu-vertical) > .sub-menu > .menu-item-group-heading{
    display:block;
    width:100%;
  }
  .site-header .menu > li:not(.menu-item-submenu-vertical) > .sub-menu > .menu-item-group-heading > .sub-menu{
    display:block;
    position:static;
    min-width:0;
    padding:4px 0 12px;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    border:0;
    box-shadow:none;
    background:transparent;
  }
  .site-header .menu > li:not(.menu-item-submenu-vertical) > .sub-menu > .menu-item-group-heading > .sub-menu > li > a{
    padding:10px 0;
  }
  .site-header .menu > li:not(.menu-item-submenu-vertical) > .sub-menu > .menu-item-group-heading > .sub-menu > li > a:hover,
  .site-header .menu > li:not(.menu-item-submenu-vertical) > .sub-menu > .menu-item-group-heading > .sub-menu > li > a:focus-visible{
    padding-left:0;
  }
  .site-header .menu > li:not(.menu-item-submenu-vertical) > .sub-menu > .menu-item-audit{
    grid-column:1 / -1;
  }
  .site-header .menu .menu-item-registration > a,
  .site-header .menu .menu-item-audit > a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    margin-top:8px;
    padding:11px 18px;
    border-radius:2px;
    background:var(--vf);
    color:#fff;
    font-family:var(--display);
    font-size:13px;
    font-weight:700;
    text-align:center;
    box-shadow:none;
  }
  .site-header .menu .menu-item-registration > a:hover,
  .site-header .menu .menu-item-registration > a:focus-visible,
  .site-header .menu .menu-item-audit > a:hover,
  .site-header .menu .menu-item-audit > a:focus-visible{
    background:var(--vv);
    color:#fff;
    box-shadow:none;
  }
}

.media-library-section{padding:40px 0 86px;background:var(--ivoire)}
.media-library-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.media-library-card{border:1px solid var(--trait);background:#fff;transition:transform .25s ease,box-shadow .25s ease}
.media-library-card:hover{transform:translateY(-4px);box-shadow:0 18px 30px -22px rgba(14,40,65,.65)}
.media-library-card a{display:block;text-decoration:none;padding-bottom:16px}
.media-library-preview{height:170px;display:grid;place-items:center;background:#edf3ed;overflow:hidden}
.media-library-preview img{width:100%;height:100%;object-fit:cover}
.media-library-card strong,.media-library-card small{display:block;padding:0 15px}
.media-library-card strong{margin-top:14px;font-family:var(--display);font-size:15px;color:var(--nv)}
.media-library-card small{margin-top:5px;color:var(--gris);font:10px var(--mono);text-transform:uppercase}
.media-library-file{font:700 22px var(--mono);color:var(--vf)}
.media-library-empty{grid-column:1/-1;padding:28px;background:#fff;border-left:4px solid var(--or);color:var(--gris)}
.scroll-brief{position:fixed;right:20px;bottom:20px;z-index:50;width:min(300px,calc(100vw - 40px));padding:16px 18px;background:rgba(14,40,65,.94);color:#fff;border-left:3px solid var(--or);box-shadow:0 18px 34px -22px rgba(14,40,65,.8);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.scroll-brief.is-visible{opacity:1;transform:none}
.scroll-brief-kicker{display:block;color:var(--vv);font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.scroll-brief-title{display:block;margin-top:7px;font:700 16px var(--display)}
.scroll-brief-text{display:block;margin-top:5px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.5}
.page-section-card.is-reading{border-color:var(--or);box-shadow:0 18px 30px -24px rgba(14,40,65,.6)}
@media(max-width:900px){.media-library-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.media-library-grid{grid-template-columns:1fr}.media-library-preview{height:210px}.scroll-brief{right:12px;bottom:12px;width:calc(100vw - 24px)}}


.rv,.fade{opacity:1!important;transform:none!important}
/* ===== ACRONYME (signature) ===== */
.acro{background:var(--nv);color:#fff;position:relative;overflow:hidden;padding:96px 0}
.acro::before{content:"";position:absolute;left:-60px;top:-60px;width:340px;height:340px;opacity:.22;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px}
.acro::after{content:"";position:absolute;right:-160px;bottom:-160px;width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(78,167,46,.22),transparent 66%);animation:pulse 8s ease-in-out infinite}
.acro .wrap{position:relative;z-index:2}
.acro .eyebrow{color:var(--vv)}
.acro .eyebrow::after{background:rgba(255,255,255,.18)}
.acro h2{color:#fff;margin-bottom:12px;max-width:none}
.acro .intro{color:rgba(255,255,255,.74);max-width:62ch;font-size:17px;margin:0 0 40px}
.letters{display:grid;gap:2px}
.lt{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:22px;padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.09);opacity:0;transform:translateX(-18px);transition:.6s cubic-bezier(.2,.7,.3,1)}
.letters.in .lt{opacity:1;transform:none}
.lt b{font-family:var(--display);font-size:46px;font-weight:900;line-height:1;color:var(--vv);
  text-align:center;letter-spacing:0;font-variant-numeric:tabular-nums;display:block}
.lt span{font-family:var(--display);font-size:clamp(17px,2.2vw,24px);font-weight:600;color:#fff;
  letter-spacing:-.01em;line-height:1.25}
.acro-note{margin-top:34px;padding:22px 26px;border-left:3px solid var(--vv);background:rgba(78,167,46,.09);
  color:rgba(255,255,255,.86);font-size:16px;max-width:70ch}

/* ===== carte présence ===== */
.pays{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.pays span{font-family:var(--mono);font-size:12px;letter-spacing:.06em;padding:8px 14px;border-radius:99px;
  border:1px solid var(--trait);background:#fff;transition:.3s;cursor:default}
.pays span:hover{border-color:var(--vv);background:var(--vv);color:#fff;transform:translateY(-3px)}
.pays span.hq{background:var(--vf);color:#fff;border-color:var(--vf)}

/* ===== onglets services ===== */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.tab{font-family:var(--display);font-size:14px;font-weight:600;padding:11px 18px;border-radius:99px;
  border:1px solid var(--trait);background:#fff;color:var(--gris);cursor:pointer;transition:.25s}
.tab:hover{border-color:var(--vv);color:var(--vf)}
.tab.on{background:var(--vf);color:#fff;border-color:var(--vf);box-shadow:0 10px 22px -12px rgba(25,107,36,.9)}
@keyframes fadein{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.plist{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.plist div{display:flex;gap:11px;align-items:flex-start;font-size:14.8px;color:var(--gris);
  background:#fff;border:1px solid var(--trait);padding:13px 15px;border-radius:3px;transition:.25s}
.plist div:hover{border-color:var(--vv);transform:translateX(4px)}
.plist i{color:var(--vv);font-style:normal;font-weight:700;flex:0 0 auto}

/* ===== parcours PDG ===== */
.parcours{margin-top:34px;position:relative;padding-left:26px}
.parcours::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--trait)}
.etape{position:relative;padding-bottom:20px}
.etape::before{content:"";position:absolute;left:-25px;top:7px;width:12px;height:12px;border-radius:50%;
  background:#fff;border:3px solid var(--vv);z-index:2;transition:.4s}
.etape:hover::before{transform:scale(1.35);background:var(--vv)}
.etape b{font-family:var(--display);font-size:15.5px;display:block}
.etape small{color:var(--gris);font-size:14px}
.etape .yr{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--vf);text-transform:uppercase}

/* ===== vie d'affaires ===== */
.aff{background:var(--nv);color:#fff;position:relative;overflow:hidden}
.aff::after{content:"";position:absolute;left:-50px;bottom:-50px;width:300px;height:300px;opacity:.2;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px}
.aff .wrap{position:relative;z-index:1}
.aff h2{color:#fff}
.aff .sec-head p{color:rgba(255,255,255,.75)}
.aff .eyebrow{color:var(--vv)}
.aff .eyebrow::after{background:rgba(255,255,255,.18)}
.acard{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:3px;padding:28px;transition:.3s}
.acard:hover{background:rgba(78,167,46,.12);border-color:var(--vv);transform:translateY(-6px)}
.acard .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--vv)}
.acard h3{color:#fff;margin:12px 0 10px;font-size:19px}
.acard p{color:rgba(255,255,255,.72);font-size:14.5px;margin:0}
.acard .tvbadge{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;background:var(--or);color:#fff;padding:5px 11px;border-radius:99px}

@media(max-width:960px){.plist{grid-template-columns:1fr}}
@media(max-width:680px){
  .lt{grid-template-columns:44px 1fr;gap:14px}
  .lt b{font-size:34px}
  .acro{padding:64px 0}
}


/* ===== AVANT / APRES ===== */
.av{background:var(--ivoire);position:relative;overflow:hidden}
.switch{display:inline-flex;background:#fff;border:1px solid var(--trait);border-radius:99px;padding:5px;margin-bottom:30px;gap:4px}
.switch button{font-family:var(--display);font-weight:600;font-size:14px;padding:11px 26px;border-radius:99px;
  border:0;background:none;color:var(--gris);cursor:pointer;transition:.3s}
.switch button.on{color:#fff}
.switch button[data-s="avant"].on{background:#B4442A}
.switch button[data-s="apres"].on{background:var(--vf)}
.state{display:none}
.state.on{display:block;animation:fadein .55s cubic-bezier(.2,.7,.3,1) both}
.slist{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sline{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--trait);
  border-left:4px solid var(--trait);padding:17px 19px;border-radius:3px;font-size:15.5px;transition:.3s}
.sline:hover{transform:translateX(5px)}
.state[data-s="avant"] .sline{border-left-color:#B4442A;color:#6B3226}
.state[data-s="apres"] .sline{border-left-color:var(--vv);color:var(--nv)}
.sline b{font-family:var(--mono);font-size:16px;flex:0 0 auto;line-height:1.3}
.state[data-s="avant"] .sline b{color:#B4442A}
.state[data-s="apres"] .sline b{color:var(--vv)}
.state-note{margin-top:22px;font-family:var(--display);font-size:19px;font-weight:600}
.state[data-s="avant"] .state-note{color:#B4442A}
.state[data-s="apres"] .state-note{color:var(--vf)}

/* ===== modules ===== */
.mod{border:1px solid var(--trait);border-radius:3px;background:#fff;overflow:hidden;transition:.3s}
.mod:hover{box-shadow:0 26px 46px -32px rgba(14,40,65,.5)}
.mod-h{padding:24px 28px;border-bottom:1px solid var(--trait);display:flex;gap:16px;align-items:center}
.mod-h .n{font-family:var(--display);font-weight:800;font-size:26px;color:#fff;background:var(--vf);
  width:48px;height:48px;display:grid;place-items:center;border-radius:3px;flex:0 0 auto}
.mod:nth-child(2) .mod-h .n{background:var(--nv)}
.mod-h h3{font-size:19px;margin:0}
.mod-h small{color:var(--gris);font-size:13.5px;display:block;margin-top:3px}
.mod-b{padding:24px 28px}
.step{display:flex;gap:13px;padding:10px 0;border-bottom:1px dashed var(--trait);font-size:15px;color:var(--gris)}
.step:last-child{border:0}
.step i{font-family:var(--mono);font-size:11.5px;color:var(--vv);font-style:normal;flex:0 0 auto;padding-top:3px;font-weight:600}

/* ===== fiche indexation ===== */
.fiche{background:var(--nv);border-radius:4px;padding:24px;color:#fff}
.fiche h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--vv);margin-bottom:16px}
.frow{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;padding:7px 0;align-items:center;
  border-bottom:1px solid rgba(255,255,255,.07);font-family:var(--mono);font-size:11.5px}
.frow span{color:rgba(255,255,255,.6);text-align:right}
.frow em{font-style:normal;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:2px;padding:6px 10px;color:rgba(255,255,255,.85)}
.frow:first-of-type em{background:rgba(233,113,50,.18);border-color:var(--or)}

/* ===== planète ===== */
.planete{background:linear-gradient(135deg,var(--vf),var(--vv));color:#fff;text-align:center;padding:64px 0;position:relative;overflow:hidden}
.planete::after{content:"";position:absolute;inset:0;opacity:.16;
  background-image:radial-gradient(#fff 1.6px,transparent 1.7px);background-size:15px 15px}
.planete .wrap{position:relative;z-index:1}
.planete h2{color:#fff;font-size:clamp(26px,3.6vw,40px)}
.planete p{color:rgba(255,255,255,.9);max-width:60ch;margin:16px auto 0;font-size:17px}

/* ===== réseaux ===== */
.res{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.rlink{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--trait);
  border-radius:3px;padding:17px 19px;text-decoration:none;transition:.3s}
.rlink:hover{border-color:var(--vv);transform:translateY(-4px);box-shadow:0 18px 34px -22px rgba(14,40,65,.5)}
.rlink .ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;
  font-family:var(--mono);font-size:13px;font-weight:600;flex:0 0 auto}
.rlink b{font-family:var(--display);font-size:15px;display:block}
.rlink small{color:var(--gris);font-size:12.5px}

/* ===== bureaux ===== */
.bureaux{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.bur{border:1px solid var(--trait);border-left:4px solid var(--vv);padding:20px;border-radius:3px;background:#fff}
.bur .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--vf)}
.bur b{font-family:var(--display);display:block;font-size:16px;margin:8px 0 4px}
.bur small{color:var(--gris);font-size:13.5px;display:block;line-height:1.6}
.bur:nth-child(2){border-left-color:var(--nv)}
.bur:nth-child(2) .k{color:var(--nv)}

@media(max-width:960px){.res{grid-template-columns:1fr 1fr}.slist,.bureaux{grid-template-columns:1fr}}
@media(max-width:680px){.res{grid-template-columns:1fr}}


/* ===== GALERIE RÉFÉRENCES ===== */
.gal{background:var(--nv);color:#fff;position:relative;overflow:hidden}
.gal::before{content:"";position:absolute;right:-60px;top:-60px;width:320px;height:320px;opacity:.2;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px}
.gal .wrap{position:relative;z-index:1}
.gal h2{color:#fff}
.gal .sec-head p{color:rgba(255,255,255,.75)}
.gal .eyebrow{color:var(--vv)}
.gal .eyebrow::after{background:rgba(255,255,255,.18)}
.gfilters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.gf{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;
  padding:9px 16px;border-radius:99px;border:1px solid rgba(255,255,255,.22);background:none;
  color:rgba(255,255,255,.72);cursor:pointer;transition:.25s}
.gf:hover{border-color:var(--vv);color:#fff}
.gf.on{background:var(--vv);border-color:var(--vv);color:#fff}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gitem{position:relative;overflow:hidden;border-radius:3px;cursor:pointer;background:#077454;
  border:1px solid rgba(255,255,255,.1);transition:.35s;aspect-ratio:4/3}
.gitem.hide{display:none}
.gitem img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1);filter:saturate(.95)}
.gitem:hover{border-color:var(--vv);transform:translateY(-5px);box-shadow:0 24px 44px -26px rgba(0,0,0,.9)}
.gitem:hover img{transform:scale(1.07)}
.gcap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;
  background:linear-gradient(to top,rgba(6,20,34,.95),rgba(6,20,34,.55) 55%,transparent);pointer-events:none}
.gcap .city{font-family:var(--display);font-weight:700;font-size:16px;display:block;line-height:1.2}
.gcap .what{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--vv)}
.gnote{margin-top:26px;font-size:14.5px;color:rgba(255,255,255,.6);font-family:var(--mono)}

/* lightbox */
.lb{position:fixed;inset:0;z-index:200;background:rgba(6,20,34,.96);display:none;
  align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(6px)}
.lb.on{display:flex;animation:fadein .3s both}
.lb figure{margin:0;max-width:1000px;width:100%}
.lb img{width:100%;max-height:76vh;object-fit:contain;border-radius:3px}
.lb figcaption{color:#fff;font-family:var(--display);font-weight:600;font-size:17px;margin-top:16px;text-align:center}
.lb figcaption small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--vv);font-weight:400;margin-top:5px}
.lb .x{position:absolute;top:18px;right:22px;background:none;border:1px solid rgba(255,255,255,.3);
  color:#fff;width:42px;height:42px;border-radius:50%;font-size:20px;cursor:pointer;transition:.25s}
.lb .x:hover{border-color:var(--vv);background:rgba(78,167,46,.2)}
.lb .nav-b{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(255,255,255,.3);
  color:#fff;width:46px;height:46px;border-radius:50%;font-size:20px;cursor:pointer;transition:.25s}
.lb .nav-b:hover{border-color:var(--vv);background:rgba(78,167,46,.2)}
.lb .prev{left:18px}.lb .next{right:18px}

@media(max-width:960px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.grid{grid-template-columns:1fr}.lb .nav-b{width:38px;height:38px}}


/* ===== BANDE AUDIT (CTA principal) ===== */
.audit{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--nv) 0%,#077454 52%,var(--vf) 100%);
  color:#fff;border-radius:5px;margin-top:44px;padding:0}
.audit::after{content:"";position:absolute;right:-70px;top:-70px;width:340px;height:340px;opacity:.2;
  background-image:radial-gradient(var(--vv) 1.9px,transparent 2px);background-size:15px 15px}
.audit::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--or)}
.audit-in{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .65fr;gap:36px;
  align-items:center;padding:44px 46px}
.audit .k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--vv)}
.audit h3{font-size:clamp(23px,3vw,32px);font-weight:800;color:#fff;margin:12px 0 12px;line-height:1.15}
.audit p{color:rgba(255,255,255,.8);font-size:16px;margin:0;max-width:52ch}
.audit-act{display:flex;flex-direction:column;gap:12px}
.audit-act .btn{text-align:center}
.audit-tel{font-family:var(--mono);font-size:13px;color:rgba(255,255,255,.72);text-align:center;text-decoration:none;transition:.25s}
.audit-tel:hover{color:var(--vv)}
.audit-pts{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.audit-pts span{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.26);padding:7px 13px;border-radius:99px;color:rgba(255,255,255,.85)}
@media(max-width:880px){.audit-in{grid-template-columns:1fr;padding:34px 26px;gap:24px}}

/* accents orange plus présents */
.eyebrow::before{content:"";width:16px;height:2px;background:var(--or);flex:0 0 auto}
.sec-head h2::after{content:"";display:block;width:56px;height:4px;background:var(--or);margin-top:18px;border-radius:2px}
.acro h2::after,.gal h2::after,.aff h2::after,.promo h2::after{background:var(--vv)}
.planete h2::after{display:none}


/* ===== GALERIE FORMATION (fond clair) ===== */
.galf{background:var(--ivoire);position:relative;overflow:hidden}
.galf::before{content:"";position:absolute;left:-60px;bottom:-60px;width:320px;height:320px;opacity:.32;
  background-image:radial-gradient(var(--vv) 1.8px,transparent 1.9px);background-size:14px 14px;
  -webkit-mask-image:linear-gradient(45deg,#000,transparent 72%);mask-image:linear-gradient(45deg,#000,transparent 72%)}
.galf .wrap{position:relative;z-index:1}
.galf .gitem{background:#fff;border-color:var(--trait)}
.galf .gitem:hover{border-color:var(--vv)}
.galf .gcap{background:linear-gradient(to top,rgba(10,30,49,.92),rgba(10,30,49,.4) 60%,transparent)}
.galf .gcap .what{color:var(--vv)}
.hero-shot{position:relative;border-radius:4px;overflow:hidden;margin-bottom:22px;border:1px solid var(--trait);cursor:pointer}
.hero-shot img{width:100%;display:block;transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.hero-shot:hover img{transform:scale(1.03)}
.hero-shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:46px 26px 22px;
  background:linear-gradient(to top,rgba(10,30,49,.94),transparent);color:#fff}
.hero-shot .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--vv);display:block}
.hero-shot strong{font-family:var(--display);font-size:clamp(17px,2.2vw,23px);font-weight:700;display:block;margin-top:6px}


/* ===== TERRASSE / LIEU ===== */
.terrasse{margin-top:34px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);
  border-radius:4px;overflow:hidden}
.terrasse-img{display:grid;grid-template-columns:2fr 1fr;gap:3px;background:rgba(255,255,255,.13)}
.terrasse-img figure{margin:0;overflow:hidden;position:relative;cursor:pointer}
.terrasse-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.terrasse-img figure:hover img{transform:scale(1.06)}
.terrasse-img .stack{display:grid;grid-template-rows:1fr 1fr;gap:3px}
.terrasse-txt{padding:28px 30px;display:grid;grid-template-columns:1.4fr .6fr;gap:28px;align-items:center}
.terrasse-txt h3{color:#fff;font-size:22px;margin-bottom:10px}
.terrasse-txt p{color:rgba(255,255,255,.76);font-size:15.5px;margin:0}
.terrasse-txt .pts{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.terrasse-txt .pts span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.26);padding:7px 13px;border-radius:99px;color:rgba(255,255,255,.86)}

/* ===== SIÈGE ===== */
.siege{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}
.siege figure{margin:0;border-radius:3px;overflow:hidden;border:1px solid var(--trait);position:relative;cursor:pointer}
.siege img{width:100%;display:block;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.siege figure:hover img{transform:scale(1.05)}
.siege figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;color:#fff;
  background:linear-gradient(to top,rgba(10,30,49,.92),transparent);font-family:var(--mono);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase}

@media(max-width:880px){
  .terrasse-img,.terrasse-txt,.siege{grid-template-columns:1fr}
  .terrasse-img .stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
}


/* ==========================================================================
   SYSTÈME RESPONSIVE COMPLET — de la montre au téléviseur
   Ce bloc est placé en dernier : il fait autorité sur tout ce qui précède.
   ========================================================================== */

/* --- Bases fluides : la typographie suit la largeur, sans jamais casser --- */
html{
  font-size:100%;
  -webkit-text-size-adjust:100%;      /* pas de zoom auto iOS en paysage */
  text-size-adjust:100%;
}
body{font-size:clamp(15px,0.55vw + 13px,19px)}
.wrap{width:100%;padding-left:clamp(16px,3vw,40px);padding-right:clamp(16px,3vw,40px)}
section{padding-top:clamp(48px,6vw,110px);padding-bottom:clamp(48px,6vw,110px)}
.sec-head{margin-bottom:clamp(28px,3.4vw,54px)}
img,video,iframe{max-width:100%;height:auto}
.gitem img,.terrasse-img img{height:100%}

/* ==========================================================================
   1. TRÈS PETITS TÉLÉPHONES  (≤ 380 px)
   ========================================================================== */
@media (max-width:380px){
  .nav{height:64px}
  .nav img.lg{height:34px}
  .menu{top:64px}
  .hero{padding:44px 0 52px}
  .hero h1{font-size:31px;line-height:1.08}
  .hero p.lead{font-size:16px}
  .baseline{font-size:17px}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%;text-align:center}
  h2{font-size:25px}
  .preuve b{font-size:26px}
  .lt{grid-template-columns:40px 1fr;gap:10px}
  .lt b{font-size:26px}
  .lt span{font-size:15px}
  .audit-in{padding:24px 18px}
  .card,.form-body,.pilier,.acard,.mod-b,.mod-h{padding:20px}
  .methode{padding:22px}
  .terrasse-txt{padding:20px}
  .fiche{padding:16px}
  .frow{grid-template-columns:1fr;gap:4px}
  .frow span{text-align:left}
}

/* ==========================================================================
   2. TÉLÉPHONES  (≤ 600 px)
   ========================================================================== */
@media (max-width:600px){
  .eyebrow{white-space:normal}
  .g2,.g3,.g2b,.grid,.res,.slist,.bureaux,.siege,.plist,
  .f-grid,.sol-legend,.contact-grid,.pdg-grid,
  .methode,.promo .wrap,.audit-in,.terrasse-txt,.terrasse-img,
  .preuve .wrap{grid-template-columns:1fr!important}
  .terrasse-img .stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .preuve div{border-left:0;border-top:2px solid rgba(255,255,255,.3);padding:12px 0 0 0}
  .promo .stack{width:100%}
  .promo .stack .btn{text-align:center}
  .audit-act .btn{width:100%}
  .tabs{gap:6px}
  .tab{font-size:12.5px;padding:9px 13px}
  .switch{width:100%}
  .switch button{flex:1;padding:11px 10px;font-size:13px}
  .gfilters{gap:6px}
  .gf{font-size:10.5px;padding:8px 12px}
  .partenaires span{font-size:15px;padding:11px 18px}
  .pays span{font-size:11px;padding:7px 11px}
        .lb{padding:12px}
  .lb figcaption{font-size:14.5px}
  .lb .x{top:10px;right:12px;width:38px;height:38px}
  .f-bas{flex-direction:column;gap:8px}
}

/* --- Téléphone en paysage : on écrase les hauteurs --- */
@media (max-height:520px) and (orientation:landscape){
  .hero{padding:34px 0 40px}
  section{padding-top:40px;padding-bottom:40px}
  .menu{max-height:70vh;overflow-y:auto}
  .lb img{max-height:64vh}
}

/* ==========================================================================
   3. GRANDS TÉLÉPHONES ET PETITES TABLETTES  (601 – 900 px)
   ========================================================================== */
@media (min-width:601px) and (max-width:900px){
  .contact-grid,.pdg-grid,.methode,.promo .wrap,
  .audit-in,.terrasse-txt,.sol-legend{grid-template-columns:1fr}
  .g2,.g2b,.g3,.grid,.res,.slist,.siege,.plist,.bureaux{grid-template-columns:1fr 1fr}
  .preuve .wrap{grid-template-columns:1fr 1fr}
  .f-grid{grid-template-columns:1fr 1fr}
    .terrasse-img{grid-template-columns:1fr}
  .terrasse-img .stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
}

/* --- Le menu horizontal ne tient plus : passage au menu déroulant --- */
@media (max-width:1000px){
  .burger{display:block}
  .nav .btn{display:none}
  .menu{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;gap:0;padding:10px clamp(16px,3vw,40px) 18px;
    border-bottom:1px solid var(--trait);box-shadow:0 18px 30px -24px rgba(14,40,65,.7);
    max-height:calc(100vh - 78px);overflow-y:auto;
  }
  .menu.open{display:flex}
  .menu li{border-bottom:1px solid var(--trait)}
  .menu li:last-child{border-bottom:0}
  .menu a{display:block;padding:15px 0;font-size:16px}
  .menu a::after{display:none}
}
@media (min-width:1001px){
  .menu{display:flex!important;position:static;flex-direction:row;padding:0;
    background:none;border:0;box-shadow:none;max-height:none;overflow:visible}
  .menu li{border:0}
  .burger{display:none}
}

/* ==========================================================================
   4. TABLETTES  (901 – 1180 px)
   ========================================================================== */
@media (min-width:901px) and (max-width:1180px){

  .g3,.grid,.res{grid-template-columns:repeat(3,1fr)}
  .pdg-grid{grid-template-columns:.9fr 1.1fr;gap:34px}
  .sol-legend{grid-template-columns:repeat(3,1fr)}
  .f-grid{grid-template-columns:1.4fr 1fr 1fr}
}

/* ==========================================================================
   5. GRANDS ÉCRANS  (≥ 1500 px)
   ========================================================================== */
@media (min-width:1500px){
  :root{--max:1340px}
  .grid{grid-template-columns:repeat(4,1fr)}
  .res{grid-template-columns:repeat(4,1fr)}
}

/* ==========================================================================
   6. TRÈS GRANDS ÉCRANS ET TÉLÉVISEURS  (≥ 1800 px)
   Distance de lecture plus grande : tout grossit, rien ne s'étire.
   ========================================================================== */
@media (min-width:1800px){
  :root{--max:1560px}
  body{font-size:20px;line-height:1.7}
  .hero{padding:110px 0 120px}
  .hero h1{font-size:74px}
  .hero p.lead{font-size:25px;max-width:60ch}
  .baseline{font-size:23px}
  h2{font-size:52px}
  h3{font-size:23px}
  .eyebrow{font-size:14px}
  .btn{font-size:17px;padding:16px 30px}
  .preuve b{font-size:42px}
  .preuve small{font-size:15px}
  .lt b{font-size:56px}
  .card p,.form-body p,.pilier p,.acard p{font-size:17px}
  .nav{height:92px}
  .nav img.lg{height:64px}
  .menu{font-size:17px;gap:32px}
}

@media (min-width:2400px){
  :root{--max:1780px}
  body{font-size:23px}
  .hero h1{font-size:88px}
  h2{font-size:62px}
  .nav{height:104px}
  .nav img.lg{height:74px}
  .btn{font-size:19px;padding:18px 34px}
  .grid,.res{grid-template-columns:repeat(4,1fr)}
}

/* ==========================================================================
   7. ÉCRANS TACTILES ET TÉLÉCOMMANDES
   Pas de survol : les effets de hover ne doivent pas rester « collés ».
   ========================================================================== */
@media (hover:none){
  .card:hover,.form-card:hover,.pilier:hover,.acard:hover,
  .gitem:hover,.rlink:hover,.partenaires span:hover,
  .siege figure:hover,.terrasse-img figure:hover{transform:none;box-shadow:none}
  .gitem:hover img,.hero-shot:hover img,.sol-img img,
  .siege figure:hover img,.terrasse-img figure:hover img{transform:none}
  .card::before{display:none}
  /* cibles tactiles confortables */
  .menu a,.tab,.gf,.switch button,.btn,.socials a,.rlink{min-height:44px}
  .socials a{width:44px;height:44px}
}

/* Navigation au clavier / télécommande : la cible doit être visible de loin */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,.gitem:focus-visible{
  outline:3px solid var(--vv);outline-offset:3px;border-radius:2px;
}
.gitem,.hero-shot,.siege figure,.terrasse-img figure{scroll-margin-top:100px}

/* ==========================================================================
   8. IMPRESSION
   ========================================================================== */
@media print{
  header,.wa,.lb,.marquee,.gfilters,.switch,.tabs,form,.burger{display:none!important}
  body{font-size:11pt;color:#000;background:#fff}
  .hero,.preuve,.acro,.gal,.aff,.promo,.planete,.solution{background:#fff!important;color:#000!important}
  .acro h2,.gal h2,.aff h2,.promo h2,.planete h2,.sol-top h2{color:#000!important}
  .state{display:block!important}
  section{padding:18px 0;break-inside:avoid}
  .grid{grid-template-columns:repeat(3,1fr)}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:8pt;color:#555}
}


/* Une image absente ne doit jamais laisser un trou dans la mise en page */
img[data-broken]{display:none}
figure[data-broken]{display:none!important}

/* sept entrées dans le menu : on resserre sur les écrans intermédiaires */
@media (min-width:1001px) and (max-width:1340px){
  .menu{gap:18px;font-size:13.5px}
  .nav .btn{padding:12px 18px;font-size:13.5px}
  .nav img.lg{height:46px}
}

/* ==========================================================================
   MON COMPTE
   ========================================================================== */
.tools{display:flex;align-items:center;gap:10px;margin-left:auto;flex:0 0 auto}

.acct-btn{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--trait);
  border-radius:99px;padding:7px 16px 7px 8px;cursor:pointer;font-family:var(--display);
  font-weight:600;font-size:14px;color:var(--nv);transition:.25s;white-space:nowrap}
.acct-btn:hover{border-color:var(--or);color:var(--or);transform:translateY(-1px)}
.acct-btn .avatar{width:28px;height:28px;border-radius:50%;background:var(--or);color:#fff;
  display:grid;place-items:center;flex:0 0 auto}

.acct-ov{position:fixed;inset:0;z-index:150;background:rgba(14,40,65,.74);backdrop-filter:blur(6px);
  display:none;overflow-y:auto;padding:clamp(16px,5vh,60px) 16px}
.acct-ov.on{display:block;animation:fadein .24s both}
.acct-win{position:relative;max-width:620px;margin:0 auto;background:#fff;border-radius:5px;
  border-top:4px solid var(--vf);padding:clamp(26px,3.4vw,44px);
  box-shadow:0 40px 80px -32px rgba(0,0,0,.6)}
.acct-x{position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid var(--trait);
  background:#fff;border-radius:50%;font-size:16px;color:var(--gris);cursor:pointer;transition:.2s}
.acct-x:hover{border-color:var(--vv);color:var(--vf);background:var(--ivoire)}

.acct-head{margin-bottom:22px}
.acct-k{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--vf)}
.acct-win h3{font-size:clamp(21px,2.4vw,27px);margin-top:8px;color:var(--nv)}
.acct-sub{color:var(--gris);font-size:15.5px;margin:0 0 22px}

.acct-tabs{display:flex;gap:6px;background:var(--ivoire);padding:5px;border-radius:99px;margin-bottom:24px}
.atab{flex:1;border:0;background:none;padding:11px 14px;border-radius:99px;cursor:pointer;
  font-family:var(--display);font-weight:600;font-size:14px;color:var(--gris);transition:.25s}
.atab:hover{color:var(--vf)}
.atab.on{background:var(--vf);color:#fff;box-shadow:0 8px 18px -10px rgba(25,107,36,.9)}

.avue{display:none}
.avue.on{display:block;animation:fadein .3s both}

.profils{display:grid;gap:10px}
.profil{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--trait);
  border-left:4px solid var(--trait);border-radius:3px;padding:17px 19px;cursor:pointer;transition:.25s}
.profil:hover{border-color:var(--vv);border-left-color:var(--vv);transform:translateX(4px);
  box-shadow:0 16px 30px -22px rgba(14,40,65,.5)}
.profil .pk{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--or);display:block}
.profil b{font-family:var(--display);font-size:17px;color:var(--nv);display:block;margin:6px 0 4px}
.profil small{color:var(--gris);font-size:13.8px;display:block;line-height:1.5}

.acct-win label{font-family:var(--display);font-size:13px;font-weight:600;display:block;margin-bottom:6px}
.acct-win input,.acct-win select{width:100%;padding:13px 15px;border:1px solid var(--trait);
  border-radius:2px;font-family:var(--body);font-size:15.5px;margin-bottom:17px;color:var(--nv);background:#fff}
.acct-win input:focus,.acct-win select:focus{outline:2px solid var(--vv);outline-offset:1px;border-color:var(--vv)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.check{display:flex;align-items:flex-start;gap:9px;font-family:var(--body);font-size:14px;
  font-weight:400;color:var(--gris);cursor:pointer;margin:2px 0 20px}
.check input{width:auto;margin:2px 0 0}
.acct-row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.lien-fin{font-size:14px;color:var(--vf);font-weight:600;text-decoration:none}
.lien-fin:hover{text-decoration:underline}
.btn.large{width:100%;text-align:center;padding:15px}
.retour{border:0;background:none;color:var(--vf);font-family:var(--display);font-weight:600;
  font-size:14px;cursor:pointer;padding:0;margin-bottom:14px}
.retour:hover{text-decoration:underline}
.acct-note{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--trait);
  font-size:13px;color:var(--gris);text-align:center}

@media (max-width:1200px){.nav-cta{display:none}}
@media (max-width:1000px){
  .acct-label{display:none}
  .acct-btn{padding:7px;border-radius:50%}
}
@media (max-width:600px){
  .tools{gap:7px}
  .f2{grid-template-columns:1fr}
  .acct-win{padding:24px 18px}
  .acct-tabs{margin-bottom:18px}
}
@media (min-width:1800px){
  .acct-btn{font-size:17px;padding:9px 20px 9px 9px}
  .acct-btn .avatar{width:34px;height:34px}
  .acct-win{max-width:760px}
}
@media (hover:none){
  .acct-btn:hover,.profil:hover{transform:none;box-shadow:none}
  .acct-btn,.atab,.profil{min-height:44px}
}



/* ==========================================================================
   MENU PRINCIPAL À SOUS-MENUS
   ========================================================================== */
.menu{align-items:center}
.menu > li{position:relative}
.has-sub > .sub-top{display:inline-flex;align-items:center;gap:6px}
.has-sub > .sub-top .ch{font-size:10px;color:var(--gris);transition:.25s}
.has-sub:hover > .sub-top .ch,.has-sub.open > .sub-top .ch{transform:rotate(180deg);color:var(--vf)}

.sub{
  position:absolute;left:-14px;top:calc(100% + 14px);min-width:310px;list-style:none;
  background:#fff;border:1px solid var(--trait);border-top:3px solid var(--vf);
  border-radius:4px;padding:9px;margin:0;z-index:80;
  box-shadow:0 30px 55px -28px rgba(14,40,65,.55);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:.24s cubic-bezier(.2,.7,.3,1);
}
/* zone tampon : le curseur peut descendre sans fermer le sous-menu */
.has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}
.has-sub:hover > .sub,.has-sub:focus-within > .sub,.has-sub.open > .sub{
  opacity:1;visibility:visible;transform:none}

.sub li{border:0;margin:0}
.sub a{display:block;padding:11px 13px;border-radius:3px;text-decoration:none;transition:.2s;border:0}
.sub a::after{display:none}
.sub a:hover,.sub a:focus-visible{background:var(--ivoire)}
.sub a b{font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--nv);display:block}
.sub a:hover b{color:var(--vf)}
.sub a small{font-family:var(--body);font-weight:400;font-size:12.8px;color:var(--gris);
  display:block;margin-top:3px;line-height:1.45}
.sub a.sub-cta{background:var(--or);color:#fff;font-family:var(--display);font-weight:600;
  font-size:14px;text-align:center;margin-top:6px}
.sub a.sub-cta:hover{background:var(--or);color:#fff}

/* --- menu déroulant sur téléphone et tablette : accordéon --- */
@media (max-width:1000px){
  .menu{align-items:stretch}
  .has-sub > .sub-top{justify-content:space-between;width:100%}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;border-left:2px solid var(--vv);border-radius:0;padding:2px 0 10px 14px;
    margin:0 0 6px;min-width:0;display:none;background:none}
  .has-sub.open > .sub{display:block}
  .has-sub::after{display:none}
  .sub a{padding:10px 4px}
  .sub a.sub-cta{margin-top:8px;padding:12px}
}

/* --- écrans intermédiaires : on resserre --- */
@media (min-width:1001px) and (max-width:1400px){
  .menu{gap:16px;font-size:13.5px}
  .nav .btn{padding:12px 16px;font-size:13.5px}
  .nav img.lg{height:46px}
  .sub{min-width:280px}
}
@media (min-width:1800px){
  .sub{min-width:360px}
  .sub a b{font-size:16.5px}
  .sub a small{font-size:14px}
}


/* mots clés des services */
.mots{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--trait)}
.mots span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:8px 13px;
  border-radius:99px;border:1px solid var(--trait);background:var(--ivoire);color:var(--nv);white-space:nowrap}
.mots span.edit{border-color:var(--vv);background:rgba(78,167,46,.1);color:var(--vf);font-weight:500}
.sub-large{min-width:400px}
@media (min-width:1800px){.sub-large{min-width:480px}}
@media (max-width:1000px){.sub-large{min-width:0}}


/* triptyque affiché au bas du sous-menu Formations */
.sub-slogan{font-family:var(--display);font-style:italic;font-weight:600;font-size:14px;
  color:var(--vv);text-align:center;padding:12px 8px 4px;margin-top:6px;
  border-top:1px solid var(--trait);letter-spacing:.01em}


/* ==========================================================================
   EN-TÊTE : aucun libellé ne doit se couper en deux lignes
   ========================================================================== */
.nav{gap:clamp(20px,3vw,54px)}
.brand,.nav > a:first-child{margin-right:clamp(6px,1.6vw,26px)}
.menu > li > a{white-space:nowrap}
.sub-top{white-space:nowrap}
.nav .btn{white-space:nowrap}
.acct-btn{white-space:nowrap}

/* le sous-menu, lui, peut respirer sur plusieurs lignes */
.sub a b,.sub a small{white-space:normal}

@media (min-width:1001px) and (max-width:1400px){
  .menu{gap:15px;font-size:13px}
  .nav{gap:24px}
  .sub-large{min-width:300px}
}
@media (min-width:1401px) and (max-width:1600px){
  .menu{gap:20px;font-size:14px}
}


/* ==========================================================================
   RÉSERVATION ET PAIEMENT
   ========================================================================== */
.res-ov{position:fixed;inset:0;z-index:160;background:rgba(14,40,65,.76);backdrop-filter:blur(6px);
  display:none;overflow-y:auto;padding:clamp(16px,4vh,54px) 16px}
.res-ov.on{display:block;animation:fadein .24s both}
.res-win{position:relative;max-width:700px;margin:0 auto;background:#fff;border-radius:5px;
  border-top:4px solid var(--or);padding:clamp(26px,3.4vw,44px);
  box-shadow:0 40px 80px -32px rgba(0,0,0,.6)}
.res-win label{font-family:var(--display);font-size:13px;font-weight:600;display:block;margin-bottom:6px}
.res-win input,.res-win select{width:100%;padding:13px 15px;border:1px solid var(--trait);
  border-radius:2px;font-family:var(--body);font-size:15.5px;margin-bottom:17px;color:var(--nv);background:#fff}
.res-win input:focus,.res-win select:focus{outline:2px solid var(--vv);outline-offset:1px;border-color:var(--vv)}

.etapes{display:flex;gap:6px;margin-bottom:24px;flex-wrap:wrap}
.et{flex:1;min-width:110px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gris);padding:9px 6px;text-align:center;
  border-bottom:3px solid var(--trait);transition:.3s}
.et.on{color:var(--vf);border-bottom-color:var(--or);font-weight:500}

.rvue{display:none}
.rvue.on{display:block;animation:fadein .3s both}

.recap{background:var(--ivoire);border-left:4px solid var(--vf);border-radius:3px;
  padding:18px 20px;margin-bottom:24px}
.recap div{display:flex;justify-content:space-between;gap:14px;padding:5px 0;font-size:14.5px;color:var(--gris)}
.recap div b{color:var(--nv);font-family:var(--display);text-align:right}
.recap .total{border-top:1px solid var(--trait);margin-top:8px;padding-top:12px;font-size:17px}
.recap .total b{font-size:21px;font-weight:800;color:var(--vf)}

.moyens{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.moyen{text-align:left;background:#fff;border:1px solid var(--trait);border-left:4px solid var(--trait);
  border-radius:3px;padding:15px 16px;cursor:pointer;transition:.25s}
.moyen:hover{border-color:var(--vv);border-left-color:var(--vv);transform:translateY(-3px);
  box-shadow:0 16px 30px -22px rgba(14,40,65,.5)}
.moyen.on{border-color:var(--vf);border-left-color:var(--or);background:rgba(78,167,46,.07)}
.moyen .mk{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--or);display:block}
.moyen b{font-family:var(--display);font-size:16px;color:var(--nv);display:block;margin:5px 0 4px}
.moyen small{color:var(--gris);font-size:12.8px;display:block;line-height:1.45}

.detail{background:var(--nv);color:#fff;border-radius:3px;padding:20px 22px;margin-bottom:20px;
  animation:fadein .3s both}
.detail h5{font-family:var(--display);font-size:15px;color:var(--vv);margin:0 0 10px}
.detail p{color:rgba(255,255,255,.8);font-size:14.5px;margin:0 0 12px}
.detail .ligne{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);
  font-size:12.5px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.detail .ligne:last-child{border-bottom:0}
.detail .ligne span{color:rgba(255,255,255,.6)}
.detail .ligne b{color:#fff;text-align:right}
.detail input{margin-bottom:0}

.res-actions{display:flex;gap:12px;flex-wrap:wrap}
.res-actions .btn{flex:1;text-align:center;min-width:150px}
.btn:disabled{opacity:.45;cursor:not-allowed}

.fin-ok{text-align:center;padding:14px 0 4px}
.coche{width:64px;height:64px;border-radius:50%;background:var(--vf);color:#fff;font-size:30px;
  display:grid;place-items:center;margin:0 auto 18px}
.fin-ok h4{font-family:var(--display);font-size:23px;color:var(--nv);margin:0 0 12px}
.fin-ok p{color:var(--gris);font-size:15.5px;margin:0 0 10px}
.fin-sub{font-size:14px!important;color:var(--gris)}
.fin-ok .btn{margin-top:16px}

@media (max-width:600px){
  .moyens{grid-template-columns:1fr}
  .res-win{padding:24px 18px}
  .etapes{gap:4px}
  .et{font-size:9.5px;min-width:0}
  .res-actions .btn{min-width:0}
}
@media (hover:none){.moyen:hover{transform:none;box-shadow:none}}


/* ==========================================================================
   EN-TÊTE : logo au coin, menu centré, actions à droite
   ========================================================================== */
.nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,40px);justify-content:flex-start}
.nav > a:first-child{margin-right:auto;flex:0 0 auto}
.nav nav{flex:0 1 auto}
.wrap.nav{max-width:none;width:100%;
  padding-left:clamp(14px,1.6vw,30px);padding-right:clamp(14px,1.6vw,30px)}

/* bouton d'audit mis en avant */
.btn-audit{background:var(--or);color:#fff;font-weight:700;letter-spacing:.01em;
  box-shadow:0 12px 26px -12px rgba(233,113,50,.95);border:0;position:relative;overflow:hidden}
.btn-audit:hover{background:var(--or);transform:translateY(-2px);
  box-shadow:0 16px 32px -12px rgba(233,113,50,1)}
.btn-audit::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  animation:brille 4.2s ease-in-out infinite}
@keyframes brille{0%,70%{left:-60%}100%{left:130%}}

/* sous-menu sur deux colonnes */
.sub-deux{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;min-width:620px}
.sub-deux .col-titre{grid-column:auto;font-family:var(--mono);font-size:10px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gris);padding:6px 13px 10px;border-bottom:1px solid var(--trait);
  margin-bottom:6px}
.sub-deux > li:nth-child(-n+6){grid-column:1}
.sub-deux > li:nth-child(n+7){grid-column:2}

/* ==========================================================================
   RECHERCHE PAR MOT CLÉ
   ========================================================================== */
.icon-btn{width:42px;height:42px;border:1px solid var(--trait);background:#fff;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;color:var(--nv);transition:.25s;flex:0 0 auto}
.icon-btn:hover{border-color:var(--vv);color:var(--vf);background:rgba(78,167,46,.08)}

.search-ov{position:fixed;inset:0;z-index:170;background:rgba(14,40,65,.76);backdrop-filter:blur(6px);
  display:none;padding:clamp(50px,10vh,120px) 18px 20px;overflow-y:auto}
.search-ov.on{display:block;animation:fadein .22s both}
.search-box{max-width:760px;margin:0 auto}
.search-field{display:flex;align-items:center;gap:12px;background:#fff;border-radius:4px;
  padding:16px 18px;box-shadow:0 30px 60px -26px rgba(0,0,0,.6);color:var(--gris)}
.search-field input{flex:1;border:0;outline:0;font-family:var(--body);font-size:18px;
  color:var(--nv);background:none;padding:0;margin:0}
.search-field button{border:0;background:none;font-size:18px;color:var(--gris);cursor:pointer;
  width:34px;height:34px;border-radius:50%;transition:.2s}
.search-field button:hover{background:var(--ivoire);color:var(--nv)}

.cles{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cles-t{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.6);width:100%;margin-bottom:2px}
.cles button{font-family:var(--mono);font-size:12px;padding:8px 14px;border-radius:99px;
  border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;
  cursor:pointer;transition:.22s}
.cles button:hover{background:var(--vv);border-color:var(--vv)}

.results{margin-top:16px;border-radius:4px}
.results a{display:block;background:#fff;padding:16px 18px;text-decoration:none;
  border-bottom:1px solid var(--trait);transition:.2s}
.results a:first-child{border-radius:4px 4px 0 0}
.results a:last-child{border-bottom:0;border-radius:0 0 4px 4px}
.results a:hover,.results a:focus-visible{background:var(--ivoire)}
.results .rp{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--or)}
.results .rt{font-family:var(--display);font-weight:700;font-size:16.5px;color:var(--nv);display:block;margin-top:4px}
.results .rx{font-size:14px;color:var(--gris);margin-top:5px;display:block}
.results mark{background:rgba(78,167,46,.3);color:inherit;padding:0 2px;border-radius:2px}
.results .vide{background:#fff;padding:24px 18px;border-radius:4px;color:var(--gris);text-align:center}
.search-hint{color:rgba(255,255,255,.62);font-family:var(--mono);font-size:11.5px;
  letter-spacing:.1em;text-align:center;margin:16px 0 0}
.search-hint kbd{border:1px solid rgba(255,255,255,.4);border-radius:3px;padding:2px 6px}

@media (max-width:1300px){
  .sub-deux{min-width:520px}
  .menu{gap:14px;font-size:13px}
}
@media (max-width:1000px){
  .sub-deux{grid-template-columns:1fr;min-width:0}
  .acct-label{display:none}
  .acct-btn{padding:7px;border-radius:50%}
  .nav-cta{display:inline-block;padding:11px 16px;font-size:13px}
}
@media (max-width:720px){
  .nav-cta{display:none}
  .icon-btn{width:38px;height:38px}
}
@media (min-width:1800px){
  .icon-btn{width:52px;height:52px}
  .search-field input{font-size:22px}
  .sub-deux{min-width:760px}
}
@media (hover:none){
  .btn-audit::after{display:none}
  .btn-audit:hover{transform:none}
  .icon-btn,.cles button{min-height:44px}
}


/* ==========================================================================
   ACCUEIL
   ========================================================================== */
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,64px);
  align-items:center;position:relative;z-index:2}
.hero-txt{max-width:none}
.hero h1{max-width:16ch}
.hero p.lead{max-width:54ch}

.hero-mini{display:flex;gap:clamp(18px,3vw,38px);margin-top:clamp(30px,3.6vw,48px);
  padding-top:clamp(22px,2.6vw,32px);border-top:1px solid var(--trait);flex-wrap:wrap}
.hero-mini div{display:flex;flex-direction:column}
.hero-mini b{font-family:var(--display);font-size:clamp(26px,2.8vw,38px);font-weight:800;
  color:var(--vf);line-height:1}
.hero-mini span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gris);margin-top:6px}

/* visuel : photo principale, incrustation et pastille */
.hero-vis{position:relative;padding:0 0 46px 46px}
.hero-vis figure{margin:0;overflow:hidden;border-radius:4px;cursor:pointer}
.hv-main{position:relative;box-shadow:0 40px 70px -34px rgba(14,40,65,.65)}
.hv-main img{width:100%;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.3,1)}
.hv-main:hover img{transform:scale(1.05)}
.hv-main::after{content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,rgba(25,107,36,.16),transparent 55%);pointer-events:none}

.hv-inc{position:absolute;left:0;bottom:0;width:52%;border:5px solid #fff;
  box-shadow:0 26px 50px -26px rgba(14,40,65,.7);animation:flotte 7s ease-in-out infinite}
.hv-inc img{width:100%;display:block}
@keyframes flotte{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.hv-badge{position:absolute;right:-8px;top:26px;background:var(--nv);color:#fff;
  padding:16px 20px;border-radius:4px;max-width:230px;
  box-shadow:0 26px 46px -22px rgba(14,40,65,.85);animation:flotte 8s ease-in-out infinite reverse}
.hv-badge .k{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--vv);display:block}
.hv-badge b{font-family:var(--display);font-size:15.5px;font-weight:600;display:block;margin-top:7px;line-height:1.35}

/* flèche de défilement */
.hero-fleche{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gris);transition:.25s}
.hero-fleche:hover{color:var(--vf)}
.hero-fleche i{font-style:normal;font-size:17px;color:var(--vf);animation:saute 2.2s ease-in-out infinite}
@keyframes saute{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(7px);opacity:1}}

@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-vis{padding:0 0 40px 34px;max-width:560px}
  .hv-badge{right:0;top:14px;max-width:190px;padding:13px 16px}
  .hero-fleche{display:none}
}
@media (max-width:600px){
  .hero-vis{padding:0 0 30px 24px}
  .hv-inc{width:56%;border-width:4px}
  .hv-badge{position:static;max-width:none;margin-top:14px;animation:none}
  .hero-mini{gap:22px}
}
@media (min-width:1800px){
  .hv-badge{max-width:300px;padding:22px 26px}
  .hv-badge b{font-size:19px}
}
@media (hover:none){
  .hv-inc,.hv-badge{animation:none}
  .hv-main:hover img{transform:none}
}


/* ==========================================================================
   PIED DE PAGE : même architecture que l'en-tête, sans redondance
   ========================================================================== */
.f-haut{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(28px,4vw,60px);
  align-items:center;padding-bottom:36px;margin-bottom:34px;
  border-bottom:1px solid rgba(255,255,255,.14)}
.f-marque p{max-width:56ch;margin:0}
.f-cta{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);
  border-left:4px solid var(--or);border-radius:4px;padding:24px 26px}
.f-cta .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--vv);display:block}
.f-cta b{font-family:var(--display);font-size:19px;font-weight:700;color:#fff;
  display:block;margin:9px 0 18px;line-height:1.3}
.f-cta .btn{width:100%;text-align:center}
.f-tel{display:block;text-align:center;margin-top:12px;font-family:var(--mono);
  font-size:12px;color:rgba(255,255,255,.6);text-decoration:none}
.f-tel:hover{color:var(--vv)}

.f-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:26px}

.f-coord{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14)}
.f-coord .k{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--vv);display:block}
.f-coord b{font-family:var(--display);font-size:15px;color:#fff;display:block;margin:7px 0 4px}
.f-coord b a{text-decoration:none}
.f-coord b a:hover{color:var(--vv)}
.f-coord small{color:rgba(255,255,255,.6);font-size:13px;line-height:1.55;display:block}

@media (max-width:1100px){
  .f-grid{grid-template-columns:repeat(3,1fr)}
  .f-haut{grid-template-columns:1fr}
  .f-coord{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .f-grid{grid-template-columns:1fr 1fr}
  .f-coord{grid-template-columns:1fr}
}
@media (max-width:460px){
  .f-grid{grid-template-columns:1fr}
}


/* ==========================================================================
   PHOTOS DU PDG : diptyque au même format, cadres réguliers
   ========================================================================== */
.pdg-photos{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.pp{margin:0;position:relative;overflow:hidden;border-radius:4px;background:var(--nv);
  aspect-ratio:3/4;cursor:pointer;border:1px solid var(--trait)}
.pp img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;
  transition:transform 1.1s cubic-bezier(.2,.7,.3,1)}
.pp:hover img{transform:scale(1.05)}
.pp figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;
  background:linear-gradient(to top,rgba(10,30,49,.94),transparent);pointer-events:none}
.pp figcaption .k{font-family:var(--mono);font-size:10px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--vv)}

/* la première photo est légèrement mise en avant */
.pp-1{border-top:3px solid var(--vf);box-shadow:0 26px 46px -28px rgba(14,40,65,.6)}
.pp-2{margin-top:30px;border-top:3px solid var(--or)}

.pp-badge{position:absolute;left:50%;transform:translateX(-50%);bottom:-16px;z-index:3;
  background:var(--vf);color:#fff;padding:9px 18px;border-radius:99px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  white-space:nowrap;box-shadow:0 14px 28px -12px rgba(25,107,36,.9)}

.pdg-grid{align-items:start}
.pdg-grid > .pdg-photos{padding-bottom:26px}

@media (max-width:1000px){
  .pdg-photos{max-width:520px;margin:0 auto}
}
@media (max-width:520px){
  .pdg-photos{grid-template-columns:1fr;gap:12px}
  .pp-2{margin-top:0}
  .pp{aspect-ratio:4/3}
  .pp img{object-position:center 25%}
  .pp-badge{position:static;transform:none;display:inline-block;margin-top:12px}
}
@media (hover:none){.pp:hover img{transform:none}}

/* CIRPAE-TIC Dashboard V4 — visual reference */
.cirpaetic-dashboard{--cd-navy:#077454;--cd-green:#077454;--cd-lime:#00F807;--cd-orange:#FC8301;--cd-bg:#f7f8ff;--cd-text:#077454;display:grid;grid-template-columns:256px minmax(0,1fr);height:100vh;min-height:760px;background:var(--cd-bg);color:var(--cd-text);font-family:var(--body);overflow:hidden}.cirpaetic-dashboard *{box-sizing:border-box}.cirpaetic-dashboard a{text-decoration:none}.cd-sidebar{grid-column:1;background:var(--cd-navy);color:rgba(255,255,255,.82);display:flex;flex-direction:column;height:100vh;position:relative;z-index:50;border-right:1px solid rgba(255,255,255,.08)}.cd-brand{padding:34px 28px 30px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:5px}.cd-brand strong{font:700 31px/1 var(--display);color:var(--cd-lime);letter-spacing:-.03em}.cd-brand span{font:12px var(--body);color:rgba(255,255,255,.82)}.cd-nav{flex:1;padding:28px 14px;display:flex;flex-direction:column;gap:8px}.cd-nav a,.cd-side-footer a{display:flex;align-items:center;gap:14px;padding:14px 15px;color:rgba(255,255,255,.82);font:600 14px var(--display);border-radius:6px;transition:.18s}.cd-nav a:hover,.cd-side-footer a:hover{background:rgba(78,167,46,.16);color:#fff}.cd-nav a.is-active{background:var(--cd-orange);color:#38200d;box-shadow:0 4px 10px rgba(0,0,0,.12)}.cd-nav .material-symbols-outlined,.cd-side-footer .material-symbols-outlined{font-size:22px}.cd-audit{padding:0 16px 16px}.cd-audit a{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--cd-orange);color:#3b210e;padding:13px 14px;border-radius:5px;font:700 13px var(--display)}.cd-side-footer{border-top:1px solid rgba(255,255,255,.1);padding:16px 14px 22px;display:flex;flex-direction:column;gap:3px}.cd-main{grid-column:2;min-width:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.cd-topbar{height:86px;flex:0 0 86px;background:#fff;border-bottom:1px solid #e0e3ea;display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:25px}.cd-page-title h1{margin:0;color:var(--cd-green);font:700 27px/1 var(--display)}.cd-actions{display:flex;align-items:center;gap:24px}.cd-search{display:flex;align-items:center;gap:9px;width:276px;background:#e8eefb;border:1px solid #dce3f0;border-radius:15px;padding:10px 15px}.cd-search input{width:100%;border:0;outline:0;background:transparent;color:var(--cd-text);font:14px var(--body)}.cd-icons{display:flex;gap:4px}.cd-icons a{position:relative;width:38px;height:38px;display:grid;place-items:center;color:var(--cd-navy);border-radius:50%}.cd-icons a:hover{background:#eef2f8;color:var(--cd-green)}.cd-icons i{position:absolute;width:7px;height:7px;border-radius:50%;background:#c51d1d;top:7px;right:7px;border:1px solid #fff}.cd-account{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #dfe3e9;border-radius:13px;padding:5px 12px 5px 5px;color:var(--cd-green);font:700 14px var(--display)}.cd-account img{width:36px;height:36px;border-radius:50%;object-fit:cover}.cd-scroll{flex:1;overflow:auto;padding:44px 48px 96px}.cd-container{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:72px}.cd-hero{position:relative;min-height:346px;background:var(--cd-navy);border-radius:26px;padding:54px;display:flex;align-items:center;justify-content:space-between;gap:45px;overflow:hidden}.cd-hero-glow{position:absolute;inset:0;pointer-events:none;opacity:.12;background:radial-gradient(circle at 100% 100%,var(--cd-lime),transparent 50%),radial-gradient(circle at 0 0,var(--cd-orange),transparent 50%)}.cd-hero-copy{position:relative;z-index:1;max-width:640px}.cd-hero-copy h2{margin:0 0 20px;color:#fff;font:700 42px/1.15 var(--display);max-width:none}.cd-hero-copy h2 span{color:var(--cd-lime)}.cd-hero-copy p{margin:0;max-width:610px;color:#e1e8f2;font:17px/1.55 var(--body)}.cd-hero-action{padding-top:30px}.cd-hero-action a{display:inline-flex;align-items:center;gap:10px;background:var(--cd-green);color:#fff;padding:14px 24px;border-radius:6px;font:700 14px var(--display)}.cd-progress-ring{position:relative;z-index:1;width:196px;height:196px;flex:0 0 196px;border-radius:24px;background:#0a5d45;border:4px solid #4b5667;display:grid;place-items:center;overflow:hidden}.cd-progress-ring:before{content:"";position:absolute;inset:0;border-radius:20px;padding:3px;background:conic-gradient(var(--cd-lime) var(--progress),transparent 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.cd-progress-ring div{position:relative;text-align:center}.cd-progress-ring strong{display:block;color:#fff;font:700 42px/1 var(--display)}.cd-progress-ring span{display:block;margin-top:5px;color:rgba(255,255,255,.82);font:12px var(--body)}.cd-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.cd-metric{min-height:281px;background:#fff;border:1px solid #dfe3e9;border-radius:10px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;position:relative;overflow:hidden;box-shadow:0 4px 12px -9px rgba(11,20,32,.35)}.cd-metric:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-55px;bottom:-55px;background:rgba(158,214,122,.12);filter:blur(20px)}.cd-metric-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;position:relative;z-index:1}.cd-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:7px;background:#ffdfcf;color:#9d4a0e}.cd-icon-blue{background:#e4ecff;color:#286017}.cd-icon-neutral{background:#fff;border:1px solid #dfe3e9;color:#111}.cd-badge{padding:6px 9px;border-radius:14px;background:#e5edfc;color:#1f2b3d;font:700 11px var(--body)}.cd-badge-orange{background:#fff0e5;color:#9d4a0e}.cd-metric>div:nth-child(2){position:relative;z-index:1}.cd-metric strong{display:block;font:700 36px/1.05 var(--display);color:#101925}.cd-metric p{margin:7px 0 0;color:#4b544a;font:16px/1.4 var(--body)}.cd-mini-progress{height:6px;background:#dce5f5;border-radius:99px;overflow:hidden}.cd-mini-progress i{display:block;height:100%;background:var(--cd-green);border-radius:inherit}.cd-metric>a{position:relative;z-index:1;color:#9d4a0e;font:700 13px var(--display)}.cd-mentor strong{font-size:23px}.cd-date{background:#fff;border:1px solid #dfe3e9;padding:6px 9px;color:#3e4650;font:11px var(--body)}.cd-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:34px}.cd-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.cd-section-heading h3,.cd-mentorship>h3{margin:0;color:#077454;font:700 22px var(--display)}.cd-section-heading a{color:var(--cd-green);font:700 12px var(--display)}.cd-course-list,.cd-feed{background:#fff;border:1px solid #dfe3e9;border-radius:10px;overflow:hidden}.cd-course{display:flex;align-items:center;gap:22px;padding:23px;border-bottom:1px solid #e0e3ea}.cd-course:last-child{border-bottom:0}.cd-course-icon{width:64px;height:64px;flex:0 0 64px;border-radius:8px;background:#e8eefb;color:var(--cd-green);display:grid;place-items:center}.cd-course-icon.is-orange{background:#ffdfcf;color:#9d4a0e}.cd-course-body{flex:1;min-width:0}.cd-course-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.cd-course-title h4{margin:0;color:#077454;font:600 16px/1.3 var(--body);max-width:none}.cd-course-title b{color:var(--cd-green);font:700 13px var(--display)}.cd-course p{margin:8px 0 12px;color:#65707c;font:13px/1.4 var(--body)}.cd-course-bar{height:8px;background:#dfe7f5;border-radius:99px;overflow:hidden}.cd-course-bar i{display:block;height:100%;background:var(--cd-green);border-radius:inherit}.cd-course:nth-child(2) .cd-course-bar i{background:var(--cd-orange)}.cd-course:nth-child(3) .cd-course-bar i{background:#b7bec9}.cd-mentorship>h3{margin-bottom:15px}.cd-feed{padding:15px;display:flex;flex-direction:column;gap:12px}.cd-feed-item{display:flex;gap:12px;padding:14px;background:#f8f9fc;border:1px solid #dfe3e9;border-radius:8px}.cd-avatar-small{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#ffdfcf;color:#9d4a0e;display:grid;place-items:center;font:700 12px var(--display)}.cd-feed-item>div:last-child{min-width:0;flex:1}.cd-feed-meta{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.cd-feed-meta strong{font:700 12px var(--display)}.cd-feed-meta span{color:#6f7782;font:10px var(--body)}.cd-feed-item p{margin:7px 0 0;color:#5c6672;font:12px/1.5 var(--body)}.cd-history{width:100%;padding:12px;text-align:center;color:#5c6672;border:1px dashed #aeb6c1;border-radius:7px;font:700 12px var(--display)}.cd-empty{padding:28px;color:#69727c;font:13px var(--body);text-align:center}.cd-footer{position:sticky;bottom:0;z-index:30;min-height:76px;background:var(--cd-navy);display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 48px;color:rgba(255,255,255,.82);font:11px var(--body)}.cd-footer strong{color:var(--cd-lime);font:700 14px var(--display)}.cd-footer nav{display:flex;gap:22px}.cd-footer a{color:rgba(255,255,255,.82)}.cd-simple-hero{background:var(--cd-navy);border-radius:20px;padding:38px 42px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px}.cd-simple-hero h2{margin:0 0 8px;font:700 30px var(--display);max-width:none}.cd-simple-hero h2 span{color:var(--cd-lime)}.cd-simple-hero p{margin:0;color:rgba(255,255,255,.82)}.cd-simple-hero>a{background:var(--cd-orange);color:#3b210e;padding:12px 18px;border-radius:6px;font:700 12px var(--display)}.cd-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cd-admin-card{background:#fff;border:1px solid #dfe3e9;border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:9px}.cd-admin-card .material-symbols-outlined{color:var(--cd-green)}.cd-admin-card small{color:#69727c;font:700 11px var(--body)}.cd-admin-card strong{font:700 31px var(--display)}.cd-mobile-toggle{display:none}@media(max-width:1100px){.cirpaetic-dashboard{grid-template-columns:230px minmax(0,1fr)}.cd-topbar{padding:0 24px}.cd-scroll{padding:30px 28px 88px}.cd-hero{padding:40px}.cd-detail-grid{grid-template-columns:1fr}.cd-search{width:230px}}@media(max-width:800px){.cirpaetic-dashboard{display:block;min-height:100vh;height:auto;overflow:visible}.cd-sidebar{position:fixed;left:-280px;top:0;width:256px;transition:left .22s ease;box-shadow:10px 0 35px rgba(0,0,0,.2)}.cirpaetic-dashboard.menu-open .cd-sidebar{left:0}.cd-mobile-toggle{display:grid;place-items:center;position:fixed;left:12px;top:15px;width:40px;height:40px;z-index:70;border:0;border-radius:9px;background:var(--cd-navy);color:#fff}.cd-main{height:auto;min-height:100vh;overflow:visible}.cd-topbar{height:76px;padding:0 18px 0 62px}.cd-actions{gap:7px}.cd-search{display:none}.cd-account span:nth-child(2){display:none}.cd-scroll{padding:24px 18px 88px}.cd-container{gap:35px}.cd-hero{min-height:0;padding:30px;flex-direction:column;align-items:flex-start}.cd-progress-ring{align-self:center}.cd-metrics{grid-template-columns:1fr}.cd-footer{position:relative;padding:20px 18px;flex-wrap:wrap}.cd-footer nav{gap:12px;flex-wrap:wrap}.cd-admin-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cd-hero-copy h2{font-size:31px}.cd-hero-copy p{font-size:14px}.cd-progress-ring{width:150px;height:150px;flex-basis:150px}.cd-progress-ring strong{font-size:34px}.cd-course{padding:18px;gap:14px}.cd-course-icon{width:52px;height:52px;flex-basis:52px}.cd-course-title{flex-direction:column;gap:5px}.cd-footer{font-size:10px}.cd-admin-grid{grid-template-columns:1fr}.cd-simple-hero{flex-direction:column;align-items:flex-start}}

/* CIRPAE-TIC Dashboard V4 — visual reference */
.cirpaetic-dashboard{--cd-navy:#077454;--cd-green:#077454;--cd-lime:#00F807;--cd-orange:#FC8301;--cd-bg:#f7f8ff;--cd-text:#077454;display:grid;grid-template-columns:256px minmax(0,1fr);height:100vh;min-height:760px;background:var(--cd-bg);color:var(--cd-text);font-family:var(--body);overflow:hidden}.cirpaetic-dashboard *{box-sizing:border-box}.cirpaetic-dashboard a{text-decoration:none}.cd-sidebar{grid-column:1;background:var(--cd-navy);color:rgba(255,255,255,.82);display:flex;flex-direction:column;height:100vh;position:relative;z-index:50;border-right:1px solid rgba(255,255,255,.08)}.cd-brand{padding:34px 28px 30px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:5px}.cd-brand strong{font:700 31px/1 var(--display);color:var(--cd-lime);letter-spacing:-.03em}.cd-brand span{font:12px var(--body);color:rgba(255,255,255,.82)}.cd-nav{flex:1;padding:28px 14px;display:flex;flex-direction:column;gap:8px}.cd-nav a,.cd-side-footer a{display:flex;align-items:center;gap:14px;padding:14px 15px;color:rgba(255,255,255,.82);font:600 14px var(--display);border-radius:6px;transition:.18s}.cd-nav a:hover,.cd-side-footer a:hover{background:rgba(78,167,46,.16);color:#fff}.cd-nav a.is-active{background:var(--cd-orange);color:#38200d;box-shadow:0 4px 10px rgba(0,0,0,.12)}.cd-nav .material-symbols-outlined,.cd-side-footer .material-symbols-outlined{font-size:22px}.cd-audit{padding:0 16px 16px}.cd-audit a{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--cd-orange);color:#3b210e;padding:13px 14px;border-radius:5px;font:700 13px var(--display)}.cd-side-footer{border-top:1px solid rgba(255,255,255,.1);padding:16px 14px 22px;display:flex;flex-direction:column;gap:3px}.cd-main{grid-column:2;min-width:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.cd-topbar{height:86px;flex:0 0 86px;background:#fff;border-bottom:1px solid #e0e3ea;display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:25px}.cd-page-title h1{margin:0;color:var(--cd-green);font:700 27px/1 var(--display)}.cd-actions{display:flex;align-items:center;gap:24px}.cd-search{display:flex;align-items:center;gap:9px;width:276px;background:#e8eefb;border:1px solid #dce3f0;border-radius:15px;padding:10px 15px}.cd-search input{width:100%;border:0;outline:0;background:transparent;color:var(--cd-text);font:14px var(--body)}.cd-icons{display:flex;gap:4px}.cd-icons a{position:relative;width:38px;height:38px;display:grid;place-items:center;color:var(--cd-navy);border-radius:50%}.cd-icons a:hover{background:#eef2f8;color:var(--cd-green)}.cd-icons i{position:absolute;width:7px;height:7px;border-radius:50%;background:#c51d1d;top:7px;right:7px;border:1px solid #fff}.cd-account{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #dfe3e9;border-radius:13px;padding:5px 12px 5px 5px;color:var(--cd-green);font:700 14px var(--display)}.cd-account img{width:36px;height:36px;border-radius:50%;object-fit:cover}.cd-scroll{flex:1;overflow:auto;padding:44px 48px 96px}.cd-container{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:72px}.cd-hero{position:relative;min-height:346px;background:var(--cd-navy);border-radius:26px;padding:54px;display:flex;align-items:center;justify-content:space-between;gap:45px;overflow:hidden}.cd-hero-glow{position:absolute;inset:0;pointer-events:none;opacity:.12;background:radial-gradient(circle at 100% 100%,var(--cd-lime),transparent 50%),radial-gradient(circle at 0 0,var(--cd-orange),transparent 50%)}.cd-hero-copy{position:relative;z-index:1;max-width:640px}.cd-hero-copy h2{margin:0 0 20px;color:#fff;font:700 42px/1.15 var(--display);max-width:none}.cd-hero-copy h2 span{color:var(--cd-lime)}.cd-hero-copy p{margin:0;max-width:610px;color:#e1e8f2;font:17px/1.55 var(--body)}.cd-hero-action{padding-top:30px}.cd-hero-action a{display:inline-flex;align-items:center;gap:10px;background:var(--cd-green);color:#fff;padding:14px 24px;border-radius:6px;font:700 14px var(--display)}.cd-progress-ring{position:relative;z-index:1;width:196px;height:196px;flex:0 0 196px;border-radius:24px;background:#0a5d45;border:4px solid #4b5667;display:grid;place-items:center;overflow:hidden}.cd-progress-ring:before{content:"";position:absolute;inset:0;border-radius:20px;padding:3px;background:conic-gradient(var(--cd-lime) var(--progress),transparent 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.cd-progress-ring div{position:relative;text-align:center}.cd-progress-ring strong{display:block;color:#fff;font:700 42px/1 var(--display)}.cd-progress-ring span{display:block;margin-top:5px;color:rgba(255,255,255,.82);font:12px var(--body)}.cd-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.cd-metric{min-height:281px;background:#fff;border:1px solid #dfe3e9;border-radius:10px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;position:relative;overflow:hidden;box-shadow:0 4px 12px -9px rgba(11,20,32,.35)}.cd-metric:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-55px;bottom:-55px;background:rgba(158,214,122,.12);filter:blur(20px)}.cd-metric-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;position:relative;z-index:1}.cd-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:7px;background:#ffdfcf;color:#9d4a0e}.cd-icon-blue{background:#e4ecff;color:#286017}.cd-icon-neutral{background:#fff;border:1px solid #dfe3e9;color:#111}.cd-badge{padding:6px 9px;border-radius:14px;background:#e5edfc;color:#1f2b3d;font:700 11px var(--body)}.cd-badge-orange{background:#fff0e5;color:#9d4a0e}.cd-metric>div:nth-child(2){position:relative;z-index:1}.cd-metric strong{display:block;font:700 36px/1.05 var(--display);color:#101925}.cd-metric p{margin:7px 0 0;color:#4b544a;font:16px/1.4 var(--body)}.cd-mini-progress{height:6px;background:#dce5f5;border-radius:99px;overflow:hidden}.cd-mini-progress i{display:block;height:100%;background:var(--cd-green);border-radius:inherit}.cd-metric>a{position:relative;z-index:1;color:#9d4a0e;font:700 13px var(--display)}.cd-mentor strong{font-size:23px}.cd-date{background:#fff;border:1px solid #dfe3e9;padding:6px 9px;color:#3e4650;font:11px var(--body)}.cd-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:34px}.cd-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.cd-section-heading h3,.cd-mentorship>h3{margin:0;color:#077454;font:700 22px var(--display)}.cd-section-heading a{color:var(--cd-green);font:700 12px var(--display)}.cd-course-list,.cd-feed{background:#fff;border:1px solid #dfe3e9;border-radius:10px;overflow:hidden}.cd-course{display:flex;align-items:center;gap:22px;padding:23px;border-bottom:1px solid #e0e3ea}.cd-course:last-child{border-bottom:0}.cd-course-icon{width:64px;height:64px;flex:0 0 64px;border-radius:8px;background:#e8eefb;color:var(--cd-green);display:grid;place-items:center}.cd-course-icon.is-orange{background:#ffdfcf;color:#9d4a0e}.cd-course-body{flex:1;min-width:0}.cd-course-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.cd-course-title h4{margin:0;color:#077454;font:600 16px/1.3 var(--body);max-width:none}.cd-course-title b{color:var(--cd-green);font:700 13px var(--display)}.cd-course p{margin:8px 0 12px;color:#65707c;font:13px/1.4 var(--body)}.cd-course-bar{height:8px;background:#dfe7f5;border-radius:99px;overflow:hidden}.cd-course-bar i{display:block;height:100%;background:var(--cd-green);border-radius:inherit}.cd-course:nth-child(2) .cd-course-bar i{background:var(--cd-orange)}.cd-course:nth-child(3) .cd-course-bar i{background:#b7bec9}.cd-mentorship>h3{margin-bottom:15px}.cd-feed{padding:15px;display:flex;flex-direction:column;gap:12px}.cd-feed-item{display:flex;gap:12px;padding:14px;background:#f8f9fc;border:1px solid #dfe3e9;border-radius:8px}.cd-avatar-small{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#ffdfcf;color:#9d4a0e;display:grid;place-items:center;font:700 12px var(--display)}.cd-feed-item>div:last-child{min-width:0;flex:1}.cd-feed-meta{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.cd-feed-meta strong{font:700 12px var(--display)}.cd-feed-meta span{color:#6f7782;font:10px var(--body)}.cd-feed-item p{margin:7px 0 0;color:#5c6672;font:12px/1.5 var(--body)}.cd-history{width:100%;padding:12px;text-align:center;color:#5c6672;border:1px dashed #aeb6c1;border-radius:7px;font:700 12px var(--display)}.cd-empty{padding:28px;color:#69727c;font:13px var(--body);text-align:center}.cd-footer{position:sticky;bottom:0;z-index:30;min-height:76px;background:var(--cd-navy);display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 48px;color:rgba(255,255,255,.82);font:11px var(--body)}.cd-footer strong{color:var(--cd-lime);font:700 14px var(--display)}.cd-footer nav{display:flex;gap:22px}.cd-footer a{color:rgba(255,255,255,.82)}.cd-simple-hero{background:var(--cd-navy);border-radius:20px;padding:38px 42px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px}.cd-simple-hero h2{margin:0 0 8px;font:700 30px var(--display);max-width:none}.cd-simple-hero h2 span{color:var(--cd-lime)}.cd-simple-hero p{margin:0;color:rgba(255,255,255,.82)}.cd-simple-hero>a{background:var(--cd-orange);color:#3b210e;padding:12px 18px;border-radius:6px;font:700 12px var(--display)}.cd-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cd-admin-card{background:#fff;border:1px solid #dfe3e9;border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:9px}.cd-admin-card .material-symbols-outlined{color:var(--cd-green)}.cd-admin-card small{color:#69727c;font:700 11px var(--body)}.cd-admin-card strong{font:700 31px var(--display)}.cd-mobile-toggle{display:none}@media(max-width:1100px){.cirpaetic-dashboard{grid-template-columns:230px minmax(0,1fr)}.cd-topbar{padding:0 24px}.cd-scroll{padding:30px 28px 88px}.cd-hero{padding:40px}.cd-detail-grid{grid-template-columns:1fr}.cd-search{width:230px}}@media(max-width:800px){.cirpaetic-dashboard{display:block;min-height:100vh;height:auto;overflow:visible}.cd-sidebar{position:fixed;left:-280px;top:0;width:256px;transition:left .22s ease;box-shadow:10px 0 35px rgba(0,0,0,.2)}.cirpaetic-dashboard.menu-open .cd-sidebar{left:0}.cd-mobile-toggle{display:grid;place-items:center;position:fixed;left:12px;top:15px;width:40px;height:40px;z-index:70;border:0;border-radius:9px;background:var(--cd-navy);color:#fff}.cd-main{height:auto;min-height:100vh;overflow:visible}.cd-topbar{height:76px;padding:0 18px 0 62px}.cd-actions{gap:7px}.cd-search{display:none}.cd-account span:nth-child(2){display:none}.cd-scroll{padding:24px 18px 88px}.cd-container{gap:35px}.cd-hero{min-height:0;padding:30px;flex-direction:column;align-items:flex-start}.cd-progress-ring{align-self:center}.cd-metrics{grid-template-columns:1fr}.cd-footer{position:relative;padding:20px 18px;flex-wrap:wrap}.cd-footer nav{gap:12px;flex-wrap:wrap}.cd-admin-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cd-hero-copy h2{font-size:31px}.cd-hero-copy p{font-size:14px}.cd-progress-ring{width:150px;height:150px;flex-basis:150px}.cd-progress-ring strong{font-size:34px}.cd-course{padding:18px;gap:14px}.cd-course-icon{width:52px;height:52px;flex-basis:52px}.cd-course-title{flex-direction:column;gap:5px}.cd-footer{font-size:10px}.cd-admin-grid{grid-template-columns:1fr}.cd-simple-hero{flex-direction:column;align-items:flex-start}}

/* CIRPAE-TIC Dashboard V5: standalone application shell. */
body.cirpaetic-dashboard-page {
	margin: 0 !important;
	padding: 0 !important;
  background: var(--ivoire) !important;
	min-width: 320px;
	overflow: hidden;
}
body.cirpaetic-dashboard-page #page,
body.cirpaetic-dashboard-page .site,
body.cirpaetic-dashboard-page .site-content,
body.cirpaetic-dashboard-page .content-area,
body.cirpaetic-dashboard-page main:not(.cd-main) {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	width: auto !important;
}
body.cirpaetic-dashboard-page .cirpaetic-dashboard {
	position: relative;
	z-index: 1;
}

/* ================================================================
   HEADER UNIVERSEL CIRPAE-TIC — identique et immuable sur toutes les pages
   ================================================================ */
/* ================================================================
   HEADER UNIVERSEL CIRPAE-TIC — même rendu sur toutes les pages
   ================================================================ */
.cirpaetic-site-chrome{
  position:sticky!important;
  top:0!important;
  z-index:10000!important;
  width:100%;
  background:#fff;
}
.cirpaetic-site-chrome .topbar{position:relative!important;top:auto!important;z-index:1!important;}
.cirpaetic-site-chrome .site-header,.cirpaetic-site-chrome #hd{
  position:relative!important;top:auto!important;z-index:2!important;transform:none!important;
  box-shadow:none!important;transition:none!important;
}
/* Aucun changement de hauteur, logo, couleur ou menu au défilement. */
.cirpaetic-site-chrome .site-header.is-scrolled,.cirpaetic-site-chrome #hd.is-scrolled,
.cirpaetic-site-chrome .site-header.scrolled,.cirpaetic-site-chrome #hd.scrolled{
  background:rgba(255,255,255,.95)!important;box-shadow:none!important;transform:none!important;
}
.cirpaetic-site-chrome .site-header.is-scrolled .nav,.cirpaetic-site-chrome .site-header.scrolled .nav{height:78px!important;}
.cirpaetic-site-chrome .site-header.is-scrolled .brand-image,.cirpaetic-site-chrome .site-header.scrolled .brand-image{height:54px!important;}
.cirpaetic-site-chrome .nav{min-height:78px}
.cirpaetic-site-chrome .menu > li > a,.cirpaetic-site-chrome .menu .sub-top{font-weight:500!important}
.cirpaetic-site-chrome .menu > li > a.actif,.cirpaetic-site-chrome .menu .sub-top.actif,
.cirpaetic-site-chrome .menu .current-menu-item > a,.cirpaetic-site-chrome .menu .current_page_item > a{font-weight:500!important;}
.cirpaetic-site-chrome .tools{flex-shrink:0}
.cirpaetic-site-chrome .icon-btn,.cirpaetic-site-chrome .acct-btn{cursor:pointer;text-decoration:none}
.cirpaetic-site-chrome .burger{cursor:pointer}
@media(max-width:1000px){
  .cirpaetic-site-chrome .menu{position:absolute;top:78px;left:0;right:0;max-height:calc(100vh - 78px);overflow:auto}
}
@media(max-width:600px){
  .cirpaetic-site-chrome .nav{min-height:70px;height:70px}
  .cirpaetic-site-chrome .menu{top:70px}
}
/* The homepage legacy CSS is intentionally scoped so the universal header wrapper stays visible. */
body.cirpaetic-apercu-home > .cirpaetic-site-chrome{display:block!important;position:sticky!important;top:0!important;z-index:1000!important}

/* ================================================================
   FOOTER — reproduction du footer de apercu-2.html
   ================================================================ */
.site-footer{background:#077454!important;color:rgba(255,255,255,.72);padding:56px 0 26px;font-size:14.5px}
.site-footer .wrap{max-width:1180px}
.site-footer h4{color:#fff;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;font-family:var(--mono);font-weight:500}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:9px}.site-footer a{text-decoration:none;transition:.2s}.site-footer a:hover{color:var(--vv);padding-left:4px}
.site-footer .f-haut{display:grid!important;grid-template-columns:1.05fr auto .85fr;gap:clamp(24px,3vw,48px);align-items:center}
.site-footer .f-logo{background:#fff;padding:14px 20px;border-radius:4px;display:inline-block;margin-bottom:18px}.site-footer .f-logo img{height:46px;width:auto;object-fit:contain;display:block}
.site-footer .f-marque p{max-width:43ch;margin:0;color:rgba(255,255,255,.72)}
.site-footer .socials{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.site-footer .socials a{width:36px;height:36px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;font-size:13px;font-family:var(--mono)}
.site-footer .f-cercles{display:flex;justify-content:center;gap:28px}.site-footer .cercle{width:155px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.site-footer .cercle .anneau{width:82px;height:82px;border:1px solid rgba(78,167,46,.65);border-radius:50%;display:grid;place-items:center;color:var(--vv);font-family:var(--mono);font-size:18px;margin-bottom:6px}.site-footer .cercle b{color:#fff;font:600 14px var(--display)}
.site-footer .cercle .anneau-whatsapp svg{width:34px!important;height:34px!important;display:block!important}
.site-footer .cercle .anneau-whatsapp{color:var(--vv)!important}
.site-footer .cercle .num{font:11px var(--mono);color:rgba(255,255,255,.55)}
.site-footer .f-cta{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.site-footer .f-cta .k,.site-footer .f-coord .k,.site-footer .rappel .k{font:10px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--vv)}.site-footer .f-cta b{color:#fff;font:700 20px/1.2 var(--display)}.site-footer .f-tel{font:12px var(--mono);color:rgba(255,255,255,.55)}
.site-footer .rappel{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:center;margin:42px 0 38px;padding:24px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.site-footer .rappel b{display:block;color:#fff;font:600 17px var(--display);margin:5px 0}.site-footer .rappel small{color:rgba(255,255,255,.55)}.site-footer .rap-form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px}.site-footer .rap-form input{margin:0;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}.site-footer .rap-form input::placeholder{color:rgba(255,255,255,.45)}
.site-footer .f-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:26px}.site-footer .f-grid h4{margin-top:0}.site-footer .f-grid a{color:rgba(255,255,255,.68)}
.site-footer .f-coord{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:42px}.site-footer .f-coord>div{padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}.site-footer .f-coord b{font-family:var(--display);font-size:15px;color:#fff;display:block;margin:7px 0 4px}.site-footer .f-coord small{color:rgba(255,255,255,.6);font-size:13px;line-height:1.55;display:block}.site-footer .f-coord .tel{display:block;margin-top:8px;font:11px var(--mono);color:rgba(255,255,255,.55)}.site-footer .f-coord b a,.site-footer .f-coord .tel a{color:inherit}
.site-footer .f-bas{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}.site-footer .legal{display:flex;gap:8px;flex-wrap:wrap}.site-footer .legal a{color:rgba(255,255,255,.55)}
@media(max-width:1100px){.site-footer .f-haut{grid-template-columns:1fr}.site-footer .f-cercles{justify-content:flex-start}.site-footer .f-cta{align-items:flex-start}.site-footer .f-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.site-footer .f-grid{grid-template-columns:1fr 1fr}.site-footer .f-coord{grid-template-columns:1fr 1fr}.site-footer .rappel{grid-template-columns:1fr}.site-footer .rap-form{grid-template-columns:1fr 1fr}.site-footer .f-cercles{flex-wrap:wrap}}
@media(max-width:460px){.site-footer .f-grid,.site-footer .f-coord{grid-template-columns:1fr}.site-footer .rap-form{grid-template-columns:1fr}.site-footer .f-bas{display:block}.site-footer .legal{margin-top:10px}}


/* ==========================================================================
   CIRPAE-TIC FINAL PUBLIC CHROME — identique à l'accueil sur toutes les pages
   ========================================================================== */
html{scroll-padding-top:120px}
.cirpaetic-site-chrome{position:sticky;top:0;z-index:120;background:#fff;box-shadow:0 8px 28px -24px rgba(14,40,65,.45)}
.cirpaetic-site-chrome .site-topbar{position:relative;top:auto;z-index:121;height:34px;background:var(--nv);color:rgba(255,255,255,.86)}
.cirpaetic-site-chrome .site-topbar .wrap{height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:none;padding:0 clamp(14px,1.6vw,30px)}
.cirpaetic-site-chrome .topbar-slogan{font:10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--vv);text-decoration:none;white-space:nowrap}
.cirpaetic-site-chrome .topbar-slogan i{color:rgba(255,255,255,.35);font-style:normal;padding:0 5px}
.cirpaetic-site-chrome .topbar-links{display:flex;align-items:center;gap:22px;white-space:nowrap}
.cirpaetic-site-chrome .topbar-links a,.cirpaetic-site-chrome .topbar-links button{color:rgba(255,255,255,.88);font:13px var(--body);text-decoration:none;border:0;background:none;padding:0;cursor:pointer}
.cirpaetic-site-chrome .topbar-links a:hover,.cirpaetic-site-chrome .topbar-links button:hover{color:var(--or)}
.cirpaetic-site-chrome .tb-lang{display:flex;align-items:center;gap:6px;padding-left:16px;border-left:1px solid rgba(255,255,255,.2);font:11px var(--mono);letter-spacing:.08em}
.cirpaetic-site-chrome .tb-lang .language-button{color:rgba(255,255,255,.55);font:inherit;padding:0;min-height:0}
.cirpaetic-site-chrome .tb-lang .language-button.is-active{color:var(--or);font-weight:700}
.cirpaetic-site-chrome .site-header{position:relative;top:auto;z-index:120;height:78px;background:#fff;backdrop-filter:none;transition:none;box-shadow:none;border-bottom:1px solid var(--trait)}
.cirpaetic-site-chrome .site-header.scrolled,.cirpaetic-site-chrome .site-header.is-scrolled{box-shadow:none;transform:none;height:78px}
.cirpaetic-site-chrome .site-header .nav{height:78px;max-width:none;width:100%;padding:0 clamp(14px,1.6vw,30px);gap:clamp(14px,2.4vw,40px);display:flex;align-items:center}
.cirpaetic-site-chrome .brand{flex:0 0 112px;margin-right:auto}
.cirpaetic-site-chrome .brand-image{width:112px;height:66px;object-fit:contain}
.cirpaetic-site-chrome .main-navigation{display:flex;align-items:center;justify-content:center;flex:0 1 auto;min-width:0}
.cirpaetic-site-chrome .menu{display:flex;align-items:center;gap:clamp(12px,1.55vw,24px);font-size:13px;white-space:nowrap}
.cirpaetic-site-chrome .menu>li{position:relative}
.cirpaetic-site-chrome .menu>li>a{font:600 13px var(--display);color:var(--nv);text-decoration:none;padding:7px 0;white-space:nowrap}
.cirpaetic-site-chrome .menu>li>a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--vv);transition:.2s}
.cirpaetic-site-chrome .menu>li>a:hover::after,.cirpaetic-site-chrome .menu>li>a:focus-visible::after{width:100%}
.cirpaetic-site-chrome .has-sub>.sub-top{display:inline-flex;align-items:center;gap:5px}
.cirpaetic-site-chrome .has-sub>.sub-top .ch{font-size:9px;color:var(--gris);transition:.2s}
.cirpaetic-site-chrome .has-sub:hover>.sub-top .ch,.cirpaetic-site-chrome .has-sub.open>.sub-top .ch{transform:rotate(180deg);color:var(--vf)}
/* Megamenus Ressources / À propos : deux colonnes, sections nettes et sans débordement. */
.cirpaetic-site-chrome .sub.sub-deux{position:absolute;left:50%;top:calc(100% + 12px);transform:translate(-50%,-8px);display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:0 14px;width:min(760px,calc(100vw - 32px));min-width:640px;padding:12px;background:#fff;border:1px solid var(--trait);border-top:3px solid var(--vf);border-radius:4px;box-shadow:0 28px 60px -28px rgba(14,40,65,.58);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease;z-index:300}
.cirpaetic-site-chrome .has-sub:hover>.sub.sub-deux,.cirpaetic-site-chrome .has-sub:focus-within>.sub.sub-deux,.cirpaetic-site-chrome .has-sub.open>.sub.sub-deux{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.cirpaetic-site-chrome .sub-deux>.col{min-width:0;padding:0 4px}
.cirpaetic-site-chrome .sub-deux>.col+.col{border-left:1px solid var(--trait);padding-left:14px}
.cirpaetic-site-chrome .sub-deux .col-titre{display:block;margin:0 0 5px;padding:7px 10px 9px;border-bottom:1px solid var(--trait);color:var(--vf);font:600 10px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.cirpaetic-site-chrome .sub-deux ul{list-style:none;margin:0;padding:0}
.cirpaetic-site-chrome .sub-deux li{margin:0;padding:0}
.cirpaetic-site-chrome .sub-deux li a{display:block;padding:9px 10px;border-radius:3px;text-decoration:none}
.cirpaetic-site-chrome .sub-deux li a:hover,.cirpaetic-site-chrome .sub-deux li a:focus-visible{background:var(--ivoire)}
.cirpaetic-site-chrome .sub-deux li a b{display:block;color:var(--nv);font:600 13.5px/1.3 var(--display)}
.cirpaetic-site-chrome .sub-deux li a small{display:block;margin-top:3px;color:var(--gris);font:12px/1.35 var(--body)}
.cirpaetic-site-chrome .sub-deux .sub-cta{margin-top:8px;background:var(--or);color:#fff;text-align:center;font-weight:700}
.cirpaetic-site-chrome .sub-deux .sub-cta:hover{background:var(--or);color:#fff}
.cirpaetic-site-chrome .header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.cirpaetic-site-chrome .icon-btn{width:42px;height:42px;border:1px solid var(--trait);border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--nv)}
.cirpaetic-site-chrome .acct-btn{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:4px 13px 4px 5px;border:1px solid var(--trait);border-radius:99px;background:#fff;color:var(--nv);font:600 13px var(--display);text-decoration:none;white-space:nowrap}
.cirpaetic-site-chrome .acct-btn .avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--or);color:#fff}
.cirpaetic-site-chrome .nav-cta{height:46px;padding:12px 18px;background:var(--or);color:#fff;border-radius:2px;font:700 14px var(--display);text-decoration:none;white-space:nowrap;box-shadow:0 12px 26px -12px rgba(233,113,50,.95)}
.cirpaetic-site-chrome .nav-cta:hover{background:#f0803c;transform:translateY(-1px)}
/* Le texte du hero de l'accueil doit rester blanc malgré la feuille globale. */
body.cirpaetic-apercu-home .hero p.lead{color:rgba(255,255,255,.92)!important;text-shadow:0 2px 14px rgba(0,0,0,.5)}
/* Google Translate reste invisible : les boutons FR/EN pilotent le sélecteur. */
#google_translate_element{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important}
.goog-te-banner-frame.skiptranslate{display:none!important}
body{top:0!important}
@media(max-width:1250px){.cirpaetic-site-chrome .menu{gap:11px;font-size:12px}.cirpaetic-site-chrome .menu>li>a{font-size:12px}.cirpaetic-site-chrome .nav-cta{padding-left:14px;padding-right:14px}}
@media(max-width:1000px){
  .cirpaetic-site-chrome .site-topbar .wrap{height:auto;min-height:34px;justify-content:center;flex-wrap:wrap;padding-top:7px;padding-bottom:7px}
  .cirpaetic-site-chrome .site-topbar{height:auto}
  .cirpaetic-site-chrome .topbar-links{gap:13px;font-size:11px}
  .cirpaetic-site-chrome .site-header{height:70px}.cirpaetic-site-chrome .site-header .nav{height:70px}
  .cirpaetic-site-chrome .main-navigation{order:3;position:static}
  .cirpaetic-site-chrome .menu{display:none;position:absolute;left:0;right:0;top:100%;padding:10px 18px 18px;background:#fff;border-top:1px solid var(--trait);box-shadow:0 20px 35px -28px rgba(14,40,65,.6);flex-direction:column;align-items:stretch;white-space:normal}
  .cirpaetic-site-chrome .menu.open{display:flex}
  .cirpaetic-site-chrome .menu>li>a{display:flex;justify-content:space-between;padding:11px 0;font-size:14px}
  .cirpaetic-site-chrome .sub,.cirpaetic-site-chrome .sub.sub-deux{position:static!important;display:none!important;width:auto;min-width:0;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;box-shadow:none;border:0;border-left:2px solid var(--vv);border-radius:0;padding:2px 0 8px 12px}
  .cirpaetic-site-chrome .has-sub.open>.sub,.cirpaetic-site-chrome .has-sub.open>.sub.sub-deux{display:block!important}
  .cirpaetic-site-chrome .sub-deux>.col+.col{border-left:0;padding-left:4px}
  .cirpaetic-site-chrome .burger{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--trait);border-radius:50%;background:#fff;color:var(--nv);font-size:20px;cursor:pointer;order:4}
  .cirpaetic-site-chrome .nav-cta{display:none}
}
@media(min-width:1001px){.cirpaetic-site-chrome .burger{display:none}}
@media(max-width:720px){.cirpaetic-site-chrome .acct-label{display:none}.cirpaetic-site-chrome .acct-btn{padding:6px;border-radius:50%}.cirpaetic-site-chrome .icon-btn{width:38px;height:38px}.cirpaetic-site-chrome .brand,.cirpaetic-site-chrome .brand-image{width:96px}.cirpaetic-site-chrome .brand-image{height:56px}}
@media(max-width:520px){.cirpaetic-site-chrome .tb-slogan{width:100%;text-align:center}.cirpaetic-site-chrome .topbar-links{flex-wrap:wrap;justify-content:center}.cirpaetic-site-chrome .site-topbar .wrap{gap:5px 12px}.cirpaetic-site-chrome .tb-lang{padding-left:10px}}

.account-gateway{padding:8px 0 34px}.account-gateway-inner{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.account-gateway .btn{min-width:180px;text-align:center}.account-gateway .btn-p{background:var(--vf);color:#fff}.account-gateway .btn-o{background:var(--or);color:#fff}
.cir-login-brand-logo{display:block;width:min(180px,70vw);height:auto;max-height:82px;object-fit:contain}

/* Final footer/contact polish */
.site-footer .tel, .site-footer .tel a, .site-footer .num { color:#00F807!important; }
.site-footer .tel a:hover { color:#ffffff!important; }
/* Dashboard visual system: align exactly with the supplied Stitch reference. */
body.cirpaetic-dashboard-page .cd-app-sidebar { background:#0B1420!important; width:256px!important; }
body.cirpaetic-dashboard-page .cd-app-sidebar .cd-sidebar-logo { width:112px; height:40px; object-fit:contain; object-position:left center; display:block; margin-bottom:16px; }
body.cirpaetic-dashboard-page .cd-dashboard-main { margin-left:256px!important; width:calc(100% - 256px)!important; min-width:0!important; }
body.cirpaetic-dashboard-page .cd-dashboard-header { height:80px!important; min-height:80px!important; padding:0 64px!important; background:#F9FAFB!important; border-bottom:1px solid #E5E7EB!important; }
body.cirpaetic-dashboard-page .cd-dashboard-canvas { padding:64px!important; background:#F9FAFB!important; }
body.cirpaetic-dashboard-page .cd-dashboard-footer { margin-left:0!important; padding:24px 64px!important; background:#0B1420!important; }
body.cirpaetic-dashboard-page .cd-dashboard-footer a:hover { color:#00F807!important; }
@media(max-width:767px){
 body.cirpaetic-dashboard-page .cd-app-sidebar{width:256px!important;transform:translateX(-100%)!important;}
 body.cirpaetic-dashboard-page .cd-dashboard-main{margin-left:0!important;width:100%!important;}
 body.cirpaetic-dashboard-page .cd-dashboard-header{height:76px!important;min-height:76px!important;padding:0 18px 0 62px!important;}
 body.cirpaetic-dashboard-page .cd-dashboard-canvas{padding:28px 18px 48px!important;}
 body.cirpaetic-dashboard-page .cd-dashboard-footer{padding:20px 18px!important;}
}

/* ========================================================================
   FINAL PUBLIC NAV / FOOTER POLISH
   Ressources + À propos : presentation en cartes rectangulaires, 2 colonnes
   sur desktop, 1 colonne sur petit écran.
   ======================================================================== */
.cirpaetic-site-chrome .main-navigation > .menu > .has-sub > .sub.sub-deux{
  width:min(780px,calc(100vw - 32px))!important;
  min-width:0!important;
  padding:14px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  background:#fff!important;
  border:1px solid var(--trait)!important;
  border-top:3px solid var(--vf)!important;
  border-radius:5px!important;
  box-shadow:0 22px 55px -24px rgba(14,40,65,.55)!important;
}
.cirpaetic-site-chrome .sub-deux > .col{
  min-width:0!important;
  padding:0!important;
}
.cirpaetic-site-chrome .sub-deux > .col + .col{
  border-left:1px solid var(--trait)!important;
  padding-left:14px!important;
}
.cirpaetic-site-chrome .sub-deux .col-titre{
  display:block!important;
  margin:0 0 8px!important;
  padding:8px 10px!important;
  border:1px solid var(--trait)!important;
  border-radius:3px!important;
  background:#fafcf9!important;
  color:var(--vf)!important;
  font:600 10px var(--mono)!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
.cirpaetic-site-chrome .sub-deux ul{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  margin:0 0 10px!important;
  padding:0!important;
  list-style:none!important;
}
.cirpaetic-site-chrome .sub-deux li a{
  min-height:58px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:10px 12px!important;
  border:1px solid #e1e6df!important;
  border-radius:4px!important;
  background:#fff!important;
  text-decoration:none!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;
}
.cirpaetic-site-chrome .sub-deux li a:hover,
.cirpaetic-site-chrome .sub-deux li a:focus-visible{
  background:#f7faf5!important;
  border-color:#00F807!important;
  box-shadow:0 7px 18px -12px rgba(14,40,65,.45)!important;
  transform:translateY(-1px)!important;
  padding-left:12px!important;
}
.cirpaetic-site-chrome .sub-deux li a b{font-size:13px!important;line-height:1.25!important}
.cirpaetic-site-chrome .sub-deux li a small{font-size:11px!important;line-height:1.35!important}
.cirpaetic-site-chrome .sub-deux .sub-cta{
  min-height:42px!important;
  border-color:var(--or)!important;
  background:var(--or)!important;
  color:#fff!important;
  align-items:center!important;
  text-align:center!important;
  font-weight:700!important;
}
.cirpaetic-site-chrome .sub-deux .sub-cta:hover{background:var(--or)!important;border-color:var(--or)!important;color:#fff!important}
.site-footer .f-coord .tel,
.site-footer .f-coord .tel a,
.site-footer .f-tel,
.site-footer .f-cercles .num{
  color:#00F807!important;
}
.site-footer .f-coord .tel a:hover,.site-footer .f-tel:hover{color:#fff!important}
@media(max-width:1000px){
  .cirpaetic-site-chrome .main-navigation > .menu > .has-sub > .sub.sub-deux{
    width:auto!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:10px!important;
  }
  .cirpaetic-site-chrome .sub-deux > .col + .col{border-left:0!important;padding-left:0!important}
  .cirpaetic-site-chrome .sub-deux li a{min-height:52px!important}
}
/* The standalone dashboard template supplies one mobile menu control for every profile. */
body.cirpaetic-dashboard-page .dashboard-reference-topbar button[aria-label="Open Menu"],
body.cirpaetic-dashboard-page .dashboard-reference-topbar button[aria-label="Ouvrir le menu"]{display:none!important}
@media(max-width:800px){
  body.cirpaetic-dashboard-page .dashboard-reference-topbar button[aria-label="Open Menu"],
  body.cirpaetic-dashboard-page .dashboard-reference-topbar button[aria-label="Ouvrir le menu"]{display:grid!important}
}



/* Final footer coordinate treatment: exact reference. */
.site-footer .f-coord .k{color:#4ea72e!important;}
.site-footer .f-coord .tel,.site-footer .f-coord .tel a{color:#4ea72e!important;}
.site-footer .f-coord .tel a:hover{color:#ffffff!important;}
.pdg-profile{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,72px);align-items:start;text-align:left;max-width:940px;margin:0 auto;}
.pdg-profile-identity{margin:0;text-align:center;}.pdg-profile-identity .pdg-page-photo{margin:0 auto 12px;}.pdg-profile-identity figcaption{font:600 15px var(--display);color:var(--nv);}.pdg-profile-message h1{margin-top:0;}.pdg-profile-message article{margin-top:22px;padding-top:16px;border-top:1px solid var(--trait);}.pdg-profile-message h2{font-size:18px;color:var(--vf);margin:0 0 8px;}.pdg-profile-message p{margin:0;line-height:1.65;}
@media(max-width:680px){.pdg-profile{grid-template-columns:1fr;text-align:center;}.pdg-profile-message{text-align:left;}.pdg-profile-message h1{text-align:center;}}
.pdg-hero-copy{max-width:760px;margin:0 auto;text-align:center}.pdg-hero-copy h1{margin-bottom:16px;color:var(--nv)!important}.pdg-hero-copy .page-intro{max-width:680px;margin:0 auto;color:var(--gris)!important}
.pdg-feature-section{padding:clamp(44px,7vw,88px) 0;background:var(--cirpae-soft,#f6f8f3);border-top:1px solid var(--trait)}
.pdg-feature-card{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,76px);align-items:center;max-width:1080px;margin:0 auto;padding:clamp(24px,4vw,48px);background:#fff;border:1px solid var(--trait);border-radius:8px;box-shadow:0 18px 42px -28px rgba(14,40,65,.55)}
.pdg-feature-photo{position:relative;overflow:hidden;border-radius:5px;background:var(--nv);color:#fff;box-shadow:0 18px 34px -20px rgba(14,40,65,.7)}.pdg-feature-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}.pdg-feature-photo strong{position:absolute;bottom:16px;left:16px;font:700 22px var(--display);text-shadow:0 1px 8px rgba(0,0,0,.45)}.pdg-feature-badge{position:absolute;bottom:48px;left:16px;max-width:calc(100% - 32px);padding:5px 9px;background:var(--or);color:#fff;font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.05em}
.pdg-feature-content h2{margin:0;color:var(--nv);font-size:clamp(25px,3.2vw,42px);line-height:1.15}.pdg-feature-content blockquote{margin:22px 0;padding:18px 20px;border-left:3px solid var(--or);background:var(--cirpae-soft,#f6f8f3);color:var(--gris);font-size:16px;line-height:1.7;font-style:italic}.pdg-feature-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 24px}.pdg-feature-points article{padding:14px;background:var(--cirpae-soft,#f6f8f3);border:1px solid var(--trait);border-radius:3px}.pdg-feature-points h3{margin:0 0 7px;color:var(--nv);font-size:14px}.pdg-feature-points p{margin:0;color:var(--gris);font-size:13px;line-height:1.5}
.pdg-full-message{margin-top:18px;padding:18px 20px;background:var(--cirpae-soft,#f6f8f3);border:1px solid var(--trait);border-left:3px solid var(--or)}.pdg-full-message-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.pdg-full-message h3{margin:0;color:var(--nv);font-size:17px}.pdg-full-message p{margin:12px 0 0;color:var(--gris);line-height:1.7}.pdg-message-close{border:0;background:transparent;color:var(--gris);font-size:25px;line-height:1;cursor:pointer}.pdg-message-toggle{border:0;cursor:pointer;font:inherit}
@media(max-width:1100px){.pdg-feature-points{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.pdg-feature-card{grid-template-columns:1fr}.pdg-feature-photo{max-width:430px;margin:0 auto;width:100%}.pdg-feature-content{text-align:left}.pdg-feature-points{grid-template-columns:1fr}.pdg-feature-content .btn{width:100%;justify-content:center}}
.about-presentation{padding:clamp(42px,7vw,84px) 0;background:var(--ivoire);border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.elementor-page-content{width:100%;max-width:none;margin:0;padding:0}.elementor-page-content>.elementor{width:100%}
.about-presentation-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,84px);align-items:center}
.about-presentation-media img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px;box-shadow:18px 18px 0 var(--or)}
.about-presentation-content h2,.about-pdg-summary h2{margin:0;color:var(--nv);font-size:clamp(28px,4vw,48px);line-height:1.12}
.about-presentation-intro{margin:20px 0 28px;font-size:18px;line-height:1.65;color:var(--gris)}
.about-presentation-points{display:grid;gap:18px}.about-presentation-points article{border-top:1px solid var(--trait);padding-top:14px}.about-presentation-points h3{margin:0 0 5px;color:var(--vf);font-size:20px}.about-presentation-points p,.about-pdg-summary p{margin:0;color:var(--gris);line-height:1.6}
.about-pdg-summary{padding:clamp(38px,6vw,68px) 0;background:#fff}.about-pdg-summary-inner{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;align-items:center;max-width:980px;margin:0 auto}.about-pdg-summary .eyebrow{margin-bottom:12px}.about-pdg-summary h2{font-size:clamp(25px,3vw,38px);margin-bottom:14px}.about-pdg-summary p{max-width:65ch;margin-bottom:20px}.about-pdg-summary img{width:220px;height:220px;object-fit:cover;border-radius:50%;border:8px solid var(--ivoire)}
@media(max-width:680px){.about-presentation-grid,.about-pdg-summary-inner{grid-template-columns:1fr}.about-presentation-media{max-width:420px;margin:0 auto}.about-presentation-media img{aspect-ratio:1/1}.about-pdg-summary img{margin:0 auto}.about-pdg-summary-inner>div{text-align:center}.about-pdg-summary p{margin-left:auto;margin-right:auto}}

/* Navigation editoriale: les rubriques demandee restent lisibles en liste. */
.cirpaetic-site-chrome .menu-item-submenu-vertical > .sub{display:flex;flex-direction:column;min-width:320px;max-width:min(460px,calc(100vw - 32px));gap:2px;padding:12px;}
.cirpaetic-site-chrome .menu-item-submenu-vertical > .sub > li{width:100%;}
.cirpaetic-site-chrome .menu-item-submenu-vertical > .sub > li > a{display:flex;flex-direction:column;gap:3px;padding:10px 12px;white-space:normal;}
.site-footer .rappel{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:20px 0 24px;padding:14px 18px;}
.site-footer .rap-form{display:flex;flex-direction:column;align-items:stretch;align-self:flex-end;width:300px;max-width:100%;gap:8px;}
.site-footer .rap-form label{display:flex;flex-direction:column;gap:4px;color:rgba(255,255,255,.72);font:11px var(--mono);}
.site-footer .rap-form input{width:100%;height:36px;box-sizing:border-box;padding:7px 10px;}
.site-footer .rap-form button{align-self:flex-end;width:auto;min-width:96px;}
@media(max-width:680px){.site-footer .rappel{grid-template-columns:1fr}.site-footer .rap-form{align-self:stretch;max-width:none;width:100%;}}

/* Dashboard maquette isolation: public theme styles must never resize or recolor the reference shell. */
.platform-dashboard-reference{font-family:Inter,Arial,sans-serif!important;color:#077454;}
.platform-dashboard-reference *{box-sizing:border-box;}
.platform-dashboard-reference .material-symbols-outlined{font-family:'Material Symbols Outlined',sans-serif!important;}
.platform-dashboard-reference button,.platform-dashboard-reference input,.platform-dashboard-reference a{font-family:Inter,Arial,sans-serif;}

/* CIRPAE-TIC site-wide user photo */
.acct-btn .avatar img,.cirpaetic-site-chrome .acct-btn .avatar img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;}


/* ============================================================================
   CIRPAE-TIC — REFERENCE HEADER / NAVIGATION FIX
   Basé sur le rendu de référence apercu-2(1).html.
   Cette couche finale neutralise les anciennes règles contradictoires.
   ============================================================================ */
.site-header{position:relative;z-index:120}
.site-header .nav{display:flex!important;align-items:center;gap:clamp(14px,2.4vw,40px);justify-content:flex-start;width:100%;max-width:none!important;padding-left:clamp(14px,1.6vw,30px);padding-right:clamp(14px,1.6vw,30px)}
.site-header .brand{flex:0 0 auto;margin-right:clamp(6px,1.6vw,26px)}
.site-header .main-navigation{flex:0 1 auto;min-width:0;position:static}
.site-header .menu{display:flex!important;align-items:center;justify-content:center;gap:clamp(12px,1.8vw,26px);list-style:none;margin:0;padding:0;font-family:var(--display);font-size:13.5px;font-weight:500;white-space:nowrap;overflow:visible}
.site-header .menu>li{position:relative;border:0!important}
.site-header .menu>li>a{white-space:nowrap}
.site-header .has-sub>.sub-top{display:inline-flex;align-items:center;gap:6px}
.site-header .has-sub>.sub-top .ch{font-size:10px;color:var(--gris);transition:.25s}
.site-header .has-sub:hover>.sub-top .ch,.site-header .has-sub.open>.sub-top .ch{transform:rotate(180deg);color:var(--vf)}

/* Sous-menu simple : largeur contrôlée, jamais limitée à la largeur du mot parent. */
.site-header .menu>.has-sub>.sub{
  position:absolute!important;
  left:-14px!important;
  right:auto!important;
  top:calc(100% + 14px)!important;
  width:auto!important;
  min-width:310px!important;
  max-width:min(92vw,760px)!important;
  list-style:none;
  background:#fff;
  border:1px solid var(--trait);
  border-top:3px solid var(--vf);
  border-radius:4px;
  padding:9px;
  margin:0;
  z-index:9999;
  box-shadow:0 30px 55px -28px rgba(14,40,65,.55);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px);
  transition:.24s cubic-bezier(.2,.7,.3,1);
}
.site-header .has-sub:hover>.sub,.site-header .has-sub:focus-within>.sub,.site-header .has-sub.open>.sub{
  opacity:1;visibility:visible;pointer-events:auto;transform:none
}
.site-header .has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px;display:block}
.site-header .sub li{border:0!important;margin:0}
.site-header .sub a{display:block;padding:11px 13px;border-radius:3px;text-decoration:none;transition:.2s;border:0;white-space:normal}
.site-header .sub a::after{display:none!important}
.site-header .sub a:hover,.site-header .sub a:focus-visible{background:var(--ivoire)}
.site-header .sub a b{font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--nv);display:block;white-space:normal}
.site-header .sub a small{font-family:var(--body);font-weight:400;font-size:12.8px;color:var(--gris);display:block;margin-top:3px;line-height:1.45;white-space:normal}
.site-header .sub a.sub-cta{background:var(--or);color:#fff;font-family:var(--display);font-weight:600;font-size:14px;text-align:center;margin-top:4px}
.site-header .sub a.sub-cta:hover{background:var(--or);color:#fff}

/* Services + Formations : deux colonnes pour éviter la longue colonne verticale. */
.site-header .sub.sub-large{display:grid!important;grid-template-columns:repeat(2,minmax(230px,1fr));gap:0 10px;min-width:400px!important;width:400px!important}
.site-header .sub.sub-large>li{min-width:0}
.site-header .sub.sub-large>li.sub-slogan{grid-column:1/-1}

/* Ressources + À propos : deux colonnes réelles, comme dans la référence. */
.site-header .sub.sub-deux{display:grid!important;grid-template-columns:1fr 1fr;gap:0 10px;align-items:start;min-width:560px!important;width:560px!important}
.site-header .sub-deux>.col{display:block;min-width:0}
.site-header .sub-deux>.col>ul{list-style:none;margin:0 0 6px;padding:0}
.site-header .col-titre{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gris);padding:8px 13px 9px;border-bottom:1px solid var(--trait);margin-bottom:5px}

/* Le conteneur ne doit jamais couper le menu. */
.site-header,.site-header .nav,.site-header .main-navigation,.site-header .menu{overflow:visible!important}

@media (min-width:1001px) and (max-width:1400px){
  .site-header .nav{gap:16px;padding-left:20px;padding-right:20px}
  .site-header .brand{margin-right:0;flex:0 0 100px}
  .site-header .brand-image{width:100px;height:58px}
  .site-header .menu{gap:12px;font-size:12.5px}
  .site-header .sub.sub-large{min-width:400px!important;width:400px!important}
  .site-header .sub.sub-deux{min-width:560px!important;width:560px!important}
}

@media (min-width:1401px){
  .site-header .sub.sub-large{min-width:400px!important;width:400px!important}
  .site-header .sub.sub-deux{min-width:560px!important;width:560px!important}
}

@media (min-width:1800px){
  .site-header .menu{gap:32px;font-size:17px}
  .site-header .sub{min-width:360px!important}
  .site-header .sub.sub-large{min-width:480px!important;width:480px!important}
  .site-header .sub.sub-deux{min-width:560px!important;width:560px!important}
  .site-header .sub a b{font-size:16.5px}
  .site-header .sub a small{font-size:14px}
}

/* Mobile/tablette : on revient au vrai accordéon de la référence. */
@media (max-width:1000px){
  .site-header .nav{height:78px;gap:10px;padding-left:16px;padding-right:16px}
  .site-header .main-navigation{position:static;flex:1 1 auto}
  .site-header .menu{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;width:auto!important;max-width:none!important;min-width:0!important;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:10px clamp(16px,3vw,40px) 18px;border-bottom:1px solid var(--trait);box-shadow:0 18px 30px -24px rgba(14,40,65,.7);max-height:calc(100vh - 78px);overflow-y:auto!important;z-index:9998}
  .site-header .menu.open{display:flex!important}
  .site-header .menu>li{width:100%;border-bottom:1px solid var(--trait)!important}
  .site-header .menu>li:last-child{border-bottom:0!important}
  .site-header .menu>li>a{display:flex;padding:15px 0;font-size:16px;width:100%}
  .site-header .menu a::after{display:none!important}
  .site-header .has-sub>.sub-top{justify-content:space-between;width:100%}
  .site-header .has-sub::after{display:none}
  .site-header .menu>.has-sub>.sub,
  .site-header .sub.sub-large,
  .site-header .sub.sub-deux{
    position:static!important;display:none!important;width:auto!important;min-width:0!important;max-width:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;box-shadow:none!important;border:0!important;border-left:2px solid var(--vv)!important;border-radius:0!important;background:none!important;padding:2px 0 10px 14px!important;margin:0 0 6px!important;grid-template-columns:1fr!important;
  }
  .site-header .has-sub.open>.sub,.site-header .has-sub.open>.sub.sub-large,.site-header .has-sub.open>.sub.sub-deux{display:block!important}
  .site-header .sub a{padding:10px 4px}
  .site-header .sub a.sub-cta{margin-top:8px;padding:12px}
  .site-header .sub-deux>.col{display:block}
  .site-header .col-titre{padding-left:4px}
  .site-header .burger{display:block!important;position:relative;z-index:10000}
  .site-header .nav-cta{display:none!important}
}

@media (max-width:680px){
  .site-header .nav{height:70px}
  .site-header .menu{max-height:calc(100vh - 70px)}
  .site-header .brand-image{height:42px;width:auto}
}


/* V12 : avatar Mon compte + mega-menus compacts */
.site-header .acct-btn .avatar{width:32px!important;height:32px!important;overflow:hidden!important;flex:0 0 32px!important;border-radius:50%!important;background:var(--or)!important;display:grid!important;place-items:center!important}
.site-header .acct-btn .avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important}
.site-header .acct-btn .avatar img[src=""],.site-header .acct-btn .avatar img:not([src]){display:none!important}
@media (min-width:1001px){
 .site-header .sub.sub-deux{width:560px!important;min-width:560px!important;padding:9px 10px!important;gap:0 8px!important}
 .site-header .sub-deux>.col{padding:0 2px!important}
 .site-header .sub-deux>.col+.col{padding-left:10px!important}
 .site-header .sub-deux .col-titre{padding:5px 8px 7px!important;margin-bottom:2px!important}
 .site-header .sub-deux li a{padding:6px 8px!important}
 .site-header .sub-deux li a b{font-size:12.8px!important;line-height:1.2!important}
 .site-header .sub-deux li a small{font-size:11px!important;line-height:1.25!important;margin-top:2px!important}
 .site-header .sub-deux .sub-cta{margin-top:5px!important;padding:9px 10px!important}
}
@media (min-width:1800px){.site-header .sub.sub-deux{width:580px!important;min-width:580px!important}}




/* V14 : corrections réellement appliquées au header public */
/* IMPORTANT : le vrai wrapper du header est .site-header. Les anciennes
   règles V13 ciblant .cirpaetic-site-chrome ne pouvaient donc pas s'appliquer. */
.site-header .acct-btn .avatar{
  width:32px!important;height:32px!important;flex:0 0 32px!important;
  overflow:hidden!important;border-radius:50%!important;display:grid!important;
  place-items:center!important;background:var(--or)!important;
}
.site-header .acct-btn .avatar img{
  display:block!important;width:100%!important;height:100%!important;
  max-width:none!important;object-fit:cover!important;border-radius:50%!important;
}

@media (min-width:1001px){
  /* Ressources + À propos : compactes, sans grand vide, mais suffisamment larges
     pour conserver deux colonnes lisibles. */
  .site-header .menu>.has-sub>.sub.sub-deux{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    width:560px!important;min-width:560px!important;max-width:calc(100vw - 40px)!important;
    padding:8px!important;gap:0 8px!important;
  }
  .site-header .sub-deux>.col{padding:0 2px!important;min-width:0!important}
  .site-header .sub-deux>.col+.col{padding-left:8px!important}
  .site-header .sub-deux .col-titre{
    padding:5px 8px 6px!important;margin:0 0 2px!important;font-size:9.5px!important;
  }
  .site-header .sub-deux>.col>ul{margin:0 0 4px!important;padding:0!important}
  .site-header .sub-deux li a{
    padding:6px 8px!important;border-radius:3px!important;
  }
  .site-header .sub-deux li a b{
    font-size:12.8px!important;line-height:1.2!important;
  }
  .site-header .sub-deux li a small{
    font-size:10.8px!important;line-height:1.22!important;margin-top:2px!important;
  }
  .site-header .sub-deux .sub-cta{
    margin-top:4px!important;padding:8px 9px!important;min-height:0!important;
  }

  /* Empêche les règles génériques de recréer un espace vertical inutile. */
  .site-header .sub-deux li{margin:0!important}
  .site-header .sub-deux li+li{margin-top:0!important}
}

@media (min-width:1800px){
  .site-header .menu>.has-sub>.sub.sub-deux{
    width:580px!important;min-width:580px!important;
  }
}


/* ========================================================================== 
   SOUS-MENUS — ALIGNEMENT FIDÈLE À LA MAQUETTE apercu-2
   Le header principal reste inchangé : ces règles ne concernent que les
   panneaux déroulants.
   ========================================================================== */
@media (min-width:1001px){
  /* Services + Formations Mentorées : liste strictement verticale. */
  .site-header .menu > .menu-item-submenu-vertical > .sub{
    display:block !important;
    grid-template-columns:1fr !important;
    width:auto;
    min-width:400px;
    max-width:min(560px,calc(100vw - 32px));
    padding:9px;
    gap:0;
  }
  .site-header .menu > .menu-item-submenu-vertical > .sub > li{
    display:block !important;
    width:100%;
  }
  .site-header .menu > .menu-item-submenu-vertical > .sub > li > a{
    display:block;
    width:100%;
    padding:11px 13px;
  }

  /* Ressources + À propos : même grille à deux colonnes que la maquette. */
  .site-header .menu > li > .sub.sub-deux{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:16px;
    row-gap:0;
    width:640px;
    min-width:640px;
    max-width:min(640px,calc(100vw - 32px));
    padding:9px;
    align-items:start;
  }
  .site-header .menu > li > .sub.sub-deux > .col{
    display:block;
    min-width:0;
  }
  .site-header .menu > li > .sub.sub-deux > .col > ul{
    list-style:none;
    margin:0 0 6px;
    padding:0;
  }
  .site-header .menu > li > .sub.sub-deux > .col > .col-titre{
    display:block;
    padding:8px 13px 9px;
    margin-bottom:5px;
  }
  .site-header .menu > li > .sub.sub-deux > .col > .col-titre:not(:first-child){
    margin-top:12px;
  }
  .site-header .menu > li > .sub.sub-deux a{
    padding:11px 13px;
  }
}

@media (min-width:1001px) and (max-width:1300px){
  .site-header .menu > .menu-item-submenu-vertical > .sub{min-width:360px;}
  .site-header .menu > li > .sub.sub-deux{width:520px;min-width:520px;}
}

@media (min-width:1800px){
  .site-header .menu > .menu-item-submenu-vertical > .sub{min-width:480px;}
  .site-header .menu > li > .sub.sub-deux{width:760px;min-width:760px;}
}

@media (max-width:1000px){
  /* Mobile : accordéon vertical, sans modifier le comportement existant. */
  .site-header .menu > .menu-item-submenu-vertical > .sub,
  .site-header .menu > li > .sub.sub-deux{
    width:auto;
    min-width:0;
    max-width:none;
    grid-template-columns:1fr !important;
  }
}


/* V14.5 — RESSOURCES / À PROPOS : DEUX COLONNES, CHAQUE GROUPE VERTICAL
   Ne modifie ni le header principal ni les liens/fonctions. */
@media (min-width:1001px){
  .site-header .menu > li.has-sub > ul.sub.sub-deux{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-auto-flow:row !important;
    align-items:start !important;
    width:640px !important;
    min-width:640px !important;
    max-width:calc(100vw - 40px) !important;
    padding:9px !important;
    column-gap:16px !important;
    row-gap:0 !important;
  }

  /* Chaque colonne est UN GROUPE vertical indépendant. */
  .site-header .menu > li.has-sub > ul.sub.sub-deux > li.col{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:auto !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
  }

  /* Les listes internes restent verticales : aucun item ne peut
     remonter dans la colonne voisine. */
  .site-header .menu > li.has-sub > ul.sub.sub-deux > li.col > ul{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    margin:0 0 7px !important;
    padding:0 !important;
    list-style:none !important;
  }

  .site-header .menu > li.has-sub > ul.sub.sub-deux > li.col > ul > li{
    display:block !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header .menu > li.has-sub > ul.sub.sub-deux > li.col > .col-titre{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    margin:0 0 5px !important;
    padding:8px 13px 9px !important;
  }

  /* Quand une colonne contient plusieurs groupes (À propos),
     le second titre reste SOUS le premier groupe. */
  .site-header .menu > li.has-sub > ul.sub.sub-deux > li.col > .col-titre + ul + .col-titre{
    margin-top:12px !important;
  }

  .site-header .menu > li.has-sub > ul.sub.sub-deux a{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:9px 11px !important;
  }

  .site-header .menu > li.has-sub > ul.sub.sub-deux a b{
    display:block !important;
    line-height:1.25 !important;
  }

  .site-header .menu > li.has-sub > ul.sub.sub-deux a small{
    display:block !important;
    margin-top:2px !important;
    line-height:1.3 !important;
  }

  .site-header .menu > li.has-sub > ul.sub.sub-deux .sub-cta{
    margin-top:5px !important;
  }
}

@media (min-width:1001px) and (max-width:1300px){
  .site-header .menu > li.has-sub > ul.sub.sub-deux{
    width:560px !important;
    min-width:560px !important;
  }
}

@media (min-width:1800px){
  .site-header .menu > li.has-sub > ul.sub.sub-deux{
    width:640px !important;
    min-width:640px !important;
  }
}

/* ============================================================================
   V14.6 — Sous-menus : suppression des cadres/cartes
   Conserve la disposition, les espacements et les animations.
   ============================================================================ */
.cirpaetic-site-chrome .sub-deux .col-titre,
.site-header .sub-deux .col-titre{
  border:0!important;
  border-bottom:1px solid var(--trait)!important;
  border-radius:0!important;
  background:transparent!important;
}
.cirpaetic-site-chrome .sub-deux li a,
.site-header .sub-deux li a{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.cirpaetic-site-chrome .sub-deux li a:hover,
.cirpaetic-site-chrome .sub-deux li a:focus-visible,
.site-header .sub-deux li a:hover,
.site-header .sub-deux li a:focus-visible{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  background:var(--ivoire)!important;
}
/* Le bouton d'action reste volontairement un bouton, pas une carte. */
.cirpaetic-site-chrome .sub-deux .sub-cta,
.site-header .sub-deux .sub-cta{
  border:0!important;
  border-radius:2px!important;
  background:var(--or)!important;
  color:#fff!important;
}
.cirpaetic-site-chrome .sub-deux .sub-cta:hover,
.site-header .sub-deux .sub-cta:hover{
  background:#FC8301!important;
  color:#fff!important;
}


/* CIRPAETIC V16.32 — Header/context orange correction
 * Keep the contextual labels "Alternance · Expérience · Insertion" and
 * "Clinique des Données" orange wherever the site header renders them.
 * Action buttons/bands that are already orange are preserved.
 */
.cirpaetic-header .alternance-experience-insertion,
.cirpaetic-header .cliniques-de-donnees,
.cirpaetic-header [class*="alternance"][class*="experience"],
.cirpaetic-header [class*="cliniques"][class*="donnees"],
.site-header .alternance-experience-insertion,
.site-header .cliniques-de-donnees,
.site-header [class*="alternance"][class*="experience"],
.site-header [class*="cliniques"][class*="donnees"],
header .alternance-experience-insertion,
header .cliniques-de-donnees {
    color: #f28c28 !important;
    background-color: #f28c28 !important;
    border-color: #f28c28 !important;
}

/* Keep the labels legible when the orange band is used. */
.cirpaetic-header .alternance-experience-insertion *,
.cirpaetic-header .cliniques-de-donnees *,
.site-header .alternance-experience-insertion *,
.site-header .cliniques-de-donnees *,
header .alternance-experience-insertion *,
header .cliniques-de-donnees * {
    color: inherit !important;
}

/* Context-specific header variants: do not let the Services green rule
 * override the orange contextual band. */
body .header-context-services .cliniques-de-donnees,
body.services .cliniques-de-donnees,
body.page-services .cliniques-de-donnees,
body .header-context-home .alternance-experience-insertion {
    color: #f28c28 !important;
    background-color: #f28c28 !important;
    border-color: #f28c28 !important;
}



/* CIRPAETIC V16.40 — final reference-based slogan lock */
.cirpaetic-site-chrome #cirpaetic-context-slogan,
.cirpaetic-site-chrome #cirpaetic-context-slogan:hover,
.cirpaetic-site-chrome #cirpaetic-context-slogan:focus,
.cirpaetic-site-chrome #cirpaetic-context-slogan:focus-visible,
.cirpaetic-site-chrome #cirpaetic-context-slogan:active,
.cirpaetic-site-chrome #cirpaetic-context-slogan.actif{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  color:var(--or)!important;
}





/* CIRPAETIC V16.44 — ALIGNEMENT DU HEADER DE L'ACCUEIL SUR LES AUTRES PAGES
 * La page d'accueil (.cirpaetic-apercu-home, .home, .front-page) utilise exactement
 * le même conteneur sticky et le même z-index que les autres pages du site.
 * Les autres pages et toutes les personnalisations existantes restent inchangées.
 */
body.cirpaetic-apercu-home,
body.home,
body.front-page {
  overflow-x: clip !important;
  padding-top: 0 !important;
}

body.cirpaetic-apercu-home .cirpaetic-site-chrome,
body.home .cirpaetic-site-chrome,
body.front-page .cirpaetic-site-chrome {
  position: sticky !important;
  top: 0 !important;
  z-index: 10000 !important;
  width: 100% !important;
  margin: 0 !important;
  transform: none !important;
  background: #fff !important;
  box-shadow: 0 8px 28px -24px rgba(14,40,65,.45) !important;
}

body.cirpaetic-apercu-home .cirpaetic-site-chrome .topbar,
body.home .cirpaetic-site-chrome .topbar,
body.front-page .cirpaetic-site-chrome .topbar {
  position: relative !important;
  top: auto !important;
  z-index: 1 !important;
}

body.cirpaetic-apercu-home .cirpaetic-site-chrome .site-header,
body.cirpaetic-apercu-home .cirpaetic-site-chrome #hd,
body.home .cirpaetic-site-chrome .site-header,
body.home .cirpaetic-site-chrome #hd,
body.front-page .cirpaetic-site-chrome .site-header,
body.front-page .cirpaetic-site-chrome #hd {
  position: relative !important;
  top: auto !important;
  z-index: 2 !important;
  transform: none !important;
  box-shadow: none !important;
  transition: none !important;
}

/* ==========================================================================
   CIRPAETIC V16.45 — HEADER ACTION BUTTONS ORANGE HARMONIZATION
   Passage minutieux des boutons d'action du header du vert vers l'orange :
   1. Avatar et bouton « Mon compte » / Connexion
   2. Bouton et icône de recherche
   3. Bouton CTA principal « Demander un Audit »
   4. Boutons d'action des mégamenus et sous-menus
   5. Sélecteurs et liens d'action du Topbar
   6. Bouton burger mobile
   ========================================================================== */

/* 1. Bouton « Mon compte » & Avatar */
.cirpaetic-site-chrome .acct-btn .avatar,
.site-header .acct-btn .avatar,
.header-actions .acct-btn .avatar,
.account-icon,
#btn-acct .avatar {
  background: var(--or) !important;
  color: #fff !important;
}

.cirpaetic-site-chrome .acct-btn:hover,
.site-header .acct-btn:hover,
.header-actions .acct-btn:hover,
#btn-acct:hover {
  border-color: var(--or) !important;
  color: var(--or) !important;
}

.account-icon-link:hover .account-icon {
  background: #FC8301 !important;
}

/* 2. Bouton de recherche */
.cirpaetic-site-chrome .icon-btn:hover,
.site-header .icon-btn:hover,
.header-search:hover,
#btn-search:hover {
  border-color: var(--or) !important;
  color: var(--or) !important;
  background: rgba(233, 113, 50, 0.08) !important;
}

/* 3. Boutons d'action des sous-menus (Demander un Audit, Inscription, WhatsApp) */
.cirpaetic-site-chrome .site-header .sub a.sub-cta,
.cirpaetic-site-chrome .sub-deux .sub-cta,
.site-header .sub-deux .sub-cta,
.site-header .sub a.sub-cta,
.sub a.sub-cta {
  background: var(--or) !important;
  border-color: var(--or) !important;
  color: #fff !important;
}

.cirpaetic-site-chrome .site-header .sub a.sub-cta:hover,
.cirpaetic-site-chrome .sub-deux .sub-cta:hover,
.site-header .sub-deux .sub-cta:hover,
.site-header .sub a.sub-cta:hover,
.sub a.sub-cta:hover {
  background: #FC8301 !important;
  border-color: #FC8301 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px -8px rgba(233, 113, 50, 0.8) !important;
}

/* 4. Bouton CTA principal du header */
.cirpaetic-site-chrome .nav-cta,
.site-header .nav-cta,
.site-header .header-actions > .btn.btn-p,
.btn-audit {
  background: var(--or) !important;
  border-color: var(--or) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px -12px rgba(233, 113, 50, 0.95) !important;
}

.cirpaetic-site-chrome .nav-cta:hover,
.site-header .nav-cta:hover,
.site-header .header-actions > .btn.btn-p:hover,
.btn-audit:hover {
  background: #FC8301 !important;
  border-color: #FC8301 !important;
  color: #fff !important;
}

/* 5. Actions & langues Topbar */
.cirpaetic-site-chrome .topbar-links a:hover,
.cirpaetic-site-chrome .topbar-links button:hover,
.topbar-client-link:hover,
#tb-compte:hover {
  color: var(--or) !important;
}

.cirpaetic-site-chrome .tb-lang .language-button.is-active,
.tb-lang .language-button.is-active,
.language-button.is-active {
  color: var(--or) !important;
  font-weight: 700 !important;
}

/* 6. Burger mobile */
.cirpaetic-site-chrome .burger:hover,
.site-header .burger:hover,
#burger:hover {
  border-color: var(--or) !important;
  color: var(--or) !important;
}


/* ============================================================
   V16.46 — Page de connexion CIRPAETIC (modern card UI)
   ============================================================ */

/* Fond et centrage */
.account-page .wrap.account-page,
.account-page .wrap {
  max-width: 100%;
  padding: 0;
}

.cir-login-wrap {
  min-height: calc(100vh - 80px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 16px 24px;
  background: var(--ivoire);
}

/* Card principale */
.cir-login-card {
  width: 100%;
  max-width: 440px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 30px -10px rgba(14,40,65,.12);
  border-top: 4px solid var(--vf);
  padding: 40px 36px 32px;
}

/* ── Branding ── */
.cir-login-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}
.cir-login-brand-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--vf);
  border-radius: 8px;
  color: #fff;
  flex-shrink: 0;
}
.cir-login-brand-icon svg {
  width: 20px;
  height: 20px;
}
.cir-login-brand-text {
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--vf);
  letter-spacing: .05em;
}

/* ── Titre et sous-titre ── */
.cir-login-title {
  font-family: var(--display);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--nv);
  margin: 0 0 6px;
  line-height: 1.2;
}
.cir-login-subtitle {
  font-size: .95rem;
  color: var(--gris);
  margin: 0 0 28px;
}

/* ── Alerte erreur ── */
.cir-login-alert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 10px;
  color: #b91c1c;
  font-size: .875rem;
  padding: 12px 14px;
  margin-bottom: 22px;
}
.cir-login-alert svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ── Groupes de champs ── */
.cir-input-group {
  margin-bottom: 18px;
}
.cir-input-label {
  display: block;
  font-size: .82rem;
  font-weight: 600;
  color: var(--nv);
  margin-bottom: 6px;
  letter-spacing: .02em;
}
.cir-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.cir-input-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gris);
  display: flex;
  align-items: center;
  pointer-events: none;
  z-index: 1;
}
.cir-input-icon svg {
  width: 17px;
  height: 17px;
}
.cir-input {
  width: 100%;
  padding: 12px 44px 12px 42px;
  border: 1.5px solid var(--trait);
  border-radius: 10px;
  font-family: var(--body);
  font-size: .95rem;
  color: var(--nv);
  background: #fafbfa;
  outline: none;
  transition: border-color .18s, box-shadow .18s;
}
.cir-input:focus {
  border-color: var(--vf);
  box-shadow: 0 0 0 3px rgba(25,107,36,.12);
  background: #fff;
}
.cir-input::placeholder {
  color: #aab5ac;
}

/* Toggle mot de passe */
.cir-pwd-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--gris);
  padding: 4px;
  display: flex;
  align-items: center;
  border-radius: 6px;
  transition: color .15s;
}
.cir-pwd-toggle:hover { color: var(--vf); }
.cir-pwd-toggle svg { width: 18px; height: 18px; }

/* ── Se souvenir / Mot de passe oublié ── */
.cir-login-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.cir-remember {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .875rem;
  color: var(--nv);
  cursor: pointer;
  user-select: none;
}
.cir-remember input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--vf);
  cursor: pointer;
  flex-shrink: 0;
}
.cir-forgot {
  font-size: .875rem;
  color: var(--vf);
  text-decoration: none;
  font-weight: 600;
}
.cir-forgot:hover { text-decoration: underline; }

/* ── Bouton Se connecter ── */
.cir-login-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 20px;
  background: var(--vf);
  color: #fff;
  font-family: var(--display);
  font-size: 1rem;
  font-weight: 700;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background .18s, transform .12s, box-shadow .18s;
  letter-spacing: .02em;
  box-shadow: 0 4px 14px rgba(25,107,36,.22);
}
.cir-login-btn:hover {
  background: #145c1e;
  box-shadow: 0 6px 18px rgba(25,107,36,.3);
  transform: translateY(-1px);
}
.cir-login-btn:active { transform: translateY(0); }

/* ── Séparateur social ── */
.cir-social-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0 16px;
  color: var(--gris);
  font-size: .82rem;
}
.cir-social-divider::before,
.cir-social-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--trait);
}

/* ── Boutons sociaux ── */
.cir-social-btns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  margin-bottom: 4px;
}
.cir-social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 16px;
  border: 1.5px solid var(--trait);
  border-radius: 10px;
  font-size: .9rem;
  font-weight: 600;
  color: var(--nv);
  text-decoration: none;
  background: #fff;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.cir-social-btn:hover {
  border-color: var(--vf);
  box-shadow: 0 2px 8px rgba(25,107,36,.1);
  background: #fafbfa;
}
.cir-social-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* ── Lien Créer un compte ── */
.cir-login-register {
  text-align: center;
  font-size: .9rem;
  color: var(--gris);
  margin: 22px 0 0;
}
.cir-login-register a {
  color: var(--vf);
  font-weight: 700;
  text-decoration: none;
}
.cir-login-register a:hover { text-decoration: underline; }

/* ── Footer légal ── */
.cir-login-footer {
  margin-top: 24px;
  text-align: center;
  max-width: 440px;
  width: 100%;
}
.cir-login-footer p {
  font-size: .78rem;
  color: var(--gris);
  margin: 0 0 8px;
}
.cir-login-footer nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 14px;
}
.cir-login-footer nav a {
  font-size: .75rem;
  color: var(--gris);
  text-decoration: none;
  transition: color .15s;
}
.cir-login-footer nav a:hover { color: var(--vf); text-decoration: underline; }

/* Supprimer le fond de section global sur la page login */
.account-page .page-sections { background: var(--ivoire); }

/* ── Responsive ── */
@media (max-width: 480px) {
  .cir-login-card {
    padding: 28px 20px 24px;
  }
  .cir-login-title { font-size: 1.45rem; }
}

/* ── Uniformisation Footer Public & Responsive ── */
.site-footer {
  width: 100%;
  box-sizing: border-box;
}
.site-footer .wrap {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.site-footer .f-haut {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px;
}
.site-footer .f-marque {
  flex: 1 1 320px;
  max-width: 440px;
}
.site-footer .f-logo {
  display: inline-block;
  margin-bottom: 16px;
}
.site-footer .f-logo img {
  max-height: 48px;
  width: auto;
  object-fit: contain;
  display: block;
}
.site-footer .socials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
}
.site-footer .socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  transition: all 0.2s ease;
}
.site-footer .socials a:hover {
  background: var(--vf, #077454);
  color: #fff;
  transform: translateY(-2px);
}
.site-footer .socials svg {
  width: 18px;
  height: 18px;
}
.site-footer .f-cercles {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}
.site-footer .f-cercles .cercle {
  display: flex;
  flex-direction: column;
  padding: 14px 18px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
}
.site-footer .f-cercles .cercle:hover {
  border-color: var(--vf, #077454);
  background: rgba(255, 255, 255, 0.08);
}
.site-footer .f-cta {
  flex: 1 1 260px;
  max-width: 340px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.site-footer .rappel {
  margin: 40px 0;
  padding: 28px 32px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.site-footer .rappel .rap-form {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.site-footer .f-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 32px 20px;
  margin: 48px 0;
}
.site-footer .f-grid h4 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: #fff;
}
.site-footer .f-grid ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.site-footer .f-grid ul a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.88rem;
  transition: color 0.15s ease;
}
.site-footer .f-grid ul a:hover {
  color: #fff;
  text-decoration: underline;
}
.site-footer .f-coord {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  padding: 32px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 24px;
}
.site-footer .f-coord .k {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--vf, #077454);
  font-weight: 700;
  margin-bottom: 6px;
}
.site-footer .f-bas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 0 40px;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
}
.site-footer .f-bas .legal {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
.site-footer .f-bas .legal a {
  color: inherit;
  text-decoration: none;
}
.site-footer .f-bas .legal a:hover {
  color: #fff;
  text-decoration: underline;
}

@media (max-width: 1024px) {
  .site-footer .f-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .site-footer .f-coord {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .site-footer .f-haut {
    flex-direction: column;
    align-items: stretch;
  }
  .site-footer .f-marque,
  .site-footer .f-cta {
    max-width: 100%;
  }
  .site-footer .rappel {
    flex-direction: column;
    align-items: stretch;
  }
  .site-footer .rappel .rap-form {
    flex-direction: column;
  }
  .site-footer .rappel .rap-form input {
    width: 100%;
  }
  .site-footer .rappel .rap-form button {
    width: auto;
    align-self: flex-end;
  }
  .site-footer .f-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .site-footer .f-bas {
    flex-direction: column;
    text-align: center;
    justify-content: center;
  }
}

.site-footer .rappel {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(0, 1.45fr);
  align-items: center;
  gap: 32px;
  margin: 40px 0;
  padding: 32px 28px;
  background: #172d42;
  border: 1px solid #3b5267;
  border-radius: 4px;
}
.site-footer .rappel > div {
  min-width: 0;
}
.site-footer .rappel .k {
  display: block;
  color: #00f807;
  font: 11px/1.2 var(--mono);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.site-footer .rappel b {
  display: block;
  margin: 14px 0 12px;
  color: #fff;
  font: 700 20px/1.2 var(--display);
}
.site-footer .rappel small {
  display: block;
  color: #b5c1cc;
  font: 15px/1.4 var(--body);
}
.site-footer .rappel .rap-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.site-footer .rappel .rap-form label {
  position: relative;
  min-width: 0;
}
.site-footer .rappel .rap-form label > span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.site-footer .rappel .rap-form input {
  display: block;
  width: 100%;
  height: 48px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 13px;
  color: #fff;
  background: #263c50;
  border: 1px solid #53687b;
  border-radius: 2px;
  font: 14px var(--body);
}
.site-footer .rappel .rap-form input::placeholder {
  color: #a3afbc;
  opacity: 1;
}
.site-footer .rappel .rap-form input:focus {
  border-color: #00f807;
  outline: 2px solid rgba(0, 248, 7, .25);
  outline-offset: 1px;
}
.site-footer .rappel .rap-form button {
  align-self: stretch;
  min-width: 104px;
  margin: 0;
  padding: 0 18px;
  color: #fff;
  background: #f3752c !important;
  border: 1px solid #f3752c;
  border-radius: 3px;
  box-shadow: 0 10px 18px rgba(243, 117, 44, .2);
  font: 700 14px var(--display);
}
.site-footer .rappel .rap-form button:hover,
.site-footer .rappel .rap-form button:focus-visible {
  background: #ff8a3d !important;
  border-color: #ff8a3d;
}
@media (max-width: 900px) {
  .site-footer .rappel {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .site-footer .rappel {
    gap: 22px;
    margin: 28px 0;
    padding: 24px 18px;
  }
  .site-footer .rappel .rap-form {
    grid-template-columns: 1fr;
  }
  .site-footer .rappel .rap-form button {
    min-height: 48px;
  }
}

@media (max-width: 480px) {
  .site-footer .f-grid {
    grid-template-columns: 1fr;
  }
  .site-footer .f-coord {
    grid-template-columns: 1fr;
  }
  .site-footer .f-cercles {
    flex-direction: column;
    width: 100%;
  }
  .site-footer .f-cercles .cercle {
    width: 100%;
    box-sizing: border-box;
  }
}





/* CIRPAETIC V17 — contextual topbar state */
.cirpaetic-site-chrome .topbar-slogan.is-formations-context span{color:var(--or)!important}


/* ========================================================================
   CIRPAETIC — corrections demandées : partenaires / footer / CTA
   Couche strictement locale : aucune couleur globale du thème n'est modifiée.
   ======================================================================== */
/* Ancienne bande de statistiques : elle ne doit plus exister sur le rendu public. */
.preuve{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}

/* Logos partenaires : deux grands blocs côte à côte, sans bande verte. */
.cirpaetic-partner-strip{
  background:var(--ivoire)!important;
  border-top:0!important;
  border-bottom:0!important;
  padding:34px 0!important;
}
.cirpaetic-partner-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
.cirpaetic-partner-card{
  min-height:210px!important;
  padding:26px 34px 22px!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(14,40,65,.14)!important;
  border-radius:8px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:96px 1fr!important;
  column-gap:0!important;
  align-items:start!important;
}
.cirpaetic-partner-mark{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:122px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
}
.cirpaetic-partner-mark img{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:116px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.cirpaetic-partner-mark > a{
  display:flex!important;
  align-items:center!important;
  max-width:100%!important;
  height:100%!important;
}
.cirpaetic-partner-mark > a img{max-width:100%!important}
.cirpaetic-natif-mark img{max-width:390px!important;max-height:116px!important}
.cirpaetic-docuware-mark img{max-width:370px!important;max-height:108px!important}
.cirpaetic-partner-caption{
  grid-column:1!important;
  grid-row:2!important;
  margin:0!important;
  align-self:start!important;
}
.cirpaetic-partner-arrow{
  position:absolute!important;
  top:96px!important;
  right:24px!important;
  z-index:2!important;
}

/* CTA Hero : conserver la charte orange existante, mais élargir légèrement le bouton. */
.hero-cta .btn-audit{min-width:190px}

/* Footer : supprimer le fond bleu parasite hérité de la classe générique .num. */
.site-footer .f-cercles .num{
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#00F807!important;
  font:11px var(--mono)!important;
  white-space:nowrap!important;
}
.site-footer .f-cercles .cercle{
  min-width:175px!important;
  max-width:210px!important;
  box-sizing:border-box!important;
}
.site-footer .f-cercles{min-width:0!important}

/* Aucun texte de développement ne doit apparaître. */
.site-footer + .sep,
.sep:has(span){display:none!important}

@media(max-width:760px){
  .cirpaetic-partner-grid{grid-template-columns:1fr!important;gap:16px!important}
  .cirpaetic-partner-card{min-height:190px!important;padding:20px 22px!important}
  .cirpaetic-partner-mark{height:96px!important}
  .cirpaetic-natif-mark img{max-width:320px!important;max-height:94px!important}
  .cirpaetic-docuware-mark img{max-width:320px!important;max-height:88px!important}
  .site-footer .f-cercles .cercle{width:100%!important;max-width:none!important;min-width:0!important}
  .site-footer .f-cercles .num{white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important}
}
@media(max-width:420px){
  .cirpaetic-partner-card{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important}
  .cirpaetic-partner-mark{grid-column:1!important;grid-row:1!important;justify-content:center!important}
  .cirpaetic-partner-mark img{object-position:center!important}
  .cirpaetic-partner-caption{grid-column:1!important;grid-row:2!important;text-align:center!important}
  .cirpaetic-partner-arrow{top:78px!important;right:18px!important}
}

.cirpaetic-stitch-partner-logo{
  display:block;
  width:56px;
  height:56px;
  object-fit:contain;
}
.cirpaetic-stitch-partner-logo-wide{width:100%;max-width:180px;height:56px;}


/* ========================================================================== 
   CIRPAETIC — AJUSTEMENT FINAL PARTENAIRES
   Logos légèrement réduits + titres verts lisibles sur fond clair.
   ========================================================================== */
.cirpaetic-partner-strip{
  background:#fff!important;
  overflow:hidden!important;
}
.cirpaetic-partner-heading .eyebrow{
  color:var(--vv)!important;
  font-weight:700!important;
  opacity:1!important;
}
.cirpaetic-partner-heading h2{
  color:var(--vv)!important;
}
.cirpaetic-partner-mark{
  height:122px!important;
}
.cirpaetic-partner-mark img{
  max-width:100%!important;
  max-height:116px!important;
}
.cirpaetic-docuware-mark img{
  max-width:370px!important;
  max-height:108px!important;
}
.cirpaetic-natif-mark img{
  max-width:390px!important;
  max-height:116px!important;
}
.cirpaetic-jalios-mark img{
  max-width:370px!important;
  max-height:108px!important;
}
@media(max-width:700px){
  .cirpaetic-partner-mark{height:96px!important}
  .cirpaetic-partner-mark img{max-width:100%!important;max-height:94px!important}
  .cirpaetic-docuware-mark img{max-width:320px!important;max-height:88px!important}
  .cirpaetic-natif-mark img{max-width:320px!important;max-height:94px!important}
  .cirpaetic-jalios-mark img{max-width:320px!important;max-height:88px!important}
}

/* CIRPAETIC — ajustement typographique final de l'intitulé partenaire. */
.cirpaetic-partner-heading .eyebrow{
  color:var(--vf)!important;
  font-weight:400!important;
}


/* ========================================================================== 
   CIRPAE-TIC — REFONTE VISUELLE SELON LA CHARTE OFFICIELLE v16.46
   Couche de marque non destructive : aucune structure WordPress, URL, rôle,
   formulaire, fonctionnalité métier ou logique JavaScript n'est supprimée.
   ========================================================================== */
:root{
  --cir-green:#077454;
  --cir-lime:#00F807;
  --cir-orange:#FC8301;
  --cir-gray:#6C7675;
  --cir-light:#F6F8F3;
  --cir-line:#DDE4D8;
  --cir-dark:#077454;
  --cir-text:#24413B;
  --cir-white:#FFFFFF;
}

body,
button,input,select,textarea{font-family:Poppins,"Segoe UI",Arial,sans-serif}
h1,h2,h3,h4,h5,h6,.site-title,.brand,.hero h1,.hero h2,.hero h3,.home-main h1,.home-main h2,.home-main h3{font-family:Georgia,"Times New Roman",serif}
body{color:var(--cir-text);background:var(--cir-light)}

/* Navigation et chrome */
.site-header,.cirpaetic-site-chrome .site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--cir-line);box-shadow:0 4px 20px -18px rgba(7,116,84,.35)}
.site-header.scrolled,.site-header.is-scrolled{box-shadow:0 8px 28px -20px rgba(7,116,84,.45)}
.site-header .menu a,.menu a{color:var(--cir-green)}
.menu a::after{background:var(--cir-orange)}
.menu .current-menu-item>a,.menu a:hover,.menu a:focus-visible{color:var(--cir-green)}
.menu .sub-menu{border-color:var(--cir-line);box-shadow:0 22px 42px -28px rgba(7,116,84,.35);background:#fff}
.menu .sub-menu a{color:var(--cir-green)}
.menu .sub-menu a:hover{background:var(--cir-light)}
.header-search,.account-icon-link,.site-header .menu-toggle,.icon-btn,.acct-btn{border-color:var(--cir-line);color:var(--cir-green)}
.header-search:hover,.icon-btn:hover{border-color:var(--cir-orange);color:var(--cir-orange)}
.account-icon,.acct-btn .avatar{background:var(--cir-orange);color:#fff}
.header-account-link,.language-switcher,.language-button:hover,.language-button.is-active{color:var(--cir-orange)}
.header-sticker-dot{background:var(--cir-orange)}
.header-actions>.btn.btn-p,.nav-cta,.btn-audit{background:var(--cir-green)!important;color:#fff!important;border-color:var(--cir-green)!important}
.header-actions>.btn.btn-p:hover,.nav-cta:hover,.btn-audit:hover{background:var(--cir-orange)!important;border-color:var(--cir-orange)!important}

/* Boutons officiels */
.btn,.sub-cta{font-family:Poppins,"Segoe UI",Arial,sans-serif;font-weight:700;border-radius:8px}
.btn-p,.btn-audit{background:var(--cir-green);color:#fff;border-color:var(--cir-green)}
.btn-p:hover,.btn-audit:hover{background:var(--cir-orange);border-color:var(--cir-orange);color:#fff}
.btn-o,.btn-clair{background:var(--cir-orange);border-color:var(--cir-orange);color:#fff}
.btn-o:hover,.btn-clair:hover{background:var(--cir-green);border-color:var(--cir-green);color:#fff}
.btn-g{background:#fff;border-color:var(--cir-green);color:var(--cir-green)}
.btn-g:hover{background:var(--cir-green);color:#fff}

/* Hiérarchie typographique de marque */
.eyebrow{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-green);letter-spacing:.12em}
h1,h2,h3,h4{color:var(--cir-green)}
.home-section-heading>p,.home-lead,.bes-desc,p{font-family:Poppins,"Segoe UI",Arial,sans-serif}

/* Sections claires : blanc + gris très clair + repères verts/orange */
.home-main,.home-services,.contact-fallback,.page-content{background:#fff}
.home-services,.besoin{background:var(--cir-light)}
.home-section-heading h2,.home-path h2,.besoin-head h2{font-family:Georgia,"Times New Roman",serif;color:var(--cir-green)}
.besoin-accent{background:var(--cir-orange)!important}

/* Hero public : l'image reste intacte, le voile adopte le vert profond de la marque */
.hero{background:var(--cir-green)}
.voile{background:linear-gradient(100deg,rgba(7,116,84,.96) 0%,rgba(7,116,84,.91) 31%,rgba(7,116,84,.70) 54%,rgba(7,116,84,.30) 78%,rgba(7,116,84,.48) 100%)}
.voile::after{background:linear-gradient(to top,rgba(7,116,84,.66),transparent 36%)}
.trame{background-image:radial-gradient(var(--cir-lime) 1.5px,transparent 1.6px)}
.hero .eyebrow{color:#fff}
.hero .eyebrow::before{background:var(--cir-orange)}
.hero h1{color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.34)}
.hero h1 em{color:var(--cir-lime)}
.hero h1 em::after{background:rgba(0,248,7,.3)}
.hero p.lead{color:rgba(255,255,255,.94);text-shadow:0 2px 12px rgba(0,0,0,.3)}
.hero .baseline{color:var(--cir-lime)}
.hero-mini{border-top-color:rgba(255,255,255,.28)}
.hero-mini b{font-family:Georgia,"Times New Roman",serif;color:var(--cir-lime);text-shadow:none}
.hero-mini span,.hero-fleche{font-family:Poppins,"Segoe UI",Arial,sans-serif}
.hero-legende .hl{font-family:Poppins,"Segoe UI",Arial,sans-serif;background:rgba(7,116,84,.78);border-color:rgba(255,255,255,.25)}
.hero-legende .hl-1 i{background:var(--cir-orange)}
.hero-legende .hl-2 i{background:var(--cir-lime)}
.hero-fleche i{color:var(--cir-orange)}

/* Services / cartes : langage visuel documentaire, sobre et arrondi */
.home-service-card,.bes-photo,.cirpaetic-partner-card,.content-card,.post-card{border-color:var(--cir-line);border-radius:10px;background:#fff;box-shadow:0 12px 30px -28px rgba(7,116,84,.55)}
.home-service-card{border-top-color:var(--cir-green)}
.home-service-card:hover,.bes-photo:hover,.cirpaetic-partner-card:hover{border-color:var(--cir-green);box-shadow:0 18px 34px -25px rgba(7,116,84,.45)}
.home-service-card.is-dark,.home-service-card.is-accent{background:var(--cir-green);border-top-color:var(--cir-orange);color:#fff}
.home-service-card.is-accent{background:var(--cir-green);border-top-color:var(--cir-lime)}
.home-service-card h3,.home-service-card a{font-family:Poppins,"Segoe UI",Arial,sans-serif}
.home-service-card h3{color:var(--cir-green)}
.home-service-card.is-dark h3,.home-service-card.is-accent h3{color:#fff}
.home-service-card>span,.home-service-card.is-dark>span{color:var(--cir-green)}
.home-service-card.is-accent>span{color:var(--cir-lime)}
.home-service-card p{color:var(--cir-gray)}
.home-service-card a{color:var(--cir-green)}
.home-service-card.is-dark a,.home-service-card.is-accent a{color:#fff}

/* Besoin — 3 x 3 desktop, 2 x tablette, 1 x mobile */
.bes-grid-photo{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;align-items:stretch}
.bes-photo{border:1px solid var(--cir-line)!important;border-top:3px solid var(--cir-green)!important;background:#fff!important;border-radius:10px!important}
.bes-photo-wrap{background:var(--cir-green)!important}
.bes-icon{border-color:var(--cir-line)!important;background:#fff!important;box-shadow:0 8px 20px -12px rgba(7,116,84,.55)!important}
.bes-icon svg{stroke:var(--cir-green)!important}
.bes-body{padding:22px 21px 20px!important}
.bes .bk{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-green)!important;font-weight:700}
.bes b{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-green)!important;font-weight:700}
.bes-desc{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-gray)!important;font-size:13.5px;line-height:1.55}
.bes .go{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-green)!important;font-weight:700}
.bes-photo:hover .go{color:var(--cir-orange)!important}
.bes-cta{border-top-color:var(--cir-orange)!important;background:var(--cir-green)!important}
.bes-cta .bes-body{background:var(--cir-green)!important}
.bes-cta .bk{color:var(--cir-lime)!important}.bes-cta b{color:#fff!important}.bes-cta .bes-desc{color:rgba(255,255,255,.84)!important}.bes-cta .go{color:var(--cir-orange)!important}
.bes-credits{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-gray)!important;border-top-color:var(--cir-line)!important}
.bes-credits a{color:var(--cir-green)!important}

/* Partenaires : fond blanc, logos protégés, accent orange/vert */
.cirpaetic-partner-strip{background:var(--cir-light)!important;border-top:1px solid var(--cir-line)!important;border-bottom:1px solid var(--cir-line)!important}
.cirpaetic-partner-heading .eyebrow{color:var(--cir-green)!important}
.cirpaetic-partner-heading h2{font-family:Georgia,"Times New Roman",serif;color:var(--cir-green)!important}
.cirpaetic-partner-card{border-color:var(--cir-line)!important;background:#fff!important}
.cirpaetic-partner-card:hover{border-color:var(--cir-green)!important}
.cirpaetic-partner-content strong{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-green)!important}
.cirpaetic-partner-caption,.cirpaetic-partner-description{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-gray)!important}
.cirpaetic-partner-arrow{color:var(--cir-orange)!important}

/* Sections de parcours / engagement */
.home-path{background:var(--cir-green);color:#fff}
.home-path .eyebrow{color:var(--cir-lime)}
.home-path h2{font-family:Georgia,"Times New Roman",serif;color:#fff}
.home-path p:not(.eyebrow){color:rgba(255,255,255,.88)}
.home-path li{border-color:rgba(255,255,255,.28)}
.home-path li>b{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-orange)}
.home-path li span{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:#fff}
.home-path li small{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:rgba(255,255,255,.8)}

/* Formulaires */
input,select,textarea{border-color:var(--cir-line)!important;border-radius:7px!important;color:var(--cir-text)!important;background:#fff!important}
input:focus,select:focus,textarea:focus{border-color:var(--cir-green)!important;box-shadow:0 0 0 3px rgba(0,248,7,.10)!important;outline:none}
label{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-gray)}

/* Footer — vert profond, orange pour l'action, vert vif en accent */
.site-footer{background:var(--cir-green)!important;color:rgba(255,255,255,.86)!important}
.site-footer h4{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:#fff!important}
.site-footer a{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:rgba(255,255,255,.84)}
.site-footer a:hover{color:var(--cir-lime)!important}
.site-footer .f-logo{background:#fff;border-radius:8px}
.site-footer .f-cta .k,.site-footer .f-coord .k,.site-footer .rappel .k{color:var(--cir-lime)!important}
.site-footer .f-cta b,.site-footer .rappel b,.site-footer .f-coord b{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:#fff!important}
.site-footer .f-tel,.site-footer .f-coord .tel,.site-footer .f-coord .tel a,.site-footer .f-cercles .num{color:rgba(255,255,255,.76)!important}
.site-footer .cercle .anneau{border-color:var(--cir-lime)!important;color:var(--cir-lime)!important}
.site-footer .f-bas{border-color:rgba(255,255,255,.24)!important}

/* Plateforme / espace connecté : même ADN, sans modifier sa structure */
.platform-shell,.platform-content{background:var(--cir-light)!important}
.platform-sidebar,.platform-app .platform-sidebar{background:var(--cir-green)!important}
.platform-sidebar nav a:hover,.platform-sidebar nav a.is-active{background:rgba(0,248,7,.12)!important;border-left-color:var(--cir-lime)!important}
.platform-kicker,.platform-sidebar .platform-kicker{color:var(--cir-lime)!important}
.platform-stat,.platform-panel{border-color:var(--cir-line)!important;box-shadow:0 14px 32px -28px rgba(7,116,84,.45)!important}
.platform-stat strong,.platform-topbar h2,.platform-panel h3{font-family:Poppins,"Segoe UI",Arial,sans-serif;color:var(--cir-green)!important}
.platform-stat small,.platform-row time,.platform-pill,.platform-program small{color:var(--cir-green)!important}
.platform-progress i,.platform-storage i:first-child{background:var(--cir-green)!important}
.platform-storage i:nth-child(2){background:var(--cir-lime)!important}
.platform-score,.platform-score-card strong{color:var(--cir-lime)!important}
.platform-score-card,.cd-simple-hero{background:var(--cir-green)!important}
.platform-notice{border-left-color:var(--cir-lime)!important;background:#edf9ee!important;color:var(--cir-green)!important}
.platform-program{border-left-color:var(--cir-green)!important;background:var(--cir-light)!important}
.platform-program-index{color:var(--cir-orange)!important}

/* Accessibilité / sobriété */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(252,131,1,.45);outline-offset:2px}
@media(max-width:1100px){.bes-grid-photo{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.bes-grid-photo{grid-template-columns:1fr!important}.bes-photo-wrap{height:180px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* V16.46 — nouveau logo officiel CIRPAE-TIC : proportions conservées sur tous les écrans. */
.cirpaetic-site-chrome .brand-image.header-brand-logo {
  width: 112px !important;
  height: 66px !important;
  max-width: 112px !important;
  object-fit: contain !important;
  object-position: center !important;
}
.cirpaetic-site-chrome .brand{display:flex;align-items:center;min-width:168px;min-height:72px}.cirpaetic-site-chrome .brand-image.header-brand-logo{display:block!important;width:168px!important;height:72px!important;max-width:168px!important}
@media(max-width:720px){.cirpaetic-site-chrome .brand{min-width:130px;min-height:60px}.cirpaetic-site-chrome .brand-image.header-brand-logo{width:130px!important;height:60px!important;max-width:130px!important}}
.site-footer .f-logo {
  padding: 10px 14px;
}
.site-footer .f-logo img {
  width: 150px;
  height: auto;
  max-height: 90px;
  object-fit: contain;
}
.dashboard-brand-logo {
  display: block !important;
  width: 112px !important;
  height: 66px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 720px) {
  .cirpaetic-site-chrome .brand-image.header-brand-logo {
    width: 96px !important;
    height: 56px !important;
  }
}
@media (max-width: 680px) {
  .site-footer .f-logo img {
    width: 132px;
    max-height: 80px;
  }
}


/* ========================================================================
   CIRPAE-TIC — APPLICATION FINALE DE LA CHARTE GRAPHIQUE
   Référence : Charte graphique CIRPAE-TIC fournie avec le thème.
   ======================================================================== */
:root{
  --cirpae-green:#077454;
  --cirpae-lime:#00F807;
  --cirpae-orange:#FC8301;
  --cirpae-mineral:#6C7675;
  --cirpae-white:#FFFFFF;
  --cirpae-soft:#F6F8F3;
  --cirpae-line:#DDE4D8;
  --vf:var(--cirpae-green);
  --vv:var(--cirpae-lime);
  --or:var(--cirpae-orange);
  --nv:var(--cirpae-green);
  --ivoire:var(--cirpae-soft);
  --gris:var(--cirpae-mineral);
  --trait:var(--cirpae-line);
  --display:Georgia,"Times New Roman",serif;
  --body:'Poppins',"Segoe UI",Arial,sans-serif;
  --mono:'Poppins',"Segoe UI",Arial,sans-serif;
}
body{font-family:var(--body);color:#24443b;background:var(--cirpae-soft)}
h1,h2,h3,h4,h5,h6,.site-title,.btn{font-family:var(--display)}
button,input,select,textarea{font-family:var(--body)}

/* Header : blanc, respiration, vert de confiance, orange réservé aux actions. */
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--cirpae-line)}
.site-header .nav{min-height:82px;height:82px}
.site-header .brand{padding:6px 0}
.site-header .brand img,.site-header .nav img.lg,.site-header .custom-logo{width:168px;height:72px;object-fit:contain}
.site-header .menu a{font-family:var(--body);font-weight:600;color:var(--cirpae-green)}
.site-header .menu a::after{background:var(--cirpae-orange);height:3px}
.site-header .menu a:hover,.site-header .menu a:focus-visible{color:var(--cirpae-green)}
.site-header .sub{border-top:3px solid var(--cirpae-orange)!important;border-color:var(--cirpae-line)!important;box-shadow:0 20px 50px rgba(7,116,84,.14)}
.site-header .sub a:hover,.site-header .sub a:focus-visible{background:var(--cirpae-soft);color:var(--cirpae-green)}
.site-header .sub-cta,.site-header .header-actions > .btn.btn-p{background:var(--cirpae-orange)!important;color:#fff!important;border-radius:999px!important;font-family:var(--body)!important;font-weight:700!important}
.site-header .header-search{color:var(--cirpae-green);border-color:var(--cirpae-line)}
.site-header .header-account-link{color:var(--cirpae-green)}
.site-header .account-icon{background:var(--cirpae-green)}
.site-header .language-switcher,.site-header .language-button.is-active{color:var(--cirpae-orange)}

/* Système de boutons et formes : modernes, arrondis, lisibles. */
.btn{border-radius:999px}
.btn-p{background:var(--cirpae-green);color:#fff}
.btn-p:hover{background:var(--cirpae-green);filter:brightness(.93)}
.btn-o{background:var(--cirpae-orange);color:#fff}
.btn-g{border-color:var(--cirpae-green);color:var(--cirpae-green)}
.btn-g:hover{background:var(--cirpae-green);color:#fff}

/* Pages : beaucoup d'espace blanc, titres Georgia, texte Poppins. */
.page-main,.home-main{background:#fff}
.page-hero{background:var(--cirpae-soft)}
.page-hero h1,.page-main h1,.page-main h2,.page-main h3{color:var(--cirpae-green)}
.page-intro,.page-main p,.page-main li{color:#445c55}
.page-tab-card,.card,.platform-panel,.platform-stat,.account-panel,.contact-form{border-color:var(--cirpae-line);border-radius:16px}
.page-tab-card{border-top:4px solid var(--cirpae-lime)}
.page-tab-card:hover{border-color:var(--cirpae-green);border-top-color:var(--cirpae-orange)}

/* Homepage : nature + document + flux, sans surcharge décorative. */
.home-hero,.hero{background:var(--cirpae-soft)}
.home-hero-copy h1{color:var(--cirpae-green)}
.hero h1{color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.34)}
.home-hero::before,.hero::before{background-image:linear-gradient(rgba(7,116,84,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(7,116,84,.055) 1px,transparent 1px)}
.home-service-card{border-radius:16px;border-color:var(--cirpae-line);border-top-color:var(--cirpae-lime)}
.home-service-card.is-dark,.home-path{background:var(--cirpae-green)}
.home-service-card.is-accent{background:var(--cirpae-lime);border-top-color:var(--cirpae-green)}
.home-service-card.is-dark{border-top-color:var(--cirpae-orange)}
.home-command{background:var(--cirpae-green);border-radius:18px}

/* Espace d'affaires / terrasse : photographie réelle fournie par CIRPAE-TIC. */
.bes-photo-wrap img[src*="terrasse-cirpaetic.jpg"]{object-fit:cover;object-position:center;width:100%;height:100%}
.terrasse,.terrasse-img figure,.siege figure{border-radius:18px}
.terrasse{background:var(--cirpae-green);border:1px solid rgba(255,255,255,.18)}
.terrasse-txt h3{font-family:var(--display)}
.terrasse-txt .pts span{border-color:rgba(255,255,255,.32);color:#fff}

/* Dashboard : même langage de marque, sans navy ni bleu parasite. */
.platform-shell{background:var(--cirpae-soft)}
.platform-sidebar,.cd-sidebar{background:var(--cirpae-green)!important}
.platform-kicker,.cd-sidebar .platform-kicker{color:var(--cirpae-lime)}
.platform-sidebar nav a:hover,.platform-sidebar nav a.is-active{background:rgba(0,248,7,.14);border-left-color:var(--cirpae-orange)}
.platform-stat strong,.platform-score,.platform-row time,.platform-pill,.platform-user-role{color:var(--cirpae-green)}
.platform-chart i{background:linear-gradient(to top,var(--cirpae-green),var(--cirpae-lime))}
.platform-program{border-left-color:var(--cirpae-lime)}
.platform-program-index{color:var(--cirpae-orange)}
.platform-notice{border-left-color:var(--cirpae-orange);background:#eef8f4;color:var(--cirpae-green)}
.platform-student-hero,.cd-hero,.cd-simple-hero,.cd-footer{background:var(--cirpae-green)!important}
.platform-student-hero h3 span,.cd-hero-copy h2 span,.cd-simple-hero h2 span{color:var(--cirpae-lime)}
.platform-student-progress,.cd-progress-ring{border-color:var(--cirpae-lime)}
.platform-student-hero .btn,.cd-simple-hero>a{background:var(--cirpae-orange)!important;color:#fff!important;border-radius:999px}

/* Footer : fond vert profond, logo sur cartouche blanc, repères orange. */
.site-footer{background:var(--cirpae-green)!important;color:rgba(255,255,255,.82)}
.site-footer .f-logo{background:#fff;border-radius:14px;padding:12px 16px}
.site-footer .f-logo img{height:58px;width:auto;object-fit:contain}
.site-footer a:hover{color:var(--cirpae-orange)!important}
.site-footer .f-cta .k,.site-footer .f-coord .k,.site-footer .rappel .k{color:var(--cirpae-lime)}
.site-footer .cercle .anneau{border-color:rgba(0,248,7,.65);color:var(--cirpae-lime)}
.site-footer .btn-audit{background:var(--or)!important;color:#fff!important;border-color:var(--or)!important}
.site-footer .btn-audit:hover,.site-footer .btn-audit:focus{background:var(--or)!important;color:#fff!important;border-color:var(--or)!important}
.btn-audit,.nav-cta,.platform-audit-link,.dashboard-reference-sidebar a[href*="section=audit"]{background-color:var(--or)!important;background-image:none!important;border-color:var(--or)!important;color:#fff!important;opacity:1!important;filter:none!important}
.btn-audit:hover,.btn-audit:focus,.nav-cta:hover,.nav-cta:focus,.platform-audit-link:hover,.platform-audit-link:focus,.dashboard-reference-sidebar a[href*="section=audit"]:hover,.dashboard-reference-sidebar a[href*="section=audit"]:focus{background-color:var(--or)!important;background-image:none!important;border-color:var(--or)!important;color:#fff!important;opacity:1!important;filter:none!important}
.page-need-card{padding:clamp(36px,6vw,72px) 0;background:var(--ivoire);border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.page-need-card .wrap{max-width:var(--max)}
.page-need-card h2{max-width:38ch;margin:0;color:var(--nv);font-size:clamp(24px,3vw,42px);line-height:1.12}
.page-need-card p:not(.eyebrow){max-width:68ch;color:var(--gris);font-size:16px;line-height:1.65;margin:18px 0 24px}
.page-need-card .eyebrow{margin-bottom:14px;color:var(--vf)}
.page-need-card .btn{display:inline-flex;align-items:center;gap:8px}
.page-need-card-grid h2{margin-bottom:24px}.page-needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.page-need-item{display:flex;flex-direction:column;padding:22px;background:#fff;border:1px solid var(--trait);border-top:3px solid var(--vv);border-radius:var(--corner,3px)}.page-need-item .bk{font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vf)}.page-need-item h3{margin:12px 0 8px;font:700 18px/1.25 var(--display);color:var(--nv)}.page-need-item p{margin:0 0 18px;color:var(--gris);font-size:14px;line-height:1.55}.page-need-item .btn{margin-top:auto;align-self:flex-start}
@media(max-width:680px){.page-need-card{padding:38px 0}.page-need-card h2{font-size:27px}.page-need-card p:not(.eyebrow){font-size:15px}}
@media(max-width:900px){.page-needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.page-needs-grid{grid-template-columns:1fr}}

/* Accessibilité et sobriété : tailles, contrastes, animations mesurées. */
.eyebrow,.k,.bk{font-family:var(--body)}
.eyebrow{color:var(--cirpae-green)}
mark{background:rgba(0,248,7,.22);color:inherit}
:focus-visible{outline:3px solid var(--cirpae-orange);outline-offset:3px}
@media (max-width:680px){
  .site-header .nav{height:72px;min-height:72px}
  .site-header .brand img,.site-header .nav img.lg{width:126px;height:62px}
}

.site-footer .wrap,.hero .wrap,.home-services .wrap,.besoin .wrap{width:min(100% - 40px,1180px);box-sizing:border-box}
.hero .eyebrow,.hero .lead,.hero-fleche,.hero-legende .hl,.site-footer p,.site-footer b,.site-footer small,.site-footer a{white-space:normal;overflow-wrap:anywhere;word-break:normal}
.hero .eyebrow,.hero .lead,.hero-fleche{opacity:1}
.hero-fleche,.hero-fleche:visited{color:#fff!important}
.hero-fleche:hover,.hero-fleche:focus-visible{color:var(--cirpae-lime)!important}
.hero h1{color:#fff!important;text-shadow:0 3px 24px rgba(0,0,0,.55)}
.hero h1 em{color:var(--cirpae-lime)!important}
.hero p.lead{color:rgba(255,255,255,.92)!important;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.site-footer .rappel{opacity:1;transform:none}
.site-footer .rappel,.site-footer .f-cta{box-sizing:border-box;min-width:0}
.site-footer .rappel .rap-form{width:100%;min-width:0}
.site-footer .rappel .rap-form input,.site-footer .rappel .rap-form button{max-width:100%;box-sizing:border-box}
.site-footer .rappel .rap-form input{color:#fff!important;background:#263c50!important;border-color:#53687b!important}
.site-footer .rappel .rap-form input::placeholder{color:#c1ccd6!important;opacity:1}
.site-footer .rappel .rap-form button{color:#fff!important;background:var(--cir-orange)!important;border-color:var(--cir-orange)!important}
.site-footer .f-grid a,.site-footer .f-coord a,.site-footer .f-cta b,.site-footer .rappel b{color:#fff}
.site-footer .f-grid a:hover,.site-footer .f-coord a:hover{color:var(--cir-orange)!important}
.home-section-heading h2,.besoin-head h2,.page-content h1,.page-content h2,.page-content h3{overflow-wrap:anywhere}

@media (max-width:680px){
  .site-footer .wrap,.hero .wrap,.home-services .wrap,.besoin .wrap{width:min(100% - 32px,1180px)}
  .hero .eyebrow,.hero .lead{max-width:100%}
}

:root{
  --vf:#0b6b50!important;
  --vv:#b5d879!important;
  --or:#e97832!important;
  --nv:#193247!important;
  --cirpae-green:#0b6b50!important;
  --cirpae-lime:#b5d879!important;
  --cirpae-orange:#e97832!important;
  --cir-green:#0b6b50!important;
  --cir-lime:#b5d879!important;
  --cir-orange:#e97832!important;
  --cir-dark:#193247!important;
  --cir-text:#243b35!important;
}
.hero h1 em,.hero-mini b,.home-path .eyebrow,.platform-kicker,.platform-sidebar .platform-kicker,.site-footer .rappel .k,.site-footer .f-cta .k,.site-footer .f-coord .k{color:#b5d879!important}
.hero .eyebrow::before,.hero-legende .hl-1 i,.besoin-accent{background:#e97832!important}
.hero-fleche i,.hero-legende .hl-2 i{color:#b5d879!important}
.btn-audit,.nav-cta,.platform-audit-link{background:#e97832!important;border-color:#e97832!important;color:#fff!important}
.btn-audit:hover,.nav-cta:hover,.platform-audit-link:hover{background:#d96325!important;border-color:#d96325!important}
.site-footer .cercle .anneau{border-color:#b5d879!important;color:#b5d879!important}
.platform-sidebar nav a.is-active,.platform-sidebar nav a:hover{background:#e97832!important;color:#fff!important}
.bes-cta .bes-body{background:#0b6b50!important;color:#fff!important}
.bes-cta .bes-body .bk{color:#b5d879!important}
.bes-cta .bes-body b{color:#fff!important;text-shadow:none!important}
.bes-cta .bes-body .bes-desc{color:rgba(255,255,255,.86)!important}
.bes-cta .bes-body .go{color:#e97832!important}
.bes-photo:not(.bes-cta) .bes-body{background:#fff!important;color:#243b35!important}
.bes-photo:not(.bes-cta) .bes-body .bk{color:#0b6b50!important}
.bes-photo:not(.bes-cta) .bes-body b{color:#193247!important}
.bes-photo:not(.bes-cta) .bes-body .bes-desc{color:#53645f!important}
.bes-photo:not(.bes-cta) .bes-body .go{color:#0b6b50!important}
.home-service-card.is-dark,.home-service-card.is-accent{color:#fff!important}
.home-service-card.is-dark h3,.home-service-card.is-accent h3,.home-service-card.is-dark p,.home-service-card.is-accent p,.home-service-card.is-dark a,.home-service-card.is-accent a{color:#fff!important}
.page-main,.site-main{min-width:0;color:#243b35;background-color:var(--pages-bg,#f6f8f3)}
.page-main>.wrap,.site-main>.wrap,.page-main .wrap,.site-main .wrap{width:min(100% - 40px,1180px);max-width:1180px;box-sizing:border-box}
.page-main h1,.page-main h2,.page-main h3,.page-main h4,.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4{overflow-wrap:anywhere;line-height:1.2}
.page-main p,.page-main li,.entry-content p,.entry-content li{max-width:100%;color:#53645f;overflow-wrap:anywhere;word-break:normal;line-height:1.65}
.page-main a:not(.btn),.entry-content a:not(.btn){color:#0b6b50;overflow-wrap:anywhere}
.page-main a:not(.btn):hover,.entry-content a:not(.btn):hover{color:#e97832}
.page-main .page-hero h1,.page-main .page-hero h2{color:var(--cirpae-green)!important}
.page-main .page-hero p{color:#53645f!important}
.page-main .page-hero a{color:#0b6b50!important}
.page-main .page-hero .eyebrow{color:#b5d879}
.page-main .rv,.site-main .rv{opacity:1;transform:none}
.page-main img,.site-main img{max-width:100%;height:auto}
.page-main .btn,.site-main .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media (max-width:680px){
  .page-main>.wrap,.site-main>.wrap,.page-main .wrap,.site-main .wrap{width:min(100% - 32px,1180px)}
}

/* Page contact: choix de parcours et formulaires modaux */
.contact-choices{padding:clamp(28px,5vw,64px) 0 76px}
.page-sections > .wrap:has(.contact-choices){display:block;max-width:1180px}
.contact-choices-heading{text-align:center;max-width:680px;margin:0 auto 34px}
.contact-choices-heading .eyebrow{justify-content:center;margin-bottom:14px}
.contact-choices-heading .eyebrow::after{display:none}
.contact-choices-heading h2{max-width:none;font-size:clamp(30px,4vw,48px);margin-bottom:12px}
.contact-choices-heading>p:last-child{margin:0 auto;color:var(--gris);font-size:17px}
.contact-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-choice-card{display:flex;flex-direction:column;min-height:310px;padding:28px;background:#fff;border:1px solid var(--trait);border-radius:8px;box-shadow:0 10px 24px -22px rgba(14,40,65,.8);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.contact-choice-card:hover{transform:translateY(-4px);border-color:var(--vv);box-shadow:0 18px 30px -22px rgba(14,40,65,.65)}
.contact-choice-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:24px;border-radius:6px;background:#edf6ef;color:var(--vf);font-size:24px;font-family:var(--body)}
.contact-choice-card h3{font-size:23px;color:var(--nv);margin-bottom:12px}
.contact-choice-card p{margin:0;color:var(--gris);font-size:15px;line-height:1.6}
.contact-choice-card .btn{width:100%;margin-top:auto;text-align:center;padding:12px 16px}
.contact-modal-layer{display:none;position:fixed;inset:0;z-index:100;padding:20px;align-items:center;justify-content:center;background:rgba(14,40,65,.55);backdrop-filter:blur(5px)}
.contact-modal-layer.is-open{display:flex}
.contact-modal{width:min(100%,650px);max-height:min(760px,calc(100vh - 40px));overflow:auto;background:#fff;border:1px solid var(--trait);border-radius:8px;box-shadow:0 24px 60px -24px rgba(14,40,65,.65);animation:contactModalIn .22s ease-out}
.contact-modal[hidden]{display:none}
.contact-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px 18px;border-bottom:1px solid var(--trait)}
.contact-modal-head .eyebrow{font-size:10px;margin-bottom:8px}
.contact-modal-head .eyebrow::after{display:none}
.contact-modal-head h3{font-size:26px;color:var(--nv)}
.contact-modal-close{width:34px;height:34px;border:1px solid var(--trait);border-radius:3px;background:#fff;color:var(--nv);font-size:25px;line-height:1;cursor:pointer}
.contact-modal-close:hover{background:var(--ivoire);color:var(--or)}
.contact-confirmation-modal{padding:42px 28px;text-align:center}
.contact-confirmation-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:#edf6ef;color:var(--vf);font-size:30px;font-weight:700}
.contact-confirmation-modal h3{font-size:24px;color:var(--nv);margin-bottom:10px}
.contact-confirmation-modal p{margin:0 0 24px;color:var(--gris)}
.contact-confirmation-modal .contact-modal-close{width:auto;height:auto;padding:11px 20px;border:0;border-radius:2px;background:var(--vf);color:#fff;font:600 14px var(--display)}
.contact-confirmation-modal .contact-modal-close:hover{background:var(--vv);color:#fff}
.contact-modal-form{padding:24px 28px 28px}
.contact-modal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-modal-fields label{display:flex;flex-direction:column;gap:7px;color:var(--nv);font-family:var(--mono);font-size:12px;font-weight:600}
.contact-modal-fields label>span{color:var(--or)}
.contact-modal-fields label:has(textarea),.contact-modal-fields label:has(input[type=file]){grid-column:1 / -1}
.contact-modal-fields input,.contact-modal-fields textarea{width:100%;border:1px solid #cbd8cf;border-radius:3px;background:#fff;color:var(--nv);font:14px/1.45 var(--body);padding:11px 12px;transition:border-color .2s,box-shadow .2s}
.contact-modal-fields textarea{resize:vertical;min-height:92px}
.contact-modal-fields input[type=file]{padding:9px;background:var(--ivoire)}
.contact-modal-fields input:focus,.contact-modal-fields textarea:focus{outline:none;border-color:var(--vf);box-shadow:0 0 0 3px rgba(7,116,84,.14)}
.contact-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--trait)}
.contact-modal-actions .btn{margin:0}
.contact-modal-lock{overflow:hidden}
@keyframes contactModalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:1000px){.contact-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-choice-card:last-child{grid-column:1 / -1;max-width:calc(50% - 9px);width:100%;justify-self:center}}
@media(max-width:680px){.contact-choices{padding-bottom:48px}.contact-choice-grid{grid-template-columns:1fr}.contact-choice-card:last-child{grid-column:auto;max-width:none}.contact-choice-card{min-height:0;padding:24px}.contact-choice-card .btn{margin-top:28px}.contact-modal-layer{padding:10px}.contact-modal{max-height:calc(100vh - 20px)}.contact-modal-head,.contact-modal-form{padding-left:18px;padding-right:18px}.contact-modal-fields{grid-template-columns:1fr}.contact-modal-fields label:has(textarea),.contact-modal-fields label:has(input[type=file]){grid-column:auto}.contact-modal-actions{flex-direction:column-reverse}.contact-modal-actions .btn{width:100%;text-align:center}}

/* Page communauté */
.community-page{padding:28px 0 38px;background:#f6f8f3}
.community-explorer{max-width:920px;margin:0 auto}
.community-explorer .eyebrow{margin-bottom:14px}
.community-explorer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.community-explorer-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:#fff;border:1px solid var(--trait);border-radius:6px;color:var(--nv);font-size:13px;font-weight:600;text-decoration:none;box-shadow:0 5px 15px -18px rgba(14,40,65,.75);transition:.2s}
.community-explorer-link:hover,.community-explorer-link.is-active{border-color:var(--vf);transform:translateY(-2px);box-shadow:0 10px 20px -18px rgba(14,40,65,.7)}
.community-explorer-link span:last-child{color:var(--or);font-size:18px}
.community-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:20px 22px;background:#fff;border:1px solid var(--trait);border-left:3px solid var(--or);border-radius:6px}
.community-callout h2{font-size:20px;color:var(--nv);margin:0 0 5px}.community-callout p{margin:0;color:var(--gris);font-size:13px}.community-callout strong{padding:8px 12px;border:1px solid #b9d7b3;border-radius:99px;color:var(--vf);font-size:11px;white-space:nowrap}
.community-media-section{padding:54px 0;background:#fff;border-top:1px solid var(--trait)}
.community-social-section{padding:58px 0;background:#f6f8f3}
.community-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.community-section-heading .eyebrow{margin-bottom:8px}.community-section-heading h2{max-width:32ch;font-size:clamp(25px,3.2vw,38px);color:var(--nv)}.community-section-heading p:not(.eyebrow){margin:8px 0 0;color:var(--gris);font-size:14px}.community-section-heading-centered{display:block;text-align:center}.community-section-heading-centered h2{margin-inline:auto}.community-section-heading-centered .eyebrow{justify-content:center}.community-section-heading-centered .eyebrow::after{display:none}
.community-slider-controls{display:flex;gap:8px;flex:0 0 auto}.community-slider-controls button{width:38px;height:38px;border:1px solid var(--trait);border-radius:5px;background:#fff;color:var(--vf);font-size:18px;cursor:pointer}.community-slider-controls button:hover{border-color:var(--vf);background:#edf6ef}
.community-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.community-media-card{overflow:hidden;border:1px solid var(--trait);border-radius:7px;background:#fff;box-shadow:0 8px 20px -20px rgba(14,40,65,.8)}.community-media-card a{display:block;color:inherit;text-decoration:none}.community-media-card img{width:100%;height:190px;object-fit:cover}.community-media-card>a{position:relative}.community-media-card> a>div:last-child{padding:16px}.community-media-card small{color:var(--or);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.community-media-card h3{margin:8px 0;color:var(--nv);font-size:17px}.community-media-card span:last-child{color:var(--vf);font-size:12px;font-weight:700}.community-media-icon{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:30px;height:30px;border-radius:5px;background:rgba(255,255,255,.9);color:var(--vf);font-size:16px!important}.community-play{position:absolute;top:72px;left:50%;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--or);color:#fff!important;font-size:16px!important;transform:translateX(-50%);box-shadow:0 6px 16px rgba(0,0,0,.2)}
.community-social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.community-social-grid a{display:flex;flex-direction:column;align-items:center;padding:20px 14px;background:#fff;border:1px solid var(--trait);border-radius:7px;text-align:center;text-decoration:none;transition:.2s}.community-social-grid a:hover{border-color:var(--vf);transform:translateY(-2px);box-shadow:0 10px 20px -18px rgba(14,40,65,.8)}.community-social-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:10px;border-radius:50%;background:#edf6ef;color:var(--vf);font-size:0;font-weight:800;white-space:nowrap;overflow:hidden}.community-social-icon::before{font-size:20px;line-height:1}.community-social-icon-whatsapp::before{content:'W';font-size:17px}.community-social-icon-youtube{color:#d32f2f}.community-social-icon-youtube::before{content:'▶'}.community-social-icon-tiktok{color:#111}.community-social-icon-tiktok::before{content:'♪'}.community-social-icon-facebook{color:#1877f2}.community-social-icon-facebook::before{content:'f';font-size:24px}.community-social-icon-instagram::before{content:'◎';font-size:25px}.community-social-icon-x{color:#111}.community-social-icon-x::before{content:'𝕏';font-size:18px}.community-social-icon-discord{color:#5865f2}.community-social-icon-discord::before{content:'◌';font-size:24px}.community-social-icon-github{color:#111}.community-social-icon-github::before{content:'⌘';font-size:23px}.community-social-grid strong{color:var(--nv);font-size:13px}.community-social-grid span:not(.community-social-icon){margin-top:5px;color:var(--vf);font-size:11px}.community-social-grid small{margin-top:10px;color:var(--or);font-size:10px;font-weight:700}
@media(max-width:900px){.community-explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-media-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.community-media-card{min-width:310px;scroll-snap-align:start}.community-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.community-page,.community-media-section,.community-social-section{padding-inline:0}.community-explorer-grid,.community-social-grid{grid-template-columns:1fr}.community-callout{align-items:flex-start;flex-direction:column}.community-callout strong{white-space:normal}.community-section-heading{align-items:flex-start;flex-direction:column}.community-slider-controls{align-self:flex-end}.community-media-card{min-width:calc(100vw - 48px)}}

/* Dernier override du logo : il doit rester lisible après toutes les règles responsive. */
.cirpaetic-site-chrome .site-header .brand{min-width:168px!important;min-height:72px!important}.cirpaetic-site-chrome .site-header .brand-image.header-brand-logo{width:168px!important;height:72px!important;max-width:168px!important}
@media(max-width:720px){.cirpaetic-site-chrome .site-header .brand{min-width:130px!important;min-height:60px!important}.cirpaetic-site-chrome .site-header .brand-image.header-brand-logo{width:130px!important;height:60px!important;max-width:130px!important}}

/* Google Stitch editorial pages integrated into the native CIRPAE-TIC shell. */
.cirpaetic-stitch-page { width: 100%; margin: 0; padding: 0; }
.cirpaetic-stitch-page > main { width: 100%; max-width: none; margin: 0; padding-bottom: 0; }
.cirpaetic-stitch-page img { max-width: 100%; }
.cirpaetic-stitch-page button,
.cirpaetic-stitch-page a { -webkit-tap-highlight-color: transparent; }
.cirpaetic-stitch-page :focus-visible { outline: 2px solid #10B981; outline-offset: 3px; }

/* V2 Stitch/native-shell alignment */
.cirpaetic-stitch-page { background: #fff; color: #0F172A; }
.cirpaetic-stitch-page > article, .cirpaetic-stitch-page > main { box-sizing: border-box; }
.cirpaetic-stitch-page .material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.cirpaetic-stitch-page a:focus-visible, .cirpaetic-stitch-page button:focus-visible { outline-color: #077454; }
.cirpaetic-stitch-page h1,
.cirpaetic-stitch-page h2,
.cirpaetic-stitch-page h3,
.cirpaetic-stitch-page h4 { color: inherit; }
.cirpaetic-stitch-services > div > section:first-child p,
.cirpaetic-stitch-notre-solution > div > section:first-child p { color: rgba(255,255,255,.84) !important; }
@media (max-width: 1200px) {
  .cirpaetic-stitch-faq > div > section:first-child .grid,
  .cirpaetic-stitch-faq .grid { grid-template-columns: minmax(0, 1fr) !important; }
  .cirpaetic-stitch-faq .lg\:col-span-8,
  .cirpaetic-stitch-faq .lg\:col-span-4 { grid-column: auto !important; }
  .cirpaetic-stitch-faq > div > section:first-child .rounded-xl { width: 100%; min-width: 0; }
}
@media (min-width: 1201px) {
  .cirpaetic-stitch-faq > div > section:first-child .grid > div:nth-child(1) { grid-column: span 8 / span 8 !important; }
  .cirpaetic-stitch-faq > div > section:first-child .grid > div:nth-child(2) { grid-column: span 4 / span 4 !important; }
}


/* Fiches partenaires : méthode visuelle détaillée et liens métier. */
.cirpaetic-partner-content{
  grid-column:1!important;
  grid-row:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-width:0!important;
  width:100%!important;
}
.cirpaetic-partner-content strong{
  display:block!important;
  margin:0 0 5px!important;
  font-size:18px!important;
  line-height:1.2!important;
}
.cirpaetic-partner-meta{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 10px!important;
  color:var(--cir-green)!important;
  font-size:10px!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.cirpaetic-partner-meta b{
  padding:3px 5px!important;
  background:#f1f5f2!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.cirpaetic-partner-meta small{
  color:var(--cir-gray)!important;
  font-size:9px!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.cirpaetic-partner-caption{
  display:block!important;
  max-width:46ch!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.cirpaetic-partner-points{
  display:grid!important;
  gap:4px!important;
  width:100%!important;
  margin:10px 0 12px!important;
  padding:0!important;
  list-style:none!important;
  color:var(--cir-ink)!important;
  font-size:10px!important;
  line-height:1.35!important;
}
.cirpaetic-partner-points li::before{
  content:'✓'!important;
  margin-right:6px!important;
  color:var(--cir-green)!important;
  font-weight:700!important;
}
.cirpaetic-partner-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:9px!important;
  border-top:1px solid var(--cir-line)!important;
  color:var(--cir-gray)!important;
  font-size:9px!important;
  line-height:1.3!important;
}
.cirpaetic-partner-footer small{max-width:55%!important}
.cirpaetic-partner-footer a{
  color:var(--cir-green)!important;
  font-weight:700!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .cirpaetic-partner-card{min-height:245px!important}
  .cirpaetic-partner-footer{font-size:10px!important}
}
@media(max-width:420px){
  .cirpaetic-partner-card{min-height:0!important}
  .cirpaetic-partner-meta{flex-wrap:wrap!important}
  .cirpaetic-partner-footer{align-items:flex-start!important;flex-direction:column!important;gap:6px!important}
  .cirpaetic-partner-footer small{max-width:none!important}
}


/* CIRPAE-TIC / Stitch integration — V28
 * Keep Tailwind utility semantics intact. Do not recolor utilities by substring;
 * the semantic palette is defined once in functions.php for Stitch pages.
 */
.cirpaetic-stitch-page{
  --stitch-green:#077454;
  --stitch-green-dark:#055D44;
  --stitch-green-bright:#00B96B;
  --stitch-orange:#FC8301;
  --stitch-orange-dark:#D86F00;
  --stitch-paper:#F6F8F3;
  --stitch-ink:#17372C;
  --stitch-muted:#6C7675;
  --stitch-line:#DDE4D8;
  width:100%;
  overflow:hidden;
  background:var(--stitch-paper);
  color:var(--stitch-ink);
}
.cirpaetic-stitch-page>main{width:100%;max-width:none;margin:0;padding:0;}
.cirpaetic-stitch-page h1,.cirpaetic-stitch-page h2,.cirpaetic-stitch-page h3,.cirpaetic-stitch-page h4{overflow-wrap:anywhere;}
.cirpaetic-stitch-page img{max-width:100%;height:auto;}
.cirpaetic-stitch-page input,.cirpaetic-stitch-page select,.cirpaetic-stitch-page textarea{min-width:0;max-width:100%;}
.cirpaetic-stitch-page .material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;}
.cirpaetic-stitch-page :focus-visible{outline:2px solid var(--stitch-orange);outline-offset:3px;}
.cirpaetic-stitch-page .service-card{min-width:0;}
.cirpaetic-stitch-page .community-page,.cirpaetic-stitch-page .community-media-section,.cirpaetic-stitch-page .community-social-section{color:var(--stitch-ink);}
.cirpaetic-stitch-page .community-page h1,.cirpaetic-stitch-page .community-page h2,.cirpaetic-stitch-page .community-page h3,.cirpaetic-stitch-page .community-page h4{color:var(--stitch-green);}
.cirpaetic-stitch-page .community-page p,.cirpaetic-stitch-page .community-media-card p,.cirpaetic-stitch-page .community-social-grid span:not(.community-social-icon){color:var(--stitch-muted);}
.cirpaetic-stitch-page .community-callout{border-left-color:var(--stitch-orange);}
.cirpaetic-stitch-page .community-play{background:var(--stitch-orange);}
.cirpaetic-stitch-page .community-social-icon,.cirpaetic-stitch-page .community-social-icon-youtube,.cirpaetic-stitch-page .community-social-icon-tiktok,.cirpaetic-stitch-page .community-social-icon-facebook,.cirpaetic-stitch-page .community-social-icon-instagram,.cirpaetic-stitch-page .community-social-icon-x,.cirpaetic-stitch-page .community-social-icon-discord,.cirpaetic-stitch-page .community-social-icon-github{color:var(--stitch-green);background:var(--stitch-paper);}
.cirpaetic-stitch-page input,.cirpaetic-stitch-page textarea,.cirpaetic-stitch-page select{color:var(--stitch-ink);background:#fff;}
.cirpaetic-stitch-page input::placeholder,.cirpaetic-stitch-page textarea::placeholder{color:var(--stitch-muted);opacity:1;}
@media(max-width:1023px){.cirpaetic-stitch-page [class*="lg:px-margin-desktop"]{padding-left:2rem;padding-right:2rem;}}
@media(max-width:767px){.cirpaetic-stitch-page [class*="md:px-margin-tablet"],.cirpaetic-stitch-page [class*="lg:px-margin-desktop"]{padding-left:1rem;padding-right:1rem;}.cirpaetic-stitch-page section{max-width:100%;}.cirpaetic-stitch-page h1{hyphens:auto;}}
@media(prefers-reduced-motion:reduce){.cirpaetic-stitch-page *, .cirpaetic-stitch-page *::before,.cirpaetic-stitch-page *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;}}

/* ==========================================================================
   CIRPAE-TIC Visual Builder — styles des blocs insérés depuis le plugin
   (section, conteneur, colonnes, hero, carte, bouton, stat, vidéo).
   Ajoutés ici pour que ce que l'éditeur montre dans l'iframe et ce qui est
   publié sur le site utilisent la même feuille de style et la même charte
   graphique que le reste du thème (var(--vf), var(--or), var(--trait)…).
   ========================================================================== */
.entry-content .cptic-section{padding:48px 0;margin:0 0 24px}
.entry-content .cptic-container{padding:32px;border:1px solid var(--trait);border-radius:3px;background:#fff;margin:0 0 24px}
.entry-content .cptic-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0 0 24px}
@media(max-width:760px){.entry-content .cptic-columns{grid-template-columns:1fr}}
.entry-content .cptic-hero{padding:64px 40px;margin:0 0 32px;background:linear-gradient(135deg,var(--ivoire),#fff);border:1px solid var(--trait);border-radius:3px;text-align:left}
.entry-content .cptic-hero > span{display:inline-block;font-family:var(--body);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:12.5px;color:var(--or);margin-bottom:10px}
.entry-content .cptic-hero h1{font-family:var(--display);font-size:clamp(28px,4vw,48px);line-height:1.15;color:var(--nv);margin:0 0 14px}
.entry-content .cptic-hero p{font-family:var(--body);color:var(--gris);font-size:16.5px;max-width:640px;margin:0 0 24px}
.entry-content .cptic-button{display:inline-block;font-family:var(--display);font-weight:600;font-size:14.5px;background:var(--vf);color:#fff;padding:12px 22px;border-radius:2px;text-decoration:none;transition:.3s}
.entry-content .cptic-button:hover{background:var(--vv);transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(7,116,84,.9)}
.entry-content .cptic-card{border:1px solid var(--trait);border-radius:3px;padding:26px;background:#fff;margin:0 0 20px;transition:.3s}
.entry-content .cptic-card:hover{box-shadow:0 12px 24px -18px rgba(7,116,84,.35);transform:translateY(-2px)}
.entry-content .cptic-card h3{font-family:var(--display);color:var(--nv);margin:0 0 8px}
.entry-content .cptic-card p{font-family:var(--body);color:var(--gris);margin:0}
.entry-content .cptic-stat{display:inline-flex;flex-direction:column;padding:20px 30px;border:1px solid var(--trait);border-radius:3px;margin:0 12px 12px 0;background:#fff}
.entry-content .cptic-stat strong{font-family:var(--display);font-size:32px;color:var(--vf);line-height:1}
.entry-content .cptic-stat span{font-family:var(--body);color:var(--gris);font-size:13px;margin-top:4px}
.entry-content .cptic-video{padding:60px;text-align:center;background:var(--ivoire);border:1px dashed var(--trait);border-radius:3px;color:var(--gris);font-family:var(--body)}

/* V29 — shared builder/theme color safety */
:root{--or-dark:#C45A00}
.site-header .header-actions>.btn.btn-p,.header-actions>.btn.btn-p,.btn.btn-o{background:var(--or-dark)!important;color:#fff!important}
.site-header .header-actions>.btn.btn-p:hover,.header-actions>.btn.btn-p:hover,.btn.btn-o:hover{background:var(--or)!important;color:#fff!important}
.cirpaetic-stitch-page{--stitch-orange:var(--or);--stitch-orange-dark:var(--or-dark);--stitch-green:var(--vf);--stitch-green-dark:var(--nv);--stitch-paper:var(--ivoire);--stitch-ink:var(--nv);--stitch-muted:var(--gris);--stitch-line:var(--trait)}
.entry-content .cptic-button{background:var(--vf)!important;color:#fff!important}
.entry-content .cptic-button:hover{background:var(--or-dark)!important;color:#fff!important}
.cptic-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.cptic-card-grid>article{background:#fff;border:1px solid var(--trait);border-radius:3px;padding:24px}.cptic-cta{background:var(--vf);color:#fff;padding:32px;border-radius:3px}.cptic-cta a{background:var(--or-dark);color:#fff!important;border-radius:2px;padding:11px 18px;text-decoration:none}.cptic-quote{padding:22px 26px;border-left:4px solid var(--or);background:#fff}.cptic-accordion details{border:1px solid var(--trait);padding:12px 14px;margin:8px 0;background:#fff}.cptic-accordion summary{cursor:pointer;font-weight:700;color:var(--vf)}.cptic-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cptic-gallery img{width:100%;height:190px;object-fit:cover;border-radius:3px}.cptic-custom-html{border:1px dashed var(--trait);padding:14px;background:#fff}.cptic-badge{display:inline-flex;padding:6px 10px;border-radius:9999px;background:color-mix(in srgb,var(--vf) 10%,white);color:var(--vf);font-weight:700;font-size:12px}.cptic-social{display:flex;flex-wrap:wrap;gap:8px}.cptic-social a{padding:8px 12px;border-radius:9999px;background:var(--ivoire);color:var(--vf);text-decoration:none}.cptic-social a:hover{background:var(--vf);color:#fff}
@media(max-width:760px){.cptic-card-grid,.cptic-gallery{grid-template-columns:1fr}.cptic-gallery img{height:auto}}

/* V29.2 — Stitch presentation safety: preserve the grid columns from the local utility layer. */
.cirpaetic-stitch-page .grid{display:grid;gap:0;}
.cirpaetic-stitch-page .text-white{color:#fff;}
.cirpaetic-stitch-page .text-on-primary{color:#fff;}
.cirpaetic-stitch-page .text-on-secondary{color:#fff;}
.cirpaetic-stitch-page .bg-primary{background-color:var(--vf);}
.cirpaetic-stitch-page .bg-primary-container{background-color:var(--nv);}
.cirpaetic-stitch-page .bg-secondary,.cirpaetic-stitch-page .bg-secondary-container{background-color:var(--or);}
.cirpaetic-stitch-page .bg-surface,.cirpaetic-stitch-page .bg-background{background-color:var(--ivoire);}
.cirpaetic-stitch-page .bg-surface-container-lowest{background-color:#fff;}
.cirpaetic-stitch-page .text-primary{color:var(--nv);}
.cirpaetic-stitch-page .text-secondary{color:var(--or-dark);}
.cirpaetic-stitch-page .text-on-surface,.cirpaetic-stitch-page .text-text-display,.cirpaetic-stitch-page .text-text-body{color:var(--nv);}
.cirpaetic-stitch-page .text-on-surface-variant,.cirpaetic-stitch-page .text-text-muted{color:var(--gris);}
/* Keep semantic accent tokens readable on both brand and paper surfaces. */
.cirpaetic-stitch-page .bg-primary .text-primary-fixed,
.cirpaetic-stitch-page .bg-primary .text-primary-fixed-dim,
.cirpaetic-stitch-page .bg-primary-container .text-primary-fixed,
.cirpaetic-stitch-page .bg-primary-container .text-primary-fixed-dim,
.cirpaetic-stitch-page .bg-brand-navy-dark .text-primary-fixed,
.cirpaetic-stitch-page .bg-brand-navy-dark .text-primary-fixed-dim{color:#d6f3e1;}
.cirpaetic-stitch-page .bg-primary .text-surface-variant,
.cirpaetic-stitch-page .bg-primary-container .text-surface-variant,
.cirpaetic-stitch-page .bg-brand-navy-dark .text-surface-variant{color:#e5f1e9;}
.cirpaetic-stitch-page .bg-primary .text-secondary-fixed-dim,
.cirpaetic-stitch-page .bg-primary-container .text-secondary-fixed-dim{color:#ffd1a3;}
.cirpaetic-stitch-page .bg-primary .text-tertiary-fixed,
.cirpaetic-stitch-page .bg-primary-container .text-tertiary-fixed{color:#d6f3e1;}
.cirpaetic-stitch-page .bg-primary.text-on-primary,
.cirpaetic-stitch-page .bg-primary-container.text-on-primary,
.cirpaetic-stitch-page .bg-secondary.text-on-secondary,
.cirpaetic-stitch-page .bg-secondary-container.text-on-secondary,
.cirpaetic-stitch-page .bg-secondary-container.text-on-secondary-fixed,
.cirpaetic-stitch-page .bg-secondary-container.text-on-secondary-container,
.cirpaetic-stitch-page .bg-secondary.text-white{color:#17372c!important;}
.cirpaetic-stitch-page .text-on-secondary-fixed,
.cirpaetic-stitch-page .text-on-secondary-container{color:#17372c;}
@media(max-width:767px){
  .cirpaetic-stitch-page .grid{grid-template-columns:1fr;}
  .cirpaetic-stitch-page [class*="lg\:grid-cols-12"]{grid-template-columns:1fr!important;}
}
