
:root{
  --blue:#073b78;
  --blue-2:#0d5cb2;
  --dark:#041c38;
  --red:#d81f3b;
  --gold:#f0b90b;
  --light:#f4f7fb;
  --white:#fff;
  --text:#26364b;
  --muted:#66758a;
  --radius:20px;
  --shadow:0 22px 60px rgba(4,28,56,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#fff;font-family:Arial,Helvetica,sans-serif}
img{max-width:100%;height:auto}
a{color:inherit}
button{font:inherit}
.container{width:min(1180px,92%);margin-inline:auto}

.topbar{background:var(--dark);color:#fff;font-size:13px}
.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-links{display:flex;gap:18px}
.topbar a{color:#fff;text-decoration:none}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);box-shadow:0 10px 28px rgba(4,28,56,.08);backdrop-filter:blur(12px)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-logo img{width:158px;height:64px;object-fit:contain;display:block}
.main-menu{margin:0;padding:0;display:flex;align-items:center;gap:22px;list-style:none}
.main-menu a{color:var(--dark);font-size:14px;font-weight:800;text-decoration:none;position:relative}
.main-menu a:after{position:absolute;right:0;bottom:-8px;left:0;height:2px;content:"";background:var(--red);transform:scaleX(0);transition:.2s}
.main-menu a:hover:after{transform:scaleX(1)}
.header-join{min-height:44px;padding:0 20px;display:inline-flex;align-items:center;border-radius:10px;color:#fff;background:var(--red);font-weight:900;text-decoration:none;box-shadow:0 12px 24px rgba(216,31,59,.24)}
.menu-toggle{display:none;border:0;background:transparent;cursor:pointer}
.menu-toggle span{width:27px;height:3px;margin:5px 0;display:block;background:var(--dark);border-radius:3px}

.hero-premium{position:relative;min-height:calc(100vh - 114px);display:flex;align-items:center;overflow:hidden;background:url("../images/banniere.jpg") center 35%/cover no-repeat}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,28,56,.95) 0%,rgba(7,59,120,.78) 48%,rgba(7,59,120,.25) 100%)}
.hero-premium:after{position:absolute;right:0;bottom:0;left:0;height:8px;content:"";background:linear-gradient(90deg,var(--blue) 0 33.33%,var(--gold) 33.33% 66.66%,var(--red) 66.66%)}
.hero-decor{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.hero-decor-one{width:380px;height:380px;right:-90px;top:-110px}
.hero-decor-two{width:220px;height:220px;right:160px;bottom:-90px}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .65fr;align-items:center;gap:70px;padding:90px 0}
.hero-content{max-width:760px;color:#fff}
.eyebrow,.section-kicker{display:inline-block;margin-bottom:18px;color:var(--red);font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{padding:10px 16px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#ffe8a0;background:rgba(255,255,255,.1)}
.hero-content h1{margin:0 0 22px;font-size:clamp(52px,7vw,90px);line-height:.98;letter-spacing:-.05em}
.hero-content h1 span{display:block;color:var(--gold)}
.hero-content>p{max-width:680px;margin:0 0 32px;color:rgba(255,255,255,.92);font-size:clamp(18px,2vw,22px);line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.btn{min-height:52px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:10px;font-weight:900;text-decoration:none;transition:.25s ease}
.btn:hover{transform:translateY(-3px)}
.btn-primary{color:#fff;background:var(--red)}
.btn-outline{color:#fff;border-color:rgba(255,255,255,.85)}
.btn-dark{color:#fff;background:var(--dark)}
.btn-glow{box-shadow:0 16px 34px rgba(216,31,59,.32)}
.hero-card{justify-self:end;width:min(340px,100%);padding:28px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px);text-align:center;color:#fff;box-shadow:0 25px 70px rgba(0,0,0,.18)}
.hero-card img{width:100%;max-height:260px;object-fit:contain;border-radius:18px;background:#fff}
.hero-card p{margin:18px 0 0;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.hero-mini-stats{margin-top:40px;display:flex;gap:34px}
.hero-mini-stats div{display:grid;gap:4px}
.hero-mini-stats strong{color:var(--gold);font-size:30px}
.hero-mini-stats span{color:rgba(255,255,255,.78);font-size:12px;font-weight:800;text-transform:uppercase}
.scroll-indicator{position:absolute;z-index:3;bottom:22px;left:50%;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;text-decoration:none;transform:translateX(-50%);animation:bounce 1.8s infinite}
@keyframes bounce{50%{transform:translate(-50%,8px)}}

.section{padding:95px 0}
.section-light{background:var(--light)}
.section h2,.cta h2{margin:0;color:var(--dark);font-size:clamp(36px,5vw,56px);line-height:1.1;letter-spacing:-.03em}
.section p,.cta p{color:var(--muted);font-size:17px;line-height:1.85}
.lead{font-size:20px!important}
.section-heading{max-width:760px;margin:0 auto 48px;text-align:center}
.section-heading p{margin-bottom:0}
.text-link{color:var(--blue);font-weight:900;text-decoration:none}
.center-action{margin-top:36px;text-align:center}

.welcome-grid,.split-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:68px}
.welcome-photo,.portrait-card{position:relative}
.welcome-photo img,.portrait-card img{width:100%;display:block;border-radius:24px;box-shadow:var(--shadow)}
.welcome-photo img{aspect-ratio:4/3;object-fit:cover}
.floating-badge{position:absolute;right:-16px;bottom:28px;max-width:230px;padding:22px;border-radius:16px;background:var(--red);color:#fff;box-shadow:0 18px 42px rgba(216,31,59,.3)}
.floating-badge strong{display:block;margin-bottom:5px;font-size:25px}
.floating-badge span{font-size:14px}
.welcome-actions{display:flex;align-items:center;gap:22px;margin-top:28px}

.mission-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.mission-card{position:relative;padding:34px 26px;border:1px solid #e3eaf3;border-radius:20px;background:#fff;box-shadow:0 15px 40px rgba(4,28,56,.06);overflow:hidden}
.mission-number{position:absolute;right:18px;top:12px;color:#edf1f7;font-size:54px;font-weight:900}
.mission-card h3{position:relative;margin:24px 0 12px;color:var(--dark);font-size:23px}
.mission-card p{position:relative;margin:0;font-size:15px}

.portrait-card img{aspect-ratio:4/5;object-fit:cover;object-position:center top}
.portrait-caption{position:absolute;right:18px;bottom:18px;left:18px;padding:18px;border-radius:14px;background:rgba(4,28,56,.88);color:#fff;backdrop-filter:blur(10px)}
.portrait-caption span{display:block;margin-bottom:5px;color:var(--gold);font-size:12px;font-weight:900;text-transform:uppercase}
.portrait-caption strong{font-size:18px}
.split-copy blockquote{margin:24px 0;padding:24px;border-left:4px solid var(--red);border-radius:0 14px 14px 0;background:#fff;color:var(--dark);font-size:20px;font-weight:800;line-height:1.6;box-shadow:0 14px 35px rgba(4,28,56,.06)}
.vision-points{display:grid;gap:12px;margin:26px 0}
.vision-points div{display:flex;align-items:flex-start;gap:12px}
.vision-points span{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eaf1fb;color:var(--blue);font-weight:900}
.vision-points p{margin:0}
.reverse{grid-template-columns:.95fr 1.05fr}

.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.value-card{padding:30px;border:1px solid #e4eaf2;border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(4,28,56,.06);transition:.25s}
.value-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.value-card>span{display:inline-grid;width:46px;height:46px;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;font-weight:900}
.value-card:nth-child(even)>span{background:linear-gradient(135deg,var(--red),#ed5970)}
.value-card h3{margin:20px 0 10px;color:var(--dark);font-size:22px}
.value-card p{margin:0;font-size:15px}

.stats-section{padding:75px 0;background:linear-gradient(135deg,var(--dark),var(--blue));color:#fff}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;text-align:center}
.stat-item strong{display:block;margin-bottom:6px;color:var(--gold);font-size:clamp(42px,5vw,60px)}
.stat-item span{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}

.activity-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:30px}
.activity-filter{padding:11px 18px;border:1px solid #dbe3ee;border-radius:999px;background:#fff;color:var(--dark);font-weight:800;cursor:pointer}
.activity-filter.active{border-color:var(--blue);background:var(--blue);color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-item{position:relative;padding:0;border:0;overflow:hidden;border-radius:16px;aspect-ratio:1/1;background:#dde4ee;cursor:pointer}
.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:.35s}
.gallery-overlay{position:absolute;inset:auto 12px 12px;padding:10px 12px;border-radius:10px;background:rgba(4,28,56,.82);color:#fff;font-size:13px;font-weight:900;opacity:0;transform:translateY(8px);transition:.25s}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-item:hover .gallery-overlay{opacity:1;transform:none}
.gallery-item.is-hidden{display:none}

.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.news-card{overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 16px 45px rgba(4,28,56,.08)}
.news-image{height:230px;display:block;overflow:hidden}
.news-image img{width:100%;height:100%;display:block;object-fit:cover;transition:.3s}
.news-card:hover .news-image img{transform:scale(1.06)}
.news-body{padding:26px}
.news-body>span{color:var(--red);font-size:12px;font-weight:900;text-transform:uppercase}
.news-body h3{margin:12px 0;color:var(--dark);font-size:22px;line-height:1.35}
.news-body h3 a{text-decoration:none}
.news-body p{font-size:15px}

.cta{padding:85px 0;color:#fff;background:linear-gradient(135deg,var(--dark),var(--blue))}
.cta-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}
.cta h2,.cta p{color:#fff}
.section-kicker.light{color:var(--gold)}

.site-footer{padding:70px 0 20px;color:#fff;background:#021329}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.15fr;gap:42px}
.footer-logo{width:180px;max-height:100px;object-fit:contain;background:#fff;border-radius:12px}
.site-footer h3{margin-top:0;color:var(--gold)}
.site-footer p,.site-footer a{color:#c4cede;line-height:1.8;text-decoration:none}
.footer-links{display:grid;gap:8px}
.footer-bottom{width:min(1180px,92%);margin:40px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;color:#aeb9c8;font-size:14px}
.back-to-top{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff!important;font-size:22px}

.lightbox{position:fixed;inset:0;z-index:2000;padding:40px;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.88)}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,92vw);max-height:86vh;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.lightbox-close{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#fff;font-size:48px;cursor:pointer}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}

.content-container{max-width:850px}
.entry-content{font-size:17px;line-height:1.85}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}

@media(max-width:1050px){
  .main-menu{gap:15px}
  .main-menu a{font-size:13px}
  .hero-grid{grid-template-columns:1fr}
  .hero-card{display:none}
  .mission-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .menu-toggle{display:block}
  .main-nav{position:absolute;top:76px;right:0;left:0;display:none;padding:24px 4%;background:#fff;box-shadow:0 20px 35px rgba(4,28,56,.12)}
  .main-nav.is-open{display:block}
  .main-menu{flex-direction:column;align-items:flex-start}
  .header-join{display:none}
  .welcome-grid,.split-grid,.reverse{grid-template-columns:1fr}
  .president-section .split-copy{order:2}
  .president-section .portrait-card{order:1}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:1fr 1fr}
  .cta-inner{grid-template-columns:1fr}
}
@media(max-width:650px){
  .topbar-inner,.topbar-links{flex-direction:column;justify-content:center;gap:4px;padding:8px 0;text-align:center}
  .brand-logo img{width:110px;height:56px}
  .hero-premium{min-height:680px;background-position:60% center}
  .hero-grid{padding:70px 0}
  .hero-content h1{font-size:48px}
  .hero-actions .btn{width:100%}
  .hero-mini-stats{gap:18px;flex-wrap:wrap}
  .section{padding:68px 0}
  .mission-grid,.values-grid,.stats-grid,.gallery-grid,.news-grid,.footer-grid{grid-template-columns:1fr}
  .floating-badge{right:10px;bottom:12px}
  .welcome-actions{align-items:flex-start;flex-direction:column}
  .footer-bottom{gap:18px}
}

.page-hero{padding:95px 0;color:#fff;background:linear-gradient(135deg,var(--dark),var(--blue))}.page-hero h1{margin:0 0 18px;font-size:clamp(44px,6vw,72px)}.page-hero p{max-width:800px;color:rgba(255,255,255,.86);font-size:19px}.content-wide{max-width:980px}.president-message blockquote{margin:28px 0;padding:24px;border-left:4px solid var(--red);background:var(--light);font-size:21px;font-weight:800;line-height:1.6}.org-group{margin-bottom:60px}.org-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.org-card{padding:22px;border:1px solid #e4eaf2;border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(4,28,56,.06)}.org-card span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--blue);color:#fff;font-weight:900}.org-card p{margin:14px 0 0;font-size:15px;line-height:1.6}@media(max-width:900px){.org-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.org-grid{grid-template-columns:1fr}}

/* =========================================================
   V5 PREMIUM — PAGE D'ACCUEIL
   ========================================================= */

.hero-v5{
  position:relative;
  min-height:calc(100vh - 114px);
  display:flex;
  align-items:center;
  overflow:hidden;
  background:url("../images/banniere.jpg") center 35%/cover no-repeat;
}

.hero-v5-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,28,56,.96) 0%,rgba(7,59,120,.82) 48%,rgba(7,59,120,.32) 100%);
}

.hero-v5-pattern{
  position:absolute;
  inset:0;
  opacity:.14;
  background-image:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.45) 0 1px,transparent 1px),
    radial-gradient(circle at 80% 70%,rgba(255,255,255,.32) 0 1px,transparent 1px);
  background-size:34px 34px,48px 48px;
}

.hero-v5:after{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:8px;
  content:"";
  background:linear-gradient(
    90deg,
    var(--blue) 0 33.33%,
    var(--gold) 33.33% 66.66%,
    var(--red) 66.66%
  );
}

.hero-v5-grid{
  position:relative;
  z-index:2;
  width:min(1180px,92%);
  display:grid;
  grid-template-columns:1.15fr .65fr;
  align-items:center;
  gap:70px;
  padding:90px 0;
}

.hero-v5-content{
  color:#fff;
}

.hero-v5-content h1{
  margin:0 0 20px;
  font-size:clamp(56px,7vw,92px);
  line-height:.96;
  letter-spacing:-.05em;
}

.hero-v5-content h1 span{
  display:block;
  color:var(--gold);
}

.hero-slogan{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(21px,2.4vw,30px);
  font-weight:900;
}

.hero-intro{
  max-width:700px;
  margin:0 0 32px;
  color:rgba(255,255,255,.88);
  font-size:18px;
  line-height:1.8;
}

.hero-v5-stats{
  margin-top:38px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.hero-v5-stats div{
  padding:18px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:14px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}

.hero-v5-stats strong{
  display:block;
  color:var(--gold);
  font-size:30px;
  line-height:1;
}

.hero-v5-stats span{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.8);
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.hero-logo-card{
  justify-self:end;
  width:min(350px,100%);
  padding:28px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:26px;
  background:rgba(255,255,255,.11);
  color:#fff;
  text-align:center;
  backdrop-filter:blur(14px);
  box-shadow:0 30px 80px rgba(0,0,0,.22);
}

.hero-logo-card img{
  width:100%;
  max-height:270px;
  display:block;
  object-fit:contain;
  border-radius:18px;
  background:#fff;
}

.hero-logo-card h2{
  margin:20px 0 8px;
  color:#fff;
  font-size:22px;
}

.hero-logo-card p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:14px;
}

.president-home blockquote{
  margin:26px 0;
  padding:24px;
  border-left:4px solid var(--red);
  border-radius:0 14px 14px 0;
  background:var(--light);
  color:var(--dark);
  font-size:20px;
  font-weight:800;
  line-height:1.6;
}

.mission-grid-v5{
  grid-template-columns:repeat(5,1fr);
}

.mission-grid-v5 .mission-card{
  min-height:250px;
}

.vision-home-v5{
  background:
    linear-gradient(135deg,#fff 0%,#f7f9fc 55%,#eef4fb 100%);
}

.vision-image-stack{
  position:relative;
  min-height:600px;
}

.vision-image-main{
  width:82%;
  height:570px;
  display:block;
  object-fit:cover;
  object-position:center top;
  border-radius:24px;
  box-shadow:var(--shadow);
}

.vision-image-secondary{
  position:absolute;
  right:0;
  bottom:0;
  width:48%;
  height:250px;
  object-fit:cover;
  border:8px solid #fff;
  border-radius:20px;
  box-shadow:var(--shadow);
}

.values-grid-v5{
  grid-template-columns:repeat(5,1fr);
}

.values-grid-v5 .value-card{
  min-height:245px;
}

.commitment-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.commitment-card{
  position:relative;
  padding:30px;
  border:1px solid #e4eaf2;
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 40px rgba(4,28,56,.07);
  overflow:hidden;
}

.commitment-card:before{
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:5px;
  content:"";
  background:linear-gradient(90deg,var(--blue),var(--gold),var(--red));
}

.commitment-card h3{
  margin:10px 0 12px;
  color:var(--dark);
  font-size:22px;
}

.commitment-card p{
  margin:0;
  font-size:15px;
}

.stats-v5{
  background:
    linear-gradient(135deg,rgba(4,28,56,.98),rgba(7,59,120,.94)),
    url("../images/activite-v4-10.jpg") center/cover no-repeat;
}

.gallery-home-grid{
  grid-template-columns:repeat(4,1fr);
}

.cta-v5{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(4,28,56,.96),rgba(7,59,120,.90)),
    url("../images/activite-v4-08.jpg") center/cover no-repeat;
}

.cta-v5:after{
  position:absolute;
  right:-100px;
  bottom:-100px;
  width:330px;
  height:330px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  content:"";
}

.lightbox-prev,
.lightbox-next{
  position:absolute;
  top:50%;
  width:54px;
  height:54px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:42px;
  cursor:pointer;
  transform:translateY(-50%);
}

.lightbox-prev{left:24px}
.lightbox-next{right:24px}

@media(max-width:1100px){
  .mission-grid-v5{
    grid-template-columns:repeat(3,1fr);
  }

  .values-grid-v5{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:900px){
  .hero-v5-grid{
    grid-template-columns:1fr;
  }

  .hero-logo-card{
    display:none;
  }

  .hero-v5-stats{
    grid-template-columns:repeat(2,1fr);
  }

  .mission-grid-v5{
    grid-template-columns:repeat(2,1fr);
  }

  .values-grid-v5{
    grid-template-columns:repeat(2,1fr);
  }

  .commitment-cards{
    grid-template-columns:repeat(2,1fr);
  }

  .vision-image-stack{
    min-height:530px;
  }
}

@media(max-width:650px){
  .hero-v5{
    min-height:720px;
    background-position:60% center;
  }

  .hero-v5-grid{
    padding:70px 0;
  }

  .hero-v5-content h1{
    font-size:50px;
  }

  .hero-v5-stats{
    grid-template-columns:1fr 1fr;
  }

  .mission-grid-v5,
  .values-grid-v5,
  .commitment-cards,
  .gallery-home-grid{
    grid-template-columns:1fr;
  }

  .vision-image-stack{
    min-height:auto;
  }

  .vision-image-main{
    width:100%;
    height:470px;
  }

  .vision-image-secondary{
    position:relative;
    width:75%;
    height:220px;
    margin:-70px 0 0 auto;
  }

  .lightbox-prev,
  .lightbox-next{
    width:44px;
    height:44px;
    font-size:34px;
  }
}

/* V6 PREMIUM */
.hero-v5{min-height:calc(100vh - 106px);background-position:center 31%}
.hero-v5-overlay{background:linear-gradient(90deg,rgba(4,28,56,.91) 0%,rgba(7,59,120,.71) 50%,rgba(7,59,120,.20) 100%)}
.hero-v5-grid{padding:72px 0 110px}
.hero-slogan{color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.24)}
.hero-v5-stats div{transition:transform .25s ease,background .25s ease,border-color .25s ease}
.hero-v5-stats div:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.13)}
.hero-logo-card{position:relative;overflow:hidden}
.hero-logo-card:before{position:absolute;top:-90px;right:-90px;width:190px;height:190px;border-radius:50%;content:"";background:rgba(240,185,11,.18)}
.hero-logo-card:after{position:absolute;bottom:-75px;left:-75px;width:160px;height:160px;border-radius:50%;content:"";background:rgba(216,31,59,.15)}
.hero-logo-card>*{position:relative;z-index:1}
.hero-wave-v6{position:absolute;z-index:3;right:0;bottom:-1px;left:0;height:92px;pointer-events:none}
.hero-wave-v6 svg{width:100%;height:100%;display:block}
.hero-wave-v6 path{fill:#fff}
.site-header{transition:box-shadow .25s ease,background .25s ease}
.site-header.is-scrolled{background:rgba(255,255,255,.985);box-shadow:0 14px 34px rgba(4,28,56,.14)}
.site-header.is-scrolled .header-inner{min-height:66px}
.site-header.is-scrolled .brand-logo img{width:142px;height:56px}
.btn{position:relative;overflow:hidden}
.btn:after{position:absolute;top:-50%;left:-70%;width:42%;height:200%;content:"";background:rgba(255,255,255,.22);transform:rotate(18deg);transition:left .45s ease}
.btn:hover:after{left:130%}
.page-template-page-le-mouvement .page-hero{background:linear-gradient(90deg,rgba(4,28,56,.93),rgba(7,59,120,.70)),url("../images/activite-v4-05.jpg") center/cover no-repeat}
.page-template-page-le-president .page-hero{background:linear-gradient(90deg,rgba(4,28,56,.94),rgba(7,59,120,.66)),url("../images/president-national-officiel.jpg") center 28%/cover no-repeat}
.page-template-page-organisation .page-hero{background:linear-gradient(90deg,rgba(4,28,56,.94),rgba(7,59,120,.68)),url("../images/activite-v4-08.jpg") center/cover no-repeat}
.page-template-page-galerie .page-hero{background:linear-gradient(90deg,rgba(4,28,56,.93),rgba(7,59,120,.65)),url("../images/activite-v4-06.jpg") center/cover no-repeat}
.org-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.org-card:hover{transform:translateY(-5px);border-color:#cbd8e8;box-shadow:0 20px 45px rgba(4,28,56,.11)}
@media(max-width:900px){.hero-v5-grid{padding:62px 0 104px}.hero-wave-v6{height:66px}}
@media(max-width:650px){.hero-v5{min-height:760px}.hero-v5-overlay{background:linear-gradient(90deg,rgba(4,28,56,.93),rgba(7,59,120,.64))}.hero-v5-grid{padding:56px 0 100px}.hero-wave-v6{height:48px}}


/* =========================================================
   V6.1 — CORRECTIONS MOBILE
   ========================================================= */

@media(max-width:650px){

  /* Hero réduit de moitié sur mobile */
  .hero-v5{
    min-height:auto;
    height:auto;
    padding:0;
    background-position:center 28%;
  }

  .hero-v5-grid{
    min-height:430px;
    padding:42px 0 70px;
    display:flex;
    align-items:center;
  }

  .hero-v5-content{
    width:100%;
  }

  .hero-v5-content h1{
    font-size:38px;
    line-height:1;
    margin-bottom:14px;
  }

  .hero-slogan{
    font-size:18px;
    line-height:1.35;
    margin-bottom:10px;
  }

  .hero-intro{
    font-size:14px;
    line-height:1.6;
    margin-bottom:20px;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .hero-actions .btn{
    min-height:46px;
    width:100%;
    padding:0 12px;
    font-size:12px;
    text-align:center;
  }

  .hero-v5-stats{
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    margin-top:20px;
  }

  .hero-v5-stats div{
    padding:12px;
  }

  .hero-v5-stats strong{
    font-size:23px;
  }

  .hero-v5-stats span{
    font-size:9px;
  }

  .scroll-indicator{
    display:none;
  }

  .hero-wave-v6{
    height:34px;
  }

  /* Cartes mission en 2 colonnes sur mobile */
  .mission-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px;
  }

  .mission-grid-v5 .mission-card{
    min-height:240px;
    padding:22px 16px;
    border-radius:16px;
  }

  .mission-grid-v5 .mission-card h3{
    font-size:20px;
    margin-top:18px;
  }

  .mission-grid-v5 .mission-card p{
    font-size:13px;
    line-height:1.65;
  }

  .mission-grid-v5 .mission-number{
    font-size:42px;
  }

  /* Valeurs également en 2 colonnes */
  .values-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px;
  }

  .values-grid-v5 .value-card{
    min-height:225px;
    padding:20px 16px;
  }

  .values-grid-v5 .value-card h3{
    font-size:18px;
  }

  .values-grid-v5 .value-card p{
    font-size:13px;
    line-height:1.6;
  }

  /* Engagements en 2 colonnes */
  .commitment-cards{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px;
  }

  .commitment-card{
    padding:22px 16px;
  }

  .commitment-card h3{
    font-size:18px;
  }

  .commitment-card p{
    font-size:13px;
  }
}

@media(max-width:390px){
  .mission-grid-v5,
  .values-grid-v5,
  .commitment-cards{
    grid-template-columns:1fr !important;
  }

  .hero-actions{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V6.2 — FORÇAGE MOBILE + CACHE BUSTING
   ========================================================= */

@media screen and (max-width: 767px) {

  body.home .hero-v5 {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    background-position: 58% 30% !important;
  }

  body.home .hero-v5-grid {
    min-height: 390px !important;
    height: auto !important;
    padding: 34px 0 58px !important;
    display: flex !important;
    align-items: center !important;
  }

  body.home .hero-v5-content h1 {
    font-size: 36px !important;
    line-height: 1 !important;
    margin-bottom: 12px !important;
  }

  body.home .hero-slogan {
    font-size: 17px !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
  }

  body.home .hero-intro {
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin-bottom: 16px !important;
  }

  body.home .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  body.home .hero-actions .btn {
    min-height: 42px !important;
    width: 100% !important;
    padding: 0 8px !important;
    font-size: 11px !important;
  }

  body.home .hero-v5-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 16px !important;
  }

  body.home .hero-v5-stats div {
    padding: 10px !important;
  }

  body.home .hero-v5-stats strong {
    font-size: 21px !important;
  }

  body.home .hero-v5-stats span {
    font-size: 8px !important;
  }

  body.home .hero-wave-v6 {
    height: 28px !important;
  }

  body.home .scroll-indicator {
    display: none !important;
  }

  body.home .mission-grid.mission-grid-v5,
  body.home .values-grid.values-grid-v5,
  body.home .commitment-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.home .mission-grid-v5 .mission-card {
    min-height: 210px !important;
    padding: 18px 14px !important;
    border-radius: 14px !important;
  }

  body.home .mission-grid-v5 .mission-card h3 {
    font-size: 18px !important;
    margin: 16px 0 8px !important;
  }

  body.home .mission-grid-v5 .mission-card p {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body.home .mission-grid-v5 .mission-number {
    font-size: 38px !important;
  }

  body.home .values-grid-v5 .value-card {
    min-height: 205px !important;
    padding: 18px 14px !important;
  }

  body.home .values-grid-v5 .value-card h3 {
    font-size: 17px !important;
  }

  body.home .values-grid-v5 .value-card p,
  body.home .commitment-card p {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body.home .commitment-card {
    padding: 18px 14px !important;
  }

  body.home .commitment-card h3 {
    font-size: 17px !important;
  }
}

@media screen and (max-width: 340px) {
  body.home .mission-grid.mission-grid-v5,
  body.home .values-grid.values-grid-v5,
  body.home .commitment-cards,
  body.home .hero-actions {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   V7 PREMIUM
   ========================================================= */

.why-join-v7{
  background:
    linear-gradient(135deg,rgba(4,28,56,.97),rgba(7,59,120,.92)),
    url("../images/activite-v4-06.jpg") center/cover no-repeat;
}
.why-join-v7 .section-heading h2,
.why-join-v7 .section-heading p{color:#fff}
.why-join-v7 .section-kicker{color:var(--gold)}
.why-grid-v7{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why-card-v7{padding:30px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.10);color:#fff;backdrop-filter:blur(10px)}
.why-card-v7>span{display:inline-grid;width:45px;height:45px;place-items:center;border-radius:13px;background:var(--gold);color:var(--dark);font-weight:900}
.why-card-v7 h3{margin:20px 0 10px;font-size:21px}
.why-card-v7 p{margin:0;color:rgba(255,255,255,.78);font-size:14px}

.documents-grid-v7{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:60px}
.document-list-v7{display:grid;gap:14px}
.document-list-v7 a{padding:20px;display:flex;align-items:center;gap:18px;border:1px solid #dde5ef;border-radius:16px;background:#fff;text-decoration:none;box-shadow:0 12px 32px rgba(4,28,56,.06);transition:.25s}
.document-list-v7 a:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(4,28,56,.11)}
.document-list-v7 a>span{min-width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:var(--red);color:#fff;font-weight:900}
.document-list-v7 strong{display:block;color:var(--dark);font-size:18px}
.document-list-v7 small{display:block;margin-top:4px;color:var(--muted)}

.documents-page-grid-v7{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.document-card-v7{padding:32px;border:1px solid #e1e8f1;border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(4,28,56,.07)}
.document-card-v7>span{display:inline-grid;width:54px;height:54px;place-items:center;border-radius:14px;background:var(--red);color:#fff;font-weight:900}
.document-card-v7 h2{margin:22px 0 12px;font-size:24px}
.document-card-v7 p{margin-bottom:24px}
.documents-hero-v7{background:linear-gradient(90deg,rgba(4,28,56,.94),rgba(7,59,120,.68)),url("../images/activite-v4-04.jpg") center/cover no-repeat}

/* Menu mobile latéral */
@media(max-width:900px){
  .main-nav{
    position:fixed!important;
    z-index:1500;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(360px,86vw);
    padding:105px 28px 30px!important;
    display:block!important;
    background:#fff;
    box-shadow:-20px 0 50px rgba(4,28,56,.20);
    transform:translateX(105%);
    transition:transform .32s ease;
  }

  .main-nav.is-open{transform:translateX(0)}
  .main-menu{gap:0!important}
  .main-menu li{width:100%;border-bottom:1px solid #edf1f6}
  .main-menu a{padding:17px 0;display:block;font-size:16px!important}
  .mobile-menu-backdrop{
    position:fixed;
    z-index:1400;
    inset:0;
    display:block;
    background:rgba(4,28,56,.62);
    opacity:0;
    visibility:hidden;
    transition:.3s;
  }
  body.menu-open .mobile-menu-backdrop{opacity:1;visibility:visible}
  body.menu-open{overflow:hidden}
  .menu-toggle{position:relative;z-index:1600}
  .menu-toggle span{transition:.25s}
  body.menu-open .menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  body.menu-open .menu-toggle span:nth-child(2){opacity:0}
  body.menu-open .menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .why-grid-v7{grid-template-columns:repeat(2,1fr)}
  .documents-grid-v7{grid-template-columns:1fr}
  .documents-page-grid-v7{grid-template-columns:1fr 1fr}
}

@media(max-width:650px){
  .why-grid-v7{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .why-card-v7{padding:20px 14px}
  .why-card-v7 h3{font-size:17px}
  .why-card-v7 p{font-size:12px}
  .documents-page-grid-v7{grid-template-columns:1fr}
}


/* =========================================================
   V8 INSTITUTIONNEL — DESIGN ET MODULES
   ========================================================= */

.header-adhesion-v8{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;
  padding:0 18px;border-radius:999px;background:var(--gold);color:var(--dark);
  font-weight:800;text-decoration:none;white-space:nowrap;
}

.narrow-v8{max-width:980px}
.adhesion-hero-v8{background:linear-gradient(90deg,rgba(4,28,56,.95),rgba(7,59,120,.68)),url("../images/activite-v4-03.jpg") center/cover no-repeat}
.news-hero-v8{background:linear-gradient(90deg,rgba(4,28,56,.95),rgba(7,59,120,.64)),url("../images/activite-v4-07.jpg") center/cover no-repeat}
.province-hero-v8,.province-single-hero-v8{background:linear-gradient(90deg,rgba(4,28,56,.94),rgba(7,59,120,.60)),url("../images/activite-v4-05.jpg") center/cover no-repeat}

.adhesion-intro-v8{text-align:center;max-width:760px;margin:0 auto 38px}
.midi-adhesion-form{padding:34px;border:1px solid #dfe7f0;border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(4,28,56,.08)}
.form-step-title{display:flex;align-items:center;gap:14px;margin:28px 0 18px}
.form-step-title:first-child{margin-top:0}
.form-step-title>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--blue);color:#fff;font-weight:900}
.form-step-title strong,.form-step-title small{display:block}
.form-step-title strong{font-size:19px;color:var(--dark)}
.form-step-title small{margin-top:3px;color:var(--muted)}
.midi-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.midi-adhesion-form label{display:grid;gap:7px;color:var(--dark);font-weight:700;font-size:14px}
.midi-adhesion-form input,.midi-adhesion-form select,.midi-adhesion-form textarea{
  width:100%;border:1px solid #ccd7e4;border-radius:12px;background:#fbfcfe;
  padding:13px 14px;font:inherit;color:var(--dark);outline:none;transition:.2s;
}
.midi-adhesion-form input:focus,.midi-adhesion-form select:focus,.midi-adhesion-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(7,89,180,.10)}
.full-field{margin-top:16px}
.midi-consent{grid-template-columns:auto 1fr!important;align-items:flex-start!important;margin:20px 0}
.midi-consent input{width:auto;margin-top:3px}
.midi-submit{border:0;cursor:pointer}
.midi-form-message{margin-bottom:22px;padding:15px 18px;border-radius:13px;font-weight:700}
.midi-form-message.success{background:#eaf8ef;color:#176b37;border:1px solid #b8e4c8}
.midi-form-message.error{background:#fff0f0;color:#a12626;border:1px solid #efc2c2}

.province-showcase-v8{background:#f4f7fb}
.province-showcase-grid-v8{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px}
.province-visual-v8{min-height:430px;border-radius:30px;background:linear-gradient(145deg,#073b78,#041c38);display:grid;place-items:center;position:relative;overflow:hidden}
.province-visual-v8:before,.province-visual-v8:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.16)}
.province-visual-v8:before{width:340px;height:340px}
.province-visual-v8:after{width:520px;height:520px}
.map-symbol-v8{width:220px;height:270px;display:grid;place-content:center;text-align:center;color:#fff;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.05));clip-path:polygon(35% 0,75% 8%,96% 42%,78% 78%,56% 100%,28% 84%,5% 47%);backdrop-filter:blur(8px)}
.map-symbol-v8 span{font-size:72px;font-weight:900;line-height:1}
.map-symbol-v8 small{text-transform:uppercase;letter-spacing:.18em;font-weight:800}

.split-heading-v8{display:flex;align-items:end;justify-content:space-between;gap:24px}
.news-grid-v8{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.news-card-v8{overflow:hidden;border:1px solid #e0e7ef;border-radius:20px;background:#fff;box-shadow:0 14px 40px rgba(4,28,56,.07);transition:.25s}
.news-card-v8:hover{transform:translateY(-6px);box-shadow:0 24px 55px rgba(4,28,56,.13)}
.news-image-v8{display:block;aspect-ratio:16/10;background:#dfe8f3;overflow:hidden;text-decoration:none}
.news-image-v8 img{width:100%;height:100%;object-fit:cover;transition:.35s}
.news-card-v8:hover .news-image-v8 img{transform:scale(1.05)}
.news-placeholder-v8{display:grid;height:100%;place-items:center;background:linear-gradient(135deg,#073b78,#041c38);color:#fff;font-size:42px;font-weight:900}
.news-body-v8{padding:24px}
.news-body-v8 time{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800}
.news-body-v8 h2,.news-body-v8 h3{margin:10px 0;font-size:22px;line-height:1.25}
.news-body-v8 h2 a,.news-body-v8 h3 a{color:var(--dark);text-decoration:none}
.news-body-v8 p{margin-bottom:18px}
.text-link-v8{color:var(--blue);font-weight:800;text-decoration:none}
.news-empty-v8{grid-column:1/-1;padding:45px;text-align:center;border:1px dashed #b9c7d8;border-radius:20px;background:#f8fafc}
.pagination-v8{margin-top:38px}

.article-hero-v8{position:relative;background:#041c38;color:#fff}
.article-cover-v8{height:min(60vh,620px);opacity:.48}
.article-cover-v8 img{width:100%;height:100%;object-fit:cover}
.article-title-v8{position:absolute;left:50%;bottom:55px;transform:translateX(-50%);width:100%;z-index:2}
.article-title-v8 h1{max-width:900px;margin:8px 0 0;color:#fff;font-size:clamp(38px,6vw,72px);line-height:1.05}
.article-content-v8{max-width:850px;font-size:18px;line-height:1.85}
.article-content-v8 img{border-radius:16px}
.article-content-v8 h2,.article-content-v8 h3{margin-top:1.7em}

.province-grid-v8{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.province-card-v8{overflow:hidden;border-radius:20px;border:1px solid #e0e7ef;background:#fff;box-shadow:0 14px 38px rgba(4,28,56,.07)}
.province-card-v8>a{display:block;aspect-ratio:16/10;background:#e6edf5}
.province-card-v8 img{width:100%;height:100%;object-fit:cover}
.province-card-v8>div{padding:24px}
.province-card-v8 span{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--blue);font-weight:900}
.province-card-v8 h2{margin:7px 0 10px;font-size:23px}
.province-card-v8 h2 a{color:var(--dark);text-decoration:none}
.province-single-grid-v8{display:grid;grid-template-columns:1fr 320px;gap:55px}
.province-meta-v8{align-self:start;padding:28px;border-radius:20px;background:#f4f7fb;border:1px solid #dfe7f0;position:sticky;top:110px}

@media(max-width:900px){
  .header-adhesion-v8{margin-left:auto;margin-right:8px;min-height:38px;padding:0 13px;font-size:13px}
  .province-showcase-grid-v8{grid-template-columns:1fr;gap:35px}
  .province-visual-v8{min-height:320px}
  .news-grid-v8,.province-grid-v8{grid-template-columns:repeat(2,minmax(0,1fr))}
  .province-single-grid-v8{grid-template-columns:1fr}
  .province-meta-v8{position:static}
}

@media(max-width:650px){
  .midi-adhesion-form{padding:20px 15px;border-radius:17px}
  .midi-form-grid{grid-template-columns:1fr}
  .split-heading-v8{align-items:flex-start;flex-direction:column}
  .news-grid-v8,.province-grid-v8{grid-template-columns:1fr}
  .province-visual-v8{min-height:270px}
  .map-symbol-v8{width:170px;height:210px}
  .map-symbol-v8 span{font-size:56px}
  .article-title-v8{bottom:28px}
  .article-cover-v8{height:420px}
  .header-adhesion-v8{display:none}
}


/* =========================================================
   V8.1 — CORRECTION DÉFINITIVE DU MENU MOBILE
   ========================================================= */

@media screen and (max-width: 900px) {
  .site-header {
    z-index: 2000 !important;
  }

  .header-inner {
    min-height: 72px !important;
  }

  .menu-toggle {
    display: flex !important;
    position: relative !important;
    z-index: 2200 !important;
    width: 46px !important;
    height: 46px !important;
    padding: 11px !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #073b78 !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  .menu-toggle span {
    display: block !important;
    width: 100% !important;
    height: 3px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    transform-origin: center !important;
    transition: transform .25s ease, opacity .2s ease !important;
  }

  .menu-toggle.is-active span:nth-child(1),
  body.menu-open .menu-toggle span:nth-child(1) {
    transform: translateY(8px) rotate(45deg) !important;
  }

  .menu-toggle.is-active span:nth-child(2),
  body.menu-open .menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }

  .menu-toggle.is-active span:nth-child(3),
  body.menu-open .menu-toggle span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg) !important;
  }

  .main-nav {
    display: block !important;
    position: fixed !important;
    z-index: 2100 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(360px, 88vw) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 92px 24px 30px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    background: #ffffff !important;
    box-shadow: -20px 0 55px rgba(4, 28, 56, .24) !important;
    transform: translate3d(105%, 0, 0) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .3s ease, visibility 0s linear .3s !important;
    -webkit-overflow-scrolling: touch;
  }

  .main-nav.is-open {
    transform: translate3d(0, 0, 0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: transform .3s ease, visibility 0s !important;
  }

  .main-nav .main-menu {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .main-nav .main-menu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    border-bottom: 1px solid #e8eef5 !important;
  }

  .main-nav .main-menu > li > a {
    display: block !important;
    width: 100% !important;
    padding: 16px 2px !important;
    color: #041c38 !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
  }

  .mobile-menu-backdrop {
    display: block !important;
    position: fixed !important;
    z-index: 2050 !important;
    inset: 0 !important;
    background: rgba(4, 28, 56, .68) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .28s ease, visibility 0s linear .28s !important;
  }

  body.menu-open .mobile-menu-backdrop {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: opacity .28s ease, visibility 0s !important;
  }

  html:has(body.menu-open),
  body.menu-open {
    overflow: hidden !important;
  }
}

@media screen and (min-width: 901px) {
  .mobile-menu-backdrop {
    display: none !important;
  }
}

/* =========================================================
   V8.2 — PAGE LE MOUVEMENT
   ========================================================= */
.movement-page { background: #fff; }
.movement-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  isolation: isolate;
  overflow: hidden;
  background-image: var(--movement-photo);
  background-size: cover;
  background-position: center 42%;
}
.movement-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--movement-photo);
  background-size: cover;
  background-position: center 42%;
  transform: scale(1.02);
}
.movement-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(2,27,55,.94) 0%, rgba(4,48,94,.82) 45%, rgba(4,48,94,.28) 100%);
}
.movement-hero__content { max-width: 820px; padding-top: 92px; padding-bottom: 92px; color: #fff; }
.movement-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: #ffc400;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.movement-eyebrow::before { content: ""; width: 34px; height: 3px; border-radius: 10px; background: #ffc400; }
.movement-hero h1 { max-width: 780px; margin: 0 0 22px; color: #fff; font-size: clamp(42px, 5vw, 72px); line-height: 1.04; letter-spacing: -.045em; }
.movement-hero p { max-width: 690px; margin: 0; color: rgba(255,255,255,.88); font-size: clamp(17px, 1.7vw, 21px); line-height: 1.65; }
.movement-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.btn-outline-light { border: 1px solid rgba(255,255,255,.72); color: #fff; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.btn-outline-light:hover { background: #fff; color: #052d58; }

.movement-intro__grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: clamp(46px, 7vw, 92px); align-items: center; }
.movement-intro__media { position: relative; min-height: 480px; }
.movement-intro__media img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; object-position: center; border-radius: 28px; box-shadow: 0 28px 70px rgba(5,38,73,.18); }
.movement-intro__media::before { content: ""; position: absolute; width: 72%; height: 72%; left: -22px; bottom: -22px; z-index: -1; border-radius: 28px; background: #ffc400; }
.movement-intro__badge { position: absolute; right: -26px; bottom: 34px; display: flex; align-items: center; gap: 14px; padding: 18px 22px; border-radius: 18px; color: #fff; background: #073b78; box-shadow: 0 18px 42px rgba(4,36,70,.25); }
.movement-intro__badge strong { font-size: 26px; color: #ffc400; }
.movement-intro__badge span { font-size: 13px; font-weight: 700; line-height: 1.35; }
.movement-intro__content h2 { margin: 10px 0 22px; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; letter-spacing: -.035em; }
.movement-intro__content > p { color: #587089; font-size: 17px; line-height: 1.85; }
.movement-intro__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 30px; }
.movement-intro__facts div { padding: 18px 14px; border: 1px solid #e4ebf3; border-radius: 16px; background: #f8fafc; }
.movement-intro__facts strong, .movement-intro__facts span { display: block; }
.movement-intro__facts strong { color: #073b78; font-size: 16px; }
.movement-intro__facts span { margin-top: 4px; color: #708299; font-size: 12px; line-height: 1.35; }

.movement-heading { max-width: 790px; margin-right: auto; margin-left: auto; text-align: center; }
.movement-heading p { max-width: 650px; margin: 16px auto 0; color: #61768d; font-size: 17px; }
.movement-purpose__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; margin-top: 44px; }
.movement-purpose__card { position: relative; overflow: hidden; min-height: 100%; padding: clamp(34px, 4vw, 52px); border-radius: 28px; box-shadow: 0 20px 55px rgba(5,42,79,.09); }
.movement-purpose__card--mission { color: #fff; background: linear-gradient(145deg, #052f5c, #07509b); }
.movement-purpose__card--vision { color: #092746; background: #fff; border: 1px solid #e3ebf4; }
.movement-purpose__number { position: absolute; right: 26px; top: 10px; font-size: 100px; font-weight: 900; line-height: 1; opacity: .07; }
.movement-purpose__icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 28px; border-radius: 16px; color: #062d58; font-size: 28px; background: #ffc400; }
.movement-purpose__card .section-kicker { margin-bottom: 12px; }
.movement-purpose__card--mission .section-kicker { color: #ffc400; }
.movement-purpose__card h3 { margin: 0 0 20px; font-size: clamp(27px, 3vw, 39px); line-height: 1.15; letter-spacing: -.025em; }
.movement-purpose__card--mission h3 { color: #fff; }
.movement-purpose__card p { margin: 0; font-size: 16px; line-height: 1.85; }
.movement-purpose__card--mission p { color: rgba(255,255,255,.83); }
.movement-purpose__card--vision p { color: #61758b; }

.movement-values__grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 16px; margin-top: 42px; }
.movement-value { position: relative; min-height: 220px; padding: 26px 22px; overflow: hidden; border: 1px solid #e4ebf2; border-radius: 20px; background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.movement-value:hover { transform: translateY(-6px); border-color: rgba(7,59,120,.2); box-shadow: 0 18px 44px rgba(5,39,76,.11); }
.movement-value__number { display: inline-flex; margin-bottom: 34px; color: #e31e3c; font-size: 13px; font-weight: 900; letter-spacing: .12em; }
.movement-value h3 { margin: 0 0 11px; color: #082746; font-size: 19px; line-height: 1.25; }
.movement-value p { margin: 0; color: #667b91; font-size: 14px; line-height: 1.65; }
.movement-value::after { content: ""; position: absolute; right: -20px; bottom: -30px; width: 90px; height: 90px; border-radius: 50%; background: rgba(255,196,0,.15); }

.movement-commitments { color: #fff; background: #031f3d; }
.movement-commitments__grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(45px, 7vw, 90px); align-items: start; }
.movement-commitments__intro { position: sticky; top: 130px; }
.movement-commitments__intro h2 { margin: 12px 0 20px; color: #fff; font-size: clamp(36px, 4.2vw, 56px); line-height: 1.08; }
.movement-commitments__intro p { color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.8; }
.movement-commitments__intro .btn { margin-top: 18px; }
.movement-commitments__list { display: grid; gap: 12px; }
.movement-commitment { display: grid; grid-template-columns: 54px 1fr; gap: 18px; align-items: start; padding: 22px; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; background: rgba(255,255,255,.055); transition: background .2s ease, transform .2s ease; }
.movement-commitment:hover { transform: translateX(6px); background: rgba(255,255,255,.09); }
.movement-commitment span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: #062d58; font-weight: 900; background: #ffc400; }
.movement-commitment p { margin: 2px 0 0; color: rgba(255,255,255,.86); font-size: 15px; line-height: 1.65; }

.movement-cta { padding-top: 70px; padding-bottom: 70px; background: #f4f7fb; }
.movement-cta__box { display: flex; justify-content: space-between; align-items: center; gap: 34px; padding: clamp(34px, 5vw, 60px); border-radius: 28px; color: #fff; background: linear-gradient(120deg, #e51f3f 0%, #bb1431 100%); box-shadow: 0 24px 60px rgba(200,22,54,.22); }
.movement-cta__box > div { max-width: 760px; }
.movement-cta__box h2 { margin: 10px 0 14px; color: #fff; font-size: clamp(32px, 4vw, 50px); line-height: 1.08; }
.movement-cta__box p { margin: 0; color: rgba(255,255,255,.86); font-size: 16px; line-height: 1.7; }
.btn-light { flex: 0 0 auto; color: #b3132f; background: #fff; }
.btn-light:hover { color: #fff; background: #082746; }

@media (max-width: 1100px) {
  .movement-values__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .movement-hero { min-height: 490px; background-position: 62% center; }
  .movement-hero__overlay { background: linear-gradient(90deg, rgba(2,27,55,.95), rgba(4,48,94,.65)); }
  .movement-intro__grid, .movement-commitments__grid { grid-template-columns: 1fr; }
  .movement-intro__media { min-height: 390px; }
  .movement-intro__media img { min-height: 390px; }
  .movement-intro__badge { right: 18px; }
  .movement-purpose__grid { grid-template-columns: 1fr; }
  .movement-commitments__intro { position: static; }
  .movement-cta__box { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 680px) {
  .movement-hero { min-height: 430px; }
  .movement-hero__content { padding-top: 62px; padding-bottom: 62px; }
  .movement-hero h1 { font-size: clamp(36px, 11vw, 48px); }
  .movement-hero__actions { flex-direction: column; align-items: stretch; }
  .movement-hero__actions .btn { width: 100%; text-align: center; }
  .movement-intro__media, .movement-intro__media img { min-height: 300px; }
  .movement-intro__media::before { left: -10px; bottom: -10px; }
  .movement-intro__badge { right: 10px; bottom: 16px; padding: 12px 14px; }
  .movement-intro__facts { grid-template-columns: 1fr; }
  .movement-purpose__card { padding: 30px 24px; }
  .movement-values__grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; }
  .movement-value { min-height: 205px; padding: 22px 17px; }
  .movement-value__number { margin-bottom: 25px; }
  .movement-value h3 { font-size: 17px; }
  .movement-commitment { grid-template-columns: 44px 1fr; gap: 13px; padding: 17px; }
  .movement-commitment span { width: 42px; height: 42px; }
}

@media (max-width: 390px) {
  .movement-values__grid { grid-template-columns: 1fr; }
  .movement-value { min-height: auto; }
}


/* =========================================================
   V8.3 — PAGE LE MOUVEMENT PREMIUM
   ========================================================= */
.movement-page-v83 .movement-hero-v83 { min-height: 465px; background-attachment: fixed; }
.movement-page-v83 .movement-hero__content { max-width: 890px; padding-top: 68px; padding-bottom: 74px; }
.movement-page-v83 .movement-hero__overlay { background: linear-gradient(90deg, rgba(1,24,49,.96) 0%, rgba(4,48,94,.82) 49%, rgba(4,48,94,.24) 100%); }
.movement-hero__slogan { display: inline-block; margin: 0 0 12px !important; color: #ffc400 !important; font-size: clamp(18px, 2vw, 25px) !important; font-weight: 850; letter-spacing: -.015em; }
.movement-page-v83 .movement-hero h1 { margin-bottom: 17px; font-size: clamp(40px, 4.5vw, 65px); }
.movement-page-v83 .movement-hero__lead { max-width: 720px; font-size: clamp(16px, 1.45vw, 19px); }
.movement-btn-icon { display: inline-flex; align-items: center; justify-content: center; gap: 9px; }
.movement-btn-icon > span { font-size: 18px; line-height: 1; }
.movement-hero__scroll { position: absolute; left: 50%; bottom: 18px; z-index: 2; width: 28px; height: 44px; border: 1px solid rgba(255,255,255,.5); border-radius: 20px; transform: translateX(-50%); }
.movement-hero__scroll span { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; border-radius: 6px; background: #ffc400; transform: translateX(-50%); animation: movement-scroll-dot 1.7s ease infinite; }
@keyframes movement-scroll-dot { 0% { opacity: 0; transform: translate(-50%,0); } 35% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%,16px); } }

.movement-identity { display: flex; gap: 15px; margin-top: 24px; padding: 19px 20px; border-left: 4px solid #ffc400; border-radius: 0 15px 15px 0; background: #f4f8fc; }
.movement-identity__icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 12px; color: #082e59; background: #ffc400; }
.movement-identity strong { display: block; margin-bottom: 5px; color: #082746; }
.movement-identity p { margin: 0; color: #62758a; font-size: 14px; line-height: 1.55; }

.movement-purpose__card { transform: translateZ(0); transition: transform .3s ease, box-shadow .3s ease; }
.movement-purpose__card:hover { transform: translateY(-8px); box-shadow: 0 30px 70px rgba(5,42,79,.17); }
.movement-purpose__card::after { content: ""; position: absolute; right: -65px; bottom: -75px; width: 210px; height: 210px; border-radius: 50%; background: rgba(255,196,0,.12); }
.movement-purpose__card--vision::after { background: rgba(7,59,120,.07); }

.movement-values__grid-v83 .movement-value { padding-top: 24px; }
.movement-value__icon { display: grid; place-items: center; width: 45px; height: 45px; margin-bottom: 22px; border-radius: 13px; color: #073b78; font-size: 20px; font-weight: 900; background: #fff3c5; transition: transform .25s ease, background .25s ease; }
.movement-value:hover .movement-value__icon { transform: rotate(-6deg) scale(1.08); color: #fff; background: #073b78; }
.movement-values__grid-v83 .movement-value__number { position: absolute; top: 26px; right: 22px; margin: 0; }

.movement-heading--light h2 { color: #fff; }
.movement-heading--light p { color: rgba(255,255,255,.7); }
.movement-commitments__cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-top: 44px; }
.movement-commitment-card { position: relative; min-height: 245px; padding: 27px 25px; overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 21px; background: rgba(255,255,255,.055); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.movement-commitment-card:hover { transform: translateY(-7px); border-color: rgba(255,196,0,.38); background: rgba(255,255,255,.09); }
.movement-commitment-card__icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 23px; border-radius: 15px; color: #062d58; font-size: 21px; font-weight: 900; background: #ffc400; }
.movement-commitment-card h3 { margin: 0 0 12px; color: #fff; font-size: 19px; }
.movement-commitment-card p { margin: 0; color: rgba(255,255,255,.73); font-size: 14px; line-height: 1.7; }

.movement-gallery { background: #f5f8fc; }
.movement-gallery__header { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 34px; }
.movement-gallery__header h2 { max-width: 750px; margin: 9px 0 0; font-size: clamp(34px, 4vw, 53px); line-height: 1.08; }
.movement-gallery__link { flex: 0 0 auto; padding-bottom: 6px; border-bottom: 2px solid #e31e3c; color: #082746; font-weight: 800; }
.movement-gallery__grid { display: grid; grid-template-columns: 1.35fr 1fr; grid-template-rows: repeat(2, 230px); gap: 17px; }
.movement-gallery__item { position: relative; min-height: 0; margin: 0; overflow: hidden; border-radius: 22px; background: #082746; }
.movement-gallery__item--large { grid-row: 1 / span 2; }
.movement-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.movement-gallery__item::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(1,22,44,.86)); }
.movement-gallery__item:hover img { transform: scale(1.06); }
.movement-gallery__item figcaption { position: absolute; left: 22px; right: 22px; bottom: 19px; z-index: 2; color: #fff; font-size: 16px; font-weight: 800; }

.movement-cta__slogan { margin: 0 0 8px !important; color: #ffc400 !important; font-weight: 850; }

@media (max-width: 1000px) {
  .movement-page-v83 .movement-hero-v83 { min-height: 440px; background-attachment: scroll; }
  .movement-commitments__cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .movement-page-v83 .movement-hero-v83 { min-height: 410px; }
  .movement-page-v83 .movement-hero__content { padding-top: 52px; padding-bottom: 65px; }
  .movement-hero__scroll { display: none; }
  .movement-commitments__cards { grid-template-columns: 1fr; }
  .movement-commitment-card { min-height: auto; }
  .movement-gallery__header { align-items: flex-start; flex-direction: column; }
  .movement-gallery__grid { grid-template-columns: 1fr; grid-template-rows: 300px 220px 220px; }
  .movement-gallery__item--large { grid-row: auto; }
}
@media (max-width: 520px) {
  .movement-page-v83 .movement-hero-v83 { min-height: 385px; background-position: 58% center; }
  .movement-page-v83 .movement-hero__content { padding-top: 44px; padding-bottom: 50px; }
  .movement-page-v83 .movement-hero h1 { font-size: clamp(34px, 10vw, 44px); }
  .movement-hero__slogan { font-size: 17px !important; }
  .movement-identity { padding: 16px; }
  .movement-gallery__grid { grid-template-rows: 250px 200px 200px; }
}

/* =========================================================
   V8.4 — PAGE LE PRÉSIDENT PREMIUM
   ========================================================= */
.president-page-v84 { background: #fff; }
.president-hero-v84 { position: relative; display: flex; align-items: center; min-height: 620px; overflow: hidden; color: #fff; background-position: 72% 24%; background-size: cover; }
.president-hero-v84__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1,21,43,.98) 0%, rgba(4,48,94,.91) 43%, rgba(4,48,94,.34) 74%, rgba(4,48,94,.12) 100%); }
.president-hero-v84__content { position: relative; z-index: 2; max-width: 780px; padding-top: 92px; padding-bottom: 92px; }
.president-hero-v84__eyebrow { margin: 12px 0 7px; color: #ffc400; font-size: 17px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.president-hero-v84 h1 { margin: 0; color: #fff; font-size: clamp(48px, 6vw, 82px); line-height: .98; letter-spacing: -.045em; }
.president-hero-v84__role { margin: 15px 0 25px; color: rgba(255,255,255,.82); font-size: clamp(21px, 2.2vw, 30px); font-weight: 700; }
.president-hero-v84 blockquote { max-width: 680px; margin: 0 0 31px; padding: 20px 24px; border-left: 4px solid #ffc400; border-radius: 0 15px 15px 0; color: #fff; font-size: clamp(17px, 1.7vw, 21px); font-weight: 700; line-height: 1.55; background: rgba(255,255,255,.08); backdrop-filter: blur(6px); }
.president-hero-v84__actions { display: flex; flex-wrap: wrap; gap: 13px; }

.president-profile-v84 { background: linear-gradient(180deg,#fff,#f6f9fc); }
.president-profile-v84__grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(48px,7vw,92px); align-items: center; }
.president-profile-v84__media { position: relative; max-width: 530px; }
.president-profile-v84__frame { position: relative; z-index: 1; overflow: hidden; border-radius: 28px; box-shadow: 0 30px 70px rgba(5,42,79,.19); }
.president-profile-v84__frame::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.45); border-radius:inherit; pointer-events:none; }
.president-profile-v84__frame img { width:100%; min-height:590px; object-fit:cover; object-position:center 20%; transition:transform .6s ease; }
.president-profile-v84__frame:hover img { transform:scale(1.025); }
.president-profile-v84__media::before { content:""; position:absolute; left:-24px; bottom:68px; width:135px; height:135px; border-radius:25px; background:#ffc400; transform:rotate(-8deg); }
.president-profile-v84__identity { position:relative; z-index:2; width:calc(100% - 38px); margin:-58px auto 0; padding:21px 24px; border-radius:20px; color:#fff; background:#073b78; box-shadow:0 18px 35px rgba(5,42,79,.23); }
.president-profile-v84__identity span,.president-profile-v84__identity small { display:block; color:rgba(255,255,255,.72); }
.president-profile-v84__identity strong { display:block; margin:3px 0; font-size:25px; }
.president-profile-v84__content h2,.president-section-heading h2 { margin:10px 0 20px; color:#082746; font-size:clamp(35px,4vw,56px); line-height:1.08; letter-spacing:-.035em; }
.president-profile-v84__content .lead { color:#425b73; font-size:18px; line-height:1.8; }
.president-profile-v84__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin:27px 0; }
.president-profile-v84__facts article { padding:17px 18px; border:1px solid #e3ebf3; border-radius:16px; background:#fff; box-shadow:0 10px 25px rgba(5,42,79,.055); }
.president-profile-v84__facts span { display:block; margin-bottom:5px; color:#7b8da0; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.president-profile-v84__facts strong { color:#082746; font-size:15px; }
.president-profile-v84__quote { padding:22px 24px; border-left:4px solid #e31e3c; border-radius:0 18px 18px 0; background:#fff2f4; }
.president-profile-v84__quote span { color:#b3132f; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.president-profile-v84__quote p { margin:7px 0 0; color:#394f64; font-weight:700; line-height:1.7; }

.president-bio-v84 { background:#f4f7fb; }
.president-section-heading { max-width:850px; margin-bottom:45px; }
.president-section-heading > p { max-width:720px; margin:0; color:#6a7d90; font-size:17px; line-height:1.7; }
.president-bio-v84__timeline { position:relative; display:grid; gap:17px; }
.president-bio-v84__timeline::before { content:""; position:absolute; top:0; bottom:0; left:39px; width:2px; background:linear-gradient(#ffc400,#073b78,#e31e3c); }
.president-bio-card { position:relative; z-index:1; display:grid; grid-template-columns:80px 1fr; gap:24px; padding:28px 30px 28px 0; border:1px solid #e3eaf2; border-radius:22px; background:#fff; box-shadow:0 13px 35px rgba(5,42,79,.055); transition:transform .28s ease,box-shadow .28s ease; }
.president-bio-card:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(5,42,79,.1); }
.president-bio-card__index { display:grid; place-items:center; align-self:start; width:50px; height:50px; margin-left:15px; border:7px solid #f4f7fb; border-radius:50%; color:#082746; font-weight:900; background:#ffc400; }
.president-bio-card h3 { margin:0 0 9px; color:#082746; font-size:22px; }
.president-bio-card p { margin:0; color:#5f7387; line-height:1.78; }

.president-priorities-v84 { color:#fff; background:radial-gradient(circle at 85% 10%,rgba(255,196,0,.14),transparent 30%),linear-gradient(135deg,#031d39,#073b78); }
.president-section-heading--light h2 { color:#fff; }
.president-section-heading--light > p { color:rgba(255,255,255,.7); }
.president-priorities-v84__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.president-priority-card { min-height:235px; padding:27px; border:1px solid rgba(255,255,255,.11); border-radius:21px; background:rgba(255,255,255,.055); transition:transform .28s ease,background .28s ease,border-color .28s ease; }
.president-priority-card:hover { transform:translateY(-7px); border-color:rgba(255,196,0,.42); background:rgba(255,255,255,.09); }
.president-priority-card > span { display:grid; place-items:center; width:45px; height:45px; margin-bottom:23px; border-radius:13px; color:#062b53; font-weight:900; background:#ffc400; }
.president-priority-card h3 { margin:0 0 11px; color:#fff; font-size:20px; }
.president-priority-card p { margin:0; color:rgba(255,255,255,.72); line-height:1.7; }

.president-message-v84 { background:#fff; }
.president-message-v84__grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(48px,7vw,92px); align-items:start; }
.president-message-v84__aside { position:sticky; top:115px; }
.president-message-v84__aside h2 { margin:12px 0 28px; color:#082746; font-size:clamp(34px,3.6vw,52px); line-height:1.1; }
.president-message-v84__mini-profile { display:flex; align-items:center; gap:14px; padding:15px; border-radius:18px; background:#f4f7fb; }
.president-message-v84__mini-profile img { width:72px; height:72px; object-fit:cover; object-position:center 20%; border-radius:15px; }
.president-message-v84__mini-profile strong,.president-message-v84__mini-profile span { display:block; }
.president-message-v84__mini-profile strong { color:#082746; }
.president-message-v84__mini-profile span { color:#78899b; font-size:14px; }
.president-message-v84__text { position:relative; padding:clamp(28px,4vw,52px); border:1px solid #e4ebf2; border-radius:27px; background:#fff; box-shadow:0 24px 65px rgba(5,42,79,.09); }
.president-message-v84__text::before { content:"“"; position:absolute; top:10px; right:28px; color:#eef3f8; font-family:Georgia,serif; font-size:145px; line-height:1; }
.president-message-v84__text p { position:relative; margin:0 0 21px; color:#52687d; font-size:16px; line-height:1.88; }
.president-message-v84__lead::first-letter { float:left; margin:10px 10px 0 0; color:#e31e3c; font-family:Georgia,serif; font-size:68px; font-weight:800; line-height:.72; }
.president-message-v84__text blockquote { margin:34px 0; padding:24px 26px; border-left:5px solid #ffc400; border-radius:0 17px 17px 0; color:#082746; font-size:21px; font-weight:850; line-height:1.55; background:#fff8dc; }
.president-message-v84__signature { padding-top:23px; border-top:1px solid #e6edf4; }
.president-message-v84__signature strong,.president-message-v84__signature span,.president-message-v84__signature small { display:block; }
.president-message-v84__signature strong { color:#082746; font-family:Georgia,serif; font-size:28px; font-style:italic; }
.president-message-v84__signature span { margin-top:3px; color:#b3132f; font-weight:850; }
.president-message-v84__signature small { margin-top:2px; color:#7a8d9f; }

.president-gallery-v84 { background:#f4f7fb; }
.president-gallery-v84__header { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:30px; }
.president-gallery-v84__header h2 { margin:8px 0 0; color:#082746; font-size:clamp(34px,4vw,52px); }
.president-gallery-v84__header a { padding-bottom:5px; border-bottom:2px solid #e31e3c; color:#082746; font-weight:850; }
.president-gallery-v84__grid { display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:repeat(2,225px); gap:17px; }
.president-gallery-v84__item { position:relative; margin:0; overflow:hidden; border-radius:22px; background:#082746; }
.president-gallery-v84__item--large { grid-row:1/span 2; }
.president-gallery-v84__item img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.president-gallery-v84__item::after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,rgba(2,22,43,.9)); }
.president-gallery-v84__item:hover img { transform:scale(1.055); }
.president-gallery-v84__item figcaption { position:absolute; left:21px; right:21px; bottom:18px; z-index:2; color:#fff; font-weight:850; }

.president-cta-v84 { padding:72px 0; background:#fff; }
.president-cta-v84__box { display:flex; justify-content:space-between; align-items:center; gap:35px; padding:43px clamp(28px,5vw,65px); border-radius:28px; color:#fff; background:linear-gradient(120deg,#073b78,#041c38); box-shadow:0 25px 60px rgba(5,42,79,.18); }
.president-cta-v84__box p { margin:0 0 7px; color:#ffc400; font-weight:850; }
.president-cta-v84__box h2 { max-width:800px; margin:0; color:#fff; font-size:clamp(27px,3vw,43px); line-height:1.15; }
.president-cta-v84__box .btn { flex:0 0 auto; }

@media(max-width:1000px){
  .president-hero-v84{min-height:540px;background-position:66% 20%;}
  .president-profile-v84__grid,.president-message-v84__grid{grid-template-columns:1fr;}
  .president-profile-v84__media{max-width:620px;margin:0 auto;}
  .president-message-v84__aside{position:static;}
  .president-priorities-v84__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .president-hero-v84{min-height:500px;background-position:60% 18%;}
  .president-hero-v84__overlay{background:linear-gradient(90deg,rgba(1,21,43,.98),rgba(4,48,94,.78));}
  .president-hero-v84__content{padding-top:62px;padding-bottom:62px;}
  .president-profile-v84__frame img{min-height:470px;}
  .president-priorities-v84__grid{grid-template-columns:1fr;}
  .president-priority-card{min-height:auto;}
  .president-gallery-v84__header{align-items:flex-start;flex-direction:column;}
  .president-gallery-v84__grid{grid-template-columns:1fr;grid-template-rows:300px 220px 220px;}
  .president-gallery-v84__item--large{grid-row:auto;}
  .president-cta-v84__box{align-items:flex-start;flex-direction:column;}
}
@media(max-width:540px){
  .president-hero-v84{min-height:475px;background-position:62% top;}
  .president-hero-v84 h1{font-size:clamp(41px,12vw,58px);}
  .president-hero-v84__actions{align-items:stretch;flex-direction:column;}
  .president-hero-v84__actions .btn{width:100%;text-align:center;}
  .president-profile-v84__frame img{min-height:390px;}
  .president-profile-v84__media::before{left:-10px;bottom:60px;width:95px;height:95px;}
  .president-profile-v84__identity{width:calc(100% - 20px);padding:18px;}
  .president-profile-v84__facts{grid-template-columns:1fr;}
  .president-bio-v84__timeline::before{left:28px;}
  .president-bio-card{grid-template-columns:58px 1fr;gap:13px;padding:22px 17px 22px 0;}
  .president-bio-card__index{width:42px;height:42px;margin-left:7px;border-width:6px;font-size:13px;}
  .president-bio-card h3{font-size:18px;}
  .president-bio-card p{font-size:14px;}
  .president-message-v84__text{padding:25px 20px;}
  .president-message-v84__text blockquote{font-size:18px;padding:20px;}
  .president-gallery-v84__grid{grid-template-rows:250px 200px 200px;}
}


/* =========================================================
   V8.5 — AFFICHAGE MOBILE COMPLET
   Pages : Le Mouvement et Le Président
   ========================================================= */

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

@media screen and (max-width: 900px) {

  /* Empêche les sections animées de rester invisibles sur mobile */
  .movement-page-v83 .reveal,
  .president-page-v84 .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .movement-page-v83 *,
  .president-page-v84 * {
    min-width: 0;
    box-sizing: border-box;
  }

  .movement-page-v83 img,
  .president-page-v84 img {
    max-width: 100%;
  }

  /* Espacement général plus compact */
  .movement-page-v83 .section,
  .president-page-v84 .section {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  /* ---------------- PAGE LE MOUVEMENT ---------------- */

  .movement-page-v83 .movement-hero-v83 {
    min-height: 390px !important;
    background-attachment: scroll !important;
    background-position: 60% center !important;
  }

  .movement-page-v83 .movement-hero__content {
    padding-top: 48px !important;
    padding-bottom: 58px !important;
  }

  .movement-page-v83 .movement-hero h1 {
    font-size: clamp(34px, 10vw, 49px) !important;
  }

  .movement-page-v83 .movement-hero__lead {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .movement-page-v83 .movement-hero__actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .movement-page-v83 .movement-hero__actions .btn {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 10px !important;
    font-size: 13px !important;
    white-space: normal !important;
  }

  .movement-page-v83 .movement-hero__scroll {
    display: none !important;
  }

  .movement-intro__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }

  .movement-intro__media,
  .movement-intro__media img {
    width: 100% !important;
    min-height: 285px !important;
    height: 285px !important;
  }

  .movement-intro__media img {
    object-position: center center !important;
  }

  .movement-intro__badge {
    right: 10px !important;
    bottom: 12px !important;
    max-width: calc(100% - 20px) !important;
  }

  .movement-intro__content h2,
  .movement-heading h2 {
    font-size: clamp(29px, 8vw, 39px) !important;
  }

  .movement-intro__content > p,
  .movement-heading p {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  .movement-intro__facts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .movement-intro__facts div:last-child {
    grid-column: 1 / -1;
  }

  /* Mission et Vision toujours affichées en 2 colonnes sur mobile */
  .movement-purpose__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 28px !important;
  }

  .movement-purpose__card {
    min-height: 100% !important;
    padding: 22px 15px !important;
    border-radius: 18px !important;
  }

  .movement-purpose__number {
    right: 10px !important;
    top: 8px !important;
    font-size: 58px !important;
  }

  .movement-purpose__icon {
    width: 42px !important;
    height: 42px !important;
    margin-bottom: 17px !important;
    font-size: 21px !important;
  }

  .movement-purpose__card .section-kicker {
    font-size: 10px !important;
    letter-spacing: .08em !important;
  }

  .movement-purpose__card h3 {
    margin-bottom: 13px !important;
    font-size: clamp(17px, 4.7vw, 22px) !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
  }

  .movement-purpose__card p {
    font-size: 12.5px !important;
    line-height: 1.62 !important;
    overflow-wrap: anywhere;
  }

  /* Valeurs en deux colonnes */
  .movement-values__grid,
  .movement-values__grid-v83 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .movement-value {
    min-height: 190px !important;
    padding: 18px 14px !important;
  }

  .movement-value__icon {
    width: 38px !important;
    height: 38px !important;
  }

  .movement-value__number {
    margin-bottom: 15px !important;
  }

  .movement-value h3 {
    font-size: 15px !important;
    overflow-wrap: anywhere;
  }

  .movement-value p {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  /* Engagements en deux colonnes */
  .movement-commitments__cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .movement-commitment-card {
    min-height: 100% !important;
    padding: 18px 14px !important;
    border-radius: 17px !important;
  }

  .movement-commitment-card__icon {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 15px !important;
  }

  .movement-commitment-card h3 {
    font-size: 15px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
  }

  .movement-commitment-card p {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .movement-gallery__header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .movement-gallery__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: 245px 180px !important;
    gap: 10px !important;
  }

  .movement-gallery__item--large {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .movement-cta__box {
    padding: 28px 20px !important;
    border-radius: 22px !important;
  }

  .movement-cta__box h2 {
    font-size: 29px !important;
  }

  /* ---------------- PAGE LE PRÉSIDENT ---------------- */

  .president-hero-v84 {
    min-height: 410px !important;
    background-position: 60% top !important;
  }

  .president-hero-v84__content {
    padding-top: 50px !important;
    padding-bottom: 56px !important;
  }

  .president-hero-v84 h1 {
    font-size: clamp(36px, 10.5vw, 52px) !important;
  }

  .president-hero-v84__actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .president-hero-v84__actions .btn {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 8px !important;
    font-size: 13px !important;
    white-space: normal !important;
  }

  .president-profile-v84__grid,
  .president-message-v84__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }

  .president-profile-v84__media {
    width: 100% !important;
    max-width: 100% !important;
  }

  .president-profile-v84__frame img {
    width: 100% !important;
    height: 430px !important;
    min-height: 430px !important;
    object-fit: cover !important;
    object-position: center 18% !important;
  }

  .president-profile-v84__identity {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: calc(100% - 20px) !important;
    margin: -54px auto 0 !important;
  }

  .president-profile-v84__facts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .president-profile-v84__facts > * {
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }

  .president-bio-v84__timeline {
    display: grid !important;
    gap: 13px !important;
  }

  .president-bio-card {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 18px 13px 18px 0 !important;
  }

  .president-bio-card__index {
    width: 38px !important;
    height: 38px !important;
    margin-left: 5px !important;
  }

  .president-bio-card h3 {
    font-size: 17px !important;
  }

  .president-bio-card p {
    font-size: 13px !important;
    line-height: 1.62 !important;
    overflow-wrap: anywhere;
  }

  /* Priorités du Président en deux colonnes */
  .president-priorities-v84__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .president-priority-card {
    min-height: 205px !important;
    padding: 18px 14px !important;
  }

  .president-priority-card > span {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 16px !important;
  }

  .president-priority-card h3 {
    font-size: 16px !important;
    overflow-wrap: anywhere;
  }

  .president-priority-card p {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .president-message-v84__aside {
    position: static !important;
  }

  .president-message-v84__text {
    padding: 23px 17px !important;
  }

  .president-message-v84__text::before {
    right: 10px !important;
    font-size: 95px !important;
  }

  .president-message-v84__text p {
    font-size: 14px !important;
    line-height: 1.78 !important;
  }

  .president-message-v84__text blockquote {
    margin: 25px 0 !important;
    padding: 18px 15px !important;
    font-size: 17px !important;
  }

  .president-gallery-v84__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: 250px 180px !important;
    gap: 10px !important;
  }

  .president-gallery-v84__item--large {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .president-cta-v84__box {
    padding: 28px 20px !important;
  }

  .president-cta-v84__box h2 {
    font-size: 28px !important;
  }
}

@media screen and (max-width: 390px) {

  /* Même sur les petits téléphones, Mission/Vision restent en deux */
  .movement-purpose__grid,
  .movement-values__grid,
  .movement-values__grid-v83,
  .movement-commitments__cards,
  .president-priorities-v84__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .movement-purpose__card {
    padding: 18px 11px !important;
  }

  .movement-purpose__card h3 {
    font-size: 16px !important;
  }

  .movement-purpose__card p,
  .movement-value p,
  .movement-commitment-card p,
  .president-priority-card p {
    font-size: 11px !important;
  }

  .movement-value,
  .movement-commitment-card,
  .president-priority-card {
    padding-right: 11px !important;
    padding-left: 11px !important;
  }

  .president-profile-v84__facts {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   V8.6 — PAGE ORGANISATION PREMIUM
   ========================================================= */

.organisation-page-v86 {
  overflow: hidden;
  background: #fff;
}

.organisation-hero-v86 {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  color: #fff;
  background: url("../images/activite-v4-08.jpg") center 38% / cover no-repeat;
}

.organisation-hero-v86__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3, 24, 49, .96) 0%, rgba(6, 45, 92, .83) 52%, rgba(6, 53, 108, .40) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .38));
}

.organisation-hero-v86__content {
  position: relative;
  z-index: 2;
  max-width: 780px;
  padding-top: 90px;
  padding-bottom: 90px;
}

.organisation-hero-v86 h1 {
  max-width: 740px;
  margin: 15px 0 20px;
  font-size: clamp(48px, 6vw, 78px);
  line-height: .98;
  color: #fff;
}

.organisation-hero-v86 p {
  max-width: 690px;
  margin: 0;
  font-size: 18px;
  line-height: 1.75;
  color: rgba(255,255,255,.88);
}

.organisation-hero-v86__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.organisation-intro-v86__grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 70px;
  align-items: center;
}

.organisation-intro-v86__content h2,
.organisation-heading-v86 h2 {
  margin: 12px 0 20px;
  font-size: clamp(38px, 4.7vw, 58px);
  line-height: 1.08;
}

.organisation-intro-v86__content > p,
.organisation-heading-v86 p {
  font-size: 16px;
  line-height: 1.8;
  color: #526274;
}

.organisation-intro-v86__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 32px;
}

.organisation-intro-v86__stats article {
  min-height: 120px;
  padding: 20px 16px;
  border: 1px solid #dfe8f2;
  border-radius: 18px;
  background: #f8fbff;
}

.organisation-intro-v86__stats strong {
  display: block;
  margin-bottom: 7px;
  font-size: 34px;
  color: #0b4f9c;
}

.organisation-intro-v86__stats span {
  font-size: 13px;
  line-height: 1.4;
  color: #536274;
}

.organisation-intro-v86__media {
  position: relative;
  margin: 0;
  min-height: 470px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(6, 39, 76, .20);
}

.organisation-intro-v86__media img {
  width: 100%;
  height: 470px;
  object-fit: cover;
}

.organisation-intro-v86__media figcaption {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 22px;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 17px;
  color: #fff;
  background: rgba(3, 28, 57, .85);
  backdrop-filter: blur(12px);
}

.organisation-intro-v86__media figcaption span,
.organisation-intro-v86__media figcaption strong {
  display: block;
}

.organisation-intro-v86__media figcaption span {
  margin-bottom: 5px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #ffd347;
}

.organisation-chart-v86 {
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 199, 0, .15), transparent 25%),
    linear-gradient(135deg, #061e3b, #0a4c92);
}

.organisation-heading-v86 {
  max-width: 780px;
  margin: 0 auto 46px;
  text-align: center;
  color: #fff;
}

.organisation-heading-v86 p {
  color: rgba(255,255,255,.76);
}

.organisation-heading-v86--dark {
  color: #0b2849;
}

.organisation-heading-v86--dark p {
  color: #526274;
}

.orgchart-v86 {
  max-width: 1120px;
  margin: 0 auto;
}

.orgchart-v86__level {
  position: relative;
}

.orgchart-v86__level--president {
  display: flex;
  justify-content: center;
}

.orgchart-v86__card {
  position: relative;
  min-width: 260px;
  padding: 27px 23px;
  text-align: center;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 20px;
  color: #fff;
  background: rgba(255,255,255,.09);
  box-shadow: 0 15px 34px rgba(0,0,0,.16);
  backdrop-filter: blur(10px);
}

.orgchart-v86__card--president {
  width: min(100%, 440px);
  padding: 34px 28px;
  border-color: rgba(255, 211, 71, .65);
  background: linear-gradient(135deg, rgba(255,197,0,.20), rgba(255,255,255,.10));
}

.orgchart-v86__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 17px;
  border-radius: 50%;
  font-size: 22px;
  color: #082a53;
  background: #ffd347;
}

.orgchart-v86__card small {
  display: block;
  margin-bottom: 7px;
  text-transform: uppercase;
  letter-spacing: .10em;
  color: #ffd347;
}

.orgchart-v86__card h3 {
  margin: 0 0 10px;
  font-size: 22px;
  color: #fff;
}

.orgchart-v86__card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255,255,255,.74);
}

.orgchart-v86__connector--vertical {
  width: 2px;
  height: 42px;
  margin: 0 auto;
  background: linear-gradient(#ffd347, rgba(255,255,255,.35));
}

.orgchart-v86__level--executive {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.orgchart-v86__level--executive::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 16.666%;
  right: 16.666%;
  height: 2px;
  background: rgba(255,211,71,.7);
}

.orgchart-v86__level--executive .orgchart-v86__card::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -22px;
  width: 2px;
  height: 22px;
  background: rgba(255,211,71,.7);
}

.orgchart-v86__level--departments {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.orgchart-v86__mini {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 74px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 15px;
  color: #fff;
  background: rgba(255,255,255,.07);
}

.orgchart-v86__mini span {
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 800;
  color: #092d5a;
  background: #ffd347;
}

.orgchart-v86__mini strong {
  font-size: 13px;
}

.orgchart-v86__territory {
  max-width: 760px;
  margin: 0 auto;
}

.orgchart-v86__territory article {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 22px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 17px;
  color: #fff;
  background: rgba(255,255,255,.08);
}

.orgchart-v86__territory article > span {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  height: 42px;
  border-radius: 12px;
  font-weight: 800;
  color: #082b56;
  background: #ffd347;
}

.orgchart-v86__territory small {
  color: rgba(255,255,255,.66);
}

.orgchart-v86__territory h3 {
  margin: 3px 0 0;
  font-size: 19px;
  color: #fff;
}

.orgchart-v86__territory-final {
  border-color: rgba(255,211,71,.65) !important;
}

.orgchart-v86__arrow {
  padding: 7px 0;
  text-align: center;
  font-size: 23px;
  color: #ffd347;
}

.organisation-organs-v86 {
  background: #f5f8fc;
}

.organisation-organs-v86__tabs {
  max-width: 1140px;
  margin: 0 auto;
}

.organisation-organs-v86__nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 28px;
}

.organisation-organs-v86__nav button {
  padding: 12px 17px;
  border: 1px solid #d8e2ed;
  border-radius: 999px;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  color: #29435e;
  background: #fff;
  cursor: pointer;
  transition: .25s ease;
}

.organisation-organs-v86__nav button:hover,
.organisation-organs-v86__nav button.is-active {
  border-color: #0b4f9c;
  color: #fff;
  background: #0b4f9c;
}

.organisation-organs-v86__panel {
  display: none;
}

.organisation-organs-v86__panel.is-active {
  display: block;
  animation: organisationPanelIn .35s ease;
}

@keyframes organisationPanelIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

.organisation-roles-v86 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.organisation-role-v86 {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 17px;
  align-items: center;
  min-height: 112px;
  padding: 18px;
  border: 1px solid #dce5ef;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(13, 53, 94, .06);
}

.organisation-role-v86 > span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 15px;
  font-size: 15px;
  font-weight: 850;
  color: #0a417f;
  background: #fff2bd;
}

.organisation-role-v86 small {
  text-transform: uppercase;
  letter-spacing: .09em;
  color: #78889a;
}

.organisation-role-v86 h3 {
  margin: 5px 0 0;
  font-size: 16px;
  line-height: 1.45;
  color: #102f50;
}

.organisation-secretariats-v86 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
}

.organisation-secretariats-v86 article {
  position: relative;
  min-height: 145px;
  padding: 22px 18px;
  border: 1px solid #dce5ef;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}

.organisation-secretariats-v86 article::after {
  content: "";
  position: absolute;
  right: -22px;
  bottom: -28px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: #f0f5fb;
}

.organisation-secretariats-v86 span {
  position: relative;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 16px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 850;
  color: #0a417f;
  background: #fff0ac;
}

.organisation-secretariats-v86 h3 {
  position: relative;
  z-index: 2;
  margin: 0;
  font-size: 15px;
  line-height: 1.42;
  color: #102f50;
}

.organisation-function-v86__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.organisation-function-v86__grid article {
  padding: 25px 21px;
  border: 1px solid #dce5ef;
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(8,45,82,.06);
}

.organisation-function-v86__grid span {
  display: block;
  margin-bottom: 23px;
  font-size: 31px;
  font-weight: 900;
  color: #ffd347;
}

.organisation-function-v86__grid h3 {
  margin: 0 0 11px;
  color: #0b315b;
}

.organisation-function-v86__grid p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: #5d6b79;
}

.organisation-cta-v86 {
  padding-top: 30px !important;
}

.organisation-cta-v86__box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 46px 50px;
  border-radius: 28px;
  color: #fff;
  background:
    linear-gradient(110deg, rgba(4,30,61,.98), rgba(8,72,139,.93)),
    url("../images/mouvement-groupe-midi.jpeg") center / cover no-repeat;
}

.organisation-cta-v86__box > div {
  max-width: 750px;
}

.organisation-cta-v86__box h2 {
  margin: 9px 0 12px;
  font-size: clamp(31px, 4vw, 48px);
  color: #fff;
}

.organisation-cta-v86__box p {
  margin: 0;
  color: rgba(255,255,255,.77);
}

.organisation-cta-v86__box .btn {
  flex: 0 0 auto;
}

@media screen and (max-width: 900px) {
  .organisation-page-v86 .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .organisation-hero-v86 {
    min-height: 440px;
    background-position: 58% center;
  }

  .organisation-hero-v86__content {
    padding-top: 58px;
    padding-bottom: 64px;
  }

  .organisation-hero-v86 h1 {
    font-size: clamp(38px, 10vw, 54px);
  }

  .organisation-hero-v86 p {
    font-size: 15px;
  }

  .organisation-hero-v86__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .organisation-hero-v86__actions .btn {
    width: 100%;
    padding: 12px 8px;
    font-size: 13px;
    white-space: normal;
  }

  .organisation-intro-v86__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .organisation-intro-v86__content h2,
  .organisation-heading-v86 h2 {
    font-size: clamp(30px, 8vw, 42px);
  }

  .organisation-intro-v86__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .organisation-intro-v86__stats article {
    min-height: 108px;
    padding: 16px 10px;
  }

  .organisation-intro-v86__stats strong {
    font-size: 29px;
  }

  .organisation-intro-v86__stats span {
    font-size: 11px;
  }

  .organisation-intro-v86__media,
  .organisation-intro-v86__media img {
    min-height: 330px;
    height: 330px;
  }

  .organisation-heading-v86 {
    margin-bottom: 34px;
  }

  .orgchart-v86__level--executive {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .orgchart-v86__level--executive::before,
  .orgchart-v86__level--executive .orgchart-v86__card::before {
    display: none;
  }

  .orgchart-v86__card {
    width: 100%;
    min-width: 0;
  }

  .orgchart-v86__level--departments {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .orgchart-v86__level--departments .orgchart-v86__mini:last-child {
    grid-column: 1 / -1;
  }

  .orgchart-v86__mini {
    min-width: 0;
    padding: 12px 9px;
  }

  .orgchart-v86__mini strong {
    font-size: 12px;
    overflow-wrap: anywhere;
  }

  .orgchart-v86__territory article {
    padding: 15px 14px;
  }

  .orgchart-v86__territory h3 {
    font-size: 15px;
  }

  .organisation-organs-v86__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .organisation-organs-v86__nav button {
    width: 100%;
    padding: 11px 8px;
    font-size: 11.5px;
  }

  .organisation-roles-v86 {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .organisation-role-v86 {
    grid-template-columns: 45px minmax(0, 1fr);
    min-height: 96px;
    padding: 14px 12px;
  }

  .organisation-role-v86 > span {
    width: 42px;
    height: 42px;
  }

  .organisation-role-v86 h3 {
    font-size: 14px;
    overflow-wrap: anywhere;
  }

  .organisation-secretariats-v86 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .organisation-secretariats-v86 article {
    min-height: 145px;
    padding: 17px 12px;
  }

  .organisation-secretariats-v86 h3 {
    font-size: 12.5px;
    overflow-wrap: anywhere;
  }

  .organisation-function-v86__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .organisation-function-v86__grid article {
    padding: 20px 15px;
  }

  .organisation-function-v86__grid p {
    font-size: 12px;
  }

  .organisation-cta-v86__box {
    display: grid;
    padding: 28px 20px;
  }

  .organisation-cta-v86__box h2 {
    font-size: 29px;
  }

  .organisation-cta-v86__box .btn {
    width: 100%;
  }
}

@media screen and (max-width: 390px) {
  .organisation-secretariats-v86,
  .organisation-function-v86__grid,
  .orgchart-v86__level--departments {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .organisation-secretariats-v86 h3 {
    font-size: 11.5px;
  }

  .organisation-function-v86__grid h3 {
    font-size: 16px;
  }

  .organisation-function-v86__grid p {
    font-size: 11px;
  }
}


/* =========================================================
   V8.6.2 — CORRECTION BOUTON MENU MOBILE FIGÉ
   ========================================================= */
@media screen and (max-width: 900px) {
  .site-header,
  .header-inner {
    overflow: visible !important;
  }

  .menu-toggle {
    position: relative !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }

  .menu-toggle * {
    pointer-events: none !important;
  }

  .main-nav {
    z-index: 99997 !important;
  }

  .mobile-menu-backdrop {
    z-index: 99996 !important;
  }

  body.menu-open {
    overflow: hidden !important;
    touch-action: auto !important;
  }

  html:has(body.menu-open) {
    overflow: hidden !important;
  }
}


/* =========================================================
   V8.7 — ACTUALITÉS PREMIUM
   ========================================================= */
.actualites-page-v87 { overflow: hidden; background: #fff; }

.actualites-hero-v87 {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  background: url("../images/activite-v4-03.jpg") center 42% / cover no-repeat;
  color: #fff;
}
.actualites-hero-v87__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3,23,47,.96) 0%, rgba(6,52,102,.84) 55%, rgba(6,52,102,.40) 100%),
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.36));
}
.actualites-hero-v87__content {
  position: relative;
  z-index: 2;
  max-width: 790px;
  padding-top: 84px;
  padding-bottom: 84px;
}
.actualites-hero-v87 h1 {
  margin: 14px 0 20px;
  max-width: 760px;
  font-size: clamp(48px, 6vw, 78px);
  line-height: .98;
  color: #fff;
}
.actualites-hero-v87 p {
  max-width: 680px;
  margin: 0;
  font-size: 18px;
  line-height: 1.75;
  color: rgba(255,255,255,.85);
}
.actualites-search-v87 {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  max-width: 680px;
  margin-top: 30px;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 15px;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
}
.actualites-search-v87 input {
  min-width: 0;
  padding: 13px 15px;
  border: 0;
  outline: 0;
  font: inherit;
  color: #fff;
  background: transparent;
}
.actualites-search-v87 input::placeholder { color: rgba(255,255,255,.65); }
.actualites-search-v87 button {
  padding: 12px 20px;
  border: 0;
  border-radius: 11px;
  font: inherit;
  font-weight: 800;
  color: #082a53;
  background: #ffd347;
  cursor: pointer;
}

.actualites-heading-v87 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 32px;
}
.actualites-heading-v87 h2 {
  margin: 8px 0 0;
  font-size: clamp(35px, 4vw, 52px);
  line-height: 1.07;
}
.actualites-heading-v87 > a {
  flex: 0 0 auto;
  font-weight: 800;
  color: #0b4f9c;
}
.actualites-heading-v87--dark { color: #102f50; }
.actualites-heading-v87--dark > p {
  max-width: 430px;
  margin: 0;
  line-height: 1.7;
  color: #617184;
}

.actualites-featured-v87 { background: #f6f9fd; }
.actualites-featured-v87__card {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  min-height: 480px;
  border-radius: 26px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 20px 55px rgba(7,47,89,.13);
}
.actualites-featured-v87__image {
  display: block;
  min-height: 480px;
}
.actualites-featured-v87__image img {
  width: 100%;
  height: 100%;
  min-height: 480px;
  object-fit: cover;
}
.actualites-featured-v87__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 46px;
}
.actualites-meta-v87 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 17px;
}
.actualites-meta-v87 time,
.actualites-meta-v87 span {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.actualites-meta-v87 time { color: #718094; }
.actualites-meta-v87 span {
  padding: 7px 10px;
  border-radius: 999px;
  color: #0b4f9c;
  background: #e8f1fb;
}
.actualites-featured-v87__content h2 {
  margin: 0 0 17px;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.12;
}
.actualites-featured-v87__content h2 a { color: #102f50; }
.actualites-featured-v87__content p {
  margin: 0 0 25px;
  line-height: 1.75;
  color: #5e6c7b;
}
.actualites-featured-v87__content .btn { align-self: flex-start; }

.actualites-categories-v87 {
  padding: 18px 0;
  border-top: 1px solid #e4ebf3;
  border-bottom: 1px solid #e4ebf3;
  background: #fff;
}
.actualites-categories-v87__inner {
  display: flex;
  align-items: center;
  gap: 9px;
  overflow-x: auto;
  scrollbar-width: none;
}
.actualites-categories-v87__inner::-webkit-scrollbar { display: none; }
.actualites-categories-v87__inner > span {
  flex: 0 0 auto;
  margin-right: 4px;
  font-weight: 850;
  color: #173858;
}
.actualites-categories-v87__inner a {
  flex: 0 0 auto;
  padding: 9px 14px;
  border: 1px solid #dce5ee;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 750;
  color: #42566c;
  background: #fff;
}
.actualites-categories-v87__inner a:hover,
.actualites-categories-v87__inner a.is-active {
  border-color: #0b4f9c;
  color: #fff;
  background: #0b4f9c;
}

.actualites-grid-v87 {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
}
.actualites-card-v87 {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid #dfe7f0;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 34px rgba(8,47,88,.07);
  transition: transform .25s ease, box-shadow .25s ease;
}
.actualites-card-v87:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 42px rgba(8,47,88,.13);
}
.actualites-card-v87__image {
  position: relative;
  display: block;
  height: 235px;
  overflow: hidden;
}
.actualites-card-v87__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.actualites-card-v87:hover .actualites-card-v87__image img { transform: scale(1.045); }
.actualites-card-v87__image > span {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  color: #082a53;
  background: #ffd347;
}
.actualites-card-v87__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}
.actualites-card-v87__body time {
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #8190a0;
}
.actualites-card-v87__body h3 {
  margin: 0 0 12px;
  font-size: 21px;
  line-height: 1.25;
}
.actualites-card-v87__body h3 a { color: #102f50; }
.actualites-card-v87__body p {
  margin: 0 0 19px;
  font-size: 14px;
  line-height: 1.65;
  color: #667585;
}
.actualites-card-v87__link {
  margin-top: auto;
  font-size: 13px;
  font-weight: 850;
  color: #0b4f9c;
}
.actualites-card-v87__link span { margin-left: 5px; }

.actualites-pagination-v87 { margin-top: 38px; }
.actualites-pagination-v87 .nav-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
.actualites-pagination-v87 .page-numbers {
  display: grid;
  place-items: center;
  min-width: 42px;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #dce5ee;
  border-radius: 11px;
  font-size: 13px;
  font-weight: 800;
  color: #24435f;
  background: #fff;
}
.actualites-pagination-v87 .page-numbers.current,
.actualites-pagination-v87 .page-numbers:hover {
  border-color: #0b4f9c;
  color: #fff;
  background: #0b4f9c;
}
.actualites-empty-v87 {
  padding: 55px 25px;
  text-align: center;
  border: 1px dashed #cdd9e5;
  border-radius: 22px;
  background: #f7fafe;
}
.actualites-empty-v87 > span { font-size: 44px; }
.actualites-empty-v87 h2 { margin: 15px 0 8px; color: #102f50; }
.actualites-empty-v87 p { margin: 0; color: #647487; }

.actualites-newsletter-v87 { padding-top: 25px !important; }
.actualites-newsletter-v87__box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 46px 50px;
  border-radius: 28px;
  color: #fff;
  background:
    linear-gradient(115deg, rgba(3,29,60,.97), rgba(8,75,143,.91)),
    url("../images/activite-v4-07.jpg") center / cover no-repeat;
}
.actualites-newsletter-v87__box > div { max-width: 740px; }
.actualites-newsletter-v87__box h2 {
  margin: 8px 0 12px;
  font-size: clamp(31px,4vw,48px);
  color: #fff;
}
.actualites-newsletter-v87__box p { margin: 0; color: rgba(255,255,255,.78); }

/* Single */
.actualite-single-v87__hero {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: end;
  color: #fff;
  background: url("../images/activite-v4-04.jpg") center / cover no-repeat;
}
.actualite-single-v87__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3,26,52,.28), rgba(3,26,52,.96));
}
.actualite-single-v87__hero-content {
  position: relative;
  z-index: 2;
  max-width: 940px;
  padding-top: 80px;
  padding-bottom: 65px;
}
.actualite-single-v87__hero h1 {
  margin: 12px 0 15px;
  font-size: clamp(40px,5.5vw,68px);
  line-height: 1.04;
  color: #fff;
}
.actualite-single-v87__hero p { color: rgba(255,255,255,.75); }
.actualites-meta-v87--light time { color: rgba(255,255,255,.75); }
.actualites-meta-v87--light span { color: #082a53; background: #ffd347; }
.actualite-single-v87__layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 310px;
  gap: 45px;
  align-items: start;
}
.actualite-single-v87__article {
  min-width: 0;
  padding: 30px;
  border: 1px solid #dfe7f0;
  border-radius: 22px;
  background: #fff;
}
.actualite-single-v87__featured {
  margin: -30px -30px 30px;
  overflow: hidden;
  border-radius: 22px 22px 0 0;
}
.actualite-single-v87__featured img {
  width: 100%;
  max-height: 560px;
  object-fit: cover;
}
.actualite-single-v87__content {
  font-size: 17px;
  line-height: 1.85;
  color: #3e5063;
}
.actualite-single-v87__content h2,
.actualite-single-v87__content h3 { color: #102f50; }
.actualite-single-v87__content img { border-radius: 15px; }
.actualite-single-v87__footer {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid #e1e8f0;
}
.actualite-single-v87__footer a { font-weight: 850; color: #0b4f9c; }
.actualite-single-v87__aside {
  position: sticky;
  top: 110px;
}
.actualite-single-v87__aside-card {
  padding: 28px;
  border-radius: 21px;
  color: #fff;
  background: linear-gradient(140deg,#061f3f,#0a519c);
}
.actualite-single-v87__aside-card h2 { margin: 10px 0 13px; color: #fff; }
.actualite-single-v87__aside-card p { line-height: 1.7; color: rgba(255,255,255,.76); }
.actualite-single-v87__aside-card .btn { width: 100%; margin-top: 12px; }

@media screen and (max-width: 900px) {
  .actualites-page-v87 .reveal,
  .actualite-single-v87 .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .actualites-hero-v87 { min-height: 440px; background-position: 57% center; }
  .actualites-hero-v87__content { padding-top: 60px; padding-bottom: 62px; }
  .actualites-hero-v87 h1 { font-size: clamp(38px,10vw,54px); }
  .actualites-hero-v87 p { font-size: 15px; }
  .actualites-search-v87 { grid-template-columns: 1fr; }
  .actualites-search-v87 button { width: 100%; }
  .actualites-heading-v87 { display: block; }
  .actualites-heading-v87 > a,
  .actualites-heading-v87 > p { display: block; margin-top: 13px; }
  .actualites-featured-v87__card { grid-template-columns: 1fr; min-height: 0; }
  .actualites-featured-v87__image,
  .actualites-featured-v87__image img { min-height: 300px; height: 300px; }
  .actualites-featured-v87__content { padding: 27px 21px; }
  .actualites-featured-v87__content h2 { font-size: 29px; }
  .actualites-grid-v87 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
  .actualites-card-v87__image { height: 170px; }
  .actualites-card-v87__body { padding: 15px 12px; }
  .actualites-card-v87__body h3 { font-size: 16px; overflow-wrap: anywhere; }
  .actualites-card-v87__body p { font-size: 12px; }
  .actualites-card-v87__image > span { left: 8px; bottom: 8px; font-size: 9px; }
  .actualites-newsletter-v87__box { display: grid; padding: 29px 20px; }
  .actualites-newsletter-v87__box .btn { width: 100%; }
  .actualite-single-v87__hero { min-height: 430px; }
  .actualite-single-v87__hero-content { padding-bottom: 45px; }
  .actualite-single-v87__hero h1 { font-size: clamp(35px,9vw,49px); }
  .actualite-single-v87__layout { grid-template-columns: 1fr; gap: 25px; }
  .actualite-single-v87__article { padding: 20px; }
  .actualite-single-v87__featured { margin: -20px -20px 24px; }
  .actualite-single-v87__content { font-size: 15px; }
  .actualite-single-v87__aside { position: static; }
}
@media screen and (max-width: 390px) {
  .actualites-grid-v87 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .actualites-card-v87__image { height: 145px; }
  .actualites-card-v87__body h3 { font-size: 14px; }
  .actualites-card-v87__body p { display: none; }
}


/* =========================================================
   V8.8 — ADHÉSION PREMIUM
   ========================================================= */
.adhesion-page-v88 { overflow: hidden; background: #fff; }
.adhesion-hero-v88 {
  position: relative;
  min-height: 570px;
  display: flex;
  align-items: center;
  color: #fff;
  background: url("../images/mouvement-groupe-midi.jpeg") center 42% / cover no-repeat;
}
.adhesion-hero-v88__overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(3,23,48,.97) 0%, rgba(7,55,108,.84) 58%, rgba(7,55,108,.38) 100%),
    linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.42));
}
.adhesion-hero-v88__content {
  position: relative; z-index: 2;
  max-width: 800px;
  padding-top: 90px; padding-bottom: 90px;
}
.adhesion-hero-v88 h1 {
  max-width: 760px;
  margin: 14px 0 20px;
  font-size: clamp(48px,6vw,80px);
  line-height: .98;
  color: #fff;
}
.adhesion-hero-v88 p {
  max-width: 690px;
  margin: 0;
  font-size: 18px;
  line-height: 1.75;
  color: rgba(255,255,255,.86);
}
.adhesion-hero-v88__actions {
  display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px;
}
.adhesion-heading-v88 {
  max-width: 800px; margin: 0 auto 42px; text-align: center;
}
.adhesion-heading-v88 h2 {
  margin: 10px 0 16px;
  font-size: clamp(36px,4.5vw,56px);
  line-height: 1.08;
  color: #102f50;
}
.adhesion-heading-v88 p { margin: 0; line-height: 1.75; color: #607184; }
.adhesion-benefits-v88 { background: #f7faff; }
.adhesion-benefits-v88__grid,
.adhesion-process-v88__grid {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px;
}
.adhesion-benefits-v88__grid article,
.adhesion-process-v88__grid article {
  padding: 27px 22px;
  border: 1px solid #dce6f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 13px 32px rgba(8,49,91,.07);
}
.adhesion-benefits-v88__grid span,
.adhesion-process-v88__grid span {
  display: grid; place-items: center;
  width: 46px; height: 46px;
  margin-bottom: 22px;
  border-radius: 14px;
  font-weight: 900;
  color: #0a447f;
  background: #fff0aa;
}
.adhesion-benefits-v88__grid h3,
.adhesion-process-v88__grid h3 { margin: 0 0 10px; color: #102f50; }
.adhesion-benefits-v88__grid p,
.adhesion-process-v88__grid p { margin: 0; font-size: 14px; line-height: 1.65; color: #627285; }

.adhesion-conditions-v88 {
  color: #fff;
  background:
    radial-gradient(circle at 90% 12%, rgba(255,210,52,.15), transparent 28%),
    linear-gradient(135deg,#061e3d,#0a4e96);
}
.adhesion-conditions-v88__grid {
  display: grid; grid-template-columns: 1.08fr .92fr; gap: 55px; align-items: center;
}
.adhesion-conditions-v88__content h2 {
  margin: 11px 0 17px;
  font-size: clamp(38px,4.6vw,58px);
  line-height: 1.08;
  color: #fff;
}
.adhesion-conditions-v88__content > p {
  max-width: 670px; line-height: 1.78; color: rgba(255,255,255,.76);
}
.adhesion-checklist-v88 { display: grid; gap: 12px; margin-top: 30px; }
.adhesion-checklist-v88 article {
  display: flex; align-items: center; gap: 14px;
  padding: 15px 17px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 15px;
  background: rgba(255,255,255,.07);
}
.adhesion-checklist-v88 span {
  display: grid; place-items: center; flex: 0 0 34px; height: 34px;
  border-radius: 50%; font-weight: 900; color: #082a53; background: #ffd347;
}
.adhesion-checklist-v88 p { margin: 0; font-size: 14px; color: rgba(255,255,255,.85); }
.adhesion-commitment-v88 {
  padding: 35px;
  border: 1px solid rgba(255,211,71,.52);
  border-radius: 25px;
  background: rgba(255,255,255,.09);
  box-shadow: 0 22px 50px rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
}
.adhesion-commitment-v88__number {
  display: inline-block; margin-bottom: 20px;
  font-size: 13px; font-weight: 900; letter-spacing: .16em; color: #ffd347;
}
.adhesion-commitment-v88 h3 { margin: 0 0 13px; font-size: 29px; color: #fff; }
.adhesion-commitment-v88 p { line-height: 1.7; color: rgba(255,255,255,.76); }
.adhesion-commitment-v88 ul { margin: 22px 0 0; padding-left: 19px; color: #fff; }
.adhesion-commitment-v88 li { margin: 9px 0; }

.adhesion-form-section-v88 {
  background:
    radial-gradient(circle at 0 0, rgba(255,211,71,.13), transparent 23%),
    #061e3d;
}
.adhesion-form-section-v88__layout {
  display: grid; grid-template-columns: 360px minmax(0,1fr); gap: 36px; align-items: start;
}
.adhesion-form-section-v88__intro {
  position: sticky; top: 110px; color: #fff;
}
.adhesion-form-section-v88__intro h2 {
  margin: 10px 0 16px;
  font-size: 39px; line-height: 1.08; color: #fff;
}
.adhesion-form-section-v88__intro > p {
  line-height: 1.75; color: rgba(255,255,255,.74);
}
.adhesion-form-help-v88 { display: grid; gap: 11px; margin-top: 28px; }
.adhesion-form-help-v88 article {
  padding: 15px 16px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: rgba(255,255,255,.07);
}
.adhesion-form-help-v88 strong,
.adhesion-form-help-v88 span { display: block; }
.adhesion-form-help-v88 strong { margin-bottom: 5px; color: #ffd347; }
.adhesion-form-help-v88 span { font-size: 12px; line-height: 1.5; color: rgba(255,255,255,.70); }
.adhesion-form-section-v88__card {
  padding: 34px;
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 25px 65px rgba(0,0,0,.22);
}
.midi-adhesion-form-v88 .form-step-title {
  display: flex; align-items: center; gap: 13px;
  margin: 32px 0 18px;
  padding-bottom: 13px;
  border-bottom: 1px solid #e0e8f0;
}
.midi-adhesion-form-v88 .form-step-title:first-of-type { margin-top: 0; }
.midi-adhesion-form-v88 .form-step-title > span {
  display: grid; place-items: center; flex: 0 0 42px; height: 42px;
  border-radius: 13px; font-weight: 900; color: #0b4f9c; background: #fff0ad;
}
.midi-adhesion-form-v88 .form-step-title strong,
.midi-adhesion-form-v88 .form-step-title small { display: block; }
.midi-adhesion-form-v88 .form-step-title strong { color: #102f50; }
.midi-adhesion-form-v88 .form-step-title small { margin-top: 3px; color: #7a8998; }
.midi-adhesion-form-v88 .midi-form-grid {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px;
}
.midi-adhesion-form-v88 label {
  display: grid; gap: 7px;
  font-size: 13px; font-weight: 750; color: #29425d;
}
.midi-adhesion-form-v88 input,
.midi-adhesion-form-v88 select,
.midi-adhesion-form-v88 textarea {
  width: 100%; min-width: 0;
  padding: 13px 14px;
  border: 1px solid #ced9e4;
  border-radius: 12px;
  outline: 0;
  font: inherit; font-weight: 500; color: #25394d; background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.midi-adhesion-form-v88 input:focus,
.midi-adhesion-form-v88 select:focus,
.midi-adhesion-form-v88 textarea:focus {
  border-color: #0b4f9c;
  box-shadow: 0 0 0 3px rgba(11,79,156,.11);
}
.midi-adhesion-form-v88 input[type="file"] {
  padding: 10px; background: #f7f9fc;
}
.midi-adhesion-form-v88 label > small { font-size: 11px; font-weight: 500; color: #8190a0; }
.midi-adhesion-form-v88 .full-field { margin-top: 4px; }
.midi-adhesion-form-v88 .midi-consent {
  display: flex; align-items: flex-start; gap: 10px;
  margin-top: 16px;
  padding: 14px;
  border-radius: 12px;
  background: #f5f8fc;
}
.midi-adhesion-form-v88 .midi-consent input {
  width: 18px; height: 18px; flex: 0 0 18px; margin-top: 1px;
}
.midi-adhesion-form-v88 .midi-consent span { line-height: 1.5; }
.midi-adhesion-form-v88 .midi-submit { width: 100%; margin-top: 23px; }
.midi-form-message {
  display: grid; gap: 5px; margin-bottom: 22px; padding: 17px;
  border-radius: 14px;
}
.midi-form-message.success { border: 1px solid #a8dbc0; color: #155d39; background: #eaf8f0; }
.midi-form-message.error { border: 1px solid #efb0b0; color: #8d2929; background: #fff0f0; }
.midi-form-message span { font-size: 13px; line-height: 1.5; }

.adhesion-final-v88 { padding-top: 28px !important; }
.adhesion-final-v88__box {
  display: flex; align-items: center; justify-content: space-between; gap: 35px;
  padding: 46px 50px;
  border-radius: 28px;
  color: #fff;
  background:
    linear-gradient(115deg,rgba(3,29,60,.97),rgba(8,75,143,.91)),
    url("../images/activite-v4-06.jpg") center / cover no-repeat;
}
.adhesion-final-v88__box > div { max-width: 740px; }
.adhesion-final-v88__box h2 {
  margin: 8px 0 12px;
  font-size: clamp(31px,4vw,48px);
  color: #fff;
}
.adhesion-final-v88__box p { margin: 0; color: rgba(255,255,255,.77); }

@media screen and (max-width: 900px) {
  .adhesion-page-v88 .reveal {
    opacity: 1 !important; visibility: visible !important; transform: none !important;
  }
  .adhesion-hero-v88 { min-height: 450px; background-position: 57% center; }
  .adhesion-hero-v88__content { padding-top: 60px; padding-bottom: 65px; }
  .adhesion-hero-v88 h1 { font-size: clamp(38px,10vw,55px); }
  .adhesion-hero-v88 p { font-size: 15px; }
  .adhesion-hero-v88__actions {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px;
  }
  .adhesion-hero-v88__actions .btn { width: 100%; padding: 12px 8px; font-size: 12px; }
  .adhesion-benefits-v88__grid,
  .adhesion-process-v88__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .adhesion-benefits-v88__grid article,
  .adhesion-process-v88__grid article { padding: 20px 14px; }
  .adhesion-benefits-v88__grid p,
  .adhesion-process-v88__grid p { font-size: 12px; }
  .adhesion-conditions-v88__grid { grid-template-columns: 1fr; gap: 30px; }
  .adhesion-commitment-v88 { padding: 25px 20px; }
  .adhesion-form-section-v88__layout { grid-template-columns: 1fr; gap: 25px; }
  .adhesion-form-section-v88__intro { position: static; }
  .adhesion-form-section-v88__intro h2 { font-size: 34px; }
  .adhesion-form-section-v88__card { padding: 22px 15px; }
  .midi-adhesion-form-v88 .midi-form-grid { grid-template-columns: 1fr; gap: 12px; }
  .midi-adhesion-form-v88 .form-step-title { align-items: flex-start; }
  .adhesion-final-v88__box { display: grid; padding: 29px 20px; }
  .adhesion-final-v88__box .btn { width: 100%; }
}


/* =========================================================
   V8.9 — NOTRE VISION PREMIUM
   ========================================================= */
.vision-page-v89 { overflow: hidden; background: #fff; }

.vision-hero-v89 {
  position: relative;
  min-height: 690px;
  display: flex;
  align-items: center;
  color: #fff;
  background: url("../images/vision-nationale.jpg") center 36% / cover no-repeat;
}
.vision-hero-v89__overlay {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 80% 18%, rgba(255,211,71,.14), transparent 30%),
    linear-gradient(90deg, rgba(3,22,46,.98) 0%, rgba(5,44,87,.88) 54%, rgba(5,44,87,.34) 100%),
    linear-gradient(180deg, transparent 55%, rgba(2,18,38,.75));
}
.vision-hero-v89__content {
  position: relative; z-index: 2;
  max-width: 860px;
  padding-top: 110px; padding-bottom: 115px;
}
.vision-hero-v89 h1 {
  margin: 13px 0 22px;
  font-size: clamp(60px,8vw,105px);
  line-height: .91;
  letter-spacing: -.055em;
  color: #fff;
}
.vision-hero-v89 p {
  max-width: 760px;
  margin: 0;
  font-size: 19px;
  line-height: 1.76;
  color: rgba(255,255,255,.84);
}
.vision-hero-v89__actions {
  display: flex; flex-wrap: wrap; gap: 13px; margin-top: 31px;
}
.vision-hero-v89__signature {
  position: absolute; z-index: 2; right: 5%; bottom: 40px;
  display: grid; gap: 4px;
  padding-left: 22px;
  border-left: 3px solid #ffd347;
  text-transform: uppercase;
}
.vision-hero-v89__signature span { font-size: 11px; letter-spacing: .18em; color: rgba(255,255,255,.62); }
.vision-hero-v89__signature strong { font-size: 13px; letter-spacing: .10em; color: #fff; }

.vision-heading-v89 {
  max-width: 830px; margin: 0 auto 45px; text-align: center;
}
.vision-heading-v89 h2 {
  margin: 10px 0 15px;
  font-size: clamp(38px,5vw,61px);
  line-height: 1.06;
  color: #102f50;
}
.vision-heading-v89 p { margin: 0; line-height: 1.76; color: #627386; }

.vision-statement-v89 { background: #f7faff; }
.vision-statement-v89__grid {
  display: grid; grid-template-columns: .92fr 1.08fr; gap: 65px; align-items: center;
}
.vision-statement-v89__visual { position: relative; }
.vision-statement-v89__visual img {
  width: 100%; min-height: 585px; object-fit: cover;
  border-radius: 30px;
  box-shadow: 0 30px 65px rgba(8,43,80,.17);
}
.vision-statement-v89__badge {
  position: absolute; right: -25px; bottom: 35px;
  width: 205px;
  padding: 25px;
  border: 6px solid #f7faff;
  border-radius: 21px;
  color: #fff;
  background: #0a4f99;
  box-shadow: 0 20px 45px rgba(3,38,74,.22);
}
.vision-statement-v89__badge strong,
.vision-statement-v89__badge span { display: block; }
.vision-statement-v89__badge strong { margin-bottom: 7px; font-size: 38px; color: #ffd347; }
.vision-statement-v89__badge span { font-size: 12px; line-height: 1.5; }
.vision-statement-v89__content h2 {
  margin: 11px 0 20px;
  font-size: clamp(39px,4.8vw,59px);
  line-height: 1.06;
  color: #102f50;
}
.vision-statement-v89__content > p { line-height: 1.76; color: #627386; }
.vision-statement-v89__content .vision-lead-v89 {
  font-size: 18px; font-weight: 700; color: #284968;
}
.vision-principles-v89 { display: grid; gap: 12px; margin-top: 27px; }
.vision-principles-v89 article {
  display: flex; gap: 15px;
  padding: 16px 17px;
  border: 1px solid #dce6ef;
  border-radius: 15px;
  background: #fff;
}
.vision-principles-v89 article > span {
  display: grid; place-items: center;
  flex: 0 0 42px; height: 42px;
  border-radius: 13px;
  font-size: 12px; font-weight: 900;
  color: #0a4f99; background: #fff0ad;
}
.vision-principles-v89 strong { color: #102f50; }
.vision-principles-v89 p { margin: 5px 0 0; font-size: 13px; line-height: 1.55; color: #68798a; }

.vision-mission-v89 {
  color: #fff;
  background:
    radial-gradient(circle at 100% 0, rgba(255,211,71,.13), transparent 27%),
    linear-gradient(135deg,#041b37,#0a4d92);
}
.vision-mission-v89 .vision-heading-v89 h2 { color: #fff; }
.vision-mission-v89 .vision-heading-v89 p { color: rgba(255,255,255,.72); }
.vision-mission-v89__grid {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px;
}
.vision-mission-v89__grid article {
  min-height: 260px;
  padding: 28px 23px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 20px;
  background: rgba(255,255,255,.075);
  backdrop-filter: blur(8px);
}
.vision-card-number-v89 {
  display: inline-block; margin-bottom: 42px;
  font-size: 12px; font-weight: 900; letter-spacing: .14em; color: #ffd347;
}
.vision-mission-v89__grid h3 { margin: 0 0 12px; font-size: 27px; color: #fff; }
.vision-mission-v89__grid p { margin: 0; font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.70); }

.vision-values-v89 { background: #fff; }
.vision-values-v89__grid,
.vision-pillars-v89__grid {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px;
}
.vision-values-v89__grid article {
  position: relative;
  padding: 28px 23px;
  overflow: hidden;
  border: 1px solid #dce6ef;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 13px 31px rgba(7,46,85,.065);
}
.vision-values-v89__grid article::after {
  content: ""; position: absolute; right: -24px; bottom: -32px;
  width: 90px; height: 90px; border-radius: 50%; background: #fff3ba;
}
.vision-values-v89__grid span {
  display: grid; place-items: center;
  width: 45px; height: 45px; margin-bottom: 28px;
  border-radius: 14px; font-size: 12px; font-weight: 900;
  color: #fff; background: #0a4f99;
}
.vision-values-v89__grid h3 { margin: 0 0 10px; font-size: 23px; color: #102f50; }
.vision-values-v89__grid p { position: relative; z-index: 1; margin: 0; font-size: 14px; line-height: 1.65; color: #66788a; }

.vision-objectives-v89 {
  color: #fff;
  background: #061e3d;
}
.vision-objectives-v89__layout {
  display: grid; grid-template-columns: 390px minmax(0,1fr); gap: 60px; align-items: start;
}
.vision-objectives-v89__intro { position: sticky; top: 110px; }
.vision-objectives-v89__intro h2 {
  margin: 10px 0 18px;
  font-size: clamp(39px,4.8vw,58px);
  line-height: 1.06; color: #fff;
}
.vision-objectives-v89__intro p { margin-bottom: 27px; line-height: 1.75; color: rgba(255,255,255,.72); }
.vision-objectives-v89__list { display: grid; gap: 13px; }
.vision-objectives-v89__list article {
  display: flex; gap: 18px;
  padding: 23px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(255,255,255,.065);
}
.vision-objectives-v89__list article > span {
  display: grid; place-items: center;
  flex: 0 0 48px; height: 48px;
  border-radius: 14px; font-size: 12px; font-weight: 900;
  color: #082b56; background: #ffd347;
}
.vision-objectives-v89__list h3 { margin: 0 0 7px; color: #fff; }
.vision-objectives-v89__list p { margin: 0; font-size: 13px; line-height: 1.65; color: rgba(255,255,255,.68); }

.vision-pillars-v89 { background: #f7faff; }
.vision-pillars-v89__grid article {
  padding: 27px 23px;
  border: 1px solid #dce6ef;
  border-radius: 20px;
  background: #fff;
}
.vision-pillars-v89__grid span {
  font-size: 38px; font-weight: 900; color: #e2eaf3;
}
.vision-pillars-v89__grid h3 { margin: 17px 0 10px; color: #102f50; }
.vision-pillars-v89__grid p { margin: 0; font-size: 14px; line-height: 1.65; color: #68798a; }

.vision-impact-v89 { background: #fff; }
.vision-impact-v89__box {
  padding: 54px;
  border-radius: 30px;
  color: #fff;
  background:
    linear-gradient(110deg,rgba(4,29,59,.97),rgba(9,77,145,.89)),
    url("../images/mouvement-groupe-midi.jpeg") center / cover no-repeat;
  box-shadow: 0 25px 60px rgba(4,35,68,.19);
}
.vision-impact-v89__heading { max-width: 750px; margin-bottom: 36px; }
.vision-impact-v89__heading h2 {
  margin: 9px 0 13px;
  font-size: clamp(38px,4.8vw,58px); line-height: 1.06; color: #fff;
}
.vision-impact-v89__heading p { color: rgba(255,255,255,.70); }
.vision-impact-v89__grid {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px;
}
.vision-impact-v89__grid article {
  padding: 22px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 16px;
  background: rgba(255,255,255,.09);
  backdrop-filter: blur(8px);
}
.vision-impact-v89__grid strong,
.vision-impact-v89__grid span { display: block; }
.vision-impact-v89__grid strong { margin-bottom: 7px; font-size: 39px; color: #ffd347; }
.vision-impact-v89__grid span { font-size: 12px; text-transform: uppercase; letter-spacing: .07em; color: rgba(255,255,255,.72); }

.vision-roadmap-v89 { background: #f7faff; }
.vision-roadmap-v89__line {
  position: relative;
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px;
}
.vision-roadmap-v89__line::before {
  content: ""; position: absolute; left: 7%; right: 7%; top: 23px;
  height: 2px; background: #b9cce0;
}
.vision-roadmap-v89__line article { position: relative; padding-top: 56px; text-align: center; }
.vision-roadmap-v89__line article::before {
  content: ""; position: absolute; left: 50%; top: 14px;
  width: 20px; height: 20px; transform: translateX(-50%);
  border: 5px solid #f7faff; border-radius: 50%; background: #0a4f99;
  box-shadow: 0 0 0 2px #0a4f99;
}
.vision-roadmap-v89__line span,
.vision-roadmap-v89__line strong { display: block; }
.vision-roadmap-v89__line span {
  margin-bottom: 9px; font-size: 11px; font-weight: 900;
  text-transform: uppercase; letter-spacing: .11em; color: #0a4f99;
}
.vision-roadmap-v89__line strong { margin-bottom: 10px; font-size: 22px; color: #102f50; }
.vision-roadmap-v89__line p { margin: 0; font-size: 13px; line-height: 1.68; color: #68798a; }

.vision-quote-v89 {
  position: relative; min-height: 490px; display: flex; align-items: center;
  background: url("../images/president-national-v84.jpg") center 28% / cover no-repeat;
}
.vision-quote-v89__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg,rgba(3,21,43,.97),rgba(4,40,79,.80),rgba(4,40,79,.38));
}
.vision-quote-v89__content { position: relative; z-index: 2; max-width: 850px; color: #fff; }
.vision-quote-v89__mark {
  display: block; height: 55px;
  font-family: Georgia,serif; font-size: 100px; line-height: .9; color: #ffd347;
}
.vision-quote-v89 blockquote {
  margin: 10px 0 20px;
  font-size: clamp(31px,4vw,52px);
  line-height: 1.2;
  font-weight: 800;
  color: #fff;
}
.vision-quote-v89 p { margin: 0; font-weight: 800; color: #ffd347; }

.vision-cta-v89 { padding-top: 32px !important; }
.vision-cta-v89__box {
  display: flex; align-items: center; justify-content: space-between; gap: 40px;
  padding: 47px 50px;
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 15%,rgba(255,211,71,.17),transparent 28%),
    linear-gradient(125deg,#061e3d,#0a4f99);
}
.vision-cta-v89__box > div:first-child { max-width: 740px; }
.vision-cta-v89__box h2 {
  margin: 8px 0 12px;
  font-size: clamp(34px,4vw,50px);
  color: #fff;
}
.vision-cta-v89__box p { margin: 0; color: rgba(255,255,255,.73); }
.vision-cta-v89__actions { display: flex; flex-wrap: wrap; gap: 10px; flex: 0 0 auto; }

@media screen and (max-width: 900px) {
  .vision-page-v89 .reveal {
    opacity: 1 !important; visibility: visible !important; transform: none !important;
  }
  .vision-hero-v89 { min-height: 520px; background-position: 57% center; }
  .vision-hero-v89__content { padding-top: 75px; padding-bottom: 80px; }
  .vision-hero-v89 h1 { font-size: clamp(50px,16vw,74px); }
  .vision-hero-v89 p { font-size: 15px; }
  .vision-hero-v89__actions {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px;
  }
  .vision-hero-v89__actions .btn { width: 100%; padding: 12px 8px; font-size: 11px; }
  .vision-hero-v89__signature { display: none; }

  .vision-statement-v89__grid,
  .vision-objectives-v89__layout { grid-template-columns: 1fr; gap: 34px; }
  .vision-statement-v89__visual img { min-height: 390px; }
  .vision-statement-v89__badge { right: 12px; bottom: 12px; width: 175px; border-width: 4px; }
  .vision-statement-v89__content h2,
  .vision-objectives-v89__intro h2 { font-size: 38px; }
  .vision-objectives-v89__intro { position: static; }

  .vision-mission-v89__grid,
  .vision-impact-v89__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .vision-mission-v89__grid article { min-height: 220px; padding: 20px 15px; }
  .vision-card-number-v89 { margin-bottom: 28px; }
  .vision-mission-v89__grid p { font-size: 12px; }

  .vision-values-v89__grid,
  .vision-pillars-v89__grid { grid-template-columns: 1fr; }
  .vision-impact-v89__box { padding: 31px 18px; }
  .vision-impact-v89__grid strong { font-size: 30px; }
  .vision-impact-v89__grid span { font-size: 10px; }

  .vision-roadmap-v89__line { grid-template-columns: 1fr; gap: 13px; }
  .vision-roadmap-v89__line::before { display: none; }
  .vision-roadmap-v89__line article {
    padding: 20px 18px 20px 58px;
    border: 1px solid #dce6ef; border-radius: 16px;
    text-align: left; background: #fff;
  }
  .vision-roadmap-v89__line article::before { left: 25px; top: 24px; transform: none; border-color: #fff; }

  .vision-quote-v89 { min-height: 440px; background-position: 60% center; }
  .vision-quote-v89 blockquote { font-size: 30px; }
  .vision-cta-v89__box { display: grid; padding: 30px 20px; }
  .vision-cta-v89__actions { display: grid; grid-template-columns: 1fr; }
  .vision-cta-v89__actions .btn { width: 100%; }
}

@media screen and (max-width: 480px) {
  .vision-mission-v89__grid,
  .vision-impact-v89__grid { grid-template-columns: 1fr; }
  .vision-mission-v89__grid article { min-height: auto; }
}


/* V8.9.1 — Téléchargement de la fiche d’adhésion PDF */
.midi-pdf-download-v891 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 9px;
  padding: 11px 16px;
  border-radius: 10px;
  font-weight: 850;
  text-decoration: none;
  color: #fff;
  background: #0a4f99;
}
.midi-pdf-download-v891:hover {
  color: #082b56;
  background: #ffd347;
}


/* =========================================================
   V9.0 — GALERIE PREMIUM
   ========================================================= */
.gallery-page-v90 {
  overflow: hidden;
  background: #fff;
}
.gallery-hero-v90 {
  position: relative;
  min-height: 610px;
  display: flex;
  align-items: center;
  color: #fff;
  background: url("../images/galerie-13.jpg") center 34% / cover no-repeat;
}
.gallery-hero-v90__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 16%, rgba(255,211,71,.15), transparent 30%),
    linear-gradient(90deg, rgba(3,20,42,.98) 0%, rgba(4,42,82,.87) 55%, rgba(4,42,82,.35) 100%),
    linear-gradient(180deg, transparent 58%, rgba(3,20,42,.70));
}
.gallery-hero-v90__content {
  position: relative;
  z-index: 2;
  max-width: 820px;
  padding-top: 105px;
  padding-bottom: 105px;
}
.gallery-hero-v90 h1 {
  margin: 10px 0 19px;
  font-size: clamp(62px,9vw,112px);
  line-height: .9;
  letter-spacing: -.06em;
  color: #fff;
}
.gallery-hero-v90 p {
  max-width: 730px;
  margin: 0 0 28px;
  font-size: 18px;
  line-height: 1.75;
  color: rgba(255,255,255,.83);
}

.gallery-intro-v90 {
  padding-bottom: 45px !important;
  background: #fff;
}
.gallery-intro-v90__grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 65px;
  align-items: end;
}
.gallery-intro-v90 h2 {
  margin: 10px 0 0;
  font-size: clamp(40px,5vw,63px);
  line-height: 1.05;
  color: #102f50;
}
.gallery-intro-v90 p {
  margin: 0;
  line-height: 1.78;
  color: #66788a;
}

.gallery-main-v90 {
  padding-top: 35px !important;
  background: #f5f8fc;
}
.gallery-toolbar-v90 {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  align-items: center;
  margin-bottom: 28px;
}
.gallery-filters-v90 {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.gallery-filters-v90 button {
  padding: 11px 16px;
  border: 1px solid #d7e1ec;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  color: #3e5367;
  background: #fff;
  cursor: pointer;
  transition: .22s ease;
}
.gallery-filters-v90 button:hover,
.gallery-filters-v90 button.is-active {
  border-color: #0a4f99;
  color: #fff;
  background: #0a4f99;
  box-shadow: 0 10px 24px rgba(10,79,153,.18);
}
.gallery-count-v90 {
  display: flex;
  align-items: baseline;
  gap: 7px;
  flex: 0 0 auto;
}
.gallery-count-v90 strong {
  font-size: 26px;
  color: #0a4f99;
}
.gallery-count-v90 span {
  font-size: 12px;
  color: #718193;
}

.gallery-grid-v90 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  grid-auto-flow: dense;
  gap: 15px;
}
.gallery-card-v90 {
  grid-column: span 4;
  min-height: 315px;
}
.gallery-card-v90:nth-child(1),
.gallery-card-v90:nth-child(8),
.gallery-card-v90:nth-child(13) {
  grid-column: span 8;
}
.gallery-card-v90:nth-child(1) {
  min-height: 470px;
}
.gallery-card-v90:nth-child(5),
.gallery-card-v90:nth-child(10),
.gallery-card-v90:nth-child(16) {
  grid-column: span 4;
  min-height: 470px;
}
.gallery-card-v90[hidden] {
  display: none !important;
}
.gallery-card-v90__button {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 20px;
  background: #dce5ee;
  cursor: zoom-in;
  box-shadow: 0 14px 32px rgba(5,42,79,.09);
}
.gallery-card-v90 img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}
.gallery-card-v90__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 43%, rgba(3,19,39,.82)),
    linear-gradient(90deg, rgba(3,19,39,.12), transparent 55%);
  transition: background .3s ease;
}
.gallery-card-v90__meta {
  position: absolute;
  left: 22px;
  right: 68px;
  bottom: 20px;
  display: grid;
  gap: 5px;
  text-align: left;
  color: #fff;
}
.gallery-card-v90__meta small {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: #ffd347;
}
.gallery-card-v90__meta strong {
  font-size: 20px;
  line-height: 1.25;
  color: #fff;
}
.gallery-card-v90__zoom {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.43);
  border-radius: 50%;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  color: #fff;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(9px);
  transition: .25s ease;
}
.gallery-card-v90__button:hover img {
  transform: scale(1.055);
}
.gallery-card-v90__button:hover .gallery-card-v90__zoom {
  color: #082b56;
  border-color: #ffd347;
  background: #ffd347;
  transform: rotate(90deg);
}
.gallery-empty-v90 {
  margin-top: 25px;
  padding: 30px;
  border: 1px dashed #bdcbd9;
  border-radius: 18px;
  text-align: center;
  color: #607285;
  background: #fff;
}

.gallery-highlight-v90 {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  color: #fff;
  background: url("../images/mouvement-groupe-midi.jpeg") center / cover no-repeat;
}
.gallery-highlight-v90__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3,20,42,.96), rgba(4,45,87,.75), rgba(4,45,87,.28)),
    linear-gradient(180deg, transparent, rgba(3,20,42,.45));
}
.gallery-highlight-v90__content {
  position: relative;
  z-index: 2;
  max-width: 820px;
}
.gallery-highlight-v90 h2 {
  margin: 10px 0 18px;
  font-size: clamp(40px,5.5vw,66px);
  line-height: 1.05;
  color: #fff;
}
.gallery-highlight-v90 p {
  max-width: 710px;
  margin: 0;
  font-size: 17px;
  line-height: 1.76;
  color: rgba(255,255,255,.76);
}

.gallery-cta-v90 {
  padding-top: 35px !important;
}
.gallery-cta-v90__box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 46px 50px;
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 10%, rgba(255,211,71,.16), transparent 29%),
    linear-gradient(125deg,#061e3d,#0a4f99);
}
.gallery-cta-v90__box > div {
  max-width: 760px;
}
.gallery-cta-v90__box h2 {
  margin: 8px 0 12px;
  font-size: clamp(34px,4.4vw,52px);
  color: #fff;
}
.gallery-cta-v90__box p {
  margin: 0;
  color: rgba(255,255,255,.73);
}

.gallery-lightbox-v90 {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 95px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: rgba(1,10,22,.95);
  backdrop-filter: blur(10px);
  transition: .25s ease;
}
.gallery-lightbox-v90.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.gallery-lightbox-v90__figure {
  width: min(1120px, 100%);
  max-height: calc(100vh - 60px);
  margin: 0;
  display: grid;
  grid-template-rows: minmax(0,1fr) auto;
}
.gallery-lightbox-v90__figure img {
  width: 100%;
  max-height: calc(100vh - 150px);
  object-fit: contain;
  border-radius: 15px;
}
.gallery-lightbox-v90__figure figcaption {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 20px;
  padding-top: 16px;
  color: #fff;
}
.gallery-lightbox-v90__figure small {
  grid-column: 1;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffd347;
}
.gallery-lightbox-v90__figure strong {
  grid-column: 1;
  font-size: 18px;
  color: #fff;
}
.gallery-lightbox-v90__figure span {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  font-size: 13px;
  color: rgba(255,255,255,.62);
}
.gallery-lightbox-v90__close,
.gallery-lightbox-v90__nav {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.08);
  cursor: pointer;
}
.gallery-lightbox-v90__close {
  top: 22px;
  right: 24px;
  width: 45px;
  height: 45px;
  font-size: 29px;
}
.gallery-lightbox-v90__nav {
  top: 50%;
  width: 52px;
  height: 52px;
  transform: translateY(-50%);
  font-size: 42px;
  line-height: 1;
}
.gallery-lightbox-v90__prev { left: 23px; }
.gallery-lightbox-v90__next { right: 23px; }
.gallery-lightbox-v90__close:hover,
.gallery-lightbox-v90__nav:hover {
  color: #082b56;
  border-color: #ffd347;
  background: #ffd347;
}
body.gallery-lightbox-open-v90 {
  overflow: hidden;
}

@media screen and (max-width: 900px) {
  .gallery-page-v90 .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .gallery-hero-v90 {
    min-height: 500px;
    background-position: 58% center;
  }
  .gallery-hero-v90__content {
    padding-top: 75px;
    padding-bottom: 75px;
  }
  .gallery-hero-v90 h1 {
    font-size: clamp(55px,17vw,80px);
  }
  .gallery-hero-v90 p {
    font-size: 15px;
  }
  .gallery-intro-v90__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .gallery-intro-v90 h2 {
    font-size: 39px;
  }
  .gallery-toolbar-v90 {
    display: grid;
  }
  .gallery-filters-v90 {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 7px;
    scrollbar-width: none;
  }
  .gallery-filters-v90::-webkit-scrollbar {
    display: none;
  }
  .gallery-filters-v90 button {
    flex: 0 0 auto;
  }
  .gallery-count-v90 {
    justify-content: flex-end;
  }
  .gallery-grid-v90 {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
  }
  .gallery-card-v90,
  .gallery-card-v90:nth-child(1),
  .gallery-card-v90:nth-child(5),
  .gallery-card-v90:nth-child(8),
  .gallery-card-v90:nth-child(10),
  .gallery-card-v90:nth-child(13),
  .gallery-card-v90:nth-child(16) {
    grid-column: span 1;
    min-height: 245px;
  }
  .gallery-card-v90:nth-child(1),
  .gallery-card-v90:nth-child(6),
  .gallery-card-v90:nth-child(11) {
    grid-column: span 2;
    min-height: 340px;
  }
  .gallery-card-v90__meta {
    left: 14px;
    right: 50px;
    bottom: 14px;
  }
  .gallery-card-v90__meta strong {
    font-size: 15px;
  }
  .gallery-card-v90__zoom {
    right: 12px;
    bottom: 12px;
    width: 34px;
    height: 34px;
    font-size: 22px;
  }
  .gallery-highlight-v90 {
    min-height: 460px;
    background-position: 58% center;
  }
  .gallery-highlight-v90 h2 {
    font-size: 39px;
  }
  .gallery-cta-v90__box {
    display: grid;
    padding: 30px 20px;
  }
  .gallery-cta-v90__box .btn {
    width: 100%;
  }
  .gallery-lightbox-v90 {
    padding: 70px 12px 25px;
  }
  .gallery-lightbox-v90__nav {
    top: auto;
    bottom: 24px;
    width: 44px;
    height: 44px;
  }
  .gallery-lightbox-v90__prev { left: 15px; }
  .gallery-lightbox-v90__next { right: 15px; }
  .gallery-lightbox-v90__figure {
    max-height: calc(100vh - 110px);
  }
  .gallery-lightbox-v90__figure img {
    max-height: calc(100vh - 205px);
  }
  .gallery-lightbox-v90__figure figcaption {
    padding: 14px 55px 0;
    text-align: center;
  }
  .gallery-lightbox-v90__figure small,
  .gallery-lightbox-v90__figure strong,
  .gallery-lightbox-v90__figure span {
    grid-column: 1 / -1;
  }
  .gallery-lightbox-v90__figure span {
    grid-row: auto;
  }
}

@media screen and (max-width: 480px) {
  .gallery-grid-v90 {
    grid-template-columns: 1fr;
  }
  .gallery-card-v90,
  .gallery-card-v90:nth-child(1),
  .gallery-card-v90:nth-child(5),
  .gallery-card-v90:nth-child(6),
  .gallery-card-v90:nth-child(8),
  .gallery-card-v90:nth-child(10),
  .gallery-card-v90:nth-child(11),
  .gallery-card-v90:nth-child(13),
  .gallery-card-v90:nth-child(16) {
    grid-column: span 1;
    min-height: 290px;
  }
}


/* =========================================================
   V9.1 — WHATSAPP FLOTTANT
   ========================================================= */
.midi-whatsapp-float-v91 {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 99998;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 56px;
  padding: 7px 17px 7px 7px;
  border-radius: 999px;
  color: #fff;
  background: #19a95b;
  text-decoration: none;
  box-shadow: 0 15px 35px rgba(0,0,0,.24);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.midi-whatsapp-float-v91:hover {
  color: #fff;
  background: #128c4d;
  transform: translateY(-3px);
  box-shadow: 0 19px 43px rgba(0,0,0,.28);
}
.midi-whatsapp-float-v91__icon {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
}
.midi-whatsapp-float-v91__icon svg {
  width: 29px;
  height: 29px;
  fill: currentColor;
}
.midi-whatsapp-float-v91__label {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .01em;
}
.midi-whatsapp-float-v91__pulse {
  position: absolute;
  left: 8px;
  top: 8px;
  width: 41px;
  height: 41px;
  border-radius: 50%;
  background: rgba(255,255,255,.32);
  animation: midiWhatsappPulseV91 2s infinite;
}
@keyframes midiWhatsappPulseV91 {
  0% { transform: scale(.82); opacity: .65; }
  70% { transform: scale(1.55); opacity: 0; }
  100% { opacity: 0; }
}

/* =========================================================
   V9.1 — BIOGRAPHIE DU CHEF DE L'ÉTAT
   ========================================================= */
.state-bio-page-v91 {
  overflow: hidden;
  background: #fff;
}
.state-bio-hero-v91 {
  position: relative;
  min-height: 710px;
  display: flex;
  align-items: center;
  color: #fff;
  background: url("../images/president-national-v84.jpg") center 24% / cover no-repeat;
}
.state-bio-hero-v91__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(255,211,71,.15), transparent 27%),
    linear-gradient(90deg, rgba(3,20,42,.98) 0%, rgba(4,41,80,.89) 55%, rgba(4,41,80,.30) 100%),
    linear-gradient(180deg, transparent 55%, rgba(2,17,35,.70));
}
.state-bio-hero-v91__content {
  position: relative;
  z-index: 2;
  max-width: 980px;
  padding-top: 115px;
  padding-bottom: 115px;
}
.state-bio-hero-v91 h1 {
  margin: 12px 0 24px;
  max-width: 970px;
  font-size: clamp(48px,6.4vw,87px);
  line-height: .98;
  letter-spacing: -.045em;
  color: #fff;
}
.state-bio-hero-v91 p {
  max-width: 700px;
  margin: 0 0 30px;
  font-size: 19px;
  line-height: 1.7;
  color: rgba(255,255,255,.82);
}

.state-bio-intro-v91 {
  background: #f6f9fd;
}
.state-bio-intro-v91__grid {
  display: grid;
  grid-template-columns: 360px minmax(0,1fr);
  gap: 65px;
  align-items: start;
}
.state-bio-profile-v91 {
  position: sticky;
  top: 110px;
}
.state-bio-profile-v91__photo img {
  width: 100%;
  height: 450px;
  display: block;
  object-fit: cover;
  object-position: center top;
  border-radius: 25px 25px 0 0;
}
.state-bio-profile-v91__card {
  padding: 27px 24px;
  border: 1px solid #dce5ef;
  border-top: 0;
  border-radius: 0 0 25px 25px;
  background: #fff;
  box-shadow: 0 24px 55px rgba(7,43,80,.12);
}
.state-bio-profile-v91 dl {
  display: grid;
  gap: 0;
  margin: 20px 0 0;
}
.state-bio-profile-v91 dl div {
  display: grid;
  gap: 4px;
  padding: 13px 0;
  border-bottom: 1px solid #e5ebf2;
}
.state-bio-profile-v91 dl div:last-child {
  border-bottom: 0;
}
.state-bio-profile-v91 dt {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: #0a4f99;
}
.state-bio-profile-v91 dd {
  margin: 0;
  font-size: 14px;
  font-weight: 750;
  color: #203d59;
}
.state-bio-content-v91 h2 {
  margin: 10px 0 24px;
  font-size: clamp(42px,5.2vw,65px);
  line-height: 1.05;
  color: #102f50;
}
.state-bio-content-v91 p,
.state-bio-prose-v91 p,
.state-bio-movement-v91__content p {
  font-size: 16px;
  line-height: 1.84;
  color: #5e7184;
}
.state-bio-lead-v91 {
  font-size: 20px !important;
  font-weight: 800;
  line-height: 1.65 !important;
  color: #244967 !important;
}

.state-bio-military-v91 {
  color: #fff;
  background:
    radial-gradient(circle at 90% 5%, rgba(255,211,71,.14), transparent 26%),
    linear-gradient(130deg,#041a35,#0a4e94);
}
.state-bio-two-columns-v91 {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 75px;
  align-items: start;
}
.state-bio-section-heading-v91 h2 {
  margin: 10px 0 0;
  font-size: clamp(40px,5vw,62px);
  line-height: 1.06;
  color: #fff;
}
.state-bio-military-v91 .state-bio-prose-v91 p {
  color: rgba(255,255,255,.76);
}
.state-bio-marshal-v91 .state-bio-section-heading-v91 h2 {
  color: #102f50;
}

.state-bio-transition-v91 {
  background: #fff;
}
.state-bio-heading-v91 {
  max-width: 860px;
  margin: 0 auto 48px;
  text-align: center;
}
.state-bio-heading-v91 h2 {
  margin: 10px 0 0;
  font-size: clamp(39px,5vw,62px);
  line-height: 1.06;
  color: #102f50;
}
.state-bio-timeline-v91 {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.state-bio-timeline-v91 article {
  position: relative;
  padding: 29px 25px;
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 21px;
  background: #f8fafd;
  box-shadow: 0 13px 30px rgba(7,43,80,.06);
}
.state-bio-timeline-v91 article::after {
  content: "";
  position: absolute;
  right: -25px;
  bottom: -30px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #fff2b5;
}
.state-bio-timeline-v91 span {
  display: inline-block;
  margin-bottom: 29px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: #0a4f99;
}
.state-bio-timeline-v91 h3 {
  margin: 0 0 11px;
  font-size: 24px;
  color: #102f50;
}
.state-bio-timeline-v91 p {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 14px;
  line-height: 1.72;
  color: #66788a;
}

.state-bio-vision-v91 {
  position: relative;
  min-height: 530px;
  display: flex;
  align-items: center;
  color: #fff;
  background: url("../images/galerie-13.jpg") center / cover no-repeat;
}
.state-bio-vision-v91__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(3,20,42,.97),rgba(5,51,99,.76),rgba(5,51,99,.30));
}
.state-bio-vision-v91__content {
  position: relative;
  z-index: 2;
  max-width: 860px;
}
.state-bio-vision-v91 h2 {
  margin: 10px 0 20px;
  font-size: clamp(40px,5.4vw,68px);
  line-height: 1.05;
  color: #fff;
}
.state-bio-vision-v91 p {
  max-width: 760px;
  margin: 0;
  font-size: 17px;
  line-height: 1.78;
  color: rgba(255,255,255,.76);
}

.state-bio-marshal-v91 {
  background: #f6f9fd;
}
.state-bio-priorities-v91 {
  background: #fff;
}
.state-bio-priorities-v91__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.state-bio-priorities-v91__grid article {
  padding: 27px 23px;
  border: 1px solid #dce5ef;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 13px 30px rgba(6,43,80,.06);
}
.state-bio-priorities-v91__grid span {
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  margin-bottom: 26px;
  border-radius: 14px;
  font-size: 12px;
  font-weight: 900;
  color: #082b56;
  background: #ffd347;
}
.state-bio-priorities-v91__grid h3 {
  margin: 0 0 10px;
  font-size: 22px;
  color: #102f50;
}
.state-bio-priorities-v91__grid p {
  margin: 0;
  font-size: 14px;
  line-height: 1.67;
  color: #66788a;
}

.state-bio-leadership-v91 {
  padding-top: 30px !important;
  background: #fff;
}
.state-bio-leadership-v91__box {
  padding: 52px;
  border-radius: 29px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 0,rgba(255,211,71,.16),transparent 30%),
    linear-gradient(125deg,#041a35,#0a4e94);
}
.state-bio-leadership-v91 blockquote {
  max-width: 1030px;
  margin: 13px 0 0;
  font-size: clamp(27px,3.8vw,47px);
  line-height: 1.28;
  font-weight: 800;
  color: #fff;
}

.state-bio-movement-v91 {
  background: #f6f9fd;
}
.state-bio-movement-v91__grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 60px;
  align-items: center;
}
.state-bio-movement-v91__visual img {
  width: 100%;
  min-height: 590px;
  display: block;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 26px 55px rgba(7,43,80,.16);
}
.state-bio-movement-v91__content h2 {
  margin: 10px 0 22px;
  font-size: clamp(39px,4.8vw,60px);
  line-height: 1.06;
  color: #102f50;
}
.state-bio-movement-v91__content .btn {
  margin-top: 10px;
}

@media screen and (max-width: 900px) {
  .midi-whatsapp-float-v91 {
    right: 14px;
    bottom: 14px;
    min-height: 54px;
    padding-right: 8px;
  }
  .midi-whatsapp-float-v91__label {
    display: none;
  }

  .state-bio-page-v91 .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .state-bio-hero-v91 {
    min-height: 545px;
    background-position: 62% top;
  }
  .state-bio-hero-v91__content {
    padding-top: 78px;
    padding-bottom: 80px;
  }
  .state-bio-hero-v91 h1 {
    max-width: 650px;
    font-size: clamp(42px,12vw,65px);
  }
  .state-bio-hero-v91 p {
    font-size: 15px;
  }

  .state-bio-intro-v91__grid,
  .state-bio-two-columns-v91,
  .state-bio-movement-v91__grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .state-bio-profile-v91 {
    position: static;
  }
  .state-bio-profile-v91__photo img {
    height: 510px;
  }
  .state-bio-content-v91 h2,
  .state-bio-section-heading-v91 h2,
  .state-bio-vision-v91 h2,
  .state-bio-movement-v91__content h2 {
    font-size: 39px;
  }
  .state-bio-timeline-v91,
  .state-bio-priorities-v91__grid {
    grid-template-columns: 1fr;
  }
  .state-bio-vision-v91 {
    min-height: 480px;
    background-position: 57% center;
  }
  .state-bio-leadership-v91__box {
    padding: 32px 21px;
  }
  .state-bio-leadership-v91 blockquote {
    font-size: 29px;
  }
  .state-bio-movement-v91__visual img {
    min-height: 410px;
  }
}

@media screen and (max-width: 480px) {
  .state-bio-hero-v91 h1 {
    font-size: 39px;
  }
  .state-bio-profile-v91__photo img {
    height: 420px;
  }
}


/* =========================================================
   V10 — ACCUEIL INSTITUTIONNEL
   ========================================================= */
.brand-logo img{width:auto;max-height:78px;object-fit:contain}
.home-head-state-v10{background:linear-gradient(180deg,#fff,#f4f8fc)}
.home-movement-president-v10{background:#fff}
.home-leader-grid-v10{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);gap:68px;align-items:center}
.home-leader-grid-v10--reverse .home-leader-photo-v10{order:2}
.home-leader-grid-v10--reverse .home-leader-copy-v10{order:1}
.home-leader-photo-v10{position:relative}
.home-leader-photo-v10::before{content:"";position:absolute;left:-18px;top:-18px;width:58%;height:58%;border-radius:28px;background:#ffd347;z-index:0}
.home-leader-photo-v10::after{content:"";position:absolute;right:-17px;bottom:-17px;width:62%;height:52%;border-radius:28px;background:#0a4f99;z-index:0}
.home-leader-photo-v10 img{position:relative;z-index:1;width:100%;height:570px;display:block;object-fit:cover;object-position:center top;border-radius:28px;box-shadow:0 28px 65px rgba(4,40,78,.19)}
.home-leader-photo-v10 span{position:absolute;z-index:2;left:24px;bottom:24px;padding:10px 16px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#082b56;background:#ffd347;box-shadow:0 10px 25px rgba(0,0,0,.17)}
.home-leader-copy-v10 h2{margin:10px 0 20px;font-size:clamp(43px,5.4vw,69px);line-height:1.02;color:#102f50}
.home-leader-copy-v10 p{font-size:16px;line-height:1.82;color:#607386}
.home-leader-copy-v10 .lead{font-size:20px;font-weight:800;line-height:1.62;color:#254b6b}
.home-leader-copy-v10 blockquote{margin:25px 0;padding:20px 22px;border-left:5px solid #ffd347;border-radius:0 14px 14px 0;font-size:20px;font-weight:800;line-height:1.55;color:#153c60;background:#f5f8fc}
.home-leader-actions-v10{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}
.btn-outline-dark-v10{border:1px solid #0a4f99;color:#0a4f99;background:transparent}
.btn-outline-dark-v10:hover{color:#fff;background:#0a4f99}
@media(max-width:900px){
 .brand-logo img{max-height:60px}
 .home-leader-grid-v10{grid-template-columns:1fr;gap:40px}
 .home-leader-grid-v10--reverse .home-leader-photo-v10,.home-leader-grid-v10--reverse .home-leader-copy-v10{order:initial}
 .home-leader-photo-v10 img{height:500px}
 .home-leader-copy-v10 h2{font-size:40px}
}
@media(max-width:480px){
 .home-leader-photo-v10 img{height:420px}
 .home-leader-actions-v10{display:grid}
 .home-leader-actions-v10 .btn{width:100%}
}


/* V10.1 — Correction des portraits du Président de la République */
.home-head-state-v10 .home-leader-visual-v10 img {
  object-position: center 16%;
}
.state-bio-profile-v91__photo img {
  object-position: center 12%;
}


/* =========================================================
   V10.2 — BIOGRAPHIE PREMIUM, MAQUETTE VALIDÉE
   ========================================================= */
.marshal-bio-v102 {
  overflow: hidden;
  background: #fff;
  color: #132e4c;
}
.marshal-bio-v102 * {
  box-sizing: border-box;
}
.marshal-hero-v102 {
  position: relative;
  min-height: 680px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(3,22,48,.97) 0%, rgba(6,42,82,.87) 50%, rgba(7,47,88,.54) 100%),
    url("../images/galerie-13.jpg") center / cover no-repeat;
}
.marshal-hero-v102__flag {
  position: absolute;
  left: -60px;
  top: 0;
  bottom: 0;
  width: 48%;
  opacity: .33;
  transform: skewX(-8deg);
  background:
    linear-gradient(90deg,
      #032f6b 0 33.333%,
      #f6c400 33.333% 66.666%,
      #c9142e 66.666% 100%);
  filter: saturate(1.08);
}
.marshal-hero-v102__shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 75% 10%, rgba(255,196,0,.18), transparent 29%),
    linear-gradient(180deg, transparent 55%, rgba(2,15,33,.52));
}
.marshal-hero-v102__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(370px,.9fr);
  align-items: end;
  gap: 30px;
  min-height: 680px;
}
.marshal-hero-v102__copy {
  align-self: center;
  max-width: 760px;
  padding: 115px 0 85px;
}
.marshal-eyebrow-v102,
.marshal-section-label-v102 {
  display: inline-block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #123c6d;
}
.marshal-eyebrow-v102 {
  position: relative;
  padding-bottom: 13px;
  color: rgba(255,255,255,.88);
}
.marshal-eyebrow-v102::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 73px;
  height: 3px;
  background: linear-gradient(90deg,#ffd027 0 45%,#fff 45% 68%,#e51c39 68%);
}
.marshal-section-label-v102.light {
  color: #fff;
}
.marshal-hero-v102 h1 {
  margin: 20px 0 20px;
  font-size: clamp(46px,5vw,72px);
  line-height: 1.03;
  letter-spacing: -.035em;
  color: #fff;
}
.marshal-hero-v102 h1 em {
  font-style: normal;
  color: #ffc51c;
}
.marshal-hero-v102__copy p {
  max-width: 660px;
  margin: 0;
  font-size: 16px;
  line-height: 1.78;
  color: rgba(255,255,255,.83);
}
.marshal-hero-v102__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}
.marshal-btn-v102 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 52px;
  padding: 0 23px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-decoration: none;
  transition: .24s ease;
}
.marshal-btn-v102 span {
  font-size: 19px;
}
.marshal-btn-v102--outline {
  border: 1px solid rgba(255,255,255,.62);
  color: #fff;
  background: rgba(6,39,75,.35);
}
.marshal-btn-v102--gold {
  color: #082c58;
  background: #ffc51c;
  box-shadow: 0 12px 28px rgba(255,197,28,.20);
}
.marshal-btn-v102--navy {
  color: #fff;
  background: #07376f;
}
.marshal-btn-v102:hover {
  transform: translateY(-2px);
}
.marshal-btn-v102--outline:hover {
  color: #082c58;
  border-color: #ffc51c;
  background: #ffc51c;
}
.marshal-btn-v102--gold:hover,
.marshal-btn-v102--navy:hover {
  color: #fff;
  background: #d71939;
}
.marshal-hero-v102__portrait {
  align-self: end;
  height: 640px;
  display: flex;
  justify-content: center;
  align-items: end;
}
.marshal-hero-v102__portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 42% center;
  clip-path: polygon(8% 0,100% 0,100% 100%,0 100%,0 8%);
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.35));
}
.marshal-hero-v102__identity {
  position: absolute;
  right: 0;
  bottom: 42px;
  width: min(310px,30vw);
  padding: 22px 25px;
  border: 1px solid #ffc51c;
  border-radius: 17px;
  color: #fff;
  background: rgba(2,32,67,.87);
  backdrop-filter: blur(9px);
}
.marshal-hero-v102__identity strong {
  display: block;
  margin-bottom: 9px;
  font-size: 18px;
  line-height: 1.25;
  text-transform: uppercase;
  color: #ffc51c;
}
.marshal-hero-v102__identity span {
  font-size: 12px;
  line-height: 1.55;
  color: rgba(255,255,255,.80);
}

.marshal-intro-v102 {
  padding: 72px 0;
  background: #fff;
}
.marshal-intro-v102__grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 70px;
  align-items: center;
}
.marshal-intro-v102__copy h2,
.marshal-story-v102__copy h2,
.marshal-centered-heading-v102 h2,
.marshal-vision-v102 h2,
.marshal-movement-v102 h2 {
  margin: 8px 0 12px;
  color: #07376f;
  letter-spacing: -.03em;
}
.marshal-intro-v102__copy h2 {
  font-size: clamp(42px,5vw,64px);
  line-height: 1;
}
.marshal-title-line-v102 {
  width: 62px;
  height: 3px;
  margin: 17px 0 25px;
  background: #ffc51c;
}
.marshal-intro-v102__copy p,
.marshal-story-v102__copy p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.83;
  color: #5d6d7e;
}
.marshal-intro-v102__copy .marshal-btn-v102 {
  margin-top: 9px;
}
.marshal-intro-v102__photo {
  margin: 0;
}
.marshal-intro-v102__photo img {
  width: 100%;
  height: 355px;
  display: block;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 16px;
  box-shadow: 0 18px 38px rgba(7,55,111,.14);
}

.marshal-timeline-v102 {
  padding: 65px 0;
  color: #fff;
  background:
    radial-gradient(circle at 90% 20%, rgba(0,91,173,.28), transparent 28%),
    linear-gradient(125deg,#062e62,#003f7f 58%,#00549a);
}
.marshal-timeline-v102__heading {
  margin-bottom: 32px;
}
.marshal-timeline-v102__layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 350px;
  gap: 48px;
  align-items: center;
}
.marshal-timeline-v102__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 14px;
}
.marshal-timeline-v102__steps::before {
  content: "";
  position: absolute;
  left: 5%;
  right: 5%;
  top: 34px;
  height: 2px;
  background: rgba(255,197,28,.75);
}
.marshal-timeline-v102__steps article {
  position: relative;
  z-index: 1;
  text-align: center;
}
.marshal-step-icon-v102 {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  margin: 0 auto 18px;
  border: 2px solid #ffc51c;
  border-radius: 50%;
  font-size: 25px;
  background: #07376f;
}
.marshal-timeline-v102__steps h3 {
  min-height: 45px;
  margin: 0 0 9px;
  font-size: 14px;
  line-height: 1.35;
  color: #fff;
}
.marshal-timeline-v102__steps p {
  margin: 0;
  font-size: 11px;
  line-height: 1.65;
  color: rgba(255,255,255,.70);
}
.marshal-timeline-v102__photo {
  margin: 0;
}
.marshal-timeline-v102__photo img {
  width: 100%;
  height: 340px;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 17px;
  box-shadow: 0 20px 40px rgba(0,0,0,.24);
}

.marshal-story-v102 {
  padding: 90px 0;
  background: #f7f9fc;
}
.marshal-story-v102__grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 65px;
  align-items: center;
}
.marshal-story-v102__photo {
  margin: 0;
}
.marshal-story-v102__photo img {
  width: 100%;
  height: 520px;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 23px;
  box-shadow: 0 23px 48px rgba(7,55,111,.15);
}
.marshal-story-v102__copy h2 {
  font-size: clamp(38px,4.5vw,58px);
  line-height: 1.06;
}

.marshal-transition-v102,
.marshal-priorities-v102 {
  padding: 90px 0;
  background: #fff;
}
.marshal-centered-heading-v102 {
  max-width: 850px;
  margin: 0 auto 44px;
  text-align: center;
}
.marshal-centered-heading-v102 h2 {
  font-size: clamp(39px,5vw,61px);
  line-height: 1.06;
}
.marshal-transition-v102__grid,
.marshal-priorities-v102__grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}
.marshal-transition-v102__grid article,
.marshal-priorities-v102__grid article {
  padding: 27px 23px;
  border: 1px solid #dae3ee;
  border-radius: 18px;
  background: #f8fafd;
  box-shadow: 0 12px 28px rgba(8,48,89,.06);
}
.marshal-transition-v102__grid span {
  display: inline-block;
  margin-bottom: 24px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  color: #fff;
  background: #07376f;
}
.marshal-transition-v102__grid h3,
.marshal-priorities-v102__grid h3 {
  margin: 0 0 10px;
  font-size: 21px;
  color: #07376f;
}
.marshal-transition-v102__grid p,
.marshal-priorities-v102__grid p {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: #637486;
}

.marshal-vision-v102 {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  color: #fff;
  background: url("../images/marechal-avenue-inauguration.jpg") center 43% / cover no-repeat;
}
.marshal-vision-v102__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,rgba(3,25,54,.98),rgba(4,52,100,.79),rgba(4,52,100,.25)),
    linear-gradient(180deg,transparent,rgba(2,21,46,.45));
}
.marshal-vision-v102__content {
  position: relative;
  z-index: 2;
  max-width: 840px;
}
.marshal-vision-v102 h2 {
  max-width: 780px;
  font-size: clamp(42px,5.2vw,67px);
  line-height: 1.04;
  color: #fff;
}
.marshal-vision-v102 p {
  max-width: 760px;
  margin: 20px 0 0;
  font-size: 16px;
  line-height: 1.78;
  color: rgba(255,255,255,.78);
}

.marshal-priorities-v102 {
  background: #f7f9fc;
}
.marshal-priorities-v102__grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.marshal-priorities-v102__grid article {
  background: #fff;
}
.marshal-priorities-v102__grid b {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 21px;
  border-radius: 13px;
  color: #07376f;
  background: #ffc51c;
}

.marshal-movement-v102 {
  padding: 45px 0 90px;
  background: #f7f9fc;
}
.marshal-movement-v102__box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 46px 50px;
  border-radius: 27px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 10%,rgba(255,197,28,.18),transparent 28%),
    linear-gradient(125deg,#052d61,#07549c);
}
.marshal-movement-v102__box > div {
  max-width: 820px;
}
.marshal-movement-v102 h2 {
  font-size: clamp(35px,4.3vw,54px);
  line-height: 1.06;
  color: #fff;
}
.marshal-movement-v102 p {
  margin: 15px 0 0;
  line-height: 1.75;
  color: rgba(255,255,255,.77);
}

@media screen and (max-width: 1100px) {
  .marshal-hero-v102__grid {
    grid-template-columns: 1fr .72fr;
  }
  .marshal-hero-v102__identity {
    right: 15px;
  }
  .marshal-timeline-v102__layout {
    grid-template-columns: 1fr;
  }
  .marshal-timeline-v102__photo {
    max-width: 520px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 900px) {
  .marshal-bio-v102 .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .marshal-hero-v102 {
    min-height: auto;
  }
  .marshal-hero-v102__grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .marshal-hero-v102__copy {
    padding: 85px 0 25px;
  }
  .marshal-hero-v102 h1 {
    font-size: clamp(42px,11vw,60px);
  }
  .marshal-hero-v102__portrait {
    height: 510px;
  }
  .marshal-hero-v102__identity {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin: -25px 0 30px;
  }
  .marshal-intro-v102__grid,
  .marshal-story-v102__grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .marshal-timeline-v102__steps {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 28px 15px;
  }
  .marshal-timeline-v102__steps::before {
    display: none;
  }
  .marshal-transition-v102__grid,
  .marshal-priorities-v102__grid {
    grid-template-columns: 1fr 1fr;
  }
  .marshal-movement-v102__box {
    display: grid;
    padding: 32px 23px;
  }
}

@media screen and (max-width: 600px) {
  .marshal-hero-v102__actions {
    display: grid;
  }
  .marshal-btn-v102 {
    width: 100%;
  }
  .marshal-hero-v102__portrait {
    height: 420px;
  }
  .marshal-intro-v102__photo img,
  .marshal-story-v102__photo img {
    height: 330px;
  }
  .marshal-timeline-v102__steps,
  .marshal-transition-v102__grid,
  .marshal-priorities-v102__grid {
    grid-template-columns: 1fr;
  }
  .marshal-step-icon-v102 {
    width: 62px;
    height: 62px;
  }
}


/* =========================================================
   V11 — PORTAIL INSTITUTIONNEL PREMIUM
   ========================================================= */
.portal-v11 {
  overflow: hidden;
  color: #12345a;
  background: #fff;
}
.portal-v11 * {
  box-sizing: border-box;
}
.portal-kicker-v11 {
  display: inline-block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffd12b;
}
.portal-kicker-v11.dark {
  color: #d51e35;
}
.portal-btn-v11 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  min-height: 52px;
  padding: 0 23px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
  transition: .22s ease;
}
.portal-btn-v11 span {
  font-size: 19px;
}
.portal-btn-v11--gold {
  color: #082e5d;
  background: #ffd12b;
  box-shadow: 0 13px 30px rgba(255,209,43,.20);
}
.portal-btn-v11--outline {
  border: 1px solid rgba(255,255,255,.54);
  color: #fff;
  background: rgba(5,38,77,.28);
}
.portal-btn-v11:hover {
  transform: translateY(-2px);
}
.portal-btn-v11--gold:hover,
.portal-btn-v11--outline:hover {
  color: #fff;
  border-color: #d51e35;
  background: #d51e35;
}

.portal-hero-v11 {
  position: relative;
  min-height: 720px;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(3,24,52,.98), rgba(5,50,96,.84), rgba(5,50,96,.34)),
    url("../images/galerie-13.jpg") center / cover no-repeat;
}
.portal-hero-v11__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 79% 16%, rgba(255,209,43,.19), transparent 30%),
    linear-gradient(180deg, transparent 55%, rgba(2,19,41,.61));
}
.portal-hero-v11__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 45px;
  align-items: end;
  min-height: 720px;
}
.portal-hero-v11__copy {
  align-self: center;
  max-width: 760px;
  padding: 110px 0 90px;
}
.portal-hero-v11 h1 {
  margin: 14px 0 22px;
  font-size: clamp(52px,6.4vw,88px);
  line-height: .98;
  letter-spacing: -.045em;
  color: #fff;
}
.portal-hero-v11__copy p {
  max-width: 700px;
  margin: 0;
  font-size: 17px;
  line-height: 1.78;
  color: rgba(255,255,255,.80);
}
.portal-hero-v11__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 30px;
}
.portal-hero-v11__visual {
  position: relative;
  height: 660px;
  display: flex;
  align-items: end;
}
.portal-hero-v11__portrait {
  width: 100%;
  height: 100%;
}
.portal-hero-v11__portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 42% center;
  filter: drop-shadow(0 25px 40px rgba(0,0,0,.35));
}
.portal-hero-v11__card {
  position: absolute;
  right: 0;
  bottom: 40px;
  width: min(340px, 85%);
  padding: 23px 25px;
  border: 1px solid #ffd12b;
  border-radius: 17px;
  background: rgba(3,33,70,.89);
  backdrop-filter: blur(10px);
}
.portal-hero-v11__card span {
  display: block;
  margin-bottom: 7px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: #ffd12b;
}
.portal-hero-v11__card strong {
  display: block;
  margin-bottom: 11px;
  font-size: 20px;
  line-height: 1.25;
  color: #fff;
}
.portal-hero-v11__card a {
  font-size: 12px;
  font-weight: 850;
  color: #fff;
  text-decoration: none;
}

.portal-stats-v11 {
  position: relative;
  z-index: 4;
  margin-top: -42px;
}
.portal-stats-v11__grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(7,46,89,.16);
}
.portal-stat-v11 {
  padding: 27px 22px;
  text-align: center;
  background: #fff;
  border-right: 1px solid #e3eaf2;
}
.portal-stat-v11:last-child {
  border-right: 0;
}
.portal-stat-v11 strong {
  display: block;
  margin-bottom: 4px;
  font-size: 36px;
  color: #07376f;
}
.portal-stat-v11 span {
  font-size: 12px;
  font-weight: 800;
  color: #68798b;
}

.portal-heading-v11 {
  max-width: 850px;
  margin: 0 auto 45px;
  text-align: center;
}
.portal-heading-v11 h2 {
  margin: 10px 0 15px;
  font-size: clamp(40px,5vw,63px);
  line-height: 1.05;
  letter-spacing: -.035em;
  color: #07376f;
}
.portal-heading-v11 p {
  margin: 0;
  line-height: 1.75;
  color: #697b8e;
}
.portal-heading-v11--row {
  max-width: none;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 25px;
  text-align: left;
}
.portal-heading-v11--row h2 {
  margin-bottom: 0;
}
.portal-heading-v11--row > a {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 900;
  color: #07376f;
  text-decoration: none;
}

.portal-provinces-v11 {
  padding: 120px 0 90px;
  background: #f6f9fd;
}
.portal-provinces-v11__layout {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 55px;
  align-items: stretch;
}
.portal-map-v11 {
  min-height: 630px;
  display: grid;
  place-items: center;
  border-radius: 29px;
  background:
    radial-gradient(circle at 65% 15%, rgba(255,209,43,.17), transparent 25%),
    linear-gradient(135deg,#042a5b,#0755a0);
  box-shadow: 0 23px 48px rgba(7,55,111,.18);
}
.portal-map-v11__shape {
  position: relative;
  width: 290px;
  height: 440px;
  display: grid;
  place-items: center;
  color: #fff;
  clip-path: polygon(42% 0,71% 4%,84% 17%,81% 35%,100% 54%,87% 70%,76% 76%,72% 100%,45% 91%,26% 75%,11% 71%,0 51%,10% 32%,19% 15%);
  background:
    linear-gradient(90deg,#093876 0 33.333%,#ffd12b 33.333% 66.666%,#d51e35 66.666%);
  box-shadow: inset 0 0 0 12px rgba(255,255,255,.15);
}
.portal-map-v11__shape span {
  font-size: 33px;
  font-weight: 950;
  letter-spacing: .08em;
  text-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.portal-map-v11__shape small {
  position: absolute;
  top: 57%;
  font-size: 12px;
  font-weight: 900;
  color: #fff;
}
.portal-provinces-v11__panel {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 630px;
  padding: 24px;
  border: 1px solid #dce5ef;
  border-radius: 29px;
  background: #fff;
  box-shadow: 0 20px 45px rgba(7,55,111,.10);
}
.portal-province-search-v11 {
  margin-bottom: 17px;
}
.portal-province-search-v11 input {
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid #d8e1ec;
  border-radius: 12px;
  outline: none;
  font: inherit;
}
.portal-province-search-v11 input:focus {
  border-color: #07376f;
  box-shadow: 0 0 0 3px rgba(7,55,111,.09);
}
.portal-province-list-v11 {
  max-height: 360px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
  overflow-y: auto;
  padding-right: 6px;
}
.portal-province-list-v11 button {
  display: grid;
  gap: 3px;
  padding: 12px 13px;
  border: 1px solid #e1e7ef;
  border-radius: 12px;
  text-align: left;
  color: #294b6c;
  background: #f8fafd;
  cursor: pointer;
}
.portal-province-list-v11 button span {
  font-size: 13px;
  font-weight: 900;
}
.portal-province-list-v11 button small {
  font-size: 10px;
  color: #8090a0;
}
.portal-province-list-v11 button:hover,
.portal-province-list-v11 button.is-active {
  border-color: #07376f;
  color: #fff;
  background: #07376f;
}
.portal-province-list-v11 button.is-active small,
.portal-province-list-v11 button:hover small {
  color: rgba(255,255,255,.70);
}
.portal-province-detail-v11 {
  margin-top: 18px;
  padding: 23px;
  border-radius: 18px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,209,43,.18),transparent 28%),
    linear-gradient(125deg,#052e62,#07549d);
}
.portal-province-detail-v11 > span {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: #ffd12b;
}
.portal-province-detail-v11 h3 {
  margin: 7px 0 10px;
  font-size: 25px;
  color: #fff;
}
.portal-province-detail-v11 p {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.65;
  color: rgba(255,255,255,.73);
}
.portal-province-detail-v11 a {
  font-size: 12px;
  font-weight: 900;
  color: #fff;
  text-decoration: none;
}

.portal-office-v11 {
  padding: 90px 0;
  background: #fff;
}
.portal-office-v11__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 17px;
}
.portal-leader-v11 {
  overflow: hidden;
  border: 1px solid #dce4ee;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 15px 35px rgba(7,46,89,.08);
}
.portal-leader-v11__image {
  height: 330px;
  overflow: hidden;
}
.portal-leader-v11__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .45s ease;
}
.portal-leader-v11:hover .portal-leader-v11__image img {
  transform: scale(1.045);
}
.portal-leader-v11__body {
  padding: 24px;
}
.portal-leader-v11__body span {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: #d51e35;
}
.portal-leader-v11__body h3 {
  margin: 0 0 11px;
  font-size: 24px;
  color: #07376f;
}
.portal-leader-v11__body p {
  margin: 0 0 17px;
  font-size: 13px;
  line-height: 1.7;
  color: #68798b;
}
.portal-leader-v11__body a {
  font-size: 12px;
  font-weight: 900;
  color: #07376f;
  text-decoration: none;
}

.portal-media-v11 {
  position: relative;
  padding: 95px 0;
  color: #fff;
  background: url("../images/mouvement-groupe-midi.jpeg") center / cover no-repeat;
}
.portal-media-v11__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,rgba(3,23,50,.97),rgba(5,55,104,.78),rgba(5,55,104,.46));
}
.portal-media-v11__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 55px;
  align-items: center;
}
.portal-media-v11__copy h2 {
  margin: 11px 0 18px;
  font-size: clamp(40px,5vw,63px);
  line-height: 1.05;
  color: #fff;
}
.portal-media-v11__copy p {
  margin: 0 0 25px;
  line-height: 1.75;
  color: rgba(255,255,255,.76);
}
.portal-media-v11__mosaic {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  grid-template-rows: repeat(2,220px);
  gap: 12px;
}
.portal-media-v11__mosaic img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 17px;
}
.portal-media-v11__mosaic img:first-child {
  grid-row: 1 / 3;
}

.portal-news-v11 {
  padding: 95px 0;
  background: #fff;
}
.portal-news-v11__grid {
  display: grid;
  grid-template-columns: 1.3fr .85fr .85fr;
  gap: 16px;
}
.portal-news-card-v11 {
  display: flex;
  min-height: 330px;
  border: 1px solid #dce4ee;
  border-radius: 21px;
  overflow: hidden;
  background: #f8fafd;
}
.portal-news-card-v11--featured {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
}
.portal-news-card-v11__image {
  min-height: 100%;
}
.portal-news-card-v11__image img {
  width: 100%;
  height: 100%;
  min-height: 330px;
  display: block;
  object-fit: cover;
}
.portal-news-card-v11__body {
  align-self: center;
  padding: 25px;
}
.portal-news-card-v11__body > span {
  display: inline-block;
  margin-bottom: 15px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  color: #fff;
  background: #d51e35;
}
.portal-news-card-v11 h3 {
  margin: 0 0 12px;
  font-size: 23px;
  line-height: 1.2;
  color: #07376f;
}
.portal-news-card-v11 p {
  margin: 0 0 17px;
  font-size: 13px;
  line-height: 1.7;
  color: #68798b;
}
.portal-news-card-v11 a {
  font-size: 12px;
  font-weight: 900;
  color: #07376f;
  text-decoration: none;
}

.portal-docs-v11 {
  padding: 90px 0;
  background: #f6f9fd;
}
.portal-docs-v11__grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 13px;
}
.portal-doc-v11 {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 21px 22px;
  border: 1px solid #dce4ee;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 12px 27px rgba(7,46,89,.05);
}
.portal-doc-v11__icon {
  display: grid;
  place-items: center;
  width: 49px;
  height: 49px;
  border-radius: 14px;
  font-size: 24px;
  background: #eef4fb;
}
.portal-doc-v11 h3 {
  margin: 0 0 3px;
  font-size: 18px;
  color: #07376f;
}
.portal-doc-v11 p {
  margin: 0;
  font-size: 12px;
  color: #758698;
}
.portal-doc-v11 > a {
  display: grid;
  place-items: center;
  width: 41px;
  height: 41px;
  border-radius: 50%;
  font-size: 20px;
  color: #07376f;
  text-decoration: none;
  background: #ffd12b;
}

.portal-cta-v11 {
  padding: 42px 0 92px;
  background: #f6f9fd;
}
.portal-cta-v11__box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 49px 52px;
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 89% 12%,rgba(255,209,43,.18),transparent 30%),
    linear-gradient(125deg,#042c5e,#07539a);
}
.portal-cta-v11__box > div {
  max-width: 820px;
}
.portal-cta-v11 h2 {
  margin: 10px 0 14px;
  font-size: clamp(38px,4.8vw,61px);
  line-height: 1.05;
  color: #fff;
}
.portal-cta-v11 p {
  margin: 0;
  line-height: 1.72;
  color: rgba(255,255,255,.75);
}

@media screen and (max-width: 1000px) {
  .portal-hero-v11__grid {
    grid-template-columns: 1fr .75fr;
  }
  .portal-provinces-v11__layout,
  .portal-media-v11__grid {
    grid-template-columns: 1fr;
  }
  .portal-office-v11__grid {
    grid-template-columns: 1fr 1fr;
  }
  .portal-news-v11__grid {
    grid-template-columns: 1fr 1fr;
  }
  .portal-news-card-v11--featured {
    grid-column: 1 / -1;
  }
}

@media screen and (max-width: 760px) {
  .portal-v11 .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .portal-hero-v11 {
    min-height: auto;
  }
  .portal-hero-v11__grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .portal-hero-v11__copy {
    padding: 80px 0 25px;
  }
  .portal-hero-v11 h1 {
    font-size: clamp(43px,12vw,63px);
  }
  .portal-hero-v11__visual {
    height: 510px;
  }
  .portal-hero-v11__card {
    right: 12px;
    bottom: 20px;
  }
  .portal-stats-v11 {
    margin-top: 0;
  }
  .portal-stats-v11__grid {
    grid-template-columns: 1fr 1fr;
    border-radius: 0;
  }
  .portal-heading-v11--row {
    display: grid;
  }
  .portal-office-v11__grid,
  .portal-news-v11__grid,
  .portal-docs-v11__grid {
    grid-template-columns: 1fr;
  }
  .portal-news-card-v11--featured {
    grid-template-columns: 1fr;
  }
  .portal-news-card-v11__image img {
    min-height: 270px;
  }
  .portal-media-v11__mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(2,180px);
  }
  .portal-cta-v11__box {
    display: grid;
    padding: 33px 23px;
  }
}

@media screen and (max-width: 500px) {
  .portal-hero-v11__actions {
    display: grid;
  }
  .portal-btn-v11 {
    width: 100%;
  }
  .portal-hero-v11__visual {
    height: 430px;
  }
  .portal-stats-v11__grid {
    grid-template-columns: 1fr;
  }
  .portal-province-list-v11 {
    grid-template-columns: 1fr;
  }
  .portal-map-v11 {
    min-height: 500px;
  }
  .portal-map-v11__shape {
    width: 240px;
    height: 370px;
  }
  .portal-office-v11__grid {
    grid-template-columns: 1fr;
  }
  .portal-media-v11__mosaic {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4,220px);
  }
  .portal-media-v11__mosaic img:first-child {
    grid-row: auto;
  }
}


/* =========================================================
   V12 — PAGE MIDI
   ========================================================= */
.midi-page-v12 {
  overflow: hidden;
  color: #173957;
  background: #fff;
}
.midi-page-v12 * {
  box-sizing: border-box;
}
.midi-kicker-v12 {
  display: inline-block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #d31e38;
}
.midi-kicker-v12.light {
  color: #ffd12b;
}
.midi-btn-v12 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  min-height: 52px;
  padding: 0 23px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
  transition: .22s ease;
}
.midi-btn-v12 span {
  font-size: 18px;
}
.midi-btn-v12:hover {
  transform: translateY(-2px);
}
.midi-btn-v12--gold {
  color: #082e5d;
  background: #ffd12b;
}
.midi-btn-v12--gold:hover,
.midi-btn-v12--navy:hover {
  color: #fff;
  background: #d31e38;
}
.midi-btn-v12--outline {
  border: 1px solid rgba(255,255,255,.56);
  color: #fff;
  background: rgba(4,35,72,.28);
}
.midi-btn-v12--outline:hover {
  color: #082e5d;
  border-color: #ffd12b;
  background: #ffd12b;
}
.midi-btn-v12--navy {
  color: #fff;
  background: #07376f;
}

.midi-hero-v12 {
  position: relative;
  min-height: 710px;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(90deg,rgba(3,22,48,.98),rgba(5,50,96,.82),rgba(5,50,96,.35)),
    url("../images/galerie-13.jpg") center / cover no-repeat;
}
.midi-hero-v12__flag {
  position: absolute;
  left: -80px;
  top: 0;
  bottom: 0;
  width: 47%;
  opacity: .25;
  transform: skewX(-9deg);
  background: linear-gradient(90deg,#053477 0 33.333%,#ffd12b 33.333% 66.666%,#d31e38 66.666%);
}
.midi-hero-v12__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 14%,rgba(255,209,43,.18),transparent 29%),
    linear-gradient(180deg,transparent 55%,rgba(2,18,39,.62));
}
.midi-hero-v12__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr .88fr;
  gap: 40px;
  align-items: end;
  min-height: 710px;
}
.midi-hero-v12__copy {
  align-self: center;
  max-width: 770px;
  padding: 110px 0 90px;
}
.midi-hero-v12 h1 {
  margin: 14px 0 21px;
  font-size: clamp(51px,6.4vw,88px);
  line-height: .98;
  letter-spacing: -.045em;
  color: #fff;
}
.midi-hero-v12__copy p {
  max-width: 660px;
  margin: 0;
  font-size: 18px;
  line-height: 1.72;
  color: rgba(255,255,255,.80);
}
.midi-hero-v12__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 30px;
}
.midi-hero-v12__portrait {
  height: 660px;
  display: flex;
  align-items: end;
}
.midi-hero-v12__portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 42% center;
  filter: drop-shadow(0 25px 40px rgba(0,0,0,.34));
}
.midi-hero-v12__identity {
  position: absolute;
  right: 0;
  bottom: 40px;
  width: min(350px,31vw);
  padding: 23px 25px;
  border: 1px solid #ffd12b;
  border-radius: 17px;
  background: rgba(3,32,68,.90);
  backdrop-filter: blur(10px);
}
.midi-hero-v12__identity span {
  display: block;
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: #ffd12b;
}
.midi-hero-v12__identity strong {
  font-size: 18px;
  line-height: 1.35;
  color: #fff;
}

.midi-biography-v12 {
  padding: 95px 0;
  background: #f7f9fc;
}
.midi-biography-v12__grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 65px;
  align-items: center;
}
.midi-biography-v12__photo {
  margin: 0;
}
.midi-biography-v12__photo img {
  width: 100%;
  height: 590px;
  display: block;
  object-fit: cover;
  object-position: center 15%;
  border-radius: 27px;
  box-shadow: 0 25px 50px rgba(7,55,111,.16);
}
.midi-biography-v12__copy h2,
.midi-heading-v12 h2,
.midi-vision-v12 h2,
.midi-gallery-v12 h2,
.midi-youth-v12 h2 {
  margin: 10px 0 20px;
  font-size: clamp(40px,5vw,63px);
  line-height: 1.05;
  letter-spacing: -.035em;
  color: #07376f;
}
.midi-biography-v12__copy p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.82;
  color: #607286;
}
.midi-lead-v12 {
  font-size: 19px !important;
  font-weight: 800;
  color: #244866 !important;
}
.midi-biography-v12__copy .midi-btn-v12 {
  margin-top: 9px;
}

.midi-milestones-v12 {
  padding: 90px 0;
  color: #fff;
  background:
    radial-gradient(circle at 91% 8%,rgba(255,209,43,.15),transparent 27%),
    linear-gradient(125deg,#052d61,#07549d);
}
.midi-heading-v12 {
  max-width: 850px;
  margin: 0 auto 44px;
  text-align: center;
}
.midi-milestones-v12 .midi-heading-v12 h2 {
  color: #fff;
}
.midi-milestones-v12__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 15px;
}
.midi-milestones-v12__grid article {
  padding: 27px 23px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 19px;
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(8px);
}
.midi-milestones-v12__grid b {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 23px;
  border-radius: 13px;
  color: #07376f;
  background: #ffd12b;
}
.midi-milestones-v12__grid h3 {
  margin: 0 0 10px;
  font-size: 22px;
  color: #fff;
}
.midi-milestones-v12__grid p {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: rgba(255,255,255,.72);
}

.midi-vision-v12 {
  position: relative;
  min-height: 550px;
  display: flex;
  align-items: center;
  color: #fff;
  background: url("../images/marechal-avenue-inauguration.jpg") center 43% / cover no-repeat;
}
.midi-vision-v12__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(3,24,52,.98),rgba(5,52,100,.77),rgba(5,52,100,.25));
}
.midi-vision-v12__content {
  position: relative;
  z-index: 2;
  max-width: 850px;
}
.midi-vision-v12 h2 {
  color: #fff;
}
.midi-vision-v12 p {
  max-width: 760px;
  margin: 0;
  font-size: 17px;
  line-height: 1.78;
  color: rgba(255,255,255,.78);
}

.midi-priorities-v12 {
  padding: 95px 0;
  background: #fff;
}
.midi-priorities-v12__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.midi-priorities-v12__grid article {
  padding: 28px 23px;
  border: 1px solid #dce5ef;
  border-radius: 20px;
  background: #f8fafd;
  box-shadow: 0 13px 29px rgba(7,46,89,.06);
}
.midi-priorities-v12__grid span {
  display: block;
  margin-bottom: 19px;
  font-size: 30px;
}
.midi-priorities-v12__grid h3 {
  margin: 0 0 10px;
  font-size: 22px;
  color: #07376f;
}
.midi-priorities-v12__grid p {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: #65778a;
}

.midi-gallery-v12 {
  padding: 95px 0;
  color: #fff;
  background: linear-gradient(125deg,#052d61,#07549d);
}
.midi-gallery-v12__grid {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 55px;
  align-items: center;
}
.midi-gallery-v12 h2 {
  color: #fff;
}
.midi-gallery-v12__copy p {
  margin: 0 0 25px;
  line-height: 1.75;
  color: rgba(255,255,255,.75);
}
.midi-gallery-v12__images {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  grid-template-rows: repeat(2,220px);
  gap: 12px;
}
.midi-gallery-v12__images img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 17px;
}
.midi-gallery-v12__images img:first-child {
  grid-row: 1 / 3;
}

.midi-youth-v12 {
  padding: 45px 0 90px;
  background: #f7f9fc;
}
.midi-youth-v12__box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 48px 50px;
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 12%,rgba(255,209,43,.18),transparent 30%),
    linear-gradient(125deg,#042c5e,#07539a);
}
.midi-youth-v12__box > div {
  max-width: 810px;
}
.midi-youth-v12 h2 {
  color: #fff;
}
.midi-youth-v12 p {
  margin: 0;
  line-height: 1.72;
  color: rgba(255,255,255,.75);
}

@media screen and (max-width: 900px) {
  .midi-page-v12 .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .midi-hero-v12 {
    min-height: auto;
  }
  .midi-hero-v12__grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .midi-hero-v12__copy {
    padding: 85px 0 25px;
  }
  .midi-hero-v12 h1 {
    font-size: clamp(43px,12vw,64px);
  }
  .midi-hero-v12__portrait {
    height: 520px;
  }
  .midi-hero-v12__identity {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin: -25px 0 30px;
  }
  .midi-biography-v12__grid,
  .midi-gallery-v12__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .midi-milestones-v12__grid,
  .midi-priorities-v12__grid {
    grid-template-columns: 1fr 1fr;
  }
  .midi-youth-v12__box {
    display: grid;
    padding: 34px 23px;
  }
}

@media screen and (max-width: 560px) {
  .midi-hero-v12__actions {
    display: grid;
  }
  .midi-btn-v12 {
    width: 100%;
  }
  .midi-hero-v12__portrait {
    height: 430px;
  }
  .midi-biography-v12__photo img {
    height: 430px;
  }
  .midi-milestones-v12__grid,
  .midi-priorities-v12__grid {
    grid-template-columns: 1fr;
  }
  .midi-gallery-v12__images {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3,230px);
  }
  .midi-gallery-v12__images img:first-child {
    grid-row: auto;
  }
}


/* =========================================================
   V12.1 — PAGE MIDI COMPACTE
   Hero réduit, images réorganisées, topbar supprimée
   ========================================================= */

/* Le header principal commence directement en haut */
body {
  padding-top: 0;
}

/* HERO MIDI — VERSION ORDINATEUR */
.midi-hero-v12 {
  min-height: 535px;
}

.midi-hero-v12__grid {
  min-height: 535px;
  grid-template-columns: 1.12fr .68fr;
  gap: 32px;
}

.midi-hero-v12__copy {
  padding: 72px 0 58px;
}

.midi-hero-v12 h1 {
  max-width: 760px;
  font-size: clamp(42px, 5vw, 67px);
  line-height: 1;
}

.midi-hero-v12__copy p {
  max-width: 600px;
  font-size: 16px;
}

.midi-hero-v12__portrait {
  width: 100%;
  max-width: 450px;
  height: 495px;
  justify-self: end;
}

.midi-hero-v12__portrait img {
  object-position: 44% 18%;
  border-radius: 24px 24px 0 0;
}

.midi-hero-v12__identity {
  right: 14px;
  bottom: 20px;
  width: min(315px, 28vw);
  padding: 18px 20px;
}

/* IMAGE DE BIOGRAPHIE */
.midi-biography-v12 {
  padding: 80px 0;
}

.midi-biography-v12__grid {
  grid-template-columns: .84fr 1.16fr;
  gap: 50px;
}

.midi-biography-v12__photo img {
  height: 480px;
  object-position: center 12%;
}

/* GALERIE MIDI — DISPOSITION PLUS PROPRE */
.midi-gallery-v12__grid {
  grid-template-columns: .78fr 1.22fr;
  gap: 45px;
}

.midi-gallery-v12__images {
  grid-template-columns: 1.15fr .85fr;
  grid-template-rows: 190px 190px;
  gap: 11px;
}

.midi-gallery-v12__images img:first-child {
  grid-row: 1 / 3;
}

.midi-gallery-v12__images img {
  object-position: center 18%;
}

/* TABLETTE */
@media screen and (max-width: 900px) {
  .midi-hero-v12 {
    min-height: 495px;
  }

  .midi-hero-v12__grid {
    min-height: 495px;
    grid-template-columns: 1fr .7fr;
  }

  .midi-hero-v12__copy {
    padding: 62px 0 48px;
  }

  .midi-hero-v12 h1 {
    font-size: clamp(38px, 6.5vw, 54px);
  }

  .midi-hero-v12__portrait {
    height: 445px;
    max-width: 380px;
  }

  .midi-hero-v12__identity {
    position: absolute;
    right: 10px;
    bottom: 18px;
    width: min(285px, 35vw);
    margin: 0;
  }

  .midi-biography-v12__grid {
    grid-template-columns: .9fr 1.1fr;
    gap: 34px;
  }

  .midi-biography-v12__photo img {
    height: 430px;
  }
}

/* TÉLÉPHONE */
@media screen and (max-width: 700px) {
  .midi-hero-v12 {
    min-height: auto;
  }

  .midi-hero-v12__grid {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .midi-hero-v12__copy {
    padding: 48px 0 22px;
    text-align: center;
  }

  .midi-hero-v12 h1 {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(34px, 10vw, 47px);
  }

  .midi-hero-v12__copy p {
    margin-left: auto;
    margin-right: auto;
    font-size: 14px;
    line-height: 1.6;
  }

  .midi-hero-v12__actions {
    justify-content: center;
  }

  .midi-hero-v12__portrait {
    width: min(84%, 370px);
    max-width: none;
    height: 335px;
    margin: 0 auto;
  }

  .midi-hero-v12__portrait img {
    object-position: 44% 16%;
  }

  .midi-hero-v12__identity {
    position: relative;
    right: auto;
    bottom: auto;
    width: min(84%, 370px);
    margin: 0 auto 25px;
    border-radius: 0 0 18px 18px;
    text-align: center;
  }

  .midi-biography-v12 {
    padding: 62px 0;
  }

  .midi-biography-v12__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .midi-biography-v12__photo img {
    width: min(100%, 450px);
    height: 365px;
    margin: 0 auto;
  }

  .midi-gallery-v12__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .midi-gallery-v12__copy {
    text-align: center;
  }

  .midi-gallery-v12__images {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 245px 165px;
    gap: 9px;
  }

  .midi-gallery-v12__images img:first-child {
    grid-column: 1 / 3;
    grid-row: 1;
  }

  .midi-gallery-v12__images img:nth-child(2),
  .midi-gallery-v12__images img:nth-child(3) {
    grid-row: 2;
  }
}

/* PETITS TÉLÉPHONES */
@media screen and (max-width: 480px) {
  .midi-hero-v12__copy {
    padding-top: 40px;
  }

  .midi-hero-v12__portrait,
  .midi-hero-v12__identity {
    width: 92%;
  }

  .midi-hero-v12__portrait {
    height: 295px;
  }

  .midi-biography-v12__photo img {
    height: 320px;
  }

  .midi-gallery-v12__images {
    grid-template-columns: 1fr;
    grid-template-rows: 225px 195px 195px;
  }

  .midi-gallery-v12__images img:first-child,
  .midi-gallery-v12__images img:nth-child(2),
  .midi-gallery-v12__images img:nth-child(3) {
    grid-column: auto;
    grid-row: auto;
  }
}


/* =========================================================
   V12.2 — PAGE CONTACT PREMIUM
   ========================================================= */
.contact-page-v122 {
  overflow: hidden;
  color: #173957;
  background: #fff;
}
.contact-page-v122 * {
  box-sizing: border-box;
}
.contact-kicker-v122 {
  display: inline-block;
  color: #ffd12b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.contact-kicker-v122--dark {
  color: #d31e38;
}
.contact-btn-v122 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 52px;
  padding: 0 23px;
  border: 0;
  border-radius: 8px;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: .22s ease;
}
.contact-btn-v122 span {
  font-size: 18px;
}
.contact-btn-v122:hover {
  transform: translateY(-2px);
}
.contact-btn-v122--gold {
  color: #07376f;
  background: #ffd12b;
}
.contact-btn-v122--gold:hover,
.contact-btn-v122--navy:hover {
  color: #fff;
  background: #d31e38;
}
.contact-btn-v122--outline {
  color: #fff;
  border: 1px solid rgba(255,255,255,.56);
  background: rgba(3,31,66,.28);
}
.contact-btn-v122--outline:hover {
  color: #07376f;
  border-color: #ffd12b;
  background: #ffd12b;
}
.contact-btn-v122--navy {
  color: #fff;
  background: #07376f;
}

.contact-hero-v122 {
  position: relative;
  min-height: 430px;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(90deg,rgba(3,24,52,.97),rgba(5,57,108,.68)),
    url("../images/mouvement-groupe-midi.jpeg") center 38% / cover no-repeat;
}
.contact-hero-v122__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 86% 15%,rgba(255,209,43,.19),transparent 28%),
    linear-gradient(180deg,transparent 58%,rgba(2,20,43,.50));
}
.contact-hero-v122__content {
  position: relative;
  z-index: 2;
  max-width: 820px;
  padding-top: 65px;
  padding-bottom: 65px;
}
.contact-hero-v122 h1 {
  max-width: 780px;
  margin: 12px 0 19px;
  color: #fff;
  font-size: clamp(42px,5.8vw,70px);
  line-height: 1;
  letter-spacing: -.04em;
}
.contact-hero-v122 p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.80);
  font-size: 17px;
  line-height: 1.72;
}
.contact-hero-v122__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.contact-heading-v122 {
  max-width: 800px;
  margin: 0 auto 42px;
  text-align: center;
}
.contact-heading-v122 h2,
.contact-form-section-v122__intro h2,
.contact-cta-v122 h2 {
  margin: 10px 0 16px;
  color: #07376f;
  font-size: clamp(36px,4.6vw,57px);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.contact-heading-v122 p {
  max-width: 670px;
  margin: 0 auto;
  color: #65778a;
  font-size: 15px;
  line-height: 1.75;
}

.contact-details-v122 {
  padding: 85px 0;
  background: #f7f9fc;
}
.contact-details-v122__grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
}
.contact-card-v122 {
  padding: 28px 22px;
  border: 1px solid #dce5ef;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 13px 30px rgba(7,46,89,.06);
}
.contact-card-v122__icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 21px;
  border-radius: 14px;
  color: #fff;
  font-size: 22px;
  background: #07376f;
}
.contact-card-v122__icon--whatsapp {
  background: #168b50;
}
.contact-card-v122 h3 {
  margin: 0 0 9px;
  color: #07376f;
  font-size: 21px;
}
.contact-card-v122 p {
  min-height: 46px;
  margin: 0 0 17px;
  color: #65778a;
  font-size: 13px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.contact-card-v122 a,
.contact-form-section-v122__note a {
  color: #d31e38;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.contact-form-section-v122 {
  padding: 95px 0;
  background: #fff;
}
.contact-form-section-v122__grid {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 58px;
  align-items: start;
}
.contact-form-section-v122__intro {
  position: sticky;
  top: 110px;
}
.contact-form-section-v122__intro > p {
  color: #65778a;
  line-height: 1.75;
}
.contact-form-section-v122__note {
  margin-top: 28px;
  padding: 25px;
  border-left: 4px solid #ffd12b;
  border-radius: 0 17px 17px 0;
  background: #f7f9fc;
}
.contact-form-section-v122__note strong {
  color: #07376f;
  font-size: 18px;
}
.contact-form-section-v122__note p {
  margin: 10px 0 15px;
  color: #65778a;
  font-size: 13px;
  line-height: 1.67;
}
.contact-form-v122__panel {
  padding: 35px;
  border: 1px solid #dce5ef;
  border-radius: 24px;
  background: #f8fafd;
  box-shadow: 0 22px 45px rgba(7,46,89,.09);
}
.contact-form-v122 {
  display: grid;
  gap: 18px;
}
.contact-form-v122__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.contact-form-v122 label {
  display: grid;
  gap: 8px;
}
.contact-form-v122 label > span {
  color: #244866;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.contact-form-v122 input,
.contact-form-v122 select,
.contact-form-v122 textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid #ced9e5;
  border-radius: 9px;
  outline: none;
  color: #173957;
  background: #fff;
  font: inherit;
  font-size: 14px;
  transition: .2s ease;
}
.contact-form-v122 textarea {
  min-height: 155px;
  resize: vertical;
}
.contact-form-v122 input:focus,
.contact-form-v122 select:focus,
.contact-form-v122 textarea:focus {
  border-color: #07376f;
  box-shadow: 0 0 0 3px rgba(7,55,111,.10);
}
.contact-form-v122__consent {
  grid-template-columns: auto 1fr !important;
  align-items: start;
  gap: 11px !important;
}
.contact-form-v122__consent input {
  width: 18px;
  min-height: 18px;
  margin-top: 1px;
}
.contact-form-v122__consent span {
  color: #65778a !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.55;
  text-transform: none !important;
}
.contact-form-v122__honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.contact-alert-v122 {
  margin-bottom: 20px;
  padding: 15px 17px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}
.contact-alert-v122--success {
  color: #14532d;
  border: 1px solid #86d3a3;
  background: #eaf9ef;
}
.contact-alert-v122--error {
  color: #8b1e2d;
  border: 1px solid #e6a0aa;
  background: #fff0f2;
}

.contact-map-v122 {
  padding: 85px 0;
  background: #f7f9fc;
}
.contact-map-v122__frame {
  overflow: hidden;
  height: 460px;
  border-radius: 24px;
  box-shadow: 0 20px 42px rgba(7,46,89,.13);
}
.contact-map-v122 iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.contact-faq-v122 {
  padding: 90px 0;
  background: #fff;
}
.contact-faq-v122__list {
  max-width: 900px;
  display: grid;
  gap: 11px;
  margin: 0 auto;
}
.contact-faq-v122 details {
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 14px;
  background: #f8fafd;
}
.contact-faq-v122 summary {
  position: relative;
  padding: 21px 55px 21px 21px;
  color: #07376f;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}
.contact-faq-v122 summary::-webkit-details-marker {
  display: none;
}
.contact-faq-v122 summary::after {
  content: "+";
  position: absolute;
  right: 21px;
  top: 50%;
  transform: translateY(-50%);
  color: #d31e38;
  font-size: 25px;
}
.contact-faq-v122 details[open] summary::after {
  content: "–";
}
.contact-faq-v122 details > div {
  padding: 0 21px 21px;
  color: #65778a;
  font-size: 14px;
  line-height: 1.7;
}

.contact-cta-v122 {
  padding: 45px 0 90px;
  background: #f7f9fc;
}
.contact-cta-v122__box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 45px 48px;
  border-radius: 27px;
  color: #fff;
  background:
    radial-gradient(circle at 89% 10%,rgba(255,209,43,.18),transparent 30%),
    linear-gradient(125deg,#042c5e,#07539a);
}
.contact-cta-v122__box > div {
  max-width: 820px;
}
.contact-cta-v122 h2 {
  margin-bottom: 0;
  color: #fff;
}

@media screen and (max-width: 960px) {
  .contact-page-v122 .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .contact-details-v122__grid {
    grid-template-columns: 1fr 1fr;
  }
  .contact-form-section-v122__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .contact-form-section-v122__intro {
    position: static;
  }
}

@media screen and (max-width: 650px) {
  .contact-hero-v122 {
    min-height: 395px;
    text-align: center;
  }
  .contact-hero-v122__content {
    padding-top: 52px;
    padding-bottom: 52px;
  }
  .contact-hero-v122 h1 {
    font-size: clamp(37px,11vw,51px);
  }
  .contact-hero-v122__actions {
    display: grid;
  }
  .contact-btn-v122 {
    width: 100%;
  }
  .contact-details-v122,
  .contact-form-section-v122,
  .contact-map-v122,
  .contact-faq-v122 {
    padding: 65px 0;
  }
  .contact-details-v122__grid,
  .contact-form-v122__row {
    grid-template-columns: 1fr;
  }
  .contact-form-v122__panel {
    padding: 22px 17px;
  }
  .contact-map-v122__frame {
    height: 360px;
    border-radius: 17px;
  }
  .contact-cta-v122__box {
    display: grid;
    padding: 33px 22px;
    text-align: center;
  }
}


/* =========================================================
   V13.1 — FORMULAIRE D’ADHÉSION PREMIUM MULTI-ÉTAPES
   ========================================================= */
.midi-adhesion-form-v131 {
  position: relative;
}
.midi-v131-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.midi-v131-progress {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto;
  align-items: center;
  gap: 8px;
  margin: 0 0 36px;
  padding: 18px;
  border: 1px solid #dce5ef;
  border-radius: 18px;
  background: #f7f9fc;
}
.midi-v131-progress button {
  display: grid;
  justify-items: center;
  gap: 5px;
  min-width: 54px;
  padding: 0;
  border: 0;
  color: #8190a1;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.midi-v131-progress button span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 2px solid #cbd6e1;
  border-radius: 50%;
  color: #6d7e90;
  font-weight: 900;
  background: #fff;
  transition: .2s ease;
}
.midi-v131-progress button small {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.midi-v131-progress button.is-active span,
.midi-v131-progress button.is-complete span {
  color: #fff;
  border-color: #07376f;
  background: #07376f;
}
.midi-v131-progress button.is-active small,
.midi-v131-progress button.is-complete small {
  color: #07376f;
}
.midi-v131-progress button.is-complete span {
  border-color: #168b50;
  background: #168b50;
}
.midi-v131-progress i {
  height: 2px;
  background: #d3dce6;
}
.midi-v131-step {
  display: none;
  animation: midiV131Fade .28s ease;
}
.midi-v131-step.is-active {
  display: block;
}
@keyframes midiV131Fade {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
.midi-adhesion-form-v131 input,
.midi-adhesion-form-v131 select,
.midi-adhesion-form-v131 textarea {
  transition: border-color .2s ease, box-shadow .2s ease;
}
.midi-adhesion-form-v131 input:focus,
.midi-adhesion-form-v131 select:focus,
.midi-adhesion-form-v131 textarea:focus {
  border-color: #07376f;
  box-shadow: 0 0 0 3px rgba(7,55,111,.10);
}
.midi-adhesion-form-v131 input:invalid:not(:placeholder-shown),
.midi-adhesion-form-v131 textarea:invalid:not(:placeholder-shown) {
  border-color: #d31e38;
}
.midi-v131-counter {
  display: block;
  margin-top: 7px;
  color: #74869a;
  font-size: 11px;
  text-align: right;
}
.midi-file-grid-v131 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.midi-upload-v131 {
  position: relative;
  display: grid !important;
  justify-items: center;
  align-content: start;
  min-height: 285px;
  padding: 26px 20px;
  border: 2px dashed #b9c8d8;
  border-radius: 20px;
  text-align: center;
  background: #f8fafd;
  cursor: pointer;
  transition: .22s ease;
}
.midi-upload-v131:hover {
  border-color: #07376f;
  background: #f1f6fb;
}
.midi-upload-v131__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: 13px;
  border-radius: 15px;
  color: #fff;
  font-size: 24px;
  background: #07376f;
}
.midi-upload-v131 strong {
  color: #07376f;
  font-size: 17px;
}
.midi-upload-v131 small {
  max-width: 300px;
  color: #738499;
  font-size: 11px;
  line-height: 1.55;
}
.midi-upload-v131 input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.midi-upload-v131__filename {
  margin-top: 14px;
  padding: 9px 13px;
  border-radius: 8px;
  color: #07376f;
  font-size: 11px;
  font-weight: 900;
  background: #e7eef6;
}
.midi-upload-v131__preview {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 64px;
  margin-top: 14px;
}
.midi-upload-v131__preview img {
  width: 82px;
  height: 82px;
  border-radius: 12px;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(7,46,89,.16);
}
.midi-v131-pdf-preview {
  display: grid;
  place-items: center;
  width: 66px;
  height: 78px;
  border-radius: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  background: #d31e38;
}
.midi-v131-file-notice {
  margin-top: 18px;
  padding: 17px 19px;
  border-left: 4px solid #ffd12b;
  border-radius: 0 12px 12px 0;
  background: #f7f9fc;
}
.midi-v131-file-notice strong {
  color: #07376f;
}
.midi-v131-file-notice p {
  margin: 5px 0 0;
  color: #66798c;
  font-size: 12px;
}
.midi-v131-summary {
  display: grid;
  gap: 0;
  margin-bottom: 25px;
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 15px;
  background: #fff;
}
.midi-v131-summary div {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  padding: 14px 17px;
  border-bottom: 1px solid #e5ebf1;
}
.midi-v131-summary div:last-child {
  border-bottom: 0;
}
.midi-v131-summary span {
  color: #77889a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.midi-v131-summary strong {
  color: #173957;
  overflow-wrap: anywhere;
}
.midi-v131-errors {
  display: none;
  margin-top: 20px;
  padding: 14px 16px;
  border: 1px solid #e6a0aa;
  border-radius: 10px;
  color: #8b1e2d;
  font-size: 13px;
  font-weight: 800;
  background: #fff0f2;
}
.midi-v131-errors.is-visible {
  display: block;
}
.midi-v131-navigation {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid #e1e8ef;
}
.midi-v131-navigation .btn {
  min-width: 190px;
}
.midi-v131-prev {
  color: #07376f;
  border: 1px solid #b8c7d7;
  background: #fff;
}
.midi-v131-submit {
  position: relative;
}
.midi-v131-submit i {
  display: none;
  width: 17px;
  height: 17px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: midiV131Spin .7s linear infinite;
}
.midi-v131-submit.is-loading i {
  display: inline-block;
}
@keyframes midiV131Spin {
  to { transform: rotate(360deg); }
}
.midi-form-message {
  display: grid;
  gap: 5px;
  margin-bottom: 24px;
  padding: 18px;
  border-radius: 12px;
}
.midi-form-message.success {
  color: #14532d;
  border: 1px solid #86d3a3;
  background: #eaf9ef;
}
.midi-form-message.error {
  color: #8b1e2d;
  border: 1px solid #e6a0aa;
  background: #fff0f2;
}
.midi-form-message span {
  font-size: 13px;
  line-height: 1.55;
}

@media screen and (max-width: 760px) {
  .midi-v131-progress {
    grid-template-columns: repeat(5,1fr);
    gap: 4px;
    padding: 13px 8px;
  }
  .midi-v131-progress i {
    display: none;
  }
  .midi-v131-progress button {
    min-width: 0;
  }
  .midi-v131-progress button small {
    display: none;
  }
  .midi-file-grid-v131 {
    grid-template-columns: 1fr;
  }
  .midi-v131-navigation {
    display: grid;
  }
  .midi-v131-navigation .btn {
    width: 100%;
    min-width: 0;
  }
  .midi-v131-summary div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}
