/* ══ RESET ══════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;overflow-x:hidden;background:#fff;color:#1C1C1C;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
ul{list-style:none;}

/* ══ PALETTE ════════════════════════════════════════════════
   Blanc 50% — surface principale
   Vert  25% — nav dark, accents discrets
   Orange 25% — CTAs, highlights
═══════════════════════════════════════════════════════════ */
:root{
  --or:#F39200;
  --or-dk:#D07E00;
  --or-lt:rgba(243,146,0,.09);
  --or-xlt:rgba(243,146,0,.05);
  --gr:#5BA84F;         /* vert — utilisé avec parcimonie */
  --gr-dk:#3D7A35;
  --gr-lt:rgba(91,168,79,.08);
  --nav:#3D7A35;
  --nav-dark:#1E3B1A;     /* vert très sombre — footer, heroes sombres */
  --white:#FFFFFF;
  --off-white:#FAFAF8;  /* fond léger neutre */
  --cream:#F7F4EF;      /* fond crème doux */
  --text:#1A1A1A;
  --text-mid:#5A5A5A;
  --text-muted:#9A9A9A;
  --border:#E8E5E0;
  --shadow-sm:0 2px 12px rgba(0,0,0,.05);
  --shadow-md:0 8px 32px rgba(0,0,0,.09);
  --shadow-lg:0 24px 64px rgba(0,0,0,.12);
  --ff:'Poppins',sans-serif;
  --fi:'Inter',sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
  --r:8px;
  --rl:14px;
}

/* ══ TOP BAR ════════════════════════════════════════════════ */
.topbar{
  background:var(--cream);
  border-bottom:1px solid var(--border);
  padding:7px 0;font-size:11.5px;
}
.tb-inner{
  display:flex;align-items:center;
  justify-content:space-between;
  padding:0 28px 0 28px;
  gap:16px;
}
.tb-left{
  color:var(--text-mid);
  font-size:11.5px;white-space:nowrap;
  flex-shrink:0;
}
.tb-center{
  display:flex;align-items:center;gap:10px;
  flex:1;justify-content:center;
}
.tb-center a{
  display:inline-flex;align-items:center;gap:5px;
  color:var(--text-mid);font-size:11.5px;
  transition:color .2s;white-space:nowrap;
}
.tb-center a:hover{color:var(--or);}
.tb-center a svg{width:12px;height:12px;flex-shrink:0;opacity:.6;}
.tb-sep{color:var(--border);font-size:13px;padding:0 2px;}
.tb-right{
  display:flex;align-items:center;gap:10px;
  flex-shrink:0;
}
.tb-right a{
  display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;
  border-radius:6px;
  transition:all .2s;
  border:none;
}
.tb-right a[aria-label="Facebook MCF-PME"]{background:#1877F2;color:#fff;}
.tb-right a[aria-label="Facebook MCF-PME"]:hover{background:#1558b0;}
.tb-right a[aria-label="LinkedIn MCF-PME"]{background:#0A66C2;color:#fff;}
.tb-right a[aria-label="LinkedIn MCF-PME"]:hover{background:#084e96;}
.tb-right a[aria-label="Instagram MCF-PME"]{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285AEB 90%);color:#fff;}
.tb-right a[aria-label="Instagram MCF-PME"]:hover{opacity:.85;}
.tb-right a[aria-label="WhatsApp MCF-PME"]{background:#25D366;color:#fff;}
.tb-right a[aria-label="WhatsApp MCF-PME"]:hover{background:#1da851;}
.tb-right a svg{width:13px;height:13px;}

/* ══ HEADER SPLIT/* ══ HEADER SPLIT ═══════════════════════════════════════════ */
.header-wrap{position:sticky;top:0;z-index:200;display:flex;transition:box-shadow .3s;background:var(--white);box-shadow:0 1px 0 var(--border);}
.header-logo{
  width:280px;flex-shrink:0;background:var(--white);
  display:flex;align-items:center;padding:0 28px;height:90px;position:relative;
}
.header-logo::after{display:none;}
.logo-img{height:72px;width:auto;object-fit:contain;transition:opacity .2s;}

.header-nav{
  flex:1;background:var(--white);display:flex;align-items:center;
  justify-content:space-between;padding:0 28px;height:90px;
  border-bottom:1px solid var(--border);border-left:1px solid var(--border);
}
.main-nav{display:flex;gap:0;}
.main-nav>li{position:relative;}
.main-nav>li>a{
  display:flex;align-items:center;gap:4px;padding:0 13px;height:76px;
  font-family:var(--ff);font-size:11.5px;font-weight:700;
  color:var(--text);letter-spacing:.6px;text-transform:uppercase;
  position:relative;transition:color .2s;
}
.main-nav>li>a::after{
  content:'';position:absolute;bottom:0;left:13px;right:13px;
  height:2.5px;background:var(--gr);border-radius:2px 2px 0 0;
  transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);
}
.main-nav>li>a:hover,.main-nav>li.active>a{color:var(--gr);}
.main-nav>li>a:hover::after,.main-nav>li.active>a::after{transform:scaleX(1);}
.nav-chev{width:9px;height:9px;opacity:.4;transition:transform .2s;}
.main-nav>li:hover .nav-chev{transform:rotate(180deg);}

/* Dropdown */
.dropdown{
  position:absolute;top:calc(100% + 2px);left:0;
  background:#fff;min-width:210px;
  border-radius:0 0 var(--r) var(--r);
  box-shadow:var(--shadow-md);
  border-top:2.5px solid var(--gr);
  padding:8px 0;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:all .2s var(--ease);z-index:300;
}
.main-nav>li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{
  display:block;padding:9px 16px;font-size:13px;
  color:var(--text-mid);transition:background .15s,color .15s;
}
.dropdown a:hover{background:var(--cream);color:var(--text);}

.header-right{display:flex;align-items:center;gap:8px;}
.h-phone{display:flex;align-items:center;gap:10px;}
.h-phone-icon{
  width:38px;height:38px;border-radius:50%;background:var(--gr);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.h-phone-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;}
.h-phone-num{font-family:var(--ff);font-size:13px;font-weight:700;color:var(--text);}
.btn-quote{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--gr);color:#fff;padding:11px 20px;
  font-family:var(--ff);font-size:11px;font-weight:700;letter-spacing:.8px;
  text-transform:uppercase;border:2px solid var(--gr);transition:all .25s;white-space:nowrap;
}
.btn-quote:hover{background:var(--gr-dk);border-color:var(--gr-dk);transform:translateY(-1px);box-shadow:0 8px 20px rgba(45,107,47,.25);}
.mob-btn{display:none;background:none;border:none;cursor:pointer;padding:4px;}
.mob-btn span{display:block;width:22px;height:1.5px;background:var(--text);margin:5px 0;transition:all .25s;}

/* ══ HERO SLIDER ════════════════════════════════════════════ */
.hero{position:relative;height:100vh;min-height:580px;max-height:840px;overflow:hidden;}
.hero-socials{
  position:absolute;left:0;top:50%;transform:translateY(-50%);
  z-index:10;display:flex;flex-direction:column;
}
.hero-socials a{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:var(--ff);font-size:9.5px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,.65);padding:13px 9px;
  background:rgba(0,0,0,.25);transition:background .2s,color .2s;
}
.hero-socials a:nth-child(1):hover{background:#E1306C;color:#fff;}
.hero-socials a:nth-child(2):hover{background:#0A66C2;color:#fff;}
.hero-socials a:nth-child(3):hover{background:#1877F2;color:#fff;}

.hero-geo-1{position:absolute;bottom:-80px;right:-80px;width:440px;height:440px;border-radius:50%;border:1px solid rgba(240,120,24,.13);animation:spin 30s linear infinite;pointer-events:none;}
.hero-geo-2{position:absolute;bottom:-25px;right:-25px;width:270px;height:270px;border-radius:50%;border:1px solid rgba(240,120,24,.08);animation:spin 18s linear infinite reverse;pointer-events:none;}
@keyframes spin{to{transform:rotate(360deg);}}

.slides{position:relative;width:100%;height:100%;}
.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transition:opacity .9s var(--ease);pointer-events:none;}
.slide.active{opacity:1;pointer-events:auto;}
.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(20%);transform:scale(1.06);transition:transform 9s ease;}
.slide.active .slide-bg{transform:scale(1);}
.slide-ov{
  position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(28,40,30,.90) 0%,rgba(28,40,30,.72) 42%,rgba(28,40,30,.18) 68%,transparent 100%);
}
.slide-content{position:relative;z-index:2;padding:0 88px;max-width:760px;}
.slide-tag{display:flex;align-items:center;gap:12px;font-family:var(--ff);font-size:12.5px;font-weight:600;color:var(--or);margin-bottom:10px;letter-spacing:.5px;}
.slide-tag-bar{width:40px;height:2.5px;background:var(--or);border-radius:2px;flex-shrink:0;}
.slide-title{font-family:var(--ff);font-size:clamp(46px,6vw,78px);font-weight:900;color:#fff;line-height:1.0;margin-bottom:14px;letter-spacing:-1.5px;}
.slide-title .or{color:var(--or);}
.slide-title .wh{color:rgba(255,255,255,.85);}
.slide-sub{font-size:15.5px;color:rgba(255,255,255,.58);line-height:1.78;max-width:490px;margin-bottom:38px;}
.slide-ctas{display:flex;gap:13px;flex-wrap:wrap;}
.btn-hp{display:inline-flex;align-items:center;gap:9px;background:var(--or);color:#fff;padding:15px 32px;font-family:var(--ff);font-size:11.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;border:2px solid var(--or);transition:all .25s;}
.btn-hp:hover{background:var(--or-dk);border-color:var(--or-dk);transform:translateY(-2px);box-shadow:0 12px 28px rgba(240,120,24,.3);}
.btn-hp svg{transition:transform .2s;}
.btn-hp:hover svg{transform:translateX(4px);}
.btn-hg{display:inline-flex;align-items:center;gap:9px;background:transparent;color:#fff;padding:14px 28px;font-family:var(--ff);font-size:11.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;border:1.5px solid rgba(255,255,255,.3);transition:all .25s;}
.btn-hg:hover{border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.07);}

.arr-btns{position:absolute;right:42px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:9px;z-index:10;}
.arr-btn{width:50px;height:50px;border-radius:50%;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);backdrop-filter:blur(8px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;}
.arr-btn:hover{background:var(--or);border-color:var(--or);}
.arr-btn svg{width:17px;height:17px;}
.sl-dots{position:absolute;bottom:26px;left:88px;display:flex;gap:7px;z-index:10;}
.sdot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.28);border:none;cursor:pointer;transition:all .3s;padding:0;}
.sdot.active{background:var(--or);width:26px;border-radius:3px;}
.sl-ctr{position:absolute;bottom:26px;right:42px;z-index:10;font-family:var(--ff);color:rgba(255,255,255,.38);font-size:11px;text-align:center;}
.sl-cur{font-size:28px;font-weight:900;color:var(--or);line-height:1;}

/* ══ SERVICES STRIP (juste après le hero) ══════════════════ */
.services-strip{
  background:var(--white);padding:20px 0 28px;
}
.strip-hd{text-align:center;margin-bottom:28px;}
.ey{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gr);margin-bottom:8px;}
.ey::before{content:'';width:24px;height:2px;background:var(--gr);}
.ey::after{content:'';width:24px;height:2px;background:var(--gr);}
.strip-hd h2{font-family:var(--ff);font-size:clamp(26px,2.8vw,36px);font-weight:800;color:var(--text);line-height:1.2;}
.strip-hd h2 em{color:var(--or);font-style:normal;}
.strip-hd p{font-size:14.5px;color:var(--text-mid);margin-top:10px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.7;}

/* Grille 6 services — cartes horizontales légères */
/* ═══ SERVICES CARDS PREMIUM ═══════════════════════════════ */
.svc-strip-grid{
  max-width:1240px;margin:0 auto;padding:0 48px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}

.ss-card{
  position:relative;border-radius:16px;overflow:hidden;
  cursor:pointer;
  background:var(--white);
  border:1px solid var(--border);
  padding:0;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  display:flex;flex-direction:column;
  min-height:260px;
}
.ss-card:hover{
  transform:translateY(-8px);
  box-shadow:0 32px 72px rgba(0,0,0,.14);
  border-color:transparent;
}

/* Fond dégradé qui apparaît au hover */
.ss-card-bg{
  position:absolute;inset:0;
  opacity:0;
  transition:opacity .4s var(--ease);
  z-index:0;
}
.ss-card:nth-child(1) .ss-card-bg{background:linear-gradient(135deg,#3D7A35 0%,#2D6B2F 100%);}
.ss-card:nth-child(2) .ss-card-bg{background:linear-gradient(135deg,#7C2600 0%,#F07818 100%);}
.ss-card:nth-child(3) .ss-card-bg{background:linear-gradient(135deg,#3D7A35 0%,#3D8040 100%);}
.ss-card:nth-child(4) .ss-card-bg{background:linear-gradient(135deg,#7C2600 0%,#D0610E 100%);}
.ss-card:hover .ss-card-bg{opacity:1;}

/* Contenu */
.ss-card-inner{
  position:relative;z-index:2;
  padding:14px 16px 16px;
  display:flex;flex-direction:column;
  height:100%;
  flex:1;
}

/* Numéro discret */
.ss-num{
  font-family:var(--ff);font-size:11px;font-weight:700;
  letter-spacing:2px;color:var(--text-muted);
  margin-bottom:10px;
  transition:color .3s;
}
.ss-card:hover .ss-num{color:rgba(255,255,255,.4);}

/* Icône avec cercle */
.ss-icon{
  width:56px;height:56px;border-radius:14px;
  background:var(--cream);
  display:flex;align-items:center;justify-content:center;
  color:var(--gr);margin-bottom:10px;flex-shrink:0;
  transition:all .4s var(--ease);
  border:1px solid var(--border);
}
.ss-card:nth-child(2) .ss-icon,
.ss-card:nth-child(4) .ss-icon{color:var(--or);border-color:var(--or-lt);background:var(--or-xlt);}

.ss-card:hover .ss-icon{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.2);
  color:#fff;
  transform:scale(1.08) rotate(-4deg);
}
.ss-icon svg{width:24px;height:24px;}

/* Titre */
.ss-text h3{
  font-family:var(--ff);font-size:16px;font-weight:800;
  color:var(--text);line-height:1.25;margin-bottom:8px;
  transition:color .3s;
}
.ss-card:hover .ss-text h3{color:#fff;}

/* Description */
.ss-text p{
  font-size:13px;color:var(--text-mid);line-height:1.65;
  transition:color .3s;flex:1;
}
.ss-card:hover .ss-text p{color:rgba(255,255,255,.72);}

/* Lien animé qui slide */
.ss-footer{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:14px;padding-top:12px;
  border-top:1px solid var(--border);
  transition:border-color .3s;
}
.ss-card:hover .ss-footer{border-color:rgba(255,255,255,.15);}
.ss-lnk{
  font-family:var(--ff);font-size:11px;font-weight:800;
  color:var(--gr);letter-spacing:.8px;text-transform:uppercase;
  display:flex;align-items:center;gap:6px;
  transition:color .3s,gap .2s;
}
.ss-card:nth-child(2) .ss-lnk,
.ss-card:nth-child(4) .ss-lnk{color:var(--or);}
.ss-card:hover .ss-lnk{color:#fff;gap:10px;}
.ss-lnk svg{transition:transform .2s;}
.ss-card:hover .ss-lnk svg{transform:translateX(3px);}

/* Flèche circulaire */
.ss-arr{
  width:32px;height:32px;border-radius:50%;
  border:1.5px solid var(--border);
  background:transparent;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);
  transition:all .3s;
}
.ss-card:hover .ss-arr{
  background:rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.3);
  color:#fff;
}

/* Ligne déco bas de carte visible au repos */
.ss-card::before{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--gr);
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s var(--ease);z-index:3;
}
.ss-card:nth-child(2)::before,
.ss-card:nth-child(4)::before{background:var(--or);}
.ss-card:hover::before{transform:scaleX(1);}

/* ══ FEATURE CARDS (style Insurez sombre) ══════════════════ */
.features-bar{background:var(--cream);padding:20px 0 36px;}
.features-inner{
  max-width:1100px;margin:0 auto;padding:0 48px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  position:relative;
}
.features-inner::before{content:'';position:absolute;top:-56px;left:0;width:0;height:0;border-top:30px solid var(--or);border-right:30px solid transparent;}
.features-inner::after{content:'';position:absolute;bottom:-56px;right:0;width:0;height:0;border-bottom:30px solid var(--gr);border-left:30px solid transparent;}

.fc-card{
  background:var(--nav);border-radius:var(--rl);
  padding:22px 20px 20px;position:relative;overflow:hidden;
  cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.fc-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(0,0,0,.22);}
.fc-card::before{content:'';position:absolute;bottom:-18px;right:-18px;width:84px;height:84px;border-radius:50%;background:#F07818;opacity:.8;transition:transform .3s;}
.fc-card::after{content:'';position:absolute;bottom:-30px;right:2px;width:76px;height:76px;border-radius:50%;background:var(--gr);transition:transform .3s;}
.fc-card:hover::before{transform:scale(1.15);}
.fc-card:hover::after{transform:scale(1.1);}
.fc-title{font-family:var(--ff);font-size:17px;font-weight:800;color:#F07818;margin-bottom:10px;line-height:1.2;}
.fc-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.62;margin-bottom:16px;max-width:260px;position:relative;z-index:1;}
.fc-link{display:inline-flex;align-items:center;gap:5px;font-family:var(--ff);font-size:10.5px;font-weight:800;color:#fff;letter-spacing:.8px;text-transform:uppercase;transition:gap .2s;position:relative;z-index:1;}
.fc-card:hover .fc-link{gap:9px;}
.fc-ico{position:absolute;bottom:12px;right:58px;z-index:2;color:rgba(255,255,255,.65);transition:transform .3s;}
.fc-card:hover .fc-ico{transform:scale(1.1) rotate(-5deg);}
.fc-ico svg{width:34px;height:34px;}

/* ══ ABOUT + SIMULATEUR (split 50/50) ══════════════════════ */
.about-sim{
  padding:36px 0 0;
  background:var(--cream);
  position:relative;
  z-index:4;
}

/* ─ En-tête de section ─ */
.about-hd{
  max-width:1200px;margin:0 auto;padding:0 48px;
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:32px;flex-wrap:wrap;
  margin-bottom:24px;
}
.about-hd-left{}
.about-hd-right{max-width:320px;}
.about-hd-right p{font-size:13.5px;color:var(--text-mid);line-height:1.7;}

/* ─ Layout principal ─ */
.as-inner{
  max-width:1200px;margin:0 auto;padding:0 48px;
  display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;
}

/* ─ Gauche image ─ */
.about-left{position:relative;}
.about-imgs{position:relative;}
.ai-main{
  width:100%;height:380px;object-fit:cover;
  border-radius:var(--rl);
  display:block;
}
/* Overlay gradient bas */
.ai-main-wrap{
  position:relative;border-radius:var(--rl);
  overflow:hidden;
  box-shadow:0 24px 56px rgba(0,0,0,.18);
}
.ai-main-wrap::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top, rgba(26,46,27,.55) 0%, transparent 50%);
  border-radius:var(--rl);
}
/* Petite photo overlay */
.ai-sm{
  position:absolute;bottom:-18px;right:-18px;
  width:140px;height:130px;object-fit:cover;
  border-radius:12px;border:4px solid var(--cream);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  z-index:2;
}
/* Badge années */
.ai-badge{
  position:absolute;top:20px;left:20px;z-index:3;
  background:var(--or);color:#fff;
  padding:10px 14px;border-radius:10px;
  text-align:center;
  box-shadow:0 6px 18px rgba(240,120,24,.32);
}
.ai-num{font-family:var(--ff);font-size:26px;font-weight:900;line-height:1;}
.ai-lbl{font-size:9px;font-weight:600;letter-spacing:.4px;margin-top:1px;opacity:.9;}

/* ─ Droite texte ─ */
.about-right{}
.about-right>p{font-size:14px;color:var(--text-mid);line-height:1.78;margin-bottom:20px;}

/* Checks redesign */
.achecks{display:flex;flex-direction:column;gap:0;}
.ach{
  display:flex;gap:14px;align-items:flex-start;
  padding:12px 0;
  border-bottom:1px solid var(--border);
}
.ach:last-child{border-bottom:none;}
.ach-ic{
  width:36px;height:36px;border-radius:9px;flex-shrink:0;
  background:var(--gr-lt);
  border:1px solid rgba(45,107,47,.15);
  display:flex;align-items:center;justify-content:center;color:var(--gr);
}
.ach-ic svg{width:15px;height:15px;}
.ach-t{font-family:var(--ff);font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px;}
.ach-d{font-size:12px;color:var(--text-mid);line-height:1.55;}

/* Simulateur — pleine largeur sous about */
.sim-right{
  display:grid;grid-template-columns:1fr 1.15fr;gap:0;
  align-items:stretch;
  background:var(--white);
  border-radius:var(--rl);
  border:1px solid var(--border);
  box-shadow:var(--shadow-md);
  overflow:hidden;
}

/* ── Gauche : présentation ── */
.sim-left-panel{
  background:linear-gradient(145deg,#3D7A35 0%,#3D7A35 100%);
  padding:28px 24px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
}
.sim-left-panel::before{
  content:'';position:absolute;top:-60px;right:-60px;
  width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(240,120,24,.12) 0%,transparent 70%);
  pointer-events:none;
}
.sim-left-panel::after{
  content:'';position:absolute;bottom:-40px;left:-40px;
  width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 70%);
  pointer-events:none;
}
.slp-top{position:relative;z-index:1;}
.slp-eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--or);margin-bottom:16px;
}
.slp-eyebrow::before{content:'';width:18px;height:2px;background:var(--or);}
.slp-title{
  font-family:var(--ff);font-size:clamp(20px,1.8vw,26px);
  font-weight:900;color:#fff;line-height:1.15;margin-bottom:10px;
}
.slp-title em{color:var(--or);font-style:normal;}
.slp-sub{font-size:13px;color:rgba(255,255,255,.45);line-height:1.7;margin-bottom:18px;}

/* Avantages liste */
.slp-perks{display:flex;flex-direction:column;gap:0;position:relative;z-index:1;}
.slp-perk{
  display:flex;align-items:flex-start;gap:12px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.slp-perk:last-child{border-bottom:none;}
.slp-perk-ic{
  width:32px;height:32px;border-radius:8px;flex-shrink:0;
  background:rgba(240,120,24,.12);
  border:1px solid rgba(240,120,24,.2);
  display:flex;align-items:center;justify-content:center;
  color:var(--or);
}
.slp-perk-ic svg{width:14px;height:14px;}
.slp-perk-t{font-family:var(--ff);font-size:12.5px;font-weight:700;color:#fff;margin-bottom:2px;}
.slp-perk-d{font-size:11.5px;color:rgba(255,255,255,.38);line-height:1.5;}

/* Badge confiance bas */
.slp-trust{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  position:relative;z-index:1;
}
.slp-trust svg{width:15px;height:15px;color:var(--or);flex-shrink:0;}
.slp-trust span{font-size:11px;color:rgba(255,255,255,.55);font-family:var(--ff);font-weight:600;}

/* ── Droite : formulaire ── */
.sim-form-panel{
  padding:24px 24px;
  display:flex;flex-direction:column;gap:0;
  background:var(--white);
}
.sfp-hd{margin-bottom:14px;}
.sfp-hd h3{
  font-family:var(--ff);font-size:17px;font-weight:800;
  color:var(--text);margin-bottom:4px;
}
.sfp-hd p{font-size:12.5px;color:var(--text-muted);line-height:1.6;}

.sim-tabs{display:flex;gap:3px;margin-bottom:18px;background:var(--cream);border-radius:var(--r);padding:4px;border:1px solid var(--border);}
.stab{flex:1;padding:9px 6px;border:none;background:transparent;font-family:var(--ff);font-size:10px;font-weight:700;color:var(--text-mid);cursor:pointer;border-radius:5px;transition:all .2s;letter-spacing:.4px;text-transform:uppercase;}
.stab.active{background:var(--or);color:#fff;box-shadow:0 2px 8px rgba(240,120,24,.22);}

.sim-fields{display:flex;flex-direction:column;gap:10px;}
.sfield label{display:block;font-family:var(--ff);font-size:10px;font-weight:700;color:var(--text);margin-bottom:5px;letter-spacing:.5px;text-transform:uppercase;}
.sfield select,.sfield input{
  width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--r);
  font-family:var(--fi);font-size:14px;color:var(--text);background:var(--off-white);
  transition:border-color .2s,background .2s;outline:none;appearance:none;-webkit-appearance:none;
}
.sfield select:focus,.sfield input:focus{border-color:var(--or);background:#fff;}

/* Résultat mis en avant */
.sim-result{
  background:var(--cream);border-radius:var(--r);
  border:1px solid var(--border);
  padding:14px 18px;
  display:flex;justify-content:space-between;align-items:center;
  margin-top:4px;
}
.srl{font-size:12px;color:var(--text-muted);}
.srv{font-family:var(--ff);font-size:22px;font-weight:900;color:var(--or);}

.sim-btn{
  width:100%;padding:14px;margin-top:6px;
  background:var(--or);color:#fff;border:none;
  font-family:var(--ff);font-size:11px;font-weight:700;
  letter-spacing:.8px;text-transform:uppercase;
  border-radius:var(--r);cursor:pointer;
  transition:all .25s;display:flex;align-items:center;justify-content:center;gap:7px;
}
.sim-btn:hover{background:var(--or-dk);transform:translateY(-1px);box-shadow:0 8px 20px rgba(240,120,24,.26);}
.sim-note{
  margin-top:12px;text-align:center;
  font-size:11px;color:var(--text-muted);
}

/* ══ STATS — bandeau premium ══════════════════════════════ */
.stats-wrap{
  background:var(--off-white);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  position:relative;
  overflow:hidden;
  padding:36px 0;
}
.stats-wrap::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 100%,rgba(240,120,24,.05) 0%,transparent 70%);
  pointer-events:none;
}
.stats-box{
  max-width:1200px;margin:0 auto;padding:0 48px;
  position:relative;z-index:1;
}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
}
.stat-item{
  text-align:center;
  padding:0 32px;
  position:relative;
}
.stat-item::after{
  content:'';position:absolute;right:0;top:15%;bottom:15%;
  width:1px;background:var(--border);
}
.stat-item:last-child::after{display:none;}
.stat-icon{display:none;}
.stat-num{
  font-family:'Caveat',cursive;
  font-size:clamp(48px,5vw,72px);
  font-weight:700;
  color:var(--text);
  line-height:1;
  margin-bottom:8px;
  letter-spacing:-1px;
}
.stat-num em{color:var(--or);font-style:normal;font-size:.75em;letter-spacing:0;vertical-align:super;}
.stat-lbl{
  font-size:12px;
  color:var(--text-muted);
  font-weight:500;
  letter-spacing:.4px;
  text-transform:uppercase;
}

/* ══ TÉMOIGNAGES ═══════════════════════════════════════════ */
.testi-section{position:relative;padding:24px 0;overflow:hidden;}
.testi-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1655720359248-eeace8c709c5?w=1600&q=80&auto=format&fit=crop') center/cover no-repeat;}
.testi-bg-ov{position:absolute;inset:0;background:rgba(26,40,28,.86);}
.testi-inner{max-width:1200px;margin:0 auto;padding:0 48px;position:relative;z-index:1;}
.testi-hd{text-align:center;margin-bottom:12px;}
.ey-y{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#F07818;margin-bottom:8px;}
.ey-y::before,.ey-y::after{content:'';width:24px;height:2px;background:#F07818;}
.testi-hd h2{font-family:var(--ff);font-size:clamp(26px,3vw,40px);font-weight:900;color:#fff;line-height:1.15;}
.testi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.tc{background:#fff;border-radius:var(--rl);padding:18px 20px 20px;position:relative;overflow:visible;margin-top:20px;transition:transform .3s;}
.tc:hover{transform:translateY(-4px);}
.tc-hd{position:absolute;top:-28px;left:24px;display:flex;align-items:center;gap:11px;}
.tc-av{width:58px;height:58px;border-radius:50%;border:4px solid #fff;display:flex;align-items:center;justify-content:center;font-family:var(--ff);font-size:19px;font-weight:900;color:#fff;flex-shrink:0;box-shadow:0 5px 16px rgba(0,0,0,.18);}
.tc-av.or{background:var(--or);}
.tc-av.gr{background:var(--gr-dk);}
.tc-info{padding-top:6px;}
.tc-name{font-family:var(--ff);font-size:15px;font-weight:800;color:var(--text);}
.tc-role{font-size:12px;color:var(--text-muted);}
.tc-body{margin-top:18px;}
.tc-text{font-size:14px;color:var(--text-mid);line-height:1.75;font-style:italic;margin-bottom:8px;}
.tc-stars{display:flex;gap:3px;}
.star{color:#F07818;font-size:14px;}
.tc::before{content:'';position:absolute;bottom:-16px;right:-16px;width:76px;height:76px;border-radius:50%;background:#F07818;opacity:.65;pointer-events:none;}
.tc::after{display:none;}
.tc-note{font-size:10px;color:var(--text-muted);font-style:italic;margin-top:5px;opacity:.7;}
.t-dots{display:flex;justify-content:center;gap:9px;margin-top:24px;}
.tdot{width:26px;height:3.5px;border-radius:2px;border:none;cursor:pointer;background:rgba(255,255,255,.22);transition:all .25s;padding:0;}
.tdot.active{background:#F07818;width:42px;}

/* ══ BLOG ═══════════════════════════════════════════════════ */
.blog{padding:24px 0;background:var(--off-white);}
.blog-grid{max-width:1200px;margin:0 auto;padding:0 48px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.bc{border-radius:var(--rl);overflow:hidden;background:#fff;border:1px solid var(--border);transition:all .3s var(--ease);cursor:pointer;display:flex;flex-direction:column;}
.bc:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.bc-img{height:170px;overflow:hidden;position:relative;}
.bc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.bc:hover .bc-img img{transform:scale(1.06);}
.bc-tag{position:absolute;top:12px;left:12px;background:var(--or);color:#fff;padding:3px 11px;border-radius:4px;font-family:var(--ff);font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;}
.bc-tag.gr{background:var(--gr);}
.bc-body{padding:16px;display:flex;flex-direction:column;flex:1;}
.bc-date{font-size:11px;color:var(--text-muted);margin-bottom:7px;}
.bc-body h3{font-family:var(--ff);font-size:15.5px;font-weight:800;color:var(--text);line-height:1.32;margin-bottom:8px;}
.bc-body p{font-size:13px;color:var(--text-mid);line-height:1.58;}
.bc-lnk{display:inline-flex;align-items:center;gap:5px;font-family:var(--ff);font-size:10.5px;font-weight:800;color:var(--gr);margin-top:auto;padding-top:12px;text-transform:uppercase;letter-spacing:.4px;transition:gap .2s;}
.bc:hover .bc-lnk{gap:9px;}

/* ══ MAP + CONTACT ═══════════════════════════════════════════ */
.contact-map{padding:20px 0 0;background:#fff;}
.cm-inner{
  max-width:1200px;margin:0 auto;padding:0 48px;
  display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
  border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;
  box-shadow:var(--shadow-md);
}
/* Colonne gauche — infos contact */
.cm-left{padding:32px 36px;background:#fff;position:relative;}
.cm-dots{
  position:absolute;top:24px;left:24px;
  display:grid;grid-template-columns:repeat(4,12px);gap:6px;
  opacity:.18;
}
.cm-dot{width:4px;height:4px;border-radius:50%;background:var(--text);}

.cm-left .ey{margin-bottom:8px;}
.cm-contact-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cc-block h3{
  font-family:var(--ff);font-size:18px;font-weight:800;color:var(--text);margin-bottom:8px;
  padding-bottom:8px;border-bottom:2px solid var(--text);display:inline-block;
}
.cc-item{margin-top:8px;}
.cc-label{font-size:11.5px;font-weight:600;color:var(--gr);margin-bottom:3px;letter-spacing:.3px;}
.cc-val{font-family:var(--ff);font-size:14.5px;font-weight:600;color:var(--text);line-height:1.4;}
.cc-val.light{font-weight:400;font-family:var(--fi);font-size:14px;}

/* Colonne droite — map Google embed */
.cm-right{position:relative;min-height:420px;}
.cm-right iframe{
  width:100%;height:100%;border:0;
  filter:grayscale(20%) contrast(1.02);
  display:block;
}

/* ══ PROCESS SECTION ══════════════════════════════════════════ */
.process{
  background:var(--cream);
  padding:24px 0 20px;
  position:relative;overflow:hidden;
  border-top:1px solid var(--border);
}

/* Accent géométrique discret en arrière-plan */
.process::before{
  content:'';position:absolute;top:-60px;right:-60px;
  width:360px;height:360px;border-radius:50%;
  border:1px solid rgba(240,120,24,.09);
  pointer-events:none;
}

/* lueur orange très subtile en haut à droite */
.process-glow-r{
  position:absolute;top:-80px;right:-80px;
  width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle,rgba(240,120,24,.06) 0%,transparent 70%);
  pointer-events:none;
}
/* lueur verte en bas à gauche */
.process-glow-l{
  position:absolute;bottom:-80px;left:-80px;
  width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(45,107,47,.04) 0%,transparent 70%);
  pointer-events:none;
}

.process-inner{
  max-width:1200px;margin:0 auto;padding:0 48px;
  position:relative;z-index:1;
}

/* En-tête */
.process-hd{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:10px;gap:12px;flex-wrap:wrap;
}
.process-hd-left{}
.process-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:11px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--or);margin-bottom:10px;
}
.process-eyebrow::before{content:'';width:24px;height:2px;background:var(--or);}
.process-eyebrow::after{content:'';width:24px;height:2px;background:var(--or);}
.process-hd h2{
  font-family:var(--ff);font-size:clamp(26px,2.8vw,40px);
  font-weight:900;color:var(--text);line-height:1.08;letter-spacing:-.8px;
}
.process-hd h2 em{color:var(--or);font-style:normal;}
.process-hd-right{
  max-width:280px;
}
.process-hd-right p{
  font-size:13.5px;color:var(--text-mid);line-height:1.72;
}

/* Grille des étapes */
.process-steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:14px;
  border-radius:var(--rl);
  overflow:visible;
}

.ps{
  padding:18px 18px 20px;
  position:relative;overflow:hidden;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--rl);
  box-shadow:var(--shadow-sm);
  transition:all .35s var(--ease);
  cursor:default;
}
.ps:last-child{border-right:1px solid var(--border);}

/* Fond de survol */
.ps::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(240,120,24,.04) 0%,transparent 60%);
  opacity:0;transition:opacity .4s var(--ease);
  border-radius:var(--rl);
}
.ps:hover::before{opacity:1;}
.ps:hover{
  background:var(--white);
  border-color:rgba(240,120,24,.25);
  box-shadow:0 12px 36px rgba(0,0,0,.09);
  transform:translateY(-3px);
}

/* Ligne de progression entre étapes */
.ps-connector{
  position:absolute;top:46px;right:-9px;
  width:2px;height:1px;
  display:flex;align-items:center;
  z-index:2;
}
.ps:last-child .ps-connector{display:none;}
.ps-connector::after{
  content:'';display:block;
  width:8px;height:8px;border-radius:50%;
  background:var(--or);
  box-shadow:0 0 0 3px rgba(240,120,24,.18);
  position:absolute;right:-4px;
  animation:connPulse 2.5s ease-in-out infinite;
}
.ps:nth-child(2) .ps-connector::after{animation-delay:.6s;}
.ps:nth-child(3) .ps-connector::after{animation-delay:1.2s;}
@keyframes connPulse{
  0%,100%{box-shadow:0 0 0 3px rgba(240,120,24,.18);}
  50%{box-shadow:0 0 0 7px rgba(240,120,24,.05);}
}

/* Numéro */
.ps-num{
  font-family:var(--ff);font-size:10px;font-weight:800;
  letter-spacing:2px;text-transform:uppercase;
  color:var(--gr);margin-bottom:10px;
  display:flex;align-items:center;gap:8px;
}
.ps-num-val{
  font-size:60px;font-weight:900;letter-spacing:-3px;
  color:rgba(45,107,47,.09);
  position:absolute;top:6px;right:14px;line-height:1;
  font-family:var(--ff);
  transition:color .4s var(--ease);
}
.ps:hover .ps-num-val{color:rgba(45,107,47,.16);}

/* Icône */
.ps-icon{
  width:44px;height:44px;border-radius:11px;
  background:var(--or-lt);
  border:1px solid rgba(240,120,24,.15);
  display:flex;align-items:center;justify-content:center;
  color:var(--or);
  margin-bottom:10px;
  transition:all .4s var(--ease);
  position:relative;z-index:1;
}
.ps-icon svg{width:20px;height:20px;transition:transform .3s var(--ease);}
.ps:hover .ps-icon{
  background:var(--or);
  border-color:var(--or);
  color:#fff;
  box-shadow:0 6px 18px rgba(240,120,24,.28);
}
.ps:hover .ps-icon svg{transform:scale(1.1);}

/* Titre */
.ps-title{
  font-family:var(--ff);font-size:15px;font-weight:800;
  color:var(--text);margin-bottom:8px;line-height:1.2;
  position:relative;z-index:1;
}

/* Description */
.ps-desc{
  font-size:12.5px;color:var(--text-mid);
  line-height:1.68;margin-bottom:16px;
  position:relative;z-index:1;
}

/* Tag durée */
.ps-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--ff);font-size:10px;font-weight:700;
  letter-spacing:.4px;text-transform:uppercase;
  color:var(--gr);
  background:var(--gr-lt);
  border:1px solid rgba(45,107,47,.15);
  border-radius:100px;
  padding:4px 10px;
  opacity:.8;
  transition:opacity .3s,background .3s;
  position:relative;z-index:1;
}
.ps-tag svg{width:10px;height:10px;}
.ps:hover .ps-tag{opacity:1;background:rgba(45,107,47,.14);}

/* Barre de progression animée */
.ps-bar{
  position:absolute;bottom:0;left:0;right:0;height:2px;
  background:var(--border);
  border-radius:0 0 var(--rl) var(--rl);
}
.ps-bar-fill{
  height:100%;background:var(--or);
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--ease);
  border-radius:0 0 var(--rl) var(--rl);
}
.ps:hover .ps-bar-fill{transform:scaleX(1);}

/* CTA bas */
.process-cta{
  margin-top:14px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px;
}
.process-cta-left{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.pcta-badge{
  display:flex;align-items:center;gap:8px;
  background:var(--or-lt);
  border:1px solid rgba(240,120,24,.18);
  border-radius:100px;
  padding:8px 16px;
}
.pcta-badge svg{width:13px;height:13px;color:var(--or);flex-shrink:0;}
.pcta-badge span{font-family:var(--ff);font-size:11px;font-weight:700;color:var(--text-mid);}
.process-cta-btns{display:flex;gap:10px;flex-wrap:wrap;}

.btn-cp{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--gr);color:#fff;
  padding:14px 28px;
  font-family:var(--ff);font-size:11.5px;font-weight:700;
  letter-spacing:.8px;text-transform:uppercase;
  border:2px solid var(--gr);
  transition:all .25s;
}
.btn-cp:hover{background:var(--gr-dk);border-color:var(--gr-dk);transform:translateY(-2px);box-shadow:0 10px 24px rgba(45,107,47,.28);}
.btn-cp svg{transition:transform .2s;}
.btn-cp:hover svg{transform:translateX(4px);}
.btn-co{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--text-mid);
  padding:13px 24px;
  font-family:var(--ff);font-size:11.5px;font-weight:600;
  letter-spacing:.8px;text-transform:uppercase;
  border:1.5px solid var(--border);
  transition:all .25s;
}
.btn-co:hover{border-color:var(--or);color:var(--or);background:var(--or-lt);}

/* Animation entrée des cartes */
.ps{
  opacity:0;transform:translateY(28px);
  transition:opacity .55s var(--ease),transform .55s var(--ease),
             background .35s var(--ease),border-color .35s var(--ease),
             box-shadow .35s var(--ease);
}
.ps.ps-vis{opacity:1;transform:translateY(0);}
.ps:nth-child(1){transition-delay:.0s;}
.ps:nth-child(2){transition-delay:.12s;}
.ps:nth-child(3){transition-delay:.24s;}
.ps:nth-child(4){transition-delay:.36s;}

/* ══ FOOTER ══════════════════════════════════════════════════ */
/* ══ FOOTER VERT ═══════════════════════════════════════════ */
footer{
  background:var(--gr-dk);
  border-top:none;
  color:#fff;
  padding:28px 0 0;
  position:relative;overflow:hidden;
}
/* Lueur décorative */
footer::before{
  content:'';position:absolute;top:-100px;right:-100px;
  width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 70%);
  pointer-events:none;
}
footer::after{
  content:'';position:absolute;bottom:-60px;left:-60px;
  width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(240,120,24,.07) 0%,transparent 70%);
  pointer-events:none;
}
.footer-in{max-width:1200px;margin:0 auto;padding:0 48px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;margin-bottom:24px;position:relative;z-index:1;}
.f-logo-img{height:46px;width:auto;margin-bottom:14px;filter:brightness(0) invert(1);}
.f-brand p{font-size:13px;color:rgba(255,255,255,.62);line-height:1.7;}
.f-brand address{font-style:normal;font-size:13px;color:rgba(255,255,255,.45);margin-top:12px;line-height:1.7;}
.f-col-t{font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--or);margin-bottom:8px;}
.f-col ul li{margin-bottom:8px;}
.f-col ul li a{font-size:13px;color:rgba(255,255,255,.58);transition:color .2s;}
.f-col ul li a:hover{color:#fff;}
.footer-bt{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;position:relative;z-index:1;}
.fb-in{max-width:1200px;margin:0 auto;padding:0 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.fb-copy{font-size:11px;color:rgba(255,255,255,.35);}
.fb-links{display:flex;gap:18px;}
.fb-links a{font-size:11px;color:rgba(255,255,255,.38);transition:color .2s;}
.fb-links a:hover{color:rgba(255,255,255,.85);}
.fb-socs{display:flex;gap:7px;}
.fb-soc{width:30px;height:30px;border-radius:7px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);transition:all .2s;}
.fb-soc:hover{background:var(--or);border-color:var(--or);color:#fff;}
.fb-soc svg{width:13px;height:13px;}

/* ══ REVEAL ANIMATIONS ══════════════════════════════════════ */
.rv{opacity:0;transform:translateY(26px);transition:opacity .65s var(--ease),transform .65s var(--ease);animation:revealFallback 0.1s 1.5s forwards;}
.rv-l{opacity:0;transform:translateX(-26px);transition:opacity .65s var(--ease),transform .65s var(--ease);animation:revealFallback 0.1s 1.5s forwards;}
.rv-r{opacity:0;transform:translateX(26px);transition:opacity .65s var(--ease),transform .65s var(--ease);animation:revealFallback 0.1s 1.5s forwards;}
.rv.ok,.rv-l.ok,.rv-r.ok{opacity:1;transform:translate(0);}
.d1{transition-delay:.1s!important;}
.d2{transition-delay:.2s!important;}
.d3{transition-delay:.3s!important;}
.d4{transition-delay:.4s!important;}


/* ══ ESPACE PUB + TÉMOIGNAGES ═══════════════════════════════ */
.adspace-testi{
  background:var(--cream);
  overflow:hidden;
}

/* --- BANNIÈRE PUB --- */
.adspace{position:relative;height:340px;overflow:hidden;}
.ads-inner{position:relative;width:100%;height:100%;}

.ad-slide{
  position:absolute;inset:0;
  display:flex;align-items:center;
  opacity:0;transition:opacity .8s var(--ease);pointer-events:none;
}
.ad-slide.active{opacity:1;pointer-events:auto;}

.ad-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transform:scale(1.04);transition:transform 9s ease;
  filter:grayscale(15%);
}
.ad-slide.active .ad-bg{transform:scale(1);}
.ad-overlay{
  position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(26,46,27,.94) 0%,rgba(26,46,27,.72) 45%,rgba(26,46,27,.1) 100%);
}

.ad-content{
  position:relative;z-index:2;
  padding:0 72px;max-width:680px;
}
.ad-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--ff);font-size:11px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;
  color:var(--or);border:1px solid rgba(240,120,24,.35);
  padding:5px 14px;border-radius:100px;margin-bottom:10px;
}
.ad-title{
  font-family:var(--ff);font-size:clamp(34px,4.5vw,54px);
  font-weight:900;color:#fff;line-height:1.05;
  margin-bottom:8px;letter-spacing:-1px;
}
.ad-title span{color:var(--or);}
.ad-sub{
  font-size:15px;color:rgba(255,255,255,.6);
  line-height:1.7;max-width:440px;margin-bottom:28px;
}
.ad-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--or);color:#fff;
  padding:13px 28px;font-family:var(--ff);
  font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
  border:none;transition:all .25s;cursor:pointer;
}
.ad-cta:hover{background:var(--or-dk);transform:translateX(4px);}
.ad-cta svg{transition:transform .2s;}
.ad-cta:hover svg{transform:translateX(3px);}

