
: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;
    touch-action: none;
  }
}

@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; }
}