/* Badge flottant droite */
.ad-badge-float{
  position:absolute;right:72px;bottom:48px;z-index:3;
  background:rgba(255,255,255,.1);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--rl);padding:18px 22px;
  display:flex;align-items:center;gap:14px;
  animation:floatBadge 4s ease-in-out infinite;
}
@keyframes floatBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.abf-icon{font-size:32px;line-height:1;}
.abf-num{
  display:block;font-family:var(--ff);font-size:24px;
  font-weight:900;color:var(--or);line-height:1;
}
.abf-lbl{display:block;font-size:11px;color:rgba(255,255,255,.55);margin-top:3px;}

/* Flèches pub */
.ad-arr{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.1);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  z-index:5;transition:all .25s;
}
.ad-arr:hover{background:var(--or);border-color:var(--or);}
.ad-arr-prev{left:24px;}
.ad-arr-next{right:24px;}

/* Dots avec barre de progression */
.ad-dots{
  position:absolute;bottom:20px;left:72px;
  display:flex;gap:10px;align-items:center;z-index:5;
}
.ad-dot{
  width:32px;height:3px;border:none;cursor:pointer;padding:0;
  background:rgba(255,255,255,.2);border-radius:2px;
  position:relative;overflow:hidden;transition:width .3s;
}
.ad-dot.active{width:52px;}
.ad-dot-fill{
  position:absolute;inset:0;left:-100%;
  background:var(--or);border-radius:2px;
}
.ad-dot.active .ad-dot-fill{
  animation:fillProgress 5s linear forwards;
}
@keyframes fillProgress{from{left:-100%}to{left:0}}

/* --- BANDE TÉMOIGNAGES --- */
.testi-band{
  background:var(--white);
  padding:20px 0 28px;
  border-top:1px solid var(--border);
}
.testi-band-hd{text-align:center;margin-bottom:10px;padding:0 48px;}
.ey-w{
  display:inline-flex;align-items:center;gap:9px;
  font-size:11px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--or);margin-bottom:10px;
}
.ey-w::before,.ey-w::after{content:'';width:24px;height:2px;background:var(--or);}
.testi-band-hd h3{
  font-family:var(--ff);font-size:clamp(22px,2.5vw,32px);
  font-weight:900;color:var(--text);
}
.testi-band-hd h3 em{color:var(--or);font-style:normal;}
.testi-disclaimer{
  text-align:center;font-size:11px;
  color:var(--text-muted);font-style:italic;margin-top:20px;
}

/* Viewport ticker */
.ticker-viewport{
  overflow:hidden;padding:0 48px 12px;position:relative;
}
.ticker-viewport::before,.ticker-viewport::after{
  content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;
}
.ticker-viewport::before{left:0;background:linear-gradient(to right,var(--white),transparent);}
.ticker-viewport::after{right:0;background:linear-gradient(to left,var(--white),transparent);}

.ticker-track{
  display:flex;gap:22px;
  transition:transform .6s cubic-bezier(.4,0,.2,1);
}
.tk-card{
  min-width:380px;max-width:380px;
  background:var(--off-white);
  border:1px solid var(--border);
  border-radius:var(--rl);
  padding:28px 26px;flex-shrink:0;
  position:relative;overflow:hidden;
  transition:all .3s var(--ease);
}
.tk-card:hover{
  background:var(--white);
  border-color:rgba(240,120,24,.3);
  transform:translateY(-4px);
  box-shadow:var(--shadow-md);
}
.tk-card::before{
  content:'"';position:absolute;top:-8px;right:14px;
  font-family:var(--ff);font-size:90px;font-weight:900;
  color:rgba(240,120,24,.09);line-height:1;pointer-events:none;
}
.tk-quote{
  font-size:13.5px;color:var(--text-mid);
  line-height:1.72;font-style:italic;margin-bottom:20px;
  position:relative;z-index:1;
}
.tk-author{display:flex;align-items:center;gap:11px;margin-bottom:8px;}
.tk-av{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--ff);font-size:14px;font-weight:800;color:#fff;
}
.tk-name{font-family:var(--ff);font-size:13.5px;font-weight:700;color:var(--text);}
.tk-role{font-size:11.5px;color:var(--text-muted);margin-top:1px;}
.tk-stars{font-size:13px;color:var(--or);letter-spacing:2px;}

.ticker-dots{
  display:flex;justify-content:center;gap:8px;margin-top:28px;
}
.tdot{
  width:22px;height:3px;border-radius:2px;border:none;
  cursor:pointer;background:var(--border);
  transition:all .25s;padding:0;
}
.tdot.active{background:var(--or);width:34px;}


/* ══ FLASH INFO ════════════════════════════════════════════ */
.flash-info{
  position:absolute;top:0;left:0;right:0;z-index:20;
  background:rgba(240,120,24,.95);
  backdrop-filter:blur(4px);
  overflow:hidden;
  animation:slideDown .4s .5s var(--ease) both;
}
@keyframes slideDown{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}
.fi-track{
  display:flex;align-items:center;
  padding:0 48px 0 0;
  height:38px;
}
.fi-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(0,0,0,.25);
  color:#fff;font-family:var(--ff);
  font-size:10.5px;font-weight:800;letter-spacing:1px;
  text-transform:uppercase;
  padding:0 16px;height:100%;flex-shrink:0;
  white-space:nowrap;border-right:1px solid rgba(255,255,255,.2);
}
.fi-badge svg{width:14px;height:14px;flex-shrink:0;}
.fi-items{
  flex:1;overflow:hidden;height:100%;
  display:flex;align-items:center;
  position:relative;
  padding:0 20px;
}
.fi-item{
  position:absolute;left:20px;right:0;
  font-size:12.5px;color:#fff;font-weight:500;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transform:translateY(16px);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.fi-item.active{
  opacity:1;transform:translateY(0);
}
.fi-item.exit{
  opacity:0;transform:translateY(-16px);
}
.fi-close{
  background:none;border:none;cursor:pointer;
  color:rgba(255,255,255,.7);font-size:14px;
  padding:0 16px;height:100%;flex-shrink:0;
  transition:color .2s;border-left:1px solid rgba(255,255,255,.2);
}
.fi-close:hover{color:#fff;}


.stat-item:nth-child(1) .stat-num{color:var(--gr);}
.stat-item:nth-child(3) .stat-num{color:var(--or);}
.stat-item:nth-child(2) .stat-num,
.stat-item:nth-child(4) .stat-num{color:var(--or);}
.stat-item:nth-child(1) .stat-icon{color:var(--gr);}
.stat-item:nth-child(3) .stat-icon{color:var(--or);}
.stat-item:nth-child(2) .stat-icon,
.stat-item:nth-child(4) .stat-icon{color:var(--or);}

/* ══ RESPONSIVE ═════════════════════════════════════════════ */
@media(max-width:1100px){
  .header-logo{width:240px;}
  .svc-strip-grid{grid-template-columns:repeat(2,1fr);}
  .as-card{padding:0 20px;}
  .as-inner{grid-template-columns:1fr;gap:28px;}
  .sim-right{grid-template-columns:1fr;}
  .sim-right-hd{flex-direction:column;align-items:flex-start;}
  .footer-in{grid-template-columns:1fr 1fr;gap:28px;}
  .cm-inner{grid-template-columns:1fr;}
  .cm-right{min-height:320px;}
}
@media(max-width:900px){
  .header-logo{width:160px;}
  .header-logo::after{display:none;}
  .main-nav,.h-phone{display:none;}
  .mob-btn{display:block;}
  .hero-socials{display:none;}
  .slide-content{padding:0 36px;}
  .svc-strip-grid{grid-template-columns:1fr;}
  .features-inner{grid-template-columns:1fr;}
  .as-card-inner{grid-template-columns:1fr;gap:40px;}
  .about-imgs{margin-bottom:12px;}
  .ai-sm,.ai-badge{display:none;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .stat-item:nth-child(2){border-right:none;}
  .stat-item:nth-child(3){border-right:none;}
  .testi-grid{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
  .footer-in{grid-template-columns:1fr;}
  .fb-in{flex-direction:column;align-items:flex-start;}
  .contact-map{padding:28px 0 0;}
  .cm-left{padding:36px 28px;}
  .cm-contact-cols{grid-template-columns:1fr;gap:20px;}
}
.footer-accent{height:4px;background:linear-gradient(90deg,var(--gr) 0%,var(--or) 55%,var(--gr) 100%);position:relative;z-index:1;}

/* ══ CHATBOX ════════════════════════════════════════════════ */
#chat-btn{
  position:fixed;bottom:28px;right:28px;z-index:9999;
  width:54px;height:54px;border-radius:50%;
  background:var(--gr);color:#fff;
  border:none;cursor:pointer;
  box-shadow:0 6px 20px rgba(45,107,47,.35);
  display:flex;align-items:center;justify-content:center;
  transition:all .3s var(--ease);
}
#chat-btn:hover{background:var(--gr-dk);transform:scale(1.08);box-shadow:0 10px 28px rgba(45,107,47,.45);}
#chat-btn svg{width:24px;height:24px;transition:transform .3s;}
#chat-btn.open svg.ico-chat{display:none;}
#chat-btn.open svg.ico-close{display:block !important;}

#chat-badge{
  position:absolute;top:-3px;right:-3px;
  width:18px;height:18px;border-radius:50%;
  background:var(--or);color:#fff;
  font-size:10px;font-weight:700;font-family:var(--ff);
  display:flex;align-items:center;justify-content:center;
  border:2px solid #fff;
  animation:badgePulse 2s ease-in-out infinite;
}
@keyframes badgePulse{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}

#chatbox{
  position:fixed;bottom:94px;right:28px;z-index:9998;
  width:340px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 16px 48px rgba(0,0,0,.16);
  overflow:hidden;
  display:none;
  flex-direction:column;
  font-family:var(--ff);
  border:1px solid var(--border);
  animation:chatSlide .25s var(--ease);
  max-height:480px;
}
@keyframes chatSlide{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
#chatbox.visible{display:flex;}

.chat-hd{
  background:var(--gr);color:#fff;
  padding:14px 18px;
  display:flex;align-items:center;gap:10px;
  flex-shrink:0;
}
.chat-hd-avatar{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.chat-hd-avatar svg{width:18px;height:18px;}
.chat-hd-info{flex:1;}
.chat-hd-name{font-size:13px;font-weight:700;line-height:1.2;}
.chat-hd-status{font-size:10.5px;opacity:.75;display:flex;align-items:center;gap:4px;}
.chat-hd-status::before{content:'';width:7px;height:7px;border-radius:50%;background:#7fff7f;flex-shrink:0;}

.chat-msgs{
  flex:1;overflow-y:auto;
  padding:14px 14px 8px;
  display:flex;flex-direction:column;gap:10px;
  scroll-behavior:smooth;
}
.chat-msgs::-webkit-scrollbar{width:4px;}
.chat-msgs::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}

.msg{display:flex;flex-direction:column;max-width:82%;}
.msg-bot{align-self:flex-start;}
.msg-user{align-self:flex-end;}
.msg-bubble{
  padding:9px 13px;border-radius:12px;
  font-size:12.5px;line-height:1.55;
}
.msg-bot .msg-bubble{
  background:var(--cream);color:var(--text);
  border-radius:4px 12px 12px 12px;
}
.msg-user .msg-bubble{
  background:var(--gr);color:#fff;
  border-radius:12px 4px 12px 12px;
}
.msg-time{font-size:10px;color:var(--text-muted);margin-top:3px;padding:0 4px;}
.msg-bot .msg-time{align-self:flex-start;}
.msg-user .msg-time{align-self:flex-end;}

.chat-suggestions{
  padding:6px 14px 10px;
  display:flex;flex-wrap:wrap;gap:6px;
  flex-shrink:0;
}
.chat-sug{
  font-size:11px;font-weight:600;color:var(--gr);
  background:var(--gr-lt);border:1px solid rgba(45,107,47,.18);
  border-radius:100px;padding:5px 11px;cursor:pointer;
  transition:all .2s;white-space:nowrap;
  font-family:var(--ff);
}
.chat-sug:hover{background:var(--gr);color:#fff;border-color:var(--gr);}

.chat-input-row{
  padding:10px 12px;border-top:1px solid var(--border);
  display:flex;gap:8px;align-items:center;flex-shrink:0;
  background:#fafafa;
}
#chat-input{
  flex:1;border:1px solid var(--border);border-radius:100px;
  padding:8px 14px;font-size:12.5px;font-family:var(--ff);
  outline:none;background:#fff;color:var(--text);
  transition:border-color .2s;
}
#chat-input:focus{border-color:var(--gr);}
#chat-send{
  width:34px;height:34px;border-radius:50%;
  background:var(--gr);color:#fff;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;
}
#chat-send:hover{background:var(--gr-dk);}
#chat-send svg{width:15px;height:15px;}

.chat-typing{display:flex;gap:4px;padding:4px 0;align-items:center;}
.chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:typingDot 1.2s infinite;}
.chat-typing span:nth-child(2){animation-delay:.2s;}
.chat-typing span:nth-child(3){animation-delay:.4s;}
@keyframes typingDot{0%,60%,100%{opacity:.3;transform:scale(.8);}30%{opacity:1;transform:scale(1.1);}}


/* Fallback : affiche tout si JS ne déclenche pas les animations */
@keyframes revealFallback {
  to { opacity: 1; transform: translate(0); }
}
/* Quand JS fonctionne, .ok annule le fallback */
.rv.ok, .rv-l.ok, .rv-r.ok {
  animation: none;
  opacity: 1;
  transform: translate(0);
}

/* ══ PAGES DÉTAIL SERVICE ════════════════════════════════════ */

/* Hero */
.svc-hero {
  min-height: 280px;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
}
.svc-hero-ov {
  position: absolute; inset: 0;
  background: linear-gradient(110deg, rgba(0,32,128,.92) 0%, rgba(0,32,128,.6) 55%, rgba(0,0,0,.25) 100%);
}
.svc-hero-inner {
  position: relative; z-index: 2;
  max-width: 1160px; margin: 0 auto;
  padding: 36px 40px 36px;
  display: flex; align-items: center;
  justify-content: space-between; gap: 32px; width: 100%;
}
.svc-breadcrumb {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: rgba(255,255,255,.55); margin-bottom: 14px;
}
.svc-breadcrumb a { color: rgba(255,255,255,.65); text-decoration: none; }
.svc-breadcrumb a:hover { color: #fff; }
.svc-breadcrumb span { opacity: .4; }
.svc-hero-title {
  font-family: var(--ff); font-size: clamp(26px,3.2vw,44px);
  font-weight: 900; color: #fff; line-height: 1.15; letter-spacing: -.5px;
}
.svc-hero-title span {
  display: block; margin-top: 6px;
  font-size: clamp(14px,1.6vw,18px); font-weight: 400;
  color: rgba(255,255,255,.75); letter-spacing: 0;
}
.svc-stat-card {
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px; padding: 22px 28px;
  min-width: 200px; text-align: center; flex-shrink: 0;
}
.svc-stat-val { font-family: var(--ff); font-size: 46px; font-weight: 900; color: var(--or); line-height: 1; }
.svc-stat-lbl { font-size: 12px; color: rgba(255,255,255,.65); margin: 5px 0 12px; }
.svc-stat-meta { display: flex; flex-direction: column; gap: 4px; }
.svc-stat-meta span { font-size: 11px; color: rgba(255,255,255,.45); background: rgba(255,255,255,.07); padding: 3px 10px; border-radius: 100px; }

/* Layout 2 colonnes étapes + conditions */
.svc-detail-grid { background: #f8f9fb; padding: 36px 32px; }
.svc-detail-inner {
  max-width: 1160px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px;
}
@media (max-width: 768px) { .svc-detail-inner { grid-template-columns: 1fr; gap: 32px; } }

.svc-col-hd { margin-bottom: 24px; }
.svc-col-hd h2 { font-family: var(--ff); font-size: clamp(20px,2vw,28px); font-weight: 900; color: var(--text); margin: 6px 0 8px; line-height: 1.2; }
.svc-col-hd h2 em { color: var(--gr); font-style: normal; }
.svc-col-hd p { font-size: 14px; color: var(--text-mid); line-height: 1.6; }

/* Étapes */
.svc-steps-list { display: flex; flex-direction: column; gap: 10px; }
.svc-step-item {
  display: flex; gap: 16px; align-items: flex-start;
  background: #fff; border-radius: 12px; padding: 18px 20px;
  border: 1px solid var(--border);
  transition: box-shadow .25s, transform .25s;
}
.svc-step-item:hover { box-shadow: 0 6px 20px rgba(0,0,0,.07); transform: translateX(4px); }
.svc-step-num {
  font-family: var(--ff); font-size: 28px; font-weight: 900;
  color: var(--or); opacity: .3; line-height: 1; flex-shrink: 0; width: 36px;
}
.svc-step-txt h3 { font-family: var(--ff); font-size: 14px; font-weight: 800; color: var(--text); margin-bottom: 4px; }
.svc-step-txt p { font-size: 13px; color: var(--text-mid); line-height: 1.55; }

/* Conditions */
.svc-cond-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.svc-cond-list li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 14px; color: var(--text-mid); line-height: 1.5;
  padding: 12px 16px; background: #fff;
  border-radius: 10px; border-left: 3px solid var(--gr);
  border: 1px solid var(--border); border-left: 3px solid var(--gr);
  transition: box-shadow .2s;
}
.svc-cond-list li:hover { box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.svc-cond-list li::before { content: '✓'; color: var(--gr); font-weight: 800; flex-shrink: 0; margin-top: 1px; }

/* CTA */
.svc-cta { background: var(--nav); padding: 36px 40px; text-align: center; }
.svc-cta-inner { max-width: 560px; margin: 0 auto; }
.svc-cta h2 { font-family: var(--ff); font-size: clamp(20px,2.2vw,30px); font-weight: 900; color: #fff; margin-bottom: 8px; }
.svc-cta p { color: rgba(255,255,255,.7); margin-bottom: 22px; font-size: 14px; }
.svc-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Autres services */
.svc-autres { padding: 28px 32px; background: #fff; }
.svc-autres-inner { max-width: 1160px; margin: 0 auto; }
.svc-autres h2 { font-family: var(--ff); font-size: 16px; font-weight: 800; color: var(--text); margin-bottom: 16px; text-transform: uppercase; letter-spacing: .5px; }
.svc-autres-grid { display: flex; gap: 10px; flex-wrap: wrap; }
.svc-autre-card {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 18px; border: 1.5px solid var(--border);
  border-radius: 100px; font-size: 13.5px; font-weight: 600;
  color: var(--nav); text-decoration: none;
  transition: all .2s; overflow: hidden;
}
.svc-autre-card:hover { background: var(--nav); color: #fff; border-color: var(--nav); }
.svc-autre-img { width: 22px; height: 22px; border-radius: 50%; background-size: cover; background-position: center; flex-shrink: 0; }

/* ══ PAGE DETAIL ACTUALITE ═══════════════════════════════════ */
.as-hero {
  min-height: 340px;
  background: var(--nav);
  background-size: cover; background-position: center;
  position: relative; display: flex; align-items: flex-end;
}
.as-hero.no-img { background: linear-gradient(135deg, var(--nav) 0%, #1a3a6e 100%); }
.as-hero-ov { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.15) 100%); }
.as-hero-inner {
  position: relative; z-index: 2;
  max-width: 860px; margin: 0 auto;
  padding: 32px 40px 40px; width: 100%;
  display: flex; flex-direction: column; align-items: flex-start;
}
.as-back-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; color: rgba(255,255,255,.6);
  text-decoration: none; margin-bottom: 16px;
  transition: color .2s;
}
.as-back-link:hover { color: #fff; }
/* bc-tag déjà défini globalement — juste espacer */
.as-hero-inner .bc-tag { margin-bottom: 12px; }
.as-title {
  font-family: var(--ff); font-size: clamp(22px,3vw,38px);
  font-weight: 900; color: #fff; line-height: 1.2;
  letter-spacing: -.3px; margin-bottom: 10px;
}
.as-meta { font-size: 12px; color: rgba(255,255,255,.55); display: flex; align-items: center; gap: 8px; }
.as-sep { opacity: .4; }

/* Corps article */
.as-body { padding: 40px 40px 60px; }
.as-body-inner { max-width: 860px; margin: 0 auto; }
.as-excerpt {
  font-size: 17px; font-weight: 500; color: var(--text);
  line-height: 1.65; border-left: 3px solid var(--or);
  padding: 16px 20px; background: #fffbf2;
  border-radius: 0 8px 8px 0; margin-bottom: 32px;
}
.as-content { font-size: 15px; line-height: 1.8; color: var(--text-mid); }
.as-content p { margin-bottom: 18px; }
.as-content h2 { font-family: var(--ff); font-size: 22px; font-weight: 800; color: var(--text); margin: 32px 0 10px; }
.as-content h3 { font-family: var(--ff); font-size: 18px; font-weight: 700; color: var(--text); margin: 24px 0 8px; }
.as-content ul, .as-content ol { padding-left: 20px; margin-bottom: 18px; }
.as-content li { margin-bottom: 6px; }
.as-content strong { color: var(--text); font-weight: 700; }
.as-content a { color: var(--nav); text-decoration: underline; }
.as-footer { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--border); }
.as-back-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 20px;
  border: 1.5px solid var(--border) !important;
  border-radius: 100px;
  font-size: 13px; font-weight: 600;
  color: var(--nav) !important;
  text-decoration: none;
  background: #fff !important;
  transition: all .2s;
  box-shadow: none !important;
  outline: none;
}
.as-back-btn:hover {
  background: var(--nav) !important;
  color: #fff !important;
  border-color: var(--nav) !important;
}
/* Neutraliser les styles WP Gutenberg sur le contenu */
.as-content .wp-block-button__link,
.as-content .wp-element-button {
  background: var(--nav) !important;
  border-radius: 8px !important;
  font-family: var(--ff) !important;
}

/* ══ CARTES SERVICES PHOTO (accueil) ════════════════════════ */

/* Wrapper section */
.services-strip {
  padding: 20px 0 20px;
  background: #f7f8fa;
}

.strip-hd {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 52px;
  padding: 0 24px;
}
.strip-hd h2 {
  font-family: var(--ff);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 900;
  color: var(--text);
  line-height: 1.15;
  letter-spacing: -.5px;
  margin: 8px 0 12px;
}
.strip-hd p { font-size: 15px; color: var(--text-mid); line-height: 1.6; }

/* Viewport scrollable */
.svc-photo-viewport {
  overflow: hidden;
  position: relative;
  padding: 0 0 16px;
  /* masque doux sur les bords pour l'effet tapis roulant */
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
}

/* Track — flex pour ≤4 centré, scroll continu pour ≥5 */
.svc-photo-grid {
  display: flex;
  gap: 20px;
  will-change: transform;
}

/* Mode centré (≤4 cartes) : pas d'animation, centré */
.svc-photo-grid.centered {
  justify-content: center;
  flex-wrap: wrap;
  padding: 0 40px;
  -webkit-mask-image: none;
          mask-image: none;
}
.svc-photo-grid.centered .svc-photo-card {
  flex: 0 0 calc(25% - 16px);
  min-width: 240px;
  max-width: 320px;
}

/* Mode tapis roulant (≥5 cartes) */
.svc-photo-grid.carousel {
  animation: svc-scroll 28s linear infinite;
}
.svc-photo-grid.carousel:hover {
  animation-play-state: paused;
}
@keyframes svc-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Carte */
.svc-photo-card {
  position: relative;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
  transition: box-shadow .3s, transform .3s;
  background: #fff;
  flex: 0 0 280px;
  min-width: 280px;
}
.svc-photo-card:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,.14);
  transform: translateY(-6px);
}

/* Image */
.spc-img {
  height: 220px;
  background-size: cover;
  background-position: center;
  transition: transform .55s ease;
  position: relative;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}
.svc-photo-card:hover .spc-img { transform: scale(1.07); }

/* Overlay */
.spc-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(170deg, transparent 40%, rgba(0,32,128,.6) 100%);
  transition: opacity .3s;
}
.svc-photo-card:hover .spc-ov { opacity: .9; }

/* Numéro flottant sur l'image */
.spc-num {
  position: absolute;
  top: 14px;
  left: 16px;
  font-family: var(--ff);
  font-size: 11px;
  font-weight: 800;
  color: #fff;
  background: rgba(0,0,0,.3);
  backdrop-filter: blur(6px);
  padding: 3px 10px;
  border-radius: 100px;
  letter-spacing: .5px;
}

/* Bandeau titre */
.spc-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: var(--nav);
  color: #fff;
  padding: 16px 20px;
  font-family: var(--ff);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.2px;
  transition: background .25s;
}
.svc-photo-card:hover .spc-band { background: var(--or); }
.spc-band svg { flex-shrink: 0; transition: transform .25s; }
.svc-photo-card:hover .spc-band svg { transform: translateX(5px); }

/* Description */
.spc-desc {
  padding: 16px 20px 20px;
  font-size: 13.5px;
  color: var(--text-mid);
  line-height: 1.6;
  background: #fff;
  flex: 1;
  border-top: 2px solid transparent;
  transition: border-color .25s;
}
.svc-photo-card:hover .spc-desc { border-top-color: var(--or); }

/* Navigation slider (visible seulement si ≥5 cartes) */
.svc-nav {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}
.svc-nav.visible { display: flex; }

.svc-nav-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 2px solid var(--nav);
  background: #fff;
  color: var(--nav);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .2s;
}
.svc-nav-btn:hover { background: var(--nav); color: #fff; }
.svc-nav-btn:disabled { opacity: .3; cursor: not-allowed; }

.svc-nav-dots {
  display: flex;
  gap: 6px;
}
.svc-nav-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--border);
  transition: all .2s;
  cursor: pointer;
}
.svc-nav-dot.active {
  background: var(--or);
  width: 22px;
  border-radius: 4px;
}
/* ══ PAGE ACTUALITÉ ═══════════════════════════════════════ */
.as-hero {
  min-height: 380px;
  background: var(--nav);
  background-size: cover; background-position: center top;
  position: relative; display: flex; align-items: flex-end;
}
.as-hero.no-img { background: linear-gradient(135deg,#0a1628 0%,var(--nav-dark) 60%,#1a3a6e 100%); }
.as-hero-ov { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.1) 100%); }
.as-hero-inner {
  position:relative;z-index:2;
  max-width:900px;margin:0 auto;
  padding:28px 40px 40px;width:100%;
}
.as-back-link {
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;color:rgba(255,255,255,.55);
  text-decoration:none;margin-bottom:14px;
  transition:color .2s;
}
.as-back-link:hover{color:#fff;}
.as-hero-inner .bc-tag{margin-bottom:10px;display:inline-flex;}
.as-title {
  font-family:var(--ff);font-size:clamp(22px,3.2vw,42px);
  font-weight:900;color:#fff;line-height:1.18;
  letter-spacing:-.4px;margin:10px 0 12px;
}
.as-meta {
  display:flex;align-items:center;gap:7px;
  font-size:12px;color:rgba(255,255,255,.5);flex-wrap:wrap;
}
.as-sep{opacity:.35;}

/* Warning */
.as-warning {
  max-width:900px;margin:16px auto 0;padding:11px 20px;
  background:#fff3cd;border-left:4px solid #f59e0b;
  border-radius:0 8px 8px 0;font-size:13px;color:#92400e;
  display:flex;align-items:center;gap:10px;
}
.as-warning a{color:var(--nav);font-weight:700;margin-left:auto;}

/* Corps */
.as-body{padding:36px 0 50px;background:#fff;}
.as-body-inner{max-width:900px;margin:0 auto;padding:0 40px;}

/* Excerpt */
.as-excerpt {
  font-size:16px;font-weight:500;color:var(--text);
  line-height:1.7;border-left:3px solid var(--or);
  padding:14px 20px;background:#fffbf2;
  border-radius:0 8px 8px 0;margin-bottom:28px;
}

/* Contenu texte */
.as-content{font-size:15px;line-height:1.82;color:var(--text-mid);}
.as-content p{margin-bottom:16px;}
.as-content h2{font-family:var(--ff);font-size:20px;font-weight:800;color:var(--text);margin:28px 0 8px;}
.as-content h3{font-family:var(--ff);font-size:17px;font-weight:700;color:var(--text);margin:20px 0 6px;}
.as-content ul,.as-content ol{padding-left:20px;margin-bottom:16px;}
.as-content li{margin-bottom:5px;}
.as-content strong{color:var(--text);font-weight:700;}
.as-content a{color:var(--nav);text-decoration:underline;}
.as-content blockquote{
  margin:20px 0;padding:16px 20px;
  border-left:4px solid var(--or);
  background:#fffbf2;border-radius:0 8px 8px 0;
  font-style:italic;font-size:15px;color:var(--text);
}

/* ── GALERIE ─────────────────────────────────────────────── */
.as-gallery{
  margin-top:36px;
  padding-top:28px;
  border-top:2px solid var(--border);
}
.as-gallery-hd{
  display:flex;align-items:center;gap:8px;
  font-family:var(--ff);font-size:13px;font-weight:800;
  color:var(--text);text-transform:uppercase;letter-spacing:.5px;
  margin-bottom:16px;
}
.as-gallery-hd span{
  background:var(--or);color:#fff;
  font-size:11px;padding:2px 8px;border-radius:100px;
  font-weight:800;
}

/* Grille intelligente */
.as-gallery-grid{
  display:grid;
  gap:6px;
}
/* 1 photo = pleine largeur */
.as-gallery-grid:has(.as-gi:only-child){grid-template-columns:1fr;}
/* 2 photos = 2 colonnes égales */
.as-gallery-grid:has(.as-gi:nth-child(2):last-child){grid-template-columns:1fr 1fr;}
/* 3 photos = 1 grande + 2 petites */
.as-gallery-grid:has(.as-gi:nth-child(3):last-child){grid-template-columns:2fr 1fr;}
.as-gallery-grid:has(.as-gi:nth-child(3):last-child) .as-gi:first-child{grid-row:span 2;}
/* 4 photos = 2×2 */
.as-gallery-grid:has(.as-gi:nth-child(4):last-child){grid-template-columns:1fr 1fr;}
/* 5+ photos = grille 3 colonnes avec grande première */
.as-gallery-grid{grid-template-columns:repeat(3,1fr);}
.as-gi:first-child{grid-column:span 2;grid-row:span 2;}

/* Item galerie */
.as-gi{
  position:relative;
  min-height:150px;
  background-size:cover;background-position:center;
  border-radius:6px;overflow:hidden;
  cursor:pointer;
  transition:transform .3s ease, box-shadow .3s ease;
}
.as-gi:first-child{min-height:320px;}
.as-gi:hover{transform:scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:1;}

.as-gi-ov{
  position:absolute;inset:0;
  background:rgba(0,32,128,.45);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .25s;
}
.as-gi:hover .as-gi-ov{opacity:1;}

/* ── LIGHTBOX ────────────────────────────────────────────── */
.as-lb{
  position:fixed;inset:0;
  background:rgba(0,0,0,.94);
  z-index:9999;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .2s;
}
.as-lb.on{opacity:1;pointer-events:all;}
.as-lb-wrap{
  position:relative;
  max-width:90vw;max-height:90vh;
  display:flex;flex-direction:column;align-items:center;
}
.as-lb-wrap img{
  max-width:88vw;max-height:84vh;
  object-fit:contain;border-radius:6px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.as-lb-count{margin-top:10px;font-size:12px;color:rgba(255,255,255,.4);}
.as-lb-x{
  position:fixed;top:16px;right:20px;
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);
  color:#fff;font-size:18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.as-lb-x:hover{background:rgba(255,255,255,.25);}
.as-lb-p,.as-lb-n{
  position:fixed;top:50%;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);
  color:#fff;font-size:32px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;line-height:1;
}
.as-lb-p{left:16px;}.as-lb-n{right:16px;}
.as-lb-p:hover,.as-lb-n:hover{background:rgba(255,255,255,.25);}

/* Footer article */
.as-art-footer{
  margin-top:36px;padding-top:20px;
  border-top:1px solid var(--border);
  display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:12px;
  background:#fff;
}
.as-back-btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 18px;
  border:1.5px solid var(--border);border-radius:100px;
  font-size:13px;font-weight:600;color:var(--nav);
  text-decoration:none;background:#fff;
  transition:all .2s;
}
.as-back-btn:hover{background:var(--nav);color:#fff;border-color:var(--nav);}

@media(max-width:640px){
  .as-body-inner{padding:0 20px;}
  .as-hero-inner{padding:20px 20px 32px;}
  .as-gallery-grid{grid-template-columns:repeat(2,1fr) !important;}
  .as-gi:first-child{grid-column:span 2;grid-row:span 1;min-height:180px;}
}

/* ══════════════════════════════════════════════════════════════
   ARCHIVE ACTUALITÉS
══════════════════════════════════════════════════════════════ */

/* Hero banner */
.actu-archive-hero {
  position: relative;
  background: linear-gradient(135deg, var(--nav-dark) 0%, #0e2240 100%);
  padding: 52px 24px 44px;
  overflow: hidden;
}
.actu-archive-hero .aah-deco {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 700px 400px at 110% 50%, rgba(var(--or-rgb,218,130,24),.12) 0%, transparent 70%),
    radial-gradient(ellipse 400px 600px at -10% 80%, rgba(var(--gr-rgb,35,140,80),.08) 0%, transparent 70%);
  pointer-events: none;
}
.actu-archive-hero .aah-inner {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
}
.aah-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .8rem;
  color: rgba(255,255,255,.55);
  margin-bottom: 20px;
}
.aah-breadcrumb a { color: rgba(255,255,255,.55); text-decoration: none; }
.aah-breadcrumb a:hover { color: var(--or); }
.aah-breadcrumb svg { opacity: .4; }
.aah-title {
  font-size: clamp(2rem,5vw,3.2rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 16px;
}
.aah-title .aah-or { color: var(--or); }
.aah-sub {
  font-size: 1.05rem;
  color: rgba(255,255,255,.65);
  max-width: 600px;
  line-height: 1.6;
  margin: 0;
}

/* Article en vedette */
.actu-featured { background: #f7f8fa; padding: 36px 24px; }
.acf-inner { max-width: 1140px; margin: 0 auto; }
.acf-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--or);
  margin-bottom: 18px;
}
.acf-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 48px rgba(0,0,0,.1);
  text-decoration: none;
  transition: transform .3s, box-shadow .3s;
}
.acf-card:hover { transform: translateY(-4px); box-shadow: 0 16px 64px rgba(0,0,0,.14); }
.acf-img {
  position: relative;
  min-height: 380px;
  background: #d4d8e2 center/cover no-repeat;
}
.acf-img-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(var(--nav-rgb,13,31,60),.3) 0%, transparent 60%);
}
.acf-img .bc-tag { position: absolute; top: 20px; left: 20px; }
.acf-body {
  padding: 28px 32px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.acf-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .8rem;
  color: #888;
  margin-bottom: 14px;
}
.acf-title {
  font-size: clamp(1.4rem,2.5vw,2rem);
  font-weight: 800;
  color: var(--nav);
  line-height: 1.25;
  margin: 0 0 16px;
}
.acf-excerpt { font-size: .95rem; color: #555; line-height: 1.7; margin: 0 0 28px; }
.acf-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .9rem;
  font-weight: 700;
  color: var(--or);
  transition: gap .2s;
}
.acf-card:hover .acf-cta { gap: 12px; }

/* Grille articles */
.actu-archive-body { padding: 36px 24px 48px; background: #fff; }
.aab-inner { max-width: 1140px; margin: 0 auto; }

/* Filtres */
.aab-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}
.aab-filter {
  padding: 8px 20px;
  border-radius: 100px;
  border: 2px solid #e0e4ec;
  font-size: .85rem;
  font-weight: 600;
  color: #555;
  text-decoration: none;
  transition: all .2s;
  background: transparent;
}
.aab-filter:hover { border-color: var(--or); color: var(--or); }
.aab-filter.active { background: var(--or); border-color: var(--or); color: #fff; }

/* Grille 3 colonnes */
.aab-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
@media(max-width:900px) { .aab-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:580px) { .aab-grid { grid-template-columns: 1fr; } }

.aab-card {
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #edf0f6;
  box-shadow: 0 2px 18px rgba(0,0,0,.05);
  transition: transform .28s, box-shadow .28s;
  display: flex;
  flex-direction: column;
}
.aab-card:hover { transform: translateY(-5px); box-shadow: 0 12px 40px rgba(0,0,0,.1); }

.aab-card-img-wrap {
  display: block;
  position: relative;
  text-decoration: none;
}
.aab-card-img {
  height: 210px;
  background: #e2e6ef center/cover no-repeat;
  transition: transform .4s;
}
.aab-card:hover .aab-card-img { transform: scale(1.04); }
.aab-card-img--noimg {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #edf0f6;
}
.aab-tag { position: absolute; top: 14px; left: 14px; }
.aab-card-img-wrap { overflow: hidden; }

.aab-card-body { padding: 22px 22px 26px; display: flex; flex-direction: column; flex: 1; }
.aab-card-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .77rem;
  color: #999;
  margin-bottom: 10px;
}
.aab-card-title {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 10px;
  color: var(--nav);
}
.aab-card-title a { color: inherit; text-decoration: none; }
.aab-card-title a:hover { color: var(--or); }
.aab-card-exc { font-size: .88rem; color: #666; line-height: 1.6; margin: 0 0 18px; flex: 1; }
.aab-card-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: .85rem;
  font-weight: 700;
  color: var(--or);
  text-decoration: none;
  transition: gap .2s;
}
.aab-card:hover .aab-card-link { gap: 11px; }

/* Message vide */
.aab-empty {
  grid-column: 1/-1;
  text-align: center;
  padding: 48px 20px;
  color: #999;
}
.aab-empty svg { display: block; margin: 0 auto 16px; }
.aab-empty p { font-size: 1rem; margin-bottom: 12px; }
.aab-empty a { color: var(--or); font-weight: 600; }

/* Pagination */
.aab-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 36px;
  flex-wrap: wrap;
}
.aab-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 8px;
  border: 2px solid #e0e4ec;
  font-size: .88rem;
  font-weight: 600;
  color: #555;
  text-decoration: none;
  transition: all .2s;
}
.aab-pagination .page-numbers:hover { border-color: var(--or); color: var(--or); }
.aab-pagination .page-numbers.current { background: var(--or); border-color: var(--or); color: #fff; }
.aab-pagination .page-numbers.dots { border-color: transparent; pointer-events: none; }


/* ══════════════════════════════════════════════════════════════
   SINGLE ACTUALITÉ — layout split
══════════════════════════════════════════════════════════════ */

.as-single { display: block; }

/* Hero */
.as-hero {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: flex-end;
  background: var(--nav-dark) center/cover no-repeat;
  overflow: hidden;
}
.as-hero.has-img { background-image: var(--hero-bg); }
.as-hero-ov {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5,15,38,.88) 0%, rgba(5,15,38,.55) 50%, rgba(5,15,38,.25) 100%);
}
.as-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
  padding: 32px 32px 36px;
}

/* Breadcrumb dans hero */
.as-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .78rem;
  color: rgba(255,255,255,.5);
  margin-bottom: 18px;
}
.as-breadcrumb a { color: rgba(255,255,255,.5); text-decoration: none; }
.as-breadcrumb a:hover { color: var(--or); }
.as-breadcrumb svg { opacity: .4; }

.as-title {
  font-size: clamp(1.6rem,4vw,2.6rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  margin: 14px 0 20px;
  max-width: 780px;
}
.as-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.as-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .83rem;
  color: rgba(255,255,255,.65);
}
.as-meta-sep { color: rgba(255,255,255,.3); font-size: 1rem; }

/* Warning image manquante */
.as-warning {
  background: #fff8e6;
  border-left: 4px solid var(--or);
  padding: 14px 24px;
  font-size: .88rem;
  color: #5c4500;
  max-width: 860px;
  margin: 0 auto;
}
.as-warning a { color: var(--or); }

/* Body split ─ 2 colonnes */
.as-body { padding: 36px 24px 48px; background: #fff; }
.as-body-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 36px;
  align-items: start;
}
@media(max-width:960px) {
  .as-body-inner { grid-template-columns: 1fr; gap: 40px; }
  .as-col-media { order: -1; }  /* images d'abord sur mobile */
}

/* Colonne texte */
.as-col-text {}
.as-excerpt {
  font-size: 1.12rem;
  font-weight: 500;
  color: var(--nav);
  line-height: 1.7;
  border-left: 4px solid var(--or);
  padding-left: 20px;
  margin-bottom: 14px;
}
.as-content {
  font-size: 1rem;
  color: #444;
  line-height: 1.8;
}
.as-content p { margin: 0 0 1.2em; }
.as-content h2 { font-size: 1.4rem; font-weight: 700; color: var(--nav); margin: 1.8em 0 .7em; }
.as-content h3 { font-size: 1.15rem; font-weight: 700; color: var(--nav); margin: 1.5em 0 .6em; }
.as-content ul, .as-content ol { padding-left: 1.4em; margin: .8em 0 1.2em; }
.as-content li { margin-bottom: .4em; line-height: 1.7; }
.as-content blockquote {
  border-left: 3px solid var(--or);
  margin: 1.5em 0;
  padding: 12px 20px;
  background: #fafbfc;
  font-style: italic;
  color: #555;
}

/* Navigation prev/next */
.as-postnav {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid #edf0f6;
}
.as-postnav-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  max-width: 45%;
}
.as-postnav-next { text-align: right; align-items: flex-end; }
.as-postnav-dir {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--or);
}
.as-postnav-ttl {
  font-size: .9rem;
  font-weight: 600;
  color: var(--nav);
  line-height: 1.4;
  transition: color .2s;
}
.as-postnav-item:hover .as-postnav-ttl { color: var(--or); }

/* Colonne droite : media sidebar */
.as-col-media { position: sticky; top: 110px; }

.as-cover-frame {
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 14px;
  box-shadow: 0 8px 40px rgba(0,0,0,.12);
}
.as-cover-img {
  width: 100%;
  display: block;
  aspect-ratio: 16/10;
  object-fit: cover;
}

/* Galerie latérale */
.as-gallery-box {
  background: #f7f8fa;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid #edf0f6;
}
.as-gallery-hd {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 18px;
  font-size: .83rem;
  font-weight: 600;
  color: var(--nav);
  border-bottom: 1px solid #edf0f6;
  background: #fff;
}
.as-gallery-hd svg { color: var(--or); }
.as-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  padding: 3px;
}
.as-gi {
  aspect-ratio: 1;
  background: #d4d8e2 center/cover no-repeat;
  position: relative;
  cursor: pointer;
  border: none;
  padding: 0;
  overflow: hidden;
}
.as-gi-ov {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .2s;
}
.as-gi:hover .as-gi-ov { opacity: 1; }

/* Lightbox */
.as-lb {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.9);
  z-index: 9000;
  display: none;
  align-items: center;
  justify-content: center;
}
.as-lb.on { display: flex; }
.as-lb-wrap { position: relative; max-width: 90vw; max-height: 90vh; }
.as-lb-wrap img { max-width: 90vw; max-height: 88vh; object-fit: contain; display: block; border-radius: 4px; }
.as-lb-count { text-align: center; color: rgba(255,255,255,.6); font-size: .85rem; margin-top: 10px; }
.as-lb-x { position: fixed; top: 20px; right: 24px; background: none; border: none; color: #fff; font-size: 1.5rem; cursor: pointer; z-index: 9001; opacity: .7; transition: opacity .2s; }
.as-lb-x:hover { opacity: 1; }
.as-lb-p, .as-lb-n { position: fixed; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.12); border: none; color: #fff; font-size: 2.5rem; line-height: 1; padding: 12px 16px; cursor: pointer; border-radius: 8px; transition: background .2s; z-index: 9001; }
.as-lb-p { left: 16px; }
.as-lb-n { right: 16px; }
.as-lb-p:hover, .as-lb-n:hover { background: rgba(255,255,255,.22); }

/* Sidebar CTA */
.as-sidebar-cta {
  background: #f7f8fa;
  border: 1px solid #edf0f6;
  border-radius: 14px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.as-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .85rem;
  font-weight: 700;
  color: var(--nav);
  text-decoration: none;
  transition: color .2s;
}
.as-back-link:hover { color: var(--or); }
.as-share {
  display: flex;
  align-items: center;
  gap: 10px;
}
.as-share span { font-size: .8rem; color: #888; font-weight: 600; }
.as-share a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e8ecf5;
  color: var(--nav);
  text-decoration: none;
  transition: background .2s, color .2s;
}
.as-share a:hover { background: var(--or); color: #fff; }

/* Bloc "à lire aussi" */
.as-autres { background: #f7f8fa; padding: 36px 24px 48px; border-top: 1px solid #edf0f6; }
.as-autres-inner { max-width: 1140px; margin: 0 auto; }
.as-autres-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--nav);
  margin: 0 0 20px;
}
.as-autres-title::after {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: var(--or);
  border-radius: 2px;
  margin-top: 10px;
}
.as-autres-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px;
}
@media(max-width:860px) { .as-autres-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:540px) { .as-autres-grid { grid-template-columns: 1fr; } }

.as-autre-card {
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #edf0f6;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: transform .25s, box-shadow .25s;
}
.as-autre-card:hover { transform: translateY(-4px); box-shadow: 0 10px 36px rgba(0,0,0,.09); }
.as-autre-img {
  height: 170px;
  background: #d4d8e2 center/cover no-repeat;
  position: relative;
}
.as-autre-img .bc-tag { position: absolute; bottom: 12px; left: 12px; }
.as-autre-body { padding: 12px 14px 16px; flex: 1; display: flex; flex-direction: column; }
.as-autre-date { font-size: .75rem; color: #aaa; margin-bottom: 8px; display: block; }
.as-autre-body h3 {
  font-size: .98rem;
  font-weight: 700;
  color: var(--nav);
  line-height: 1.4;
  margin: 0 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.as-autre-body p {
  font-size: .83rem;
  color: #777;
  line-height: 1.55;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.as-autre-card:hover .as-autre-body h3 { color: var(--or); }

/* Tags déjà définis ailleurs — s'assurer qu'ils s'affichent bien sur les images */
.bc-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #fff;
  position: relative;
  z-index: 1;
}
.bc-tag.or { background: var(--or); }
.bc-tag.gr { background: var(--gr); }


/* ══════════════════════════════════════════════════════════════
   PAGE HERO (archive actualités, pages intérieures)
══════════════════════════════════════════════════════════════ */
.page-hero {
  background: var(--nav-dark);
  padding: 52px 0 44px;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(243,146,0,.06) 0%, transparent 70%);
}
.page-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
  position: relative;
  z-index: 1;
}
.page-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: rgba(255,255,255,.45);
  margin-bottom: 16px;
}
.page-breadcrumb a { color: rgba(255,255,255,.6); transition: color .2s; }
.page-breadcrumb a:hover { color: var(--or); }
.page-breadcrumb span { color: rgba(255,255,255,.2); }
.page-hero h1 {
  font-family: var(--ff);
  font-size: clamp(32px,4vw,52px);
  font-weight: 800;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 14px;
}
.page-hero h1 em { color: var(--or); font-style: normal; }
.page-hero p {
  font-size: 16px;
  color: rgba(255,255,255,.62);
  max-width: 560px;
  line-height: 1.75;
}
.page-content {
  padding: 44px 0;
  background: var(--white);
}
.page-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
}

/* ══════════════════════════════════════════════════════════════
   ARCHIVE ACTUALITÉS — grille + cartes + sidebar
══════════════════════════════════════════════════════════════ */
.actu-grid {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 32px;
  align-items: start;
}
.actu-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Carte horizontale */
.actu-card {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 0;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--rl);
  overflow: hidden;
  transition: all .3s;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}
.actu-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.actu-img {
  overflow: hidden;
  position: relative;
  background: var(--cream);
}
.actu-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s;
}
.actu-card:hover .actu-img img { transform: scale(1.06); }
.actu-img-placeholder {
  width: 100%;
  height: 100%;
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cream);
}
.actu-tag {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--or);
  color: #fff;
  padding: 3px 10px;
  border-radius: 4px;
  font-family: var(--ff);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  z-index: 1;
}
.actu-tag.gr { background: var(--gr); }

.actu-body {
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
}
.actu-date {
  font-size: 11.5px;
  color: var(--text-muted);
  margin-bottom: 8px;
}
.actu-body h3 {
  font-family: var(--ff);
  font-size: 17px;
  font-weight: 800;
  color: var(--text);
  line-height: 1.3;
  margin-bottom: 10px;
}
.actu-card:hover .actu-body h3 { color: var(--gr); }
.actu-body p {
  font-size: 13.5px;
  color: var(--text-mid);
  line-height: 1.65;
  flex: 1;
}
.actu-lnk {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--ff);
  font-size: 11px;
  font-weight: 700;
  color: var(--gr);
  margin-top: 14px;
  text-transform: uppercase;
  letter-spacing: .4px;
  transition: gap .2s;
}
.actu-card:hover .actu-lnk { gap: 9px; }

/* Message vide */
.actu-empty {
  text-align: center;
  padding: 64px 20px;
  color: var(--text-muted);
}
.actu-empty svg { display: block; margin: 0 auto 16px; }
.actu-empty p { font-size: 1rem; margin-bottom: 12px; }
.actu-empty a { color: var(--or); font-weight: 600; }

/* Pagination */
.actu-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.actu-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 8px;
  border: 1.5px solid var(--border);
  font-size: .88rem;
  font-weight: 600;
  color: var(--text-mid);
  text-decoration: none;
  transition: all .2s;
}
.actu-pagination .page-numbers:hover { border-color: var(--or); color: var(--or); }
.actu-pagination .page-numbers.current { background: var(--or); border-color: var(--or); color: #fff; }
.actu-pagination .page-numbers.dots { border-color: transparent; pointer-events: none; }

/* ─ Sidebar ─ */
.actu-sidebar {
  position: sticky;
  top: 84px;
}
.sidebar-card {
  background: var(--cream);
  border-radius: var(--rl);
  padding: 16px;
  border: 1px solid var(--border);
  margin-bottom: 12px;
}
.sidebar-card h4 {
  font-family: var(--ff);
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}
.sidebar-cats a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13.5px;
  color: var(--text-mid);
  transition: color .2s;
  text-decoration: none;
}
.sidebar-cats a:last-child { border-bottom: none; }
.sidebar-cats a:hover,
.sidebar-cats a.active { color: var(--or); font-weight: 600; }
.cat-count {
  background: var(--border);
  color: var(--text-muted);
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 20px;
  flex-shrink: 0;
}
.sidebar-cats a.active .cat-count,
.sidebar-cats a:hover .cat-count {
  background: var(--or-lt);
  color: var(--or);
}

/* Réseaux sociaux sidebar */
.sidebar-socials {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sidebar-socials a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: opacity .2s, transform .2s;
}
.sidebar-socials a:hover { opacity: .88; transform: translateX(3px); }
.ss-fb { background: #1877F2; }
.ss-li { background: #0A66C2; }
.ss-wa { background: #25D366; }

/* CTA sidebar */
.sidebar-cta {
  text-align: center;
  background: var(--nav);
  border-color: transparent;
}
.sidebar-cta-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(243,146,0,.15);
  border: 1px solid rgba(243,146,0,.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--or);
  margin: 0 auto 14px;
}
.sidebar-cta p {
  font-size: 13.5px;
  color: rgba(255,255,255,.65);
  margin-bottom: 16px;
  line-height: 1.5;
}
.sidebar-cta-btn {
  display: block;
  background: var(--or);
  color: #fff;
  padding: 11px 20px;
  border-radius: 8px;
  font-family: var(--ff);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  text-decoration: none;
  margin-bottom: 10px;
  transition: background .2s;
}
.sidebar-cta-btn:hover { background: var(--or-dk); }
.sidebar-cta-tel {
  display: block;
  font-family: var(--ff);
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  transition: color .2s;
}
.sidebar-cta-tel:hover { color: var(--or); }

/* ── Responsive ── */
@media(max-width:900px) {
  .page-inner { padding: 0 20px; }
  .page-hero-inner { padding: 0 20px; }
  .page-content { padding: 40px 0; }
  .actu-grid { grid-template-columns: 1fr; }
  .actu-card { grid-template-columns: 1fr; }
  .actu-img { height: 200px; }
  .actu-sidebar { position: static; }
}


/* ══════════════════════════════════════════════════════════════
   FOOTER — 5 colonnes, fond vert très sombre
══════════════════════════════════════════════════════════════ */

footer {
  background: var(--nav-dark);
  border-top: none;
  color: #fff;
  padding: 36px 0 0;
  position: relative;
  overflow: hidden;
}
footer::before {
  content: '';
  position: absolute;
  top: -100px; right: -100px;
  width: 420px; height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.03) 0%, transparent 70%);
  pointer-events: none;
}
footer::after {
  content: '';
  position: absolute;
  bottom: -60px; left: -60px;
  width: 280px; height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(243,146,0,.06) 0%, transparent 70%);
  pointer-events: none;
}

/* Grille 5 colonnes */
.footer-in {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}

/* Colonne marque */
.f-logo-img {
  height: 46px;
  width: auto;
  margin-bottom: 16px;
  filter: brightness(0) invert(1);
}
.f-brand p {
  font-size: 13px;
  color: rgba(255,255,255,.55);
  line-height: 1.65;
  margin-bottom: 8px;
}
.f-brand address {
  font-style: normal;
  font-size: 12.5px;
  color: rgba(255,255,255,.38);
  line-height: 1.7;
  margin-bottom: 18px;
}

/* Icônes réseaux sociaux dans la colonne marque */
.f-brand-socials {
  display: flex;
  gap: 8px;
}
.f-soc-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.5);
  transition: all .2s;
}
.f-soc-btn:hover {
  background: var(--or);
  border-color: var(--or);
  color: #fff;
}
.f-soc-btn svg { width: 14px; height: 14px; }

/* Colonnes liens */
.f-col-t {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--or);
  margin-bottom: 14px;
}
.f-col ul { list-style: none; padding: 0; margin: 0; }
.f-col ul li { margin-bottom: 9px; }
.f-col ul li a {
  font-size: 13px;
  color: rgba(255,255,255,.52);
  text-decoration: none;
  transition: color .2s;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.f-col ul li a:hover { color: #fff; }

/* Barre du bas */
.footer-bt {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 16px 0;
  position: relative;
  z-index: 1;
}
.fb-in {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.fb-copy { font-size: 11px; color: rgba(255,255,255,.3); }
.fb-links { display: flex; gap: 18px; }
.fb-links a { font-size: 11px; color: rgba(255,255,255,.33); text-decoration: none; transition: color .2s; }
.fb-links a:hover { color: rgba(255,255,255,.75); }
.fb-socs { display: flex; gap: 7px; }
.fb-soc {
  width: 30px; height: 30px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.38);
  transition: all .2s;
  text-decoration: none;
}
.fb-soc:hover { background: var(--or); border-color: var(--or); color: #fff; }
.fb-soc svg { width: 13px; height: 13px; }

.footer-accent {
  height: 4px;
  background: linear-gradient(90deg, var(--gr) 0%, var(--or) 55%, var(--gr) 100%);
  position: relative; z-index: 1;
}

/* ── Responsive footer ── */
@media(max-width:1200px) {
  .footer-in { padding: 0 32px; gap: 18px; }
  .fb-in     { padding: 0 32px; }
}
@media(max-width:1060px) {
  /* 5 col → 3+marque : liens utiles reste visible mais plus compact */
  .footer-in { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 16px; }
  .footer-in .f-col:last-child { display: none; }
}
@media(max-width:860px) {
  /* tablette portrait : marque full + 2x2 colonnes liens */
  .footer-in {
    grid-template-columns: 1fr 1fr;
    padding: 0 24px;
    gap: 24px 20px;
  }
  .footer-in .f-col:last-child { display: block; }
  .f-brand {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: start;
    gap: 16px 24px;
  }
  .f-brand p { grid-column: 1; }
  .f-brand address { grid-column: 1; }
  .f-brand-socials { grid-column: 2; grid-row: 1 / 4; align-self: start; flex-direction: column; }
  .fb-in { flex-direction: column; align-items: flex-start; padding: 0 24px; gap: 8px; }
  .fb-links { flex-wrap: wrap; gap: 10px; }
}
@media(max-width:580px) {
  /* mobile : tout en 1 colonne + address simplifiée */
  .footer-in {
    grid-template-columns: 1fr 1fr;
    padding: 0 16px;
    gap: 20px 16px;
  }
  .f-brand {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .f-brand-socials { grid-column: 1; grid-row: auto; flex-direction: row; }
  .f-brand address { font-size: 11.5px; }
  .f-col-t { margin-bottom: 10px; }
  .f-col ul li { margin-bottom: 7px; }
  .f-col ul li a { font-size: 12.5px; }
  .fb-in { padding: 0 16px; }
  .fb-copy { font-size: 10.5px; }
  .fb-links { gap: 8px; }
  .fb-links a { font-size: 10.5px; }
  .fb-socs { display: none; } /* masqué — icônes déjà dans f-brand */
}
@media(max-width:400px) {
  /* très petit : 1 colonne */
  .footer-in { grid-template-columns: 1fr; }
  .f-brand   { grid-column: 1; grid-template-columns: 1fr; }
  .footer-in .f-col:last-child { display: none; } /* liens utiles cachés sur très petit */
}


/* ══════════════════════════════════════════════════════════════
   SINGLE SERVICE — CTA séparé du footer
══════════════════════════════════════════════════════════════ */

/* Le CTA "Déposez votre dossier" obtient un fond crème + bordure
   orange en haut pour le décoller visuellement du footer sombre */
.svc-cta {
  background: var(--cream, #F7F4EF);
  border-top: 4px solid var(--or);
  padding: 40px 0 48px;
  position: relative;
  overflow: hidden;
}
.svc-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 50% 100%, rgba(243,146,0,.06) 0%, transparent 70%);
  pointer-events: none;
}
.svc-cta-inner {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 40px;
  text-align: center;
  position: relative;
  z-index: 1;
}
.svc-cta-inner h2 {
  font-family: var(--ff, 'Poppins', sans-serif);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  color: var(--nav, #1E3B1A);
  margin-bottom: 12px;
  line-height: 1.15;
}
.svc-cta-inner p {
  font-size: 15px;
  color: var(--text-mid, #5A5A5A);
  line-height: 1.7;
  margin-bottom: 20px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.svc-cta-btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Séparateur visuel entre "autres services" et le footer */
.svc-autres {
  background: var(--white, #fff);
  padding: 36px 0 48px;
  border-bottom: 1px solid var(--border, #E8E5E0);
}
.svc-autres-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}
.svc-autres-inner h2 {
  margin-bottom: 20px;
  font-family: var(--ff, 'Poppins', sans-serif);
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 800;
  color: var(--nav, #1E3B1A);
  margin-bottom: 32px;
}
.svc-autres-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.svc-autre-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 20px;
  border: 1.5px solid var(--border, #E8E5E0);
  border-radius: 12px;
  text-decoration: none;
  color: var(--text, #1A1A1A);
  background: #fff;
  transition: all .25s;
}
.svc-autre-card:hover {
  border-color: var(--or);
  box-shadow: 0 6px 24px rgba(0,0,0,.08);
  transform: translateY(-3px);
}
.svc-autre-img {
  width: 100%;
  height: 100px;
  border-radius: 8px;
  background: var(--cream, #F7F4EF) center/cover no-repeat;
}
.svc-autre-card span {
  font-family: var(--ff, 'Poppins', sans-serif);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--nav, #1E3B1A);
  flex: 1;
  line-height: 1.3;
}
.svc-autre-card svg {
  color: var(--or);
  flex-shrink: 0;
  transition: transform .2s;
}
.svc-autre-card:hover svg { transform: translateX(4px); }

@media(max-width:900px) {
  .svc-autres-grid { grid-template-columns: repeat(2, 1fr); }
  .svc-cta-inner { padding: 0 20px; }
  .svc-autres-inner { padding: 0 20px; }
}
@media(max-width:480px) {
  .svc-autres-grid { grid-template-columns: 1fr; }
}
/* ══ BANNIÈRES — éléments dynamiques PME ═══════════════════ */
.ad-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(105deg, rgba(0,32,128,.92) 0%, rgba(0,32,128,.65) 45%, rgba(0,0,0,.05) 100%);
  transition: background .5s;
}

/* Couleurs par type */
.ad-tag--pme         ~ .ad-overlay,
.ad-slide:has(.ad-tag--pme)         .ad-overlay { background: linear-gradient(105deg, rgba(0,32,128,.92) 0%, rgba(0,32,128,.65) 45%, rgba(0,0,0,.05) 100%) !important; }
.ad-slide:has(.ad-tag--distinction) .ad-overlay { background: linear-gradient(105deg, rgba(15,15,15,.94) 0%, rgba(15,15,15,.68) 45%, rgba(0,0,0,.05) 100%) !important; }
.ad-slide:has(.ad-tag--service)     .ad-overlay { background: linear-gradient(105deg, rgba(15,45,16,.94) 0%, rgba(15,45,16,.68) 45%, rgba(0,0,0,.05) 100%) !important; }
.ad-slide:has(.ad-tag--evenement)   .ad-overlay { background: linear-gradient(105deg, rgba(120,40,0,.94) 0%, rgba(120,40,0,.68) 45%, rgba(0,0,0,.05) 100%) !important; }
.ad-slide:has(.ad-tag--annonce)     .ad-overlay { background: linear-gradient(105deg, rgba(40,0,80,.94) 0%, rgba(40,0,80,.68) 45%, rgba(0,0,0,.05) 100%) !important; }

/* Méta PME */
.ad-pme-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 10px 0 14px;
  font-size: 13px;
  color: rgba(255,255,255,.7);
}
.ad-pme-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 700;
  background: rgba(255,255,255,.12);
  color: #fff;
  border: 1px solid rgba(255,255,255,.2);
}
.ad-pme-pill--green {
  background: rgba(61,139,47,.35);
  border-color: rgba(61,139,47,.5);
  color: #a8f0a0;
}

/* ══ PAGE TELECHARGEMENTS ════════════════════════════════════ */
.dl-page { padding: 52px 0 70px; background: #f7f8fb; }
.dl-page-inner { max-width: 1160px; margin: 0 auto; padding: 0 40px; }

.dl-section { margin-bottom: 52px; }
.dl-section-hd {
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--border);
}
.dl-section-icon {
  width: 46px; height: 46px; border-radius: 12px;
  background: rgba(61,139,47,.1); color: var(--gr);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.dl-section-hd h2 {
  font-family: var(--ff); font-size: 18px; font-weight: 800;
  color: var(--text); margin: 0 0 3px;
}
.dl-section-hd span {
  font-size: 12px; color: var(--text-muted);
  background: var(--border); padding: 2px 8px; border-radius: 100px;
}

.dl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media(max-width:900px) { .dl-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:580px) { .dl-grid { grid-template-columns: 1fr; } }

.dl-card {
  background: #fff; border: 1px solid var(--border);
  border-radius: 12px; padding: 18px;
  display: flex; flex-direction: column; gap: 14px;
  transition: box-shadow .25s, transform .25s;
}
.dl-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.08); transform: translateY(-3px); }
.dl-card--fallback { opacity: .75; }

.dl-card-top { display: flex; gap: 14px; align-items: flex-start; flex: 1; }
.dl-icon {
  width: 42px; height: 42px; border-radius: 10px;
  background: rgba(61,139,47,.08); color: var(--gr);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.dl-info h3 {
  font-family: var(--ff); font-size: 14px; font-weight: 800;
  color: var(--text); margin: 0 0 4px; line-height: 1.3;
}
.dl-info p { font-size: 12.5px; color: var(--text-mid); line-height: 1.5; margin: 0; }

.dl-card-foot {
  display: flex; align-items: center;
  justify-content: space-between; gap: 10px;
  padding-top: 12px; border-top: 1px solid var(--border);
}
.dl-size {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11.5px; color: var(--text-muted);
}
.dl-btn {
  display: inline-flex; align-items: center; gap: 5px;
  background: var(--gr); color: #fff;
  padding: 7px 14px; border-radius: 6px;
  font-size: 12px; font-weight: 700;
  text-decoration: none; transition: background .2s;
  white-space: nowrap;
}
.dl-btn:hover { background: #2d6e22; }
.dl-btn--disabled {
  background: var(--border); color: var(--text-muted); cursor: default;
}

/* ══ PAGE MULTIMEDIA ══════════════════════════════════════════ */
.mm-stats {
  display: flex; align-items: center; gap: 10px;
  margin-top: 12px; font-size: 13px; color: rgba(255,255,255,.6);
}
.mm-stats-sep { opacity: .4; }

.mm-page { padding: 40px 0 70px; background: #f7f8fb; }
.mm-page-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; }

/* Onglets */
.mm-tabs {
  display: flex; gap: 0; margin-bottom: 32px;
  border-bottom: 2px solid var(--border);
}
.mm-tab {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 24px; font-size: 14px; font-weight: 700;
  color: var(--text-mid); text-decoration: none;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  transition: all .2s;
}
.mm-tab span {
  background: var(--border); color: var(--text-muted);
  font-size: 11px; padding: 2px 7px; border-radius: 100px;
}
.mm-tab:hover { color: var(--nav); }
.mm-tab.active { color: var(--nav); border-bottom-color: var(--nav); }
.mm-tab.active span { background: var(--nav); color: #fff; }

/* Grille photos */
.photos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media(max-width:700px) { .photos-grid { grid-template-columns: repeat(2,1fr); } }

/* Grande 1ère photo */
.photo-item:first-child { grid-column: span 2; }

.photo-item { position: relative; border-radius: 10px; overflow: hidden; cursor: pointer; }
.photo-img {
  width: 100%; height: 220px;
  background-size: cover; background-position: center;
  transition: transform .4s ease;
}
.photo-item:first-child .photo-img { height: 460px; }
.photo-item:hover .photo-img { transform: scale(1.05); }

.photo-overlay {
  position: absolute; inset: 0;
  background: rgba(0,32,128,.5);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 8px;
  opacity: 0; transition: opacity .25s;
}
.photo-item:hover .photo-overlay { opacity: 1; }
.po-icon {
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(255,255,255,.15);
  border: 2px solid rgba(255,255,255,.4);
  display: flex; align-items: center; justify-content: center;
}
.photo-title {
  font-size: 12px; font-weight: 700; color: #fff;
  text-align: center; padding: 0 12px;
  text-shadow: 0 1px 3px rgba(0,0,0,.4);
}

/* Lightbox photos */
.mm-lb { position: fixed; inset: 0; background: rgba(0,0,0,.94); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .2s; }
.mm-lb.on { opacity: 1; pointer-events: all; }
.mm-lb-wrap { position: relative; max-width: 90vw; display: flex; flex-direction: column; align-items: center; }
.mm-lb-wrap img { max-width: 88vw; max-height: 82vh; object-fit: contain; border-radius: 8px; }
.mm-lb-title { margin-top: 12px; font-size: 14px; font-weight: 600; color: rgba(255,255,255,.8); }
.mm-lb-count { font-size: 11px; color: rgba(255,255,255,.4); margin-top: 4px; }
.mm-lb-x { position: fixed; top: 16px; right: 20px; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); color: #fff; font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.mm-lb-p, .mm-lb-n { position: fixed; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); color: #fff; font-size: 32px; cursor: pointer; display: flex; align-items: center; justify-content: center; line-height: 1; }
.mm-lb-p { left: 16px; } .mm-lb-n { right: 16px; }
.mm-lb-x:hover, .mm-lb-p:hover, .mm-lb-n:hover { background: rgba(255,255,255,.25); }

/* Grille videos */
.videos-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media(max-width:700px) { .videos-grid { grid-template-columns: 1fr; } }

.video-item {
  background: #fff; border: 1px solid var(--border);
  border-radius: 12px; overflow: hidden; cursor: pointer;
  transition: box-shadow .25s, transform .25s;
}
.video-item:hover { box-shadow: 0 8px 28px rgba(0,0,0,.1); transform: translateY(-4px); }

.video-thumb {
  height: 200px; position: relative;
  background-size: cover; background-position: center;
}
.video-thumb::before {
  content: ''; position: absolute; inset: 0;
  background: rgba(0,0,0,.35); transition: background .25s;
}
.video-item:hover .video-thumb::before { background: rgba(0,32,128,.5); }

.video-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 52px; height: 52px; border-radius: 50%;
  background: rgba(255,255,255,.2);
  border: 2px solid rgba(255,255,255,.5);
  display: flex; align-items: center; justify-content: center;
  transition: all .25s; backdrop-filter: blur(4px);
}
.video-item:hover .video-play { background: var(--or); border-color: var(--or); transform: translate(-50%,-50%) scale(1.1); }

.video-duration {
  position: absolute; bottom: 8px; right: 10px;
  background: rgba(0,0,0,.7); color: #fff;
  font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px;
}

.video-body { padding: 16px 18px; }
.video-body h3 { font-family: var(--ff); font-size: 15px; font-weight: 800; color: var(--text); margin: 0 0 6px; line-height: 1.3; }
.video-body p { font-size: 13px; color: var(--text-mid); line-height: 1.55; margin: 0; }

/* Modal video */
.mm-video-modal { position: fixed; inset: 0; background: rgba(0,0,0,.92); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .25s; }
.mm-video-modal.on { opacity: 1; pointer-events: all; }
.mm-vm-wrap { position: relative; width: 860px; max-width: 94vw; }
.mm-vm-close { position: absolute; top: -44px; right: 0; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); color: #fff; font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.mm-vm-title { font-size: 14px; font-weight: 700; color: rgba(255,255,255,.7); margin-bottom: 10px; }
.mm-vm-frame { position: relative; padding-bottom: 56.25%; height: 0; border-radius: 10px; overflow: hidden; }
.mm-vm-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; }

@media(max-width:640px) {
  .mm-page-inner, .dl-page-inner { padding: 0 16px; }
  .photo-item:first-child { grid-column: span 1; }
  .photo-item:first-child .photo-img { height: 220px; }
}


/* ══ PAGE À PROPOS ═══════════════════════════════════════════ */

.ph-anchors{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;}
.ph-anchors a{padding:5px 14px;border-radius:100px;font-size:11.5px;font-weight:700;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.75);text-decoration:none;transition:all .2s;}
.ph-anchors a:hover{background:var(--or);border-color:var(--or);color:#fff;}

.ap-section{padding:36px 0;}
.ap-section--cream{background:var(--cream);}
.ap-h2{font-family:var(--ff);font-size:clamp(22px,2.5vw,32px);font-weight:800;color:var(--text);margin:6px 0 10px;line-height:1.2;}
.ap-h2 em{color:var(--or);font-style:normal;}
.ap-intro{font-size:14px;color:var(--text-mid);margin-bottom:22px;max-width:580px;line-height:1.6;}

/* Grid 2 colonnes */
.ap-grid{display:grid;grid-template-columns:1fr 360px;gap:36px;align-items:start;margin-top:18px;}
@media(max-width:900px){.ap-grid{grid-template-columns:1fr;gap:20px;}}
.ap-text p{font-size:14px;color:var(--text-mid);line-height:1.72;margin-bottom:11px;}

/* Valeurs */
.ap-values{display:flex;flex-direction:column;gap:8px;margin-top:16px;}
.ap-val-item{display:flex;align-items:flex-start;gap:11px;padding:10px 12px;background:var(--cream);border-radius:var(--r);border:1px solid var(--border);}
.ap-val-icon{width:32px;height:32px;border-radius:var(--r);background:var(--or-lt);color:var(--or);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ap-val-item strong{display:block;font-size:13px;font-weight:800;color:var(--text);margin-bottom:2px;}
.ap-val-item p{font-size:12.5px;color:var(--text-mid);margin:0;line-height:1.4;}

/* KPIs */
.ap-kpis{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px;}
.ap-kpi{background:var(--nav);border-radius:var(--r);padding:12px;text-align:center;}
.ap-kpi-val{font-family:var(--ff);font-size:26px;font-weight:900;color:var(--or);line-height:1;}
.ap-kpi-val em{font-style:normal;font-size:16px;}
.ap-kpi-val--sm{font-size:13px;}
.ap-kpi-lbl{font-size:9.5px;color:rgba(255,255,255,.5);margin-top:3px;line-height:1.3;}
.ap-kpi--wide{grid-column:span 2;}

/* Mission/vision */
.ap-mission-cards{display:flex;flex-direction:column;gap:7px;}
.ap-mc{background:var(--cream);border:1px solid var(--border);border-radius:var(--r);padding:11px 13px;}
.ap-mc-hd{display:flex;align-items:center;gap:6px;font-family:var(--ff);font-size:12px;font-weight:800;color:var(--nav);margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px;}
.ap-mc p{font-size:12.5px;color:var(--text-mid);margin:0;line-height:1.5;}

/* Timeline */
.ap-timeline{position:relative;margin-top:20px;padding-left:0;}
.apt-track{position:absolute;left:130px;top:10px;bottom:10px;width:2px;background:linear-gradient(to bottom,var(--or),var(--gr));}
@media(max-width:700px){.apt-track{display:none;}}
.apt-item{display:grid;grid-template-columns:120px 20px 1fr;gap:14px;align-items:flex-start;margin-bottom:12px;}
@media(max-width:700px){.apt-item{grid-template-columns:1fr;gap:4px;}}
.apt-year{font-family:var(--ff);font-size:11px;font-weight:800;color:var(--text-muted);text-align:right;padding-top:10px;}
.apt-year--or{color:var(--or);}
.apt-year--gr{color:var(--nav);}
.apt-dot{width:12px;height:12px;border-radius:50%;background:var(--border);border:2px solid var(--cream);box-shadow:0 0 0 2px var(--border);margin-top:10px;flex-shrink:0;}
.apt-dot--or{background:var(--or);box-shadow:0 0 0 2px var(--or);}
.apt-dot--gr{background:var(--nav);box-shadow:0 0 0 2px var(--nav);}
@media(max-width:700px){.apt-dot{display:none;}}
.apt-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:12px 15px;transition:box-shadow .25s;}
.apt-card:hover{box-shadow:var(--shadow-sm);}
.apt-card h4{font-family:var(--ff);font-size:13.5px;font-weight:800;color:var(--text);margin-bottom:4px;}
.apt-card p{font-size:13px;color:var(--text-mid);line-height:1.6;margin:0;}
.apt-card--or{border-left:3px solid var(--or);}
.apt-card--gold{border-left:3px solid var(--or);background:rgba(243,146,0,.03);}
.apt-card--gold h4{color:var(--or);}
.apt-card--gr{border-left:3px solid var(--nav);background:var(--gr-lt);}

/* Gouvernance */
.gouv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
@media(max-width:700px){.gouv-grid{grid-template-columns:1fr;}}
.gouv-card{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--border);border-radius:var(--rl);padding:18px;transition:box-shadow .25s;}
.gouv-card:hover{box-shadow:var(--shadow-sm);}
.gouv-card--main{grid-column:span 2;background:var(--nav);}
.gouv-card--main h3,.gouv-card--main p{color:#fff;}
.gouv-card--main p{opacity:.75;}
.gouv-card-icon{width:40px;height:40px;border-radius:10px;background:var(--or-lt);color:var(--or);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.gouv-card--main .gouv-card-icon{background:rgba(255,255,255,.12);color:rgba(255,255,255,.8);}
.gouv-card h3{font-family:var(--ff);font-size:14px;font-weight:800;color:var(--text);margin-bottom:5px;}
.gouv-card p{font-size:13px;color:var(--text-mid);line-height:1.6;margin:0;}
.gouv-chips{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.gouv-chips span{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:rgba(255,255,255,.55);background:rgba(255,255,255,.08);padding:3px 9px;border-radius:4px;}
.gouv-cadre{background:var(--cream);border:1px solid var(--border);border-radius:var(--rl);padding:18px;}
.gouv-cadre h4{font-family:var(--ff);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:14px;}
.gouv-cadre-items{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
@media(max-width:600px){.gouv-cadre-items{grid-template-columns:1fr;}}
.gc-item{display:flex;gap:10px;align-items:flex-start;}
.gc-item svg{color:var(--gr);flex-shrink:0;margin-top:2px;}
.gc-item strong{display:block;font-size:13px;font-weight:800;color:var(--text);margin-bottom:1px;}
.gc-item span{font-size:12px;color:var(--text-mid);}

/* Distinctions */
.dist-list{display:flex;flex-direction:column;gap:12px;}
.dist-card{display:flex;gap:0;background:var(--white);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;transition:box-shadow .25s,transform .25s;}
.dist-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.dist-card--gold{background:var(--nav-dark);border-color:rgba(243,146,0,.2);}
.dist-card--gold .dist-label,.dist-card--gold p{color:rgba(255,255,255,.6);}
.dist-card--gold h3{color:var(--or);}
.dist-card-side{width:70px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--cream);border-right:1px solid var(--border);padding:14px 10px;}
.dist-card--gold .dist-card-side{background:rgba(243,146,0,.08);border-right-color:rgba(243,146,0,.15);}
.dist-medal{color:var(--or-dk);}
.dist-medal--nav{color:var(--nav);}
.dist-year{font-family:var(--ff);font-size:10px;font-weight:800;color:var(--text-muted);}
.dist-body{padding:16px 18px;flex:1;}
.dist-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;}
.dist-body h3{font-family:var(--ff);font-size:15px;font-weight:800;color:var(--text);margin-bottom:7px;}
.dist-body p{font-size:13px;color:var(--text-mid);line-height:1.65;margin-bottom:10px;}
.dist-tags{display:flex;gap:6px;flex-wrap:wrap;}
.dist-tags span{font-size:10.5px;padding:2px 9px;border-radius:4px;background:var(--cream);border:1px solid var(--border);color:var(--text-mid);font-weight:600;}
.dist-card--gold .dist-tags span{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.55);}

/* Partenaires */
.partners-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:22px;}
@media(max-width:900px){.partners-strip{grid-template-columns:repeat(3,1fr);}}
@media(max-width:500px){.partners-strip{grid-template-columns:repeat(2,1fr);}}
.partner-item{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:16px 12px;text-align:center;transition:box-shadow .25s,transform .25s;}
.partner-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px);}
.partner-icon{width:36px;height:36px;border-radius:var(--r);background:var(--or-lt);color:var(--or);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;}
.partner-icon svg{width:18px;height:18px;}
.partner-item h4{font-family:var(--ff);font-size:12.5px;font-weight:800;color:var(--nav);margin-bottom:3px;}
.partner-item p{font-size:11px;color:var(--text-muted);margin:0;}

/* CTA bar */
.ap-cta-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--nav);border-radius:var(--rl);padding:18px 22px;flex-wrap:wrap;}
.ap-cta-bar strong{display:block;font-family:var(--ff);font-size:15px;font-weight:800;color:#fff;margin-bottom:3px;}
.ap-cta-bar span{font-size:12.5px;color:rgba(255,255,255,.65);}

/* Adhésion steps */
.adh-steps{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.adh-step{display:flex;gap:11px;align-items:flex-start;}
.adh-step-n{font-family:var(--ff);font-size:16px;font-weight:900;color:var(--or);opacity:.35;flex-shrink:0;min-width:22px;}
.adh-step strong{display:block;font-size:13px;font-weight:800;color:var(--text);margin-bottom:2px;}
.adh-step p{font-size:12.5px;color:var(--text-mid);margin:0;}
.adh-docs{list-style:none;padding:0;margin:0;}
.adh-docs li{font-size:13px;color:var(--text-mid);padding:5px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:7px;}
.adh-docs li::before{content:'✓';color:var(--gr);font-weight:800;flex-shrink:0;}
.adh-docs li:last-child{border-bottom:none;}

/* Simulateur espace membre */
.sim-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;}
.sim-card .sim-tabs{background:var(--cream);border-bottom:1px solid var(--border);}
.sim-card .sim-body{padding:18px;}
.sim-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
@media(max-width:600px){.sim-row{grid-template-columns:1fr;}}
.sim-field label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-bottom:5px;}
.sim-result-bar{background:var(--nav);border-radius:var(--r);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.sim-result-label{font-size:10px;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;}
.sim-result-val{font-family:var(--ff);font-size:22px;font-weight:900;color:var(--or);}

/* ══════════════════════════════════════════════════════════════
   PAGES INTÉRIEURES — Classes manquantes / améliorées
   (page-a-propos, page-espace-membre)
══════════════════════════════════════════════════════════════ */

/* ── Shared page layout ───────────────────────────────────── */
.ap-sub {
  font-size: 14.5px;
  color: var(--text-mid);
  line-height: 1.7;
  max-width: 560px;
  margin: 0 0 24px;
}

/* Section alternée (fond crème) */
.ap-section-alt {
  background: var(--cream);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

/* ── ap-grid right column ─────────────────────────────────── */
.ap-side {
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: sticky;
  top: 90px;
}

/* ── Sidebar card (espace-membre: documents requis) ─────── */
.sb-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--rl);
  padding: 20px;
  box-shadow: var(--shadow-sm);
}
.sb-card h4 {
  font-family: var(--ff);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--text-muted);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

/* ── Timeline columns (page-a-propos) ────────────────────── */
.apt-left {
  text-align: right;
  padding-top: 8px;
}
.apt-right {
  min-width: 0;
}

/* ── Feat-cards (avantages espace-membre) ────────────────── */
/* Grille des feat-cards injectée via style inline dans le PHP
   — on surcharge les styles de features-inner pour la page */
.feat-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--rl);
  padding: 20px 18px 22px;
  transition: box-shadow .25s, transform .25s, border-color .25s;
  position: relative;
  overflow: hidden;
}
.feat-card::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--or), var(--gr));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s var(--ease);
}
.feat-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
  border-color: transparent;
}
.feat-card:hover::before { transform: scaleX(1); }

.fc-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--or-lt);
  color: var(--or);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  transition: background .25s;
}
.fc-icon svg { width: 20px; height: 20px; }
.feat-card:hover .fc-icon {
  background: var(--or);
  color: #fff;
}
.feat-card h4 {
  font-family: var(--ff);
  font-size: 14px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 7px;
  line-height: 1.25;
}
.feat-card p {
  font-size: 13px;
  color: var(--text-mid);
  line-height: 1.65;
  margin: 0;
}

/* ── adh-step span (numéros 01 02...) ────────────────────── */
.adh-step > span {
  font-family: var(--ff);
  font-size: 22px;
  font-weight: 900;
  color: var(--or);
  opacity: .3;
  flex-shrink: 0;
  min-width: 30px;
  line-height: 1;
  padding-top: 2px;
}
.adh-step > div strong {
  display: block;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 2px;
  font-family: var(--ff);
}
.adh-step > div p {
  font-size: 12.5px;
  color: var(--text-mid);
  margin: 0;
  line-height: 1.55;
}

/* ── sim-result labels ───────────────────────────────────── */
.sim-result-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: rgba(255,255,255,.55);
  margin-bottom: 4px;
}
.sim-result-val {
  font-family: var(--ff);
  font-size: 22px;
  font-weight: 900;
  color: var(--or);
  line-height: 1;
}

/* ══════════════════════════════════════════════════════════════
   OVERRIDES DE QUALITÉ — remettre au niveau front-page
══════════════════════════════════════════════════════════════ */

/* ap-section : meilleure respiration */
.ap-section { padding: 44px 0; }
.ap-section--cream { background: var(--cream); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

/* ap-h2 align avec strip-hd h2 */
.ap-h2 { font-family: var(--ff); font-size: clamp(24px,2.8vw,36px); font-weight: 900; color: var(--text); margin: 6px 0 14px; line-height: 1.15; letter-spacing: -.3px; }
.ap-h2 em { color: var(--or); font-style: normal; }

/* ap-intro */
.ap-intro { font-size: 14.5px; color: var(--text-mid); line-height: 1.7; margin-bottom: 24px; }

/* ap-val-item : améliorer l'alignement */
.ap-val-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
}
.ap-val-item:last-child { border-bottom: none; }
.ap-val-icon {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: var(--or-lt);
  color: var(--or);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ap-val-icon svg { width: 16px; height: 16px; }
.ap-val-item strong { font-family: var(--ff); font-size: 13px; font-weight: 800; color: var(--text); display: block; margin-bottom: 2px; }
.ap-val-item p { font-size: 12.5px; color: var(--text-mid); margin: 0; line-height: 1.55; }

/* ap-kpis améliorer */
.ap-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ap-kpi { background: var(--nav-dark); border-radius: var(--r); padding: 14px 12px; text-align: center; }
.ap-kpi-val { font-family: var(--ff); font-size: 28px; font-weight: 900; color: var(--or); line-height: 1; }
.ap-kpi-val em { font-style: normal; font-size: 17px; }
.ap-kpi-val--sm { font-size: 12.5px; line-height: 1.4; }
.ap-kpi-lbl { font-size: 10px; color: rgba(255,255,255,.45); margin-top: 4px; line-height: 1.3; }
.ap-kpi--wide { grid-column: span 2; }

/* ap-mission-cards */
.ap-mission-cards { display: flex; flex-direction: column; gap: 8px; }
.ap-mc { background: var(--cream); border: 1px solid var(--border); border-radius: var(--r); padding: 13px 15px; }
.ap-mc-hd { display: flex; align-items: center; gap: 7px; font-family: var(--ff); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--or); margin-bottom: 7px; }
.ap-mc-hd svg { color: var(--or); }
.ap-mc p { font-size: 12.5px; color: var(--text-mid); line-height: 1.55; margin: 0; }

/* ap-cta-bar */
.ap-cta-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  background: var(--nav-dark);
  border-radius: var(--rl);
  padding: 22px 28px;
  margin-top: 28px;
}
.ap-cta-bar strong { display: block; font-family: var(--ff); font-size: 15px; font-weight: 800; color: #fff; margin-bottom: 3px; }
.ap-cta-bar span { font-size: 13px; color: rgba(255,255,255,.55); }

/* Timeline */
.ap-timeline { position: relative; margin-top: 20px; }
.apt-track { position: absolute; left: 130px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(to bottom, var(--or), var(--gr)); }
@media(max-width:700px) { .apt-track { display: none; } }
.apt-item { display: grid; grid-template-columns: 120px 20px 1fr; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
@media(max-width:700px) { .apt-item { grid-template-columns: 1fr; gap: 4px; } }
.apt-left { text-align: right; padding-top: 10px; }
.apt-right { min-width: 0; }
.apt-year { font-family: var(--ff); font-size: 11px; font-weight: 800; color: var(--text-muted); }
.apt-year--or { color: var(--or); }
.apt-year--gr { color: var(--nav); }
.apt-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--border); border: 2.5px solid #fff; box-shadow: 0 0 0 2px var(--border); margin-top: 10px; flex-shrink: 0; }
.apt-dot--or { background: var(--or); box-shadow: 0 0 0 2.5px var(--or); }
.apt-dot--gr { background: var(--nav); box-shadow: 0 0 0 2.5px var(--nav); }
@media(max-width:700px) { .apt-dot { display: none; } }
.apt-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--r); padding: 14px 16px; transition: box-shadow .25s; }
.apt-card:hover { box-shadow: var(--shadow-sm); }
.apt-card h4 { font-family: var(--ff); font-size: 13.5px; font-weight: 800; color: var(--text); margin-bottom: 5px; }
.apt-card p { font-size: 13px; color: var(--text-mid); line-height: 1.6; margin: 0; }
.apt-card--or { border-left: 3px solid var(--or); }
.apt-card--gold { border-left: 3px solid var(--or); background: rgba(243,146,0,.04); }
.apt-card--gold h4 { color: var(--or); }
.apt-card--gr { border-left: 3px solid var(--nav); background: var(--gr-lt); }

/* Distinctions */
.dist-list { display: flex; flex-direction: column; gap: 14px; }
.dist-card { display: flex; background: var(--white); border: 1px solid var(--border); border-radius: var(--rl); overflow: hidden; transition: box-shadow .25s, transform .25s; }
.dist-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.dist-card--gold { background: var(--nav-dark); border-color: rgba(243,146,0,.2); }
.dist-card-side { width: 96px; flex-shrink: 0; background: rgba(0,0,0,.06); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 20px 12px; }
.dist-card--gold .dist-card-side { background: rgba(243,146,0,.08); }
.dist-medal { width: 52px; height: 52px; border-radius: 50%; background: var(--or-lt); display: flex; align-items: center; justify-content: center; }
.dist-medal--nav { background: var(--gr-lt); color: var(--nav); }
.dist-year { font-family: var(--ff); font-size: 11px; font-weight: 800; color: var(--text-muted); }
.dist-card--gold .dist-year { color: rgba(255,255,255,.4); }
.dist-body { padding: 20px 22px; flex: 1; }
.dist-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--text-muted); margin-bottom: 6px; }
.dist-card--gold .dist-label { color: rgba(255,255,255,.4); }
.dist-body h3 { font-family: var(--ff); font-size: 15px; font-weight: 800; color: var(--text); margin-bottom: 7px; line-height: 1.3; }
.dist-card--gold h3 { color: var(--or); }
.dist-body p { font-size: 13px; color: var(--text-mid); line-height: 1.65; margin: 0 0 10px; }
.dist-card--gold p { color: rgba(255,255,255,.55); }
.dist-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.dist-tags span { font-size: 10.5px; font-weight: 700; background: var(--cream); color: var(--text-muted); padding: 2px 9px; border-radius: 4px; border: 1px solid var(--border); }
.dist-card--gold .dist-tags span { background: rgba(255,255,255,.08); color: rgba(255,255,255,.5); border-color: rgba(255,255,255,.1); }

/* Partenaires */
.partners-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 24px; }
@media(max-width:700px) { .partners-strip { grid-template-columns: repeat(2, 1fr); } }
.partner-item { background: var(--white); border: 1px solid var(--border); border-radius: var(--rl); padding: 20px 16px; text-align: center; transition: box-shadow .25s, border-color .25s; }
.partner-item:hover { box-shadow: var(--shadow-sm); border-color: var(--or); }
.partner-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--or-lt); color: var(--or); display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.partner-icon svg { width: 22px; height: 22px; }
.partner-item h4 { font-family: var(--ff); font-size: 14px; font-weight: 800; color: var(--text); margin-bottom: 3px; }
.partner-item p { font-size: 11.5px; color: var(--text-muted); margin: 0; }

/* Gouvernance */
.gouv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
@media(max-width:700px) { .gouv-grid { grid-template-columns: 1fr; } }
.gouv-card { display: flex; gap: 14px; align-items: flex-start; background: var(--white); border: 1px solid var(--border); border-radius: var(--rl); padding: 18px 20px; transition: box-shadow .25s; }
.gouv-card:hover { box-shadow: var(--shadow-sm); }
.gouv-card--main { grid-column: span 2; background: var(--nav-dark); border-color: transparent; }
.gouv-card--main h3, .gouv-card--main p { color: #fff; }
.gouv-card--main p { opacity: .6; }
.gouv-card-icon { width: 42px; height: 42px; border-radius: 10px; background: var(--or-lt); color: var(--or); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.gouv-card--main .gouv-card-icon { background: rgba(255,255,255,.1); color: rgba(255,255,255,.7); }
.gouv-card h3 { font-family: var(--ff); font-size: 14.5px; font-weight: 800; color: var(--text); margin-bottom: 6px; }
.gouv-card p { font-size: 13px; color: var(--text-mid); line-height: 1.6; margin: 0; }
.gouv-chips { display: flex; gap: 7px; margin-top: 10px; flex-wrap: wrap; }
.gouv-chips span { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; color: rgba(255,255,255,.5); background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); padding: 3px 9px; border-radius: 4px; }
.gouv-cadre { background: var(--cream); border: 1px solid var(--border); border-radius: var(--rl); padding: 20px 22px; }
.gouv-cadre h4 { font-family: var(--ff); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; color: var(--text-muted); margin-bottom: 14px; }
.gouv-cadre-items { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media(max-width:600px) { .gouv-cadre-items { grid-template-columns: 1fr; } }
.gc-item { display: flex; gap: 10px; align-items: flex-start; }
.gc-item svg { color: var(--or); flex-shrink: 0; margin-top: 2px; }
.gc-item strong { display: block; font-family: var(--ff); font-size: 13px; font-weight: 800; color: var(--text); margin-bottom: 1px; }
.gc-item span { font-size: 12px; color: var(--text-mid); line-height: 1.4; }

/* ── Responsive pages intérieures ─────────────────────────── */
@media(max-width:900px) {
  .ap-side { position: static; }
  .dist-card { flex-direction: column; }
  .dist-card-side { width: 100%; flex-direction: row; padding: 14px 16px; }
  .gouv-card--main { grid-column: span 1; }
}


/* ══════════════════════════════════════════════════════════════
   TIMELINE REDESIGN — page-a-propos histoire
   (override complet de tous les apt-* précédents)
══════════════════════════════════════════════════════════════ */

.ap-timeline {
  position: relative;
  margin-top: 28px;
  padding-bottom: 8px;
}

/* ── Ligne verticale centrale ─────────────────────────────── */
.apt-track {
  position: absolute;
  left: 153px;           /* centre de la colonne dot */
  top: 16px;
  bottom: 16px;
  width: 2px;
  background: linear-gradient(
    to bottom,
    var(--or)    0%,
    var(--or)   30%,
    var(--gr)   70%,
    var(--nav)  100%
  );
  opacity: .35;
}
@media(max-width:720px) { .apt-track { display: none; } }

/* ── Item container ───────────────────────────────────────── */
.apt-item {
  display: grid;
  grid-template-columns: 138px 30px 1fr;
  gap: 0 16px;
  align-items: flex-start;
  margin-bottom: 20px;
  position: relative;
}
.apt-item:last-child { margin-bottom: 0; }
@media(max-width:720px) {
  .apt-item {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-left: 28px;
    border-left: 2px solid var(--border);
    margin-bottom: 24px;
  }
}

/* ── Colonne gauche : badge année ─────────────────────────── */
.apt-left {
  display: flex;
  justify-content: flex-end;
  padding-top: 14px;
}
@media(max-width:720px) {
  .apt-left { justify-content: flex-start; padding-top: 0; }
}

.apt-year {
  display: inline-block;
  font-family: var(--ff);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .3px;
  color: var(--text-muted);
  background: var(--cream);
  border: 1.5px solid var(--border);
  border-radius: 100px;
  padding: 4px 11px;
  white-space: nowrap;
  transition: background .2s, color .2s, border-color .2s;
}
.apt-year--or {
  color: #fff;
  background: var(--or);
  border-color: var(--or);
}
.apt-year--gr {
  color: #fff;
  background: var(--nav);
  border-color: var(--nav);
}

/* ── Colonne centrale : dot ───────────────────────────────── */
.apt-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2.5px solid var(--border);
  box-shadow: 0 0 0 4px var(--cream);
  margin-top: 11px;
  flex-shrink: 0;
  transition: border-color .2s, box-shadow .2s;
  position: relative;
  z-index: 1;
}
.apt-dot--or {
  background: var(--or);
  border-color: var(--or);
  box-shadow: 0 0 0 4px rgba(243,146,0,.12);
}
.apt-dot--gr {
  background: var(--nav);
  border-color: var(--nav);
  box-shadow: 0 0 0 4px rgba(61,122,53,.12);
}
@media(max-width:720px) { .apt-dot { display: none; } }

/* ── Colonne droite : card ────────────────────────────────── */
.apt-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--rl);
  padding: 16px 18px 17px;
  transition: box-shadow .25s, transform .25s;
  position: relative;
  overflow: hidden;
}
.apt-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--border);
  border-radius: 3px 0 0 3px;
  transition: background .2s;
}
.apt-item:hover .apt-card {
  box-shadow: var(--shadow-sm);
  transform: translateX(3px);
}
.apt-item:hover .apt-card::before { background: var(--or); }
.apt-item:hover .apt-dot          { border-color: var(--or); }

.apt-card h4 {
  font-family: var(--ff);
  font-size: 14px;
  font-weight: 800;
  color: var(--text);
  margin: 0 0 6px;
  line-height: 1.2;
}
.apt-card p {
  font-size: 13px;
  color: var(--text-mid);
  line-height: 1.68;
  margin: 0;
}
.apt-card p strong { color: var(--text); font-weight: 700; }

/* ── Variantes colorées ───────────────────────────────────── */
.apt-card--or::before  { background: var(--or); }
.apt-card--or { background: rgba(243,146,0,.03); border-color: rgba(243,146,0,.25); }
.apt-card--or h4 { color: var(--or); }
.apt-item:hover .apt-card--or { box-shadow: 0 4px 20px rgba(243,146,0,.1); }

/* Prix ISLQ — carte prestige sombre */
.apt-card--gold {
  background: var(--nav-dark);
  border-color: rgba(243,146,0,.3);
  box-shadow: 0 4px 24px rgba(0,0,0,.12);
}
.apt-card--gold::before  { background: var(--or); width: 4px; }
.apt-card--gold h4 {
  color: var(--or);
  display: flex;
  align-items: center;
  gap: 7px;
}
.apt-card--gold h4 svg { flex-shrink: 0; }
.apt-card--gold p  { color: rgba(255,255,255,.58); }
.apt-card--gold p strong { color: rgba(255,255,255,.85); }
.apt-item:hover .apt-card--gold {
  box-shadow: 0 8px 32px rgba(0,0,0,.22);
  transform: translateX(3px);
}
/* Dot correspondant */
.apt-dot--or.apt-dot--gold,
.apt-item:has(.apt-card--gold) .apt-dot {
  background: var(--or);
  border-color: var(--or);
  box-shadow: 0 0 0 5px rgba(243,146,0,.2);
  width: 20px;
  height: 20px;
  margin-top: 10px;
}

/* Variante verte (Aujourd'hui) */
.apt-card--gr { background: var(--gr-lt); border-color: rgba(91,168,79,.25); }
.apt-card--gr::before { background: var(--nav); }
.apt-card--gr h4 { color: var(--nav); }
.apt-item:hover .apt-card--gr { box-shadow: 0 4px 20px rgba(61,122,53,.1); }

/* ── Badge "À la une" pour la carte gold ─────────────────── */
.apt-card--gold .apt-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--or);
  background: rgba(243,146,0,.1);
  border: 1px solid rgba(243,146,0,.2);
  border-radius: 4px;
  padding: 2px 8px;
  margin-bottom: 8px;
}


/* ══════════════════════════════════════════════════════════════
   ORGANIGRAMME GOUVERNANCE
══════════════════════════════════════════════════════════════ */

/* Keyframes */
@keyframes orgFadeIn {
  from { opacity:0; transform:translateY(18px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes orgLineGrow {
  from { transform:scaleY(0); }
  to   { transform:scaleY(1); }
}
@keyframes orgLineGrowH {
  from { transform:scaleX(0); }
  to   { transform:scaleX(1); }
}

.org-chart {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 28px 0 32px;
  gap: 0;
}

/* Niveaux */
.org-level {
  width: 100%;
  display: flex;
  justify-content: center;
}

/* Connecteur vertical */
.org-connector--v {
  width: 2px;
  height: 36px;
  background: linear-gradient(to bottom, var(--or), var(--nav));
  opacity: .35;
  transform-origin: top;
  animation: orgLineGrow .5s ease forwards;
  animation-play-state: paused;
}
.org-connector--left {
  margin-left: -33%;
  background: linear-gradient(to bottom, var(--nav), var(--nav));
}
.org-chart.org-vis .org-connector--v {
  animation-play-state: running;
}

/* ── Noeud générique ─────────────────────────────────────── */
.org-node {
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: var(--rl);
  padding: 18px 22px;
  text-align: center;
  position: relative;
  opacity: 0;
  transition: box-shadow .25s, transform .25s, border-color .25s;
}
.org-chart.org-vis .org-node {
  animation: orgFadeIn .5s ease forwards;
}
.org-node:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
  border-color: var(--or);
}

/* Noeud top : AG */
.org-node--top {
  width: 360px;
  background: var(--nav-dark);
  border-color: rgba(243,146,0,.3);
  animation-delay: .05s;
}
.org-node--top:hover { border-color: var(--or); }
.org-node--top .org-node-title { color: #fff; font-size: 16px; }
.org-node--top .org-node-sub   { color: rgba(255,255,255,.5); }
.org-node--top .org-node-icon  { background: rgba(243,146,0,.15); color: var(--or); }

/* Barre colorée en bas du noeud top */
.org-node--top::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--or), var(--gr));
  border-radius: 0 0 var(--rl) var(--rl);
}

/* Noeuds milieu : CA et CS */
.org-level--2 { position: relative; }
.org-branch {
  display: flex;
  align-items: flex-start;
  gap: 0;
  position: relative;
  width: 100%;
  max-width: 760px;
  justify-content: center;
}

/* Ligne horizontale reliant les deux noeuds */
.org-branch-line {
  position: absolute;
  top: 36px;
  left: calc(25% + 90px);
  right: calc(25% + 90px);
  height: 2px;
  background: linear-gradient(90deg, var(--or) 0%, var(--nav) 100%);
  opacity: .25;
  transform-origin: center;
  animation: orgLineGrowH .5s .3s ease forwards;
  transform: scaleX(0);
}
.org-chart.org-vis .org-branch-line { animation-play-state: running; }

.org-node--left,
.org-node--right { width: 280px; }
.org-node--left  { animation-delay: .25s; margin-right: 80px; }
.org-node--right { animation-delay: .35s; margin-left: 80px; }

/* Noeud bottom : DG */
.org-node--bottom {
  width: 360px;
  background: var(--gr-lt);
  border-color: rgba(61,122,53,.25);
  animation-delay: .5s;
}
.org-node--bottom:hover { border-color: var(--nav); }
.org-node--bottom .org-node-title { color: var(--nav); }
.org-node--bottom .org-node-icon  { background: rgba(61,122,53,.12); color: var(--nav); }

/* Icône dans les noeuds */
.org-node-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: var(--or-lt);
  color: var(--or);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
}
.org-node-icon svg { width: 22px; height: 22px; }

.org-node-title {
  font-family: var(--ff);
  font-size: 14.5px;
  font-weight: 800;
  color: var(--text);
  line-height: 1.2;
  margin-bottom: 5px;
}
.org-node-sub {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.4;
  margin-bottom: 10px;
}
.org-node-chips {
  display: flex;
  gap: 6px;
  justify-content: center;
  flex-wrap: wrap;
}
.org-node-chips span {
  font-size: 10.5px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 100px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.55);
}
.org-node--bottom .org-node-chips span {
  background: rgba(61,122,53,.1);
  border-color: rgba(61,122,53,.2);
  color: var(--nav);
}

/* JS : observer pour déclencher les animations */
.org-chart { --org-vis: 0; }

/* Responsive */
@media(max-width:720px) {
  .org-node--top,
  .org-node--bottom { width: 100%; }
  .org-branch { flex-direction: column; align-items: center; gap: 14px; }
  .org-branch-line { display: none; }
  .org-node--left,
  .org-node--right { width: 100%; margin: 0; }
  .org-connector--left { margin-left: 0; }
}


/* ══════════════════════════════════════════════════════════════
   SECTION PARTENAIRES — photo de fond
══════════════════════════════════════════════════════════════ */

.partners-section {
  position: relative;
  padding: 72px 0 80px;
  overflow: hidden;
}

/* Photo de fond */
.partners-bg {
  position: absolute;
  inset: 0;
  background-image: url('https://images.unsplash.com/photo-1588880331179-bc9b93a8cb5e?w=1600&q=80&auto=format&fit=crop');
  background-size: cover;
  background-position: center 40%;
  transition: transform 8s ease;
}
.partners-section:hover .partners-bg { transform: scale(1.03); }

/* Double overlay : sombre en bas + couleur nav-dark */
.partners-ov {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom,
      rgba(14,34,20,.88) 0%,
      rgba(14,34,20,.82) 60%,
      rgba(14,34,20,.94) 100%
    );
}

/* Contenu */
.partners-inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
}

/* Header */
.partners-hd {
  text-align: center;
  margin-bottom: 44px;
}
.partners-hd h2 {
  font-family: var(--ff);
  font-size: clamp(26px,3vw,40px);
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
  margin: 8px 0 12px;
}
.partners-hd h2 em { color: var(--or); font-style: normal; }
.partners-hd p {
  font-size: 15px;
  color: rgba(255,255,255,.55);
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.65;
}

/* Grille partenaires */
.partners-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 48px;
}
@media(max-width:860px)  { .partners-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:480px)  { .partners-grid { grid-template-columns: 1fr; } }

/* Carte partenaire */
.partner-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--rl);
  padding: 24px 20px;
  text-align: center;
  backdrop-filter: blur(6px);
  transition: background .3s, border-color .3s, transform .3s, box-shadow .3s;
  cursor: default;
}
.partner-card:hover {
  background: rgba(255,255,255,.11);
  border-color: rgba(243,146,0,.45);
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,.3);
}

.partner-card-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(243,146,0,.15);
  border: 1px solid rgba(243,146,0,.25);
  color: var(--or);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  transition: background .3s;
}
.partner-card:hover .partner-card-icon {
  background: var(--or);
  color: #fff;
  border-color: var(--or);
}
.partner-card-icon svg { width: 22px; height: 22px; }

.partner-card h4 {
  font-family: var(--ff);
  font-size: 15px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 5px;
  line-height: 1.2;
}
.partner-card p {
  font-size: 12px;
  color: rgba(255,255,255,.48);
  line-height: 1.5;
  margin: 0;
}
.partner-card:hover p { color: rgba(255,255,255,.68); }

/* CTA partenaires */
.partners-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--rl);
  padding: 24px 32px;
  backdrop-filter: blur(6px);
}
.partners-cta-text strong {
  display: block;
  font-family: var(--ff);
  font-size: 16px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 4px;
}
.partners-cta-text span {
  font-size: 13px;
  color: rgba(255,255,255,.5);
  line-height: 1.5;
}
.partners-cta-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

@media(max-width:700px) {
  .partners-inner  { padding: 0 20px; }
  .partners-cta    { flex-direction: column; align-items: flex-start; padding: 18px 20px; }
}

/* ── Déclenchement animations organigramme via JS ─────────── */


/* ══════════════════════════════════════════════════════════════
   SINGLE SERVICE — animations & embellissements
══════════════════════════════════════════════════════════════ */

/* ── Keyframes hero ──────────────────────────────────────── */
@keyframes svcHeroIn {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes svcStatIn {
  from { opacity:0; transform:translateX(30px) scale(.96); }
  to   { opacity:1; transform:translateX(0) scale(1); }
}
@keyframes svcGeoSpin {
  from { transform:rotate(0deg); }
  to   { transform:rotate(360deg); }
}
@keyframes svcGeoSpinR {
  from { transform:rotate(0deg); }
  to   { transform:rotate(-360deg); }
}

/* ── Géométries décoratives hero ─────────────────────────── */
.svc-geo {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.svc-geo-1 {
  width: 380px; height: 380px;
  right: -60px; bottom: -100px;
  border: 1px solid rgba(243,146,0,.14);
  animation: svcGeoSpin 28s linear infinite;
}
.svc-geo-2 {
  width: 240px; height: 240px;
  right: 30px; bottom: -30px;
  border: 1px solid rgba(243,146,0,.08);
  animation: svcGeoSpinR 18s linear infinite;
}

/* ── Animation du contenu hero ───────────────────────────── */
.svc-hero-anim > * {
  opacity: 0;
  animation: svcHeroIn .6s ease forwards;
}
.svc-hero-anim .svc-hero-badge   { animation-delay: .05s; }
.svc-hero-anim .svc-breadcrumb   { animation-delay: .1s; }
.svc-hero-anim .svc-hero-title   { animation-delay: .2s; }
.svc-hero-anim .svc-hero-chips   { animation-delay: .35s; }

.svc-stat-anim {
  opacity: 0;
  animation: svcStatIn .7s .3s ease forwards;
}

/* ── Badge agrément ──────────────────────────────────────── */
.svc-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .4px;
  color: rgba(255,255,255,.75);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 100px;
  padding: 5px 14px;
  margin-bottom: 12px;
  backdrop-filter: blur(4px);
}
.svc-hero-badge svg { color: var(--or); }

/* ── Chips délai + agrément ──────────────────────────────── */
.svc-hero-chips {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.svc-hero-chips span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.65);
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  padding: 5px 12px;
  border-radius: 100px;
}
.svc-hero-chips svg { color: var(--or); flex-shrink: 0; }

/* ── Stat card améliorée ─────────────────────────────────── */
.svc-stat-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--rl);
  padding: 24px 28px;
  backdrop-filter: blur(10px);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.svc-stat-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(243,146,0,.08) 0%, transparent 60%);
}
.svc-stat-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--or), var(--gr));
}
.svc-stat-val {
  font-family: var(--ff);
  font-size: 56px;
  font-weight: 900;
  color: var(--or);
  line-height: 1;
  margin-bottom: 6px;
  position: relative;
}
.svc-stat-lbl {
  font-size: 13px;
  color: rgba(255,255,255,.6);
  margin-bottom: 16px;
  line-height: 1.4;
}
.svc-stat-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.svc-stat-meta span {
  font-size: 11px;
  color: rgba(255,255,255,.4);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  padding: 4px 12px;
  border-radius: 100px;
}

/* ── Steps service — amélioré ────────────────────────────── */
.svc-step-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--rl);
  padding: 16px 18px;
  transition: box-shadow .25s, transform .25s, border-color .25s;
  position: relative;
  overflow: hidden;
}
.svc-step-item::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--or);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .35s ease;
}
.svc-step-item:hover {
  box-shadow: var(--shadow-md);
  transform: translateX(4px);
  border-color: rgba(243,146,0,.2);
}
.svc-step-item:hover::before { transform: scaleY(1); }
.svc-step-item.ok::before { transform: scaleY(1); }

.svc-step-num {
  font-family: var(--ff);
  font-size: 28px;
  font-weight: 900;
  color: var(--or);
  opacity: .2;
  flex-shrink: 0;
  line-height: 1;
  min-width: 36px;
  transition: opacity .25s;
}
.svc-step-item:hover .svc-step-num { opacity: .5; }

.svc-step-txt h3 {
  font-family: var(--ff);
  font-size: 14px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 4px;
}
.svc-step-txt p {
  font-size: 13px;
  color: var(--text-mid);
  line-height: 1.6;
  margin: 0;
}

/* ── Conditions list — améliorée ─────────────────────────── */
.svc-cond-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; }

.svc-cond-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 12px 16px;
  font-size: 13.5px;
  color: var(--text-mid);
  line-height: 1.5;
  transition: box-shadow .2s, border-color .2s, transform .2s;
  position: relative;
}
.svc-cond-item::before {
  content: '';
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--gr-lt);
  border: 1.5px solid rgba(91,168,79,.25);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235BA84F' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: 12px;
  background-position: center;
  background-repeat: no-repeat;
  margin-top: 1px;
}
.svc-cond-item:hover {
  border-color: rgba(91,168,79,.3);
  box-shadow: var(--shadow-sm);
  transform: translateX(3px);
}

/* ══════════════════════════════════════════════════════════════
   SINGLE ACTUALITÉ — barre de lecture + animations
══════════════════════════════════════════════════════════════ */

/* ── Barre de progression lecture ────────────────────────── */
.read-progress-bar {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, var(--or), var(--gr));
  z-index: 9999;
  transition: width .1s linear;
  border-radius: 0 2px 2px 0;
}

/* ── Hero actualité — animations au chargement ───────────── */
@keyframes asHeroIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.as-hero-anim > * {
  opacity: 0;
  animation: asHeroIn .55s ease forwards;
}
.as-hero-anim .as-breadcrumb  { animation-delay: .05s; }
.as-hero-anim .bc-tag         { animation-delay: .15s; }
.as-hero-anim .as-title       { animation-delay: .25s; }
.as-hero-anim .as-meta        { animation-delay: .4s; }

/* ── Cover image frame — shimmer au load ─────────────────── */
@keyframes shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
.as-cover-frame {
  position: relative;
  overflow: hidden;
}
.as-cover-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.06) 50%, transparent 100%);
  background-size: 400px 100%;
  animation: shimmer 2.5s infinite;
  pointer-events: none;
}

/* ── Gallery items — hover amélioré ──────────────────────── */
.as-gi {
  transition: transform .25s, filter .25s;
}
.as-gi:hover {
  transform: scale(1.04);
  filter: brightness(1.05);
  z-index: 1;
}

/* ── Cartes "à lire aussi" — hover amélioré ──────────────── */
.as-autre-card {
  transition: transform .28s, box-shadow .28s, border-color .28s;
}
.as-autre-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 36px rgba(0,0,0,.1);
  border-color: rgba(243,146,0,.25);
}
.as-autre-card:hover .as-autre-body h3 { color: var(--or); }

/* ── Postnav hover ───────────────────────────────────────── */
.as-postnav-item {
  transition: transform .2s;
}
.as-postnav-item:hover { transform: translateX(4px); }
.as-postnav-prev:hover { transform: translateX(-4px); }

/* ── Excerpt — meilleure mise en valeur ──────────────────── */
.as-excerpt {
  font-size: 1.08rem;
  font-weight: 500;
  color: var(--text);
  line-height: 1.72;
  border-left: 4px solid var(--or);
  padding: 12px 18px;
  background: var(--or-xlt);
  border-radius: 0 var(--r) var(--r) 0;
  margin-bottom: 22px;
}

/* ── Sidebar share buttons ───────────────────────────────── */
.as-share a {
  transition: background .2s, color .2s, transform .2s;
}
.as-share a:hover {
  transform: translateY(-2px);
}


/* ══════════════════════════════════════════════════════════════
   ARCHIVE ACTUALITÉS — animations & embellissements
══════════════════════════════════════════════════════════════ */

/* ── Keyframes hero page ─────────────────────────────────── */
@keyframes pageHeroIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Géométries déco hero (même que svc-hero) ────────────── */
.page-hero { position: relative; }
.page-hero-geo {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.page-hero-geo-1 {
  width: 340px; height: 340px;
  right: -40px; bottom: -80px;
  border: 1px solid rgba(243,146,0,.1);
  animation: svcGeoSpin 32s linear infinite;
}
.page-hero-geo-2 {
  width: 200px; height: 200px;
  right: 60px; bottom: -10px;
  border: 1px solid rgba(243,146,0,.06);
  animation: svcGeoSpinR 20s linear infinite;
}
.page-hero-inner { position: relative; z-index: 1; }

/* ── Animation contenu hero ──────────────────────────────── */
.actu-hero-anim > * {
  opacity: 0;
  animation: pageHeroIn .55s ease forwards;
}
.actu-hero-anim .page-breadcrumb { animation-delay: .05s; }
.actu-hero-anim h1               { animation-delay: .15s; }
.actu-hero-anim p                { animation-delay: .28s; }

/* ── Actu-card — améliorations ───────────────────────────── */
.actu-card {
  position: relative;
  overflow: hidden;
}
/* Barre gauche animée au hover */
.actu-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(to bottom, var(--or), var(--gr));
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .35s ease;
  z-index: 2;
}
.actu-card:hover::before { transform: scaleY(1); }

/* Meilleur hover global */
.actu-card:hover {
  box-shadow: 0 14px 44px rgba(0,0,0,.11);
  transform: translateY(-4px);
  border-color: rgba(243,146,0,.15);
}

/* Image zoom plus prononcé */
.actu-card:hover .actu-img img {
  transform: scale(1.08);
}

/* Tag — meilleur style */
.actu-tag {
  backdrop-filter: blur(4px);
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

/* Titre au hover */
.actu-card:hover .actu-body h3 {
  color: var(--nav);
}

/* Lien "Lire la suite" — animation flèche */
.actu-lnk svg {
  transition: transform .2s;
}
.actu-card:hover .actu-lnk {
  gap: 10px;
  color: var(--or);
}
.actu-card:hover .actu-lnk svg {
  transform: translateX(4px);
}

/* Stagger sur les cards (nth-child CSS) */
.actu-list .actu-card:nth-child(1).rv { transition-delay: 0s; }
.actu-list .actu-card:nth-child(2).rv { transition-delay: .1s; }
.actu-list .actu-card:nth-child(3).rv { transition-delay: .18s; }
.actu-list .actu-card:nth-child(4).rv { transition-delay: .26s; }
.actu-list .actu-card:nth-child(5).rv { transition-delay: .32s; }
.actu-list .actu-card:nth-child(n+6).rv { transition-delay: .38s; }

/* ── Sidebar — améliorations ─────────────────────────────── */
.actu-sidebar .sidebar-card:nth-child(1).rv { transition-delay: .15s; }
.actu-sidebar .sidebar-card:nth-child(2).rv { transition-delay: .25s; }
.actu-sidebar .sidebar-card:nth-child(3).rv { transition-delay: .35s; }

/* Sidebar card — hover discret */
.sidebar-card {
  transition: box-shadow .25s, transform .25s;
}
.sidebar-card:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-2px);
}

/* Categories — hover amélioré */
.sidebar-cats a {
  transition: color .2s, padding-left .2s;
  position: relative;
}
.sidebar-cats a::before {
  content: '';
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%) scaleX(0);
  width: 3px; height: 60%;
  background: var(--or);
  border-radius: 2px;
  transform-origin: left;
  transition: transform .2s;
}
.sidebar-cats a:hover,
.sidebar-cats a.active {
  color: var(--or);
  padding-left: 10px;
  font-weight: 600;
}
.sidebar-cats a:hover::before,
.sidebar-cats a.active::before { transform: translateY(-50%) scaleX(1); }

.sidebar-cats a:hover .cat-count,
.sidebar-cats a.active .cat-count {
  background: var(--or-lt);
  color: var(--or);
}

/* ── Filtres catégories (si présents) ─────────────────────── */
.aab-filter {
  transition: all .22s;
}
.aab-filter:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(243,146,0,.15);
}
.aab-filter.active {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(243,146,0,.2);
}

/* ── Sidebar CTA card — dark ─────────────────────────────── */
.sidebar-cta .sidebar-cta-btn {
  transition: background .2s, transform .2s, box-shadow .2s;
}
.sidebar-cta .sidebar-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(243,146,0,.3);
}

/* ── Pagination ──────────────────────────────────────────── */
.actu-pagination .page-numbers {
  transition: all .2s;
}
.actu-pagination .page-numbers:hover {
  transform: translateY(-2px);
}

/* ── Boutons réseaux sociaux sidebar actualités (icônes carrées colorées) ── */
.actu-socials {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}
.actu-soc {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  transition: opacity .2s, transform .2s;
  flex-shrink: 0;
}
.actu-soc:hover { opacity: .85; transform: translateY(-2px); }
.actu-soc--fb { background: #1877F2; }
.actu-soc--li { background: #0A66C2; }
.actu-soc--wa { background: #25D366; }
/* ══════════════════════════════════════════════════════════════
   ADMIN BAR + MENU MOBILE + RESPONSIVE COMPLET
   ══════════════════════════════════════════════════════════════ */

/* Admin bar */
.admin-bar .header-wrap { top: 32px; }
@media screen and (max-width:782px) { .admin-bar .header-wrap { top: 46px; } }

/* ── Menu mobile overlay ────────────────────────────────────── */
.mob-menu {
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 9990;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  padding: 0;
}
.mob-menu.open { transform: translateX(0); box-shadow: 4px 0 24px rgba(0,0,0,.12); }

.mob-menu-close {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  cursor: pointer;
  color: var(--text);
  width: 100%;
}

.mob-menu .main-nav {
  display: flex !important;
  flex-direction: column !important;
  list-style: none;
  padding: 0 0 40px !important;
  margin: 0 !important;
  gap: 0 !important;
}
.mob-menu .main-nav li {
  border-bottom: 1px solid var(--border);
}
.mob-menu .main-nav li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 15px 20px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  text-decoration: none !important;
  background: none !important;
}
.mob-menu .main-nav li.active > a { color: var(--nav) !important; }
.mob-menu .main-nav .nav-chev { transition: transform .25s; flex-shrink: 0; }
.mob-menu .main-nav li.mob-open > a .nav-chev { transform: rotate(180deg); }

.mob-menu .dropdown {
  display: none !important;
  position: static !important;
  box-shadow: none !important;
  border: none !important;
  background: var(--cream) !important;
  opacity: 1 !important;
  pointer-events: all !important;
  padding: 8px 0 8px 16px !important;
  flex-direction: column !important;
  gap: 0 !important;
  min-width: unset !important;
  width: 100% !important;
}
.mob-menu li.mob-open .dropdown { display: flex !important; }
.mob-menu .dropdown a {
  padding: 11px 20px !important;
  font-size: 13.5px !important;
  color: var(--text-mid) !important;
  border-bottom: 1px solid var(--border) !important;
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  background: none !important;
}
.mob-menu .dropdown a:last-child { border-bottom: none !important; }
.mob-menu .dropdown a:hover { color: var(--nav) !important; background: rgba(0,32,128,.04) !important; }

/* ══════════════════════════════════════════════════════════════
   TABLETTE — max 960px
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 960px) {

  /* Header */
  .main-nav, .h-phone { display: none !important; }
  .mob-btn { display: block !important; }
  .header-logo { width: 140px; }
  .header-logo::after { display: none; }

  /* Topbar */
  .tb-center { display: none; }
  .tb-left { flex: 1; font-size: 11px; }

  /* Hero accueil */
  .slide-content { padding: 0 32px 60px; max-width: 100%; }
  .hero-socials { display: none; }
  .slide-title { font-size: clamp(26px,5vw,44px); }

  /* Stats */
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .stat-item { border-right: none !important; border-bottom: 1px solid var(--border); }
  .stat-item:nth-last-child(-n+2) { border-bottom: none; }

  /* Services accueil */
  .svc-photo-viewport { padding: 0; }
  .svc-photo-card { flex: 0 0 240px; min-width: 240px; }

  /* About section accueil */
  .as-inner { grid-template-columns: 1fr; gap: 24px; }
  .as-card-inner { grid-template-columns: 1fr; }

  /* Process étapes accueil */
  .process-hd { flex-direction: column; gap: 12px; text-align: center; align-items: center; }
  .process-hd-right p { max-width: 480px; text-align: center; }
  .process-steps { grid-template-columns: repeat(2,1fr); }
  .ps-connector { display: none; }
  .process-inner { padding: 0 24px; }

  /* Blog */
  .blog-grid { grid-template-columns: repeat(2,1fr); padding: 0 24px; }

  /* Features */
  .features-inner { grid-template-columns: repeat(2,1fr); padding: 0 24px; }

  /* Testi */
  .testi-grid { grid-template-columns: 1fr; }


  /* Page hero */
  .page-hero { padding: 32px 0 24px; }
  .page-hero-inner { padding: 0 24px; }
  .page-hero h1 { font-size: clamp(24px,4vw,36px); }

  /* Page inner */
  .page-inner { padding: 0 24px; }

  /* Actualités archive */
  .actu-grid { grid-template-columns: 1fr; gap: 24px; }
  .actu-sidebar { display: none; }
  .actu-list { width: 100%; }

  /* Actualité card */
  .actu-card { grid-template-columns: 200px 1fr; min-height: 160px; }
  .actu-img img { height: 100%; object-fit: cover; }

  /* Single actualité */
  .as-body { padding: 28px 0 40px; }
  .as-body-inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 0 24px;
  }
  .as-col-media {
    order: -1;
    position: static;
    top: auto;
  }
  .as-cover-frame { max-height: 280px; overflow: hidden; border-radius: 10px; }
  .as-cover-img { width: 100%; height: 280px; object-fit: cover; }
  .as-gallery-grid { grid-template-columns: repeat(4,1fr); }
  .as-gallery-grid .as-gi:first-child { grid-column: span 2; min-height: 120px; }
  .as-autres-grid { grid-template-columns: repeat(2,1fr); }
  .as-autres-inner { padding: 0 24px; }

  /* Single service */
  .svc-hero-inner { flex-direction: column; padding: 36px 24px 28px; gap: 18px; }
  .svc-stat-card { width: 100%; min-width: unset; text-align: left; display: flex; align-items: center; gap: 20px; padding: 16px 20px; }
  .svc-stat-val { font-size: 36px; }
  .svc-detail-grid { padding: 36px 0; }
  .svc-detail-inner { grid-template-columns: 1fr; gap: 28px; padding: 0 24px; }
  .svc-cta { padding: 36px 24px; }
  .svc-autres-inner { padding: 28px 24px; }
  .svc-autres-grid { grid-template-columns: repeat(2,1fr); gap: 10px; }

  /* À propos */
  .ap-section { padding: 28px 0; }
  .ap-grid { grid-template-columns: 1fr; gap: 20px; }
  .about-valeurs-wrap { padding: 0 24px; }
  .about-valeurs { grid-template-columns: repeat(2,1fr); gap: 10px; }
  .ap-kpis { grid-template-columns: repeat(2,1fr); }
  .ap-timeline { padding-left: 0; }
  .apt-track { display: none; }
  .apt-item { grid-template-columns: 80px 14px 1fr; gap: 10px; }
  .gouv-grid { flex-direction: column; }
  .gouv-grid::before { display: none; }
  .gouv-card { transform: none !important; }
  .gouv-card:nth-child(2),
  .gouv-card:nth-child(3),
  .gouv-card:nth-child(4) { margin-left: 0; }
  .dist-card { flex-direction: row; }
  .dist-card-side { width: 60px; }
  .partners-strip { grid-template-columns: repeat(3,1fr); }
  .ap-cta-bar { flex-direction: column; align-items: flex-start; gap: 14px; }

  /* Espace membre */
  .avantages-grid { grid-template-columns: repeat(2,1fr); }
  .dossier-grid { grid-template-columns: 1fr 1fr; }
  .sim-row { grid-template-columns: 1fr; }
  .sim-result-bar { flex-direction: column; gap: 12px; }

  /* Contact */
  .contact-page { padding: 28px 0 40px; }
  .contact-page-inner { grid-template-columns: 1fr; gap: 24px; padding: 0 24px; }
  .contact-form-card { padding: 24px; }
  .map-box iframe { height: 200px; }

  /* Téléchargements */
  .dl-page-inner { padding: 0 24px; }
  .dl-grid { grid-template-columns: repeat(2,1fr); }

  /* Multimédia */
  .mm-page-inner { padding: 0 24px; }
  .photos-grid { grid-template-columns: repeat(3,1fr); }
  .videos-grid { grid-template-columns: repeat(2,1fr); }
}

/* ══════════════════════════════════════════════════════════════
   MOBILE — max 640px
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {

  /* Header */
  .header-logo { width: 110px; }
  .topbar { display: none; }

  /* Hero accueil */
  .slide-content { padding: 0 18px 50px; }
  .slide-title { font-size: 26px; }
  .slide-sub { font-size: 13px; }
  .slide-ctas { flex-direction: column; gap: 10px; }
  .slide-ctas a { width: 100%; justify-content: center; text-align: center; }
  .ar-prev, .ar-next { width: 32px; height: 32px; }

  /* Stats */
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .stat-item { padding: 20px 12px; }
  .stat-num { font-size: 32px; }

  /* Services accueil */
  .svc-photo-viewport { padding: 0; }
  .svc-photo-card { flex: 0 0 200px; min-width: 200px; }
  .spc-img { height: 160px; }
  .svc-nav { margin-top: 14px; }

  /* Process étapes */
  .process-steps { grid-template-columns: 1fr; gap: 10px; }
  .ps { padding: 14px 16px 16px; }
  .ps-num-val { font-size: 40px; top: 8px; right: 10px; }
  .ps-connector { display: none; }
  .process-inner { padding: 0 16px; }
  .process-hd { padding: 0; }

  /* Blog accueil */
  .blog-grid { grid-template-columns: 1fr; padding: 0 16px; }

  /* Features */
  .features-inner { grid-template-columns: 1fr; padding: 0 16px; }
  .feat-card { flex-direction: row; gap: 14px; align-items: flex-start; }
  .fc-icon { width: 38px; height: 38px; flex-shrink: 0; }

  /* Ticker témoignages */
  .ticker-viewport { padding: 0 16px; }
  .tk-card { min-width: 260px; }

  .fb-links { flex-wrap: wrap; gap: 8px; }

  /* Page hero */
  .page-hero { padding: 24px 0 20px; }
  .page-hero-inner { padding: 0 16px; }
  .page-hero h1 { font-size: 22px; margin-bottom: 6px; }
  .page-hero p { font-size: 13px; }
  .ph-anchors { gap: 5px; margin-top: 12px; }
  .ph-anchors a { font-size: 11px; padding: 5px 10px; }

  /* Page inner global */
  .page-inner { padding: 0 16px; }

  /* Actualités archive */
  .actu-card { grid-template-columns: 1fr; border-radius: 10px; }
  .actu-img { height: 180px; border-radius: 10px 10px 0 0; overflow: hidden; }
  .actu-img img { width: 100%; height: 100%; object-fit: cover; }
  .actu-body { padding: 14px 16px 16px; }
  .actu-pagination { gap: 5px; }
  .actu-pg { width: 32px; height: 32px; font-size: 12px; }

  /* Single actualité */
  .as-body { padding: 20px 0 32px; }
  .as-body-inner { padding: 0 16px; gap: 20px; }
  .as-hero-inner { padding: 20px 16px 28px; }
  .as-title { font-size: 20px; }
  .as-cover-frame { max-height: 220px; }
  .as-cover-img { height: 220px; }
  .as-gallery-grid { grid-template-columns: repeat(3,1fr); gap: 5px; }
  .as-gallery-grid .as-gi { min-height: 80px; }
  .as-gallery-grid .as-gi:first-child { grid-column: span 3; min-height: 140px; }
  .as-gallery-hd { font-size: 11px; }
  .as-postnav { flex-direction: column; gap: 8px; }
  .as-postnav-item { padding: 10px 14px; }
  .as-autres-inner { padding: 20px 16px; }
  .as-autres-grid { grid-template-columns: 1fr; gap: 10px; }
  .as-autre-img { height: 140px; }

  /* Single service */
  .svc-hero-inner { padding: 24px 16px 20px; }
  .svc-hero-title { font-size: 22px; }
  .svc-stat-card { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 16px; }
  .svc-stat-val { font-size: 32px; }
  .svc-stat-meta { flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .svc-detail-grid { padding: 24px 0; }
  .svc-detail-inner { padding: 0 16px; gap: 20px; }
  .svc-cta { padding: 28px 16px; }
  .svc-cta-btns { flex-direction: column; }
  .svc-cta-btns a { text-align: center; justify-content: center; }
  .svc-autres { padding: 20px 0; }
  .svc-autres-inner { padding: 0 16px; }
  .svc-autres-grid { grid-template-columns: 1fr; }
  .svc-autre-card { padding: 10px 14px; }

  /* À propos */
  .ap-section { padding: 20px 0; }
  .ap-grid { gap: 16px; }
  .about-valeurs-wrap { padding: 0 16px; }
  .about-valeurs { grid-template-columns: 1fr; gap: 8px; }
  .ap-val-item { padding: 10px; }
  .ap-kpis { grid-template-columns: 1fr 1fr; gap: 6px; }
  .ap-kpi { padding: 10px; }
  .ap-kpi-val { font-size: 22px; }
  .apt-item { grid-template-columns: 60px 12px 1fr; gap: 8px; }
  .apt-year { font-size: 10px; padding-top: 8px; }
  .apt-card { padding: 10px 12px; }
  .apt-card h4 { font-size: 12.5px; }
  .apt-card p { font-size: 12px; }
  .gouv-card { padding: 14px; }
  .gouv-card h3 { font-size: 13.5px; }
  .gouv-card p { font-size: 12.5px; }
  .gouv-cadre { padding: 14px; }
  .gouv-cadre-items { grid-template-columns: 1fr; gap: 10px; }
  .dist-card { flex-direction: column; }
  .dist-card-side { width: 100%; flex-direction: row; justify-content: flex-start; align-items: center; gap: 10px; padding: 10px 14px; border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
  .dist-body { padding: 12px 14px; }
  .dist-body h3 { font-size: 16px; }
  .dist-body p { font-size: 12.5px; }
  .partners-strip { grid-template-columns: repeat(3,1fr); gap: 8px; }
  .partner-item { padding: 10px 8px; }
  .partner-icon { width: 30px; height: 30px; }
  .partner-icon svg { width: 14px; height: 14px; }
  .partner-item h4 { font-size: 11px; }
  .partner-item p { font-size: 10px; }
  .ap-cta-bar { padding: 16px; gap: 12px; }
  .ap-cta-bar strong { font-size: 14px; }
  .ap-cta-bar span { font-size: 12px; }

  /* Espace membre */
  .avantages-grid { grid-template-columns: 1fr; gap: 8px; }
  .av-card { padding: 12px; }
  .dossier-grid { grid-template-columns: 1fr; gap: 10px; }
  .adh-steps { gap: 10px; }
  .adh-step span { font-size: 14px; min-width: 20px; }
  .sim-card .sim-body { padding: 14px; }
  .sim-result-bar { padding: 12px 14px; }
  .sim-result-val { font-size: 20px; }

  /* Contact */
  .contact-page { padding: 20px 0 32px; }
  .contact-page-inner { padding: 0 16px; gap: 20px; }
  .contact-form-card { padding: 16px; }
  .cf-row { grid-template-columns: 1fr; gap: 10px; }
  .ci-items { gap: 12px; }
  .ci-icon { width: 36px; height: 36px; }
  .map-box { border-radius: 8px; }
  .map-box iframe { height: 180px; }

  /* Téléchargements */
  .dl-page { padding: 24px 0 40px; }
  .dl-page-inner { padding: 0 16px; }
  .dl-grid { grid-template-columns: 1fr; gap: 10px; }
  .dl-section { margin-bottom: 28px; }
  .dl-section-hd { gap: 10px; }
  .dl-card { padding: 14px; }
  .dl-card-top { gap: 10px; }
  .dl-info h3 { font-size: 13px; }
  .dl-info p { font-size: 12px; }

  /* Multimédia */
  .mm-page { padding: 20px 0 40px; }
  .mm-page-inner { padding: 0 16px; }
  .mm-tabs { margin-bottom: 18px; }
  .mm-tab { padding: 10px 14px; font-size: 13px; }
  .photos-grid { grid-template-columns: repeat(2,1fr); gap: 6px; }
  .photo-item:first-child { grid-column: span 2; }
  .photo-img { height: 130px; }
  .photo-item:first-child .photo-img { height: 200px; }
  .videos-grid { grid-template-columns: 1fr; gap: 12px; }
  .video-thumb { height: 180px; }

  /* Lightboxes */
  .as-lb-p, .mm-lb-p { left: 8px; width: 36px; height: 36px; font-size: 24px; }
  .as-lb-n, .mm-lb-n { right: 8px; width: 36px; height: 36px; font-size: 24px; }
  .mm-vm-wrap { max-width: 98vw; }
}

/* ══════════════════════════════════════════════════════════════
   TRÈS PETITS ÉCRANS — max 380px
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 380px) {
  .page-hero h1 { font-size: 20px; }
  .slide-title { font-size: 22px; }
  .ap-kpis { grid-template-columns: 1fr; }
  .ap-kpi--wide { grid-column: span 1; }
  .partners-strip { grid-template-columns: repeat(2,1fr); }
  .photos-grid { grid-template-columns: 1fr 1fr; }
  .as-gallery-grid { grid-template-columns: repeat(2,1fr); }
  .as-gallery-grid .as-gi:first-child { grid-column: span 2; }
  .svc-photo-card { flex: 0 0 160px; min-width: 160px; }
  .svc-cta-inner h2 { font-size: 18px; }
  .stats-grid { grid-template-columns: 1fr; }
  .stat-item { border-bottom: 1px solid var(--border); border-right: none !important; }
}
/* ══ ESPACE MEMBRE — styles complets ════════════════════════ */

.em-page { background: #fff; }

/* Section */
.em-section { padding: 40px 0; background: #fff; }
.em-section--alt { background: var(--cream); }
.em-inner { max-width: 1160px; margin: 0 auto; padding: 0 40px; }

/* Titres */
.em-h2 { font-family: var(--ff); font-size: clamp(20px,2.5vw,30px); font-weight: 800; color: var(--text); margin: 6px 0 18px; line-height: 1.2; }
.em-h2 em { color: var(--or); font-style: normal; }
.em-sub { font-size: 14px; color: var(--text-mid); margin-bottom: 22px; line-height: 1.6; }

/* ── ADHÉSION ─────────────────────────────────────────────── */
.em-adhesion-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  align-items: start;
  margin-top: 18px;
}

.em-col-text p { font-size: 14px; color: var(--text-mid); line-height: 1.72; margin-bottom: 12px; }

/* Étapes */
.em-steps { display: flex; flex-direction: column; gap: 12px; margin-top: 18px; }
.em-step { display: flex; align-items: flex-start; gap: 14px; padding: 12px 14px; background: #fff; border: 1px solid var(--border); border-radius: var(--r); }
.em-step-num { font-family: var(--ff); font-size: 18px; font-weight: 900; color: var(--or); opacity: .35; flex-shrink: 0; min-width: 26px; line-height: 1.3; }
.em-step-body strong { display: block; font-size: 13px; font-weight: 800; color: var(--text); margin-bottom: 2px; }
.em-step-body p { font-size: 12.5px; color: var(--text-mid); margin: 0; line-height: 1.45; }

/* Card documents */
.em-docs-card { background: #fff; border: 1px solid var(--border); border-radius: var(--rl); padding: 20px; }
.em-docs-hd { display: flex; align-items: center; gap: 7px; font-family: var(--ff); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--text); margin-bottom: 14px; }
.em-docs-list { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-direction: column; }
.em-docs-list li { font-size: 13px; color: var(--text-mid); padding: 7px 0; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 8px; }
.em-docs-list li::before { content: '✓'; color: var(--gr); font-weight: 800; flex-shrink: 0; }
.em-docs-list li:last-child { border-bottom: none; }

/* Boutons */
.em-btn-primary {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  width: 100%; padding: 11px 16px; border-radius: var(--r);
  background: var(--gr); color: #fff;
  font-family: var(--ff); font-size: 13px; font-weight: 700;
  text-decoration: none; margin-bottom: 8px;
  transition: background .2s, transform .15s;
}
.em-btn-primary:hover { background: #2d6e22; transform: translateY(-1px); }
.em-btn-primary--or { background: var(--or); }
.em-btn-primary--or:hover { background: #d4830a; }
.em-btn-secondary {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  width: 100%; padding: 10px 16px; border-radius: var(--r);
  background: #fff; color: var(--nav);
  border: 1.5px solid var(--nav);
  font-family: var(--ff); font-size: 13px; font-weight: 700;
  text-decoration: none;
  transition: all .2s;
}
.em-btn-secondary:hover { background: var(--nav); color: #fff; }

/* ── AVANTAGES ────────────────────────────────────────────── */
.em-avantages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 18px;
}
.em-av-card {
  display: flex; align-items: flex-start; gap: 12px;
  background: #fff; border: 1px solid var(--border);
  border-radius: var(--rl); padding: 16px;
  transition: box-shadow .25s, transform .2s;
}
.em-av-card:hover { box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.em-av-icon {
  width: 38px; height: 38px; border-radius: var(--r);
  background: var(--or-lt); color: var(--or);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.em-av-body h4 { font-family: var(--ff); font-size: 13px; font-weight: 800; color: var(--text); margin: 0 0 4px; }
.em-av-body p  { font-size: 12.5px; color: var(--text-mid); margin: 0; line-height: 1.5; }

/* ── SIMULATEUR ───────────────────────────────────────────── */
.em-sim-card {
  background: #fff; border: 1px solid var(--border);
  border-radius: var(--rl); overflow: hidden;
  max-width: 860px;
}
.em-sim-tabs {
  display: flex; flex-wrap: wrap;
  background: var(--cream); border-bottom: 1px solid var(--border);
}
.em-stab {
  flex: 1; padding: 12px 14px;
  font-size: 12.5px; font-weight: 700; color: var(--text-mid);
  background: none; border: none; border-bottom: 2px solid transparent;
  cursor: pointer; transition: all .2s; white-space: nowrap;
  min-width: 0;
}
.em-stab.active { color: var(--nav); border-bottom-color: var(--nav); background: rgba(0,32,128,.03); }
.em-sim-body { padding: 20px; }
.em-sim-fields {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  margin-bottom: 14px;
}
.em-sim-field label {
  display: block; font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .4px;
  color: var(--text-muted); margin-bottom: 6px;
}
.em-sim-input {
  width: 100%; padding: 10px 13px;
  border: 1.5px solid var(--border); border-radius: var(--r);
  font-size: 13.5px; color: var(--text); background: #fff;
  box-sizing: border-box; font-family: inherit;
  transition: border-color .2s;
}
.em-sim-input:focus { outline: none; border-color: var(--nav); }
.em-sim-result {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; background: var(--nav); border-radius: var(--r);
  padding: 16px 20px; flex-wrap: wrap;
}
.em-sim-result-lbl { font-size: 10px; color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: .4px; margin-bottom: 3px; }
.em-sim-result-val { font-family: var(--ff); font-size: 24px; font-weight: 900; color: var(--or); }
.em-sim-result-note { font-size: 10.5px; color: rgba(255,255,255,.35); margin-top: 3px; }
.em-sim-result .em-btn-primary--or { width: auto; margin: 0; white-space: nowrap; }

/* ── DOSSIERS ─────────────────────────────────────────────── */
.em-dossiers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.em-dos-card {
  background: #fff; border: 1px solid var(--border);
  border-radius: var(--rl); padding: 18px;
  display: flex; flex-direction: column; gap: 12px;
  transition: box-shadow .25s, transform .2s;
}
.em-dos-card:hover { box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.em-dos-card--or  { border-top: 3px solid var(--or); }
.em-dos-card--nav { border-top: 3px solid var(--nav); }
.em-dos-card--gr  { border-top: 3px solid var(--gr); }

.em-dos-hd {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--ff); font-size: 14px; font-weight: 800;
  color: var(--text);
}
.em-dos-card--or  .em-dos-hd svg { color: var(--or); }
.em-dos-card--nav .em-dos-hd svg { color: var(--nav); }
.em-dos-card--gr  .em-dos-hd svg { color: var(--gr); }

.em-dos-list { list-style: none; padding: 0; margin: 0; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.em-dos-list li { font-size: 12.5px; color: var(--text-mid); display: flex; align-items: flex-start; gap: 7px; line-height: 1.45; }
.em-dos-list li::before { content: '→'; color: var(--gr); font-weight: 800; flex-shrink: 0; font-size: 12px; }

.em-dos-btn {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; color: var(--gr);
  text-decoration: none; padding: 8px 0;
  border-top: 1px solid var(--border); margin-top: 4px;
  transition: gap .2s;
}
.em-dos-btn:hover { gap: 10px; }

/* ══ RESPONSIVE ESPACE MEMBRE ════════════════════════════════ */

@media (max-width: 960px) {
  .em-inner { padding: 0 24px; }
  .em-section { padding: 28px 0; }

  /* Adhésion : 1 colonne */
  .em-adhesion-grid { grid-template-columns: 1fr; gap: 22px; }
  .em-col-side { width: 100%; }
  .em-docs-card { max-width: 100%; }

  /* Avantages : 2 colonnes */
  .em-avantages-grid { grid-template-columns: repeat(2, 1fr); }

  /* Simulateur */
  .em-sim-fields { grid-template-columns: 1fr; gap: 10px; }
  .em-sim-result { flex-direction: column; align-items: flex-start; gap: 14px; }
  .em-sim-result .em-btn-primary--or { width: 100%; }

  /* Dossiers : 1 colonne */
  .em-dossiers-grid { grid-template-columns: 1fr; gap: 10px; }
  .em-dos-card { flex-direction: row; flex-wrap: wrap; gap: 10px; padding: 14px; }
  .em-dos-hd { width: 100%; }
  .em-dos-list { width: 100%; }
  .em-dos-btn { width: 100%; justify-content: center; padding: 9px 14px; border: 1.5px solid var(--gr); border-radius: var(--r); margin-top: 0; }
}

@media (max-width: 640px) {
  .em-inner { padding: 0 16px; }
  .em-section { padding: 22px 0; }
  .em-h2 { font-size: 20px; margin-bottom: 14px; }

  /* Étapes */
  .em-step { padding: 10px 12px; gap: 10px; }
  .em-step-num { font-size: 15px; min-width: 22px; }
  .em-step-body strong { font-size: 12.5px; }
  .em-step-body p { font-size: 12px; }

  /* Docs card */
  .em-docs-card { padding: 14px; }
  .em-docs-list li { font-size: 12.5px; padding: 6px 0; }

  /* Avantages : 1 colonne */
  .em-avantages-grid { grid-template-columns: 1fr; gap: 8px; }
  .em-av-card { padding: 12px; gap: 10px; }
  .em-av-icon { width: 34px; height: 34px; }
  .em-av-icon svg { width: 16px; height: 16px; }
  .em-av-body h4 { font-size: 12.5px; }
  .em-av-body p  { font-size: 12px; }

  /* Simulateur */
  .em-sim-card { border-radius: var(--r); }
  .em-stab { flex: 0 0 auto; font-size: 12px; padding: 10px 12px; }
  .em-sim-body { padding: 14px; }
  .em-sim-result { padding: 12px 14px; }
  .em-sim-result-val { font-size: 20px; }

  /* Dossiers */
  .em-dossiers-grid { gap: 8px; }
  .em-dos-card { padding: 12px; }
  .em-dos-hd { font-size: 13px; }
  .em-dos-list li { font-size: 12px; }

  /* Tabs sim */
  .em-sim-tabs { overflow-x: auto; flex-wrap: nowrap; }
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE COMPLET — single-service + page-a-propos
   Breakpoints : 1024 · 768 · 640 · 480 · 380
══════════════════════════════════════════════════════════════ */

/* ────────────────────────────────────────────────────────────
   SINGLE SERVICE — responsive
──────────────────────────────────────────────────────────────*/

/* Tablette (≤1024) */
@media (max-width: 1024px) {
  .svc-hero-inner {
    padding: 28px 32px;
    gap: 24px;
  }
  .svc-stat-card { min-width: 180px; padding: 18px 20px; }
  .svc-stat-val  { font-size: 38px; }
  .svc-detail-grid { padding: 28px 24px; }
  .svc-detail-inner { gap: 32px; }
  .svc-autres-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .svc-autres-inner { padding: 0 32px; }
  .svc-cta-inner  { padding: 0 32px; }
}

/* Mobile (≤768) — empiler hero gauche + stat */
@media (max-width: 768px) {
  .svc-hero { min-height: auto; }
  .svc-hero-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 20px 28px;
    gap: 20px;
  }
  .svc-hero-left  { width: 100%; }
  .svc-hero-right { width: 100%; }
  .svc-stat-card  {
    min-width: unset;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    text-align: left;
    padding: 16px 18px;
  }
  .svc-stat-val { font-size: 36px; flex-shrink: 0; }
  .svc-stat-lbl { margin: 0 0 8px; }
  .svc-stat-meta { flex-direction: row; flex-wrap: wrap; gap: 6px; }

  .svc-hero-title { font-size: clamp(24px, 6vw, 34px); }
  .svc-hero-badge { font-size: 10px; }
  .svc-hero-chips span { font-size: 11px; padding: 4px 10px; }

  .svc-detail-grid  { padding: 24px 16px; }
  .svc-detail-inner { grid-template-columns: 1fr; gap: 24px; }
  .svc-col-hd h2    { font-size: 20px; }

  .svc-cta          { padding: 32px 0 36px; }
  .svc-cta-inner    { padding: 0 20px; }
  .svc-cta-inner h2 { font-size: clamp(20px, 5vw, 28px); }
  .svc-cta-btns     { flex-direction: column; align-items: center; gap: 10px; }
  .svc-cta-btns a   { width: 100%; max-width: 320px; justify-content: center; }

  .svc-autres { padding: 24px 0 32px; }
  .svc-autres-inner { padding: 0 20px; }
  .svc-autres-inner h2 { font-size: 18px; margin-bottom: 16px; }
  .svc-autres-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .svc-autre-card  { padding: 14px; gap: 8px; }
}

/* Petit mobile (≤480) */
@media (max-width: 480px) {
  .svc-hero-inner { padding: 20px 16px 24px; }
  .svc-stat-card  { flex-direction: column; text-align: center; gap: 8px; }
  .svc-stat-val   { font-size: 42px; }
  .svc-stat-meta  { justify-content: center; }
  .svc-autres-grid { grid-template-columns: 1fr; }
  .svc-breadcrumb { font-size: 11px; flex-wrap: wrap; }
  .svc-geo-1, .svc-geo-2 { display: none; } /* masquer les décos sur très petit écran */
}


/* ────────────────────────────────────────────────────────────
   PAGE A PROPOS — responsive
──────────────────────────────────────────────────────────────*/

/* Tablette (≤1024) */
@media (max-width: 1024px) {
  .ap-grid { grid-template-columns: 1fr 300px; gap: 28px; }
  .ap-kpis { grid-template-columns: 1fr 1fr; }
  .dist-card-side { width: 80px; }
  .dist-body { padding: 14px 16px; }
  .dist-body h3 { font-size: 14px; }

  .org-node--top,
  .org-node--bottom { width: 300px; }
  .org-node--left,
  .org-node--right  { width: 220px; }
  .org-node--left   { margin-right: 48px; }
  .org-node--right  { margin-left: 48px; }
  .apt-track        { left: 143px; }

  .partners-grid { grid-template-columns: repeat(3, 1fr); }
  .partners-inner { padding: 0 32px; }
  .partners-hd h2 { font-size: clamp(22px, 3.5vw, 32px); }
}

/* Mobile (≤768) */
@media (max-width: 768px) {
  /* Grille principale */
  .ap-grid  { grid-template-columns: 1fr; gap: 20px; }
  .ap-side  { position: static; }
  .ap-kpis  { grid-template-columns: 1fr 1fr; }

  /* Hero page */
  .page-hero        { padding: 36px 0 28px; }
  .page-hero-inner  { padding: 0 20px; }
  .page-hero h1     { font-size: clamp(26px, 6vw, 38px); }
  .page-hero-geo-1, .page-hero-geo-2 { display: none; }
  .ph-anchors       { flex-wrap: wrap; gap: 8px; }

  /* Sections intérieures */
  .page-content { padding: 32px 0 40px; }
  .page-inner   { padding: 0 20px; }

  /* ap-h2 */
  .ap-h2 { font-size: clamp(20px, 5vw, 28px); }

  /* CTA bar */
  .ap-cta-bar {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 18px;
    gap: 14px;
  }
  .ap-cta-bar > div:last-child { width: 100%; }
  .ap-cta-bar .btn-hp,
  .ap-cta-bar .btn-hg { width: 100%; justify-content: center; }

  /* Timeline */
  .apt-item  { grid-template-columns: 1fr; padding-left: 20px; border-left: 2px solid var(--border); gap: 6px; margin-bottom: 20px; }
  .apt-track { display: none; }
  .apt-left  { justify-content: flex-start; padding-top: 0; }
  .apt-dot   { display: none; }
  .apt-card  { padding: 12px 14px; }
  .apt-card h4 { font-size: 13px; }

  /* Organigramme */
  .org-chart { gap: 0; }
  .org-node--top,
  .org-node--bottom { width: 100%; max-width: 100%; }
  .org-branch { flex-direction: column; align-items: center; gap: 12px; padding: 0 16px; }
  .org-node--left,
  .org-node--right  { width: 100%; margin: 0; }
  .org-branch-line  { display: none; }
  .org-connector--v { margin-left: 0; }
  .org-connector--left { margin-left: 0; }

  /* Gouvernance */
  .gouv-grid { grid-template-columns: 1fr; }
  .gouv-card--main { grid-column: span 1; }
  .gouv-cadre-items { grid-template-columns: 1fr; }

  /* Distinctions */
  .dist-list { gap: 12px; }
  .dist-card { flex-direction: column; }
  .dist-card-side {
    width: 100%;
    flex-direction: row;
    padding: 12px 16px;
    border-right: none;
    border-bottom: 1px solid var(--border);
    justify-content: flex-start;
    gap: 12px;
  }
  .dist-card--gold .dist-card-side { border-bottom-color: rgba(243,146,0,.15); }
  .dist-medal { width: 40px; height: 40px; }
  .dist-body { padding: 14px 16px; }
  .dist-tags { margin-top: 8px; }

  /* Partenaires section */
  .partners-section { padding: 48px 0 56px; }
  .partners-inner   { padding: 0 20px; }
  .partners-hd      { margin-bottom: 28px; }
  .partners-grid    { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .partner-card     { padding: 18px 14px; }
  .partners-cta     { flex-direction: column; align-items: flex-start; padding: 18px 20px; gap: 14px; }
  .partners-cta-btns { width: 100%; flex-direction: column; }
  .partners-cta-btns a { width: 100%; justify-content: center; }
}

/* Petit mobile (≤480) */
@media (max-width: 480px) {
  .page-hero h1     { font-size: clamp(22px, 7vw, 28px); }
  .ap-kpis          { grid-template-columns: 1fr 1fr; }
  .ap-kpi           { padding: 12px 10px; }
  .ap-kpi-val       { font-size: 24px; }

  .partners-grid    { grid-template-columns: 1fr 1fr; gap: 10px; }
  .partner-card     { padding: 14px 12px; }
  .partner-card-icon { width: 40px; height: 40px; }
  .partner-card h4  { font-size: 13px; }

  .dist-card-side   { padding: 10px 14px; }

  .org-node         { padding: 14px 16px; }
  .org-node-icon    { width: 38px; height: 38px; border-radius: 10px; }
  .org-node-title   { font-size: 13.5px; }
  .org-node-sub     { font-size: 11px; }

  .apt-card         { padding: 10px 12px; }
  .apt-year         { font-size: 10px; padding: 3px 9px; }

  .ap-cta-bar .btn-hp,
  .ap-cta-bar .btn-hg { font-size: 12px; padding: 10px 16px; }

  .gouv-card  { padding: 14px 16px; gap: 10px; }
  .gc-item    { gap: 8px; }
}

/* Très petit (≤380) */
@media (max-width: 380px) {
  .partners-grid { grid-template-columns: 1fr; }
  .ap-kpis       { grid-template-columns: 1fr; }
  .ap-kpi--wide  { grid-column: span 1; }
  .page-inner    { padding: 0 14px; }
  .page-hero-inner { padding: 0 14px; }
}



/* ══════════════════════════════════════════════════════════════
   FRONT-PAGE — responsive ciblé (gaps de l'existant)
   Complète les blocs 960px et 640px déjà en place
══════════════════════════════════════════════════════════════ */

/* ── 1024px : tablette large ─────────────────────────────── */
@media (max-width: 1024px) {

  /* Hero : arrow buttons plus petits, sl-ctr caché */
  .arr-btns  { right: 24px; gap: 7px; }
  .arr-btn   { width: 42px; height: 42px; }
  .sl-ctr    { display: none; }

  /* Hero dots repositionnés */
  .sl-dots   { left: 36px; }

  /* About-hd */
  .about-hd  { padding: 0 32px; gap: 20px; }

  /* About simulateur wrapper inline 48px → 32px */
  .about-sim > div[style] { padding-left: 32px !important; padding-right: 32px !important; }

  /* Contact wrappers inline */
  .contact-map > div[style] { padding-left: 32px !important; padding-right: 32px !important; }

  /* Blog wrapper inline */
  .blog > div[style] { padding-left: 24px !important; padding-right: 24px !important; }

  /* Testi hd */
  .testi-band-hd { padding: 0 32px; }

  /* Services strip hd */
  .services-strip .strip-hd { padding: 0 32px; }

  /* Stats wrapper */
  .stats-wrap { padding-left: 0; padding-right: 0; }
}

/* ── 960px : tablette portrait (complète l'existant) ─────── */
@media (max-width: 960px) {

  /* Flash info : plus compact */
  .fi-track  { padding: 0 12px 0 0; height: 34px; }
  .fi-badge  { padding: 0 12px; font-size: 9.5px; }
  .fi-item   { font-size: 11.5px; }

  /* Hero : arrow buttons masqués (dots suffisent) */
  .arr-btns  { display: none; }
  .sl-dots   { left: 50%; transform: translateX(-50%); bottom: 18px; }
  .sdot      { width: 7px; height: 7px; }

  /* About-hd : empiler sur tablette portrait */
  .about-hd {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 24px;
    gap: 8px;
    margin-bottom: 18px;
  }
  .about-hd-right { max-width: 100%; }

  /* About section padding */
  .about-sim { padding-top: 28px; }

  /* Simulateur wrapper inline */
  .about-sim > div[style] {
    padding: 0 24px 32px !important;
    margin-top: 20px !important;
  }

  /* Contact inline wrappers */
  .contact-map > div[style] {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  /* Blog wrapper */
  .blog > div[style] {
    padding: 0 24px 4px !important;
  }

  /* Testi hd + viewport */
  .testi-band-hd { padding: 0 24px; }
  .ticker-viewport { padding: 0 8px; }

  /* Services strip header */
  .services-strip .strip-hd { padding: 0 24px; }
  .svc-photo-viewport        { padding: 0; }

  /* Adspace : hauteur réduite sur tablette */
  .adspace { height: 300px; }

  /* Stats */
  .stats-wrap .stats-box { padding: 0 24px; }

  /* Process inner */
  .process-inner { padding: 0 24px; }
}

/* ── 640px : mobile standard (complète l'existant) ────────── */
@media (max-width: 640px) {

  /* Flash info : très compact */
  .fi-track  { height: 32px; padding: 0 8px 0 0; }
  .fi-badge  { padding: 0 10px; font-size: 0; width: 32px; justify-content: center; } /* texte masqué, icône seule */
  .fi-badge svg { width: 14px; height: 14px; }
  .fi-close  { width: 28px; height: 28px; font-size: 12px; }
  .fi-item   { font-size: 11px; left: 42px; }

  /* Hero : slide content plein écran */
  .slide-content {
    padding: 60px 16px 64px !important;
    max-width: 100%;
  }
  .slide-title    { font-size: clamp(26px, 7vw, 36px) !important; letter-spacing: -.5px; }
  .slide-sub      { font-size: 13px !important; max-width: 100%; margin-bottom: 24px; }
  .slide-ctas     { flex-direction: column; gap: 10px; }
  .slide-ctas .btn-hp,
  .slide-ctas .btn-hg { width: 100%; max-width: 320px; justify-content: center; text-align: center; }
  .slide-tag      { font-size: 11px; }

  /* Dots centrés */
  .sl-dots        { left: 50%; transform: translateX(-50%); bottom: 16px; gap: 6px; }

  /* About hd */
  .about-hd       { padding: 0 16px; gap: 6px; }
  .about-hd-left > h2 { font-size: clamp(22px, 6vw, 30px) !important; }

  /* About simulateur wrapper */
  .about-sim > div[style] {
    padding: 0 16px 24px !important;
    margin-top: 16px !important;
  }

  /* Simulateur gauche/droite : empilés */
  .sim-right { grid-template-columns: 1fr !important; }
  .sim-left-panel {
    padding: 20px 16px !important;
    border-radius: 12px 12px 0 0;
  }
  .slp-perks  { display: none; } /* masqué sur mobile — trop long */
  .slp-trust  { display: none; }
  .slp-title  { font-size: 22px; }
  .slp-sub    { font-size: 13px; margin-bottom: 0; }
  .sim-form-panel {
    padding: 18px 16px 20px !important;
    border-radius: 0 0 12px 12px;
  }

  /* Contact wrappers inline */
  .contact-map > div[style] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .contact-map > div:last-of-type[style] {
    padding-bottom: 24px !important;
  }
  .cm-inner   { gap: 0; }
  .cm-left    { padding: 20px 0 !important; }
  .cm-dots    { display: none; }
  .cm-right   { min-height: 220px; border-radius: 0 0 12px 12px; }
  .cm-right iframe { height: 220px; }

  /* Blog wrapper inline */
  .blog > div[style] { padding: 0 16px 4px !important; }

  /* Testi */
  .testi-band-hd  { padding: 0 16px; }
  .testi-band-hd h3 { font-size: 18px; }
  .ticker-viewport { padding: 0; }
  .ticker-viewport::before,
  .ticker-viewport::after { width: 24px; }
  .tk-card { min-width: 240px; padding: 14px 16px; }
  .tk-quote { font-size: 12.5px; }

  /* Adspace : hauteur réduite */
  .adspace      { height: 260px; }
  .ad-content   { padding: 16px 20px 20px; }
  .ad-title     { font-size: clamp(20px, 5vw, 28px); }
  .ad-sub       { font-size: 12.5px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .ad-dots      { bottom: 12px; right: 16px; }
  .ad-arrow     { display: none; } /* flèches masquées, dots suffisent */
  .ad-tag       { font-size: 10px; padding: 3px 10px; }

  /* Services strip header */
  .services-strip .strip-hd { padding: 0 16px; }
  .services-strip .strip-hd h2 { font-size: clamp(20px, 5vw, 28px); }
  .services-strip .strip-hd p { font-size: 13px; }

  /* Process */
  .process-inner    { padding: 0 16px; }
  .process-hd       { padding: 0; gap: 8px; text-align: center; align-items: center; }
  .process-hd-right p { text-align: center; }
  .process-hd h2    { font-size: clamp(20px, 5.5vw, 28px); }
  .process-hd p     { font-size: 13px; }
  .process-cta      { flex-direction: column; gap: 12px; padding: 0; margin-top: 16px; }
  .process-cta-btns { width: 100%; flex-direction: column; gap: 8px; }
  .btn-cp, .btn-co  { width: 100%; justify-content: center; }

  /* Stats */
  .stats-wrap .stats-box { padding: 0; }
  .stat-item  { padding: 18px 12px; }
  .stat-num   { font-size: 30px; }
  .stat-lbl   { font-size: 11px; }
}

/* ── 480px : petit mobile ─────────────────────────────────── */
@media (max-width: 480px) {
  /* Hero titre encore plus compact */
  .slide-title  { font-size: 26px !important; }
  .slide-tag    { display: none; }

  /* Stats : 1 colonne */
  .stats-grid   { grid-template-columns: 1fr !important; }
  .stat-item    { border-bottom: 1px solid var(--border) !important; border-right: none !important; }
  .stat-item:last-child { border-bottom: none !important; }

  /* Blog grid : padding réduit */
  .blog-grid { padding: 0 12px; gap: 10px; }

  /* Contact map iframe */
  .cm-right iframe { height: 180px; }

  /* Adspace */
  .adspace    { height: 240px; }
  .ad-title   { font-size: 20px; }
}

/* ── 380px : très petit écran ───────────────────────────────*/
@media (max-width: 380px) {
  .slide-title { font-size: 22px !important; }
  .slide-sub   { display: none; } /* très petit écran : masquer le sous-titre */
  .slide-ctas .btn-hp,
  .slide-ctas .btn-hg { font-size: 12px; padding: 10px 14px; }

  .about-hd-left > h2 { font-size: 20px !important; }
  .adspace    { height: 220px; }
  .ad-title   { font-size: 18px; }
}



/* ══════════════════════════════════════════════════════════════
   PAGE CONTACT — styles complets
══════════════════════════════════════════════════════════════ */

/* ── Layout principal ────────────────────────────────────── */
.contact-page {
  padding: 48px 0 64px;
  background: var(--white);
}
.contact-page-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 48px;
  align-items: start;
}

/* ── Colonne gauche : infos ──────────────────────────────── */
.ci-intro { margin-bottom: 28px; }
.ci-intro h2 {
  font-family: var(--ff);
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 900;
  color: var(--text);
  margin: 6px 0 10px;
  line-height: 1.2;
}
.ci-intro h2 em { color: var(--or); font-style: normal; }
.ci-intro p {
  font-size: 14px;
  color: var(--text-mid);
  line-height: 1.68;
  margin: 0;
}

.ci-items {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 28px;
}
.ci-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 16px;
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: var(--rl);
  transition: box-shadow .2s, border-color .2s;
}
.ci-item:hover {
  box-shadow: var(--shadow-sm);
  border-color: rgba(243,146,0,.2);
}
.ci-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--or-lt);
  color: var(--or);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ci-icon svg { width: 18px; height: 18px; }
.ci-body { min-width: 0; }
.ci-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--text-muted);
  margin-bottom: 3px;
}
.ci-val {
  font-family: var(--ff);
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
}
.ci-val a {
  color: var(--text);
  text-decoration: none;
  transition: color .2s;
}
.ci-val a:hover { color: var(--or); }
.ci-sub {
  font-size: 12px;
  color: var(--text-muted);
  margin-top: 2px;
  line-height: 1.4;
}

/* ── Carte Google Maps ───────────────────────────────────── */
.map-box {
  border-radius: var(--rl);
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
.map-box iframe {
  display: block;
  width: 100%;
  height: 240px;
  border: 0;
}

/* ── Colonne droite : formulaire ─────────────────────────── */
.contact-form-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--rl);
  padding: 32px;
  box-shadow: 0 4px 24px rgba(0,0,0,.06);
  position: sticky;
  top: 100px;
}

.cf-header {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}
.cf-header h3 {
  font-family: var(--ff);
  font-size: 20px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 4px;
}
.cf-header p {
  font-size: 13.5px;
  color: var(--text-muted);
}

/* Message succès */
.cf-success {
  text-align: center;
  padding: 40px 20px;
}
.cf-success svg {
  color: var(--gr);
  margin-bottom: 14px;
}
.cf-success h3 {
  font-family: var(--ff);
  font-size: 20px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 8px;
}
.cf-success p {
  font-size: 14px;
  color: var(--text-muted);
}

/* Message erreurs */
.cf-errors {
  background: #fff2f2;
  border: 1px solid #ffc0c0;
  border-radius: var(--r);
  padding: 12px 16px;
  margin-bottom: 18px;
}
.cf-errors p {
  font-size: 13px;
  color: #c0392b;
  margin: 0;
  line-height: 1.5;
}

/* Formulaire */
.cform {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.cf-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.cf-group {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--text);
  margin-bottom: 6px;
}
.cf-input {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--border);
  border-radius: var(--r);
  font-size: 13.5px;
  font-family: inherit;
  color: var(--text);
  background: var(--cream);
  transition: border-color .2s, background .2s, box-shadow .2s;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.cf-input:focus {
  border-color: var(--or);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(243,146,0,.12);
}
.cf-input::placeholder { color: var(--text-muted); }
.cf-select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239A9A9A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  padding-right: 32px;
}
.cf-textarea {
  resize: vertical;
  min-height: 110px;
  line-height: 1.6;
}

/* Consentement */
.cf-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.cf-check input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--or);
  cursor: pointer;
}
.cf-check label {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.5;
  cursor: pointer;
}

/* Bouton submit */
.cf-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 13px 24px;
  background: var(--or);
  color: #fff;
  border: none;
  border-radius: var(--r);
  font-family: var(--ff);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s, transform .2s, box-shadow .2s;
  margin-top: 4px;
}
.cf-submit:hover {
  background: var(--or-dk, #d97f00);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(243,146,0,.3);
}
.cf-submit:active { transform: translateY(0); }
.cf-submit svg { flex-shrink: 0; }

/* ── Responsive contact ──────────────────────────────────── */
@media (max-width: 960px) {
  .contact-page-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 0 24px;
  }
  .contact-form-card {
    position: static;
    top: auto;
    padding: 24px;
  }
  .map-box iframe { height: 220px; }
}
@media (max-width: 640px) {
  .contact-page { padding: 28px 0 40px; }
  .contact-page-inner { padding: 0 16px; gap: 24px; }
  .contact-form-card { padding: 20px 16px; }
  .cf-row { grid-template-columns: 1fr; gap: 10px; }
  .ci-items { gap: 10px; }
  .ci-item { padding: 12px 14px; gap: 12px; }
  .ci-icon { width: 36px; height: 36px; border-radius: 8px; }
  .map-box iframe { height: 200px; }
  .cf-header h3 { font-size: 18px; }
}
@media (max-width: 380px) {
  .contact-page-inner { padding: 0 12px; }
  .contact-form-card { padding: 16px 14px; }
}