:root {
  --navy: #0e4d6c;
  --navy-deep: #0a3850;
  --gold: #C9A45C;
  --gold-dark: #A9803F;
  --tuile: #B5563A;
  --sable: #F7F2E8;
  --green: #009651;
  --white: #FFFFFF;
  --gray1: #F8F9FA;
  --gray2: #F0F2F5;
  --gray6: #666;
  --gray8: #222;
  --ink: #0D0D0D;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{font-family:'Space Grotesk',sans-serif;color:var(--gray8);background:#fff;overflow-x:hidden;padding-top:64px;max-width:100%}


/* Boutons équipe */
.equipe-btns{display:flex;gap:0.5rem;margin-top:1rem;flex-wrap:wrap}
.equipe-btn{display:inline-flex;align-items:center;gap:5px;font-size:0.72rem;font-weight:600;padding:6px 12px;border-radius:0;text-decoration:none;transition:all 0.2s}
.equipe-btn-li{background:#0077B5;color:#fff}
.equipe-btn-li:hover{background:#005885;color:#fff}
.equipe-btn-mail{background:var(--navy);color:#fff}
.equipe-btn-mail:hover{background:var(--navy-deep);color:#fff}
.equipe-btn svg{width:12px;height:12px;flex-shrink:0}


/* ===== HERO VIDÉO ===== */
#hero{
  min-height:100vh;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:5rem 2rem 4rem;
  background:var(--navy);
}
/* Fond animé cinématique */
.hero-visual-wrap{
  position:absolute;inset:0;z-index:0;overflow:hidden;
}
/* Ciel - dégradé animé jour/crépuscule */
.hero-sky{
  position:absolute;inset:0;
  background:linear-gradient(
    180deg,
    #011824 0%,
    #0a3850 35%,
    #0e4d6c 60%,
    #1a3a5c 100%
  );
  animation:skyShift 18s ease-in-out infinite alternate;
}
@keyframes skyShift{
  0%{background:linear-gradient(180deg,#011824 0%,#0a3850 35%,#0e4d6c 60%,#1a3a5c 100%)}
  33%{background:linear-gradient(180deg,#010f1a 0%,#021f35 35%,#0d3a5a 60%,#1a5c8a 100%)}
  66%{background:linear-gradient(180deg,#0a1a2e 0%,#0d2d4a 35%,#1a4a6e 60%,#0d2d4a 100%)}
  100%{background:linear-gradient(180deg,#050f1a 0%,#091e30 35%,#0d3550 60%,#162840 100%)}
}
/* Montagnes - silhouette fjord du Saguenay */
.hero-mountains{
  position:absolute;bottom:0;left:0;right:0;height:55%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 400' preserveAspectRatio='none'%3E%3Cpath d='M0,400 L0,280 Q80,200 160,240 Q200,260 240,200 Q280,140 320,180 Q360,220 400,160 Q440,100 500,140 Q540,170 580,120 Q620,70 680,100 Q720,130 760,90 Q800,50 860,80 Q900,110 940,70 Q980,30 1040,60 Q1080,90 1120,50 Q1160,10 1200,40 Q1240,70 1280,60 Q1340,50 1380,80 L1440,100 L1440,400 Z' fill='%23011824' opacity='0.9'/%3E%3Cpath d='M0,400 L0,320 Q100,260 200,290 Q280,320 360,270 Q420,230 480,260 Q540,290 600,240 Q660,190 720,220 Q780,250 840,210 Q900,170 960,200 Q1020,230 1080,190 Q1140,150 1200,180 Q1260,210 1320,190 Q1380,170 1440,200 L1440,400 Z' fill='%23012235' opacity='0.95'/%3E%3C/svg%3E") no-repeat bottom/cover;
  animation:mountainFloat 20s ease-in-out infinite alternate;
}
@keyframes mountainFloat{
  0%{transform:translateY(0)}
  100%{transform:translateY(-8px)}
}
/* Reflet fjord */
.hero-fjord{
  position:absolute;bottom:0;left:0;right:0;height:30%;
  background:linear-gradient(
    180deg,
    rgba(1,70,109,0) 0%,
    rgba(1,50,80,0.3) 40%,
    rgba(1,30,50,0.6) 100%
  );
  animation:fjordShimmer 8s ease-in-out infinite;
}
@keyframes fjordShimmer{
  0%,100%{opacity:0.6}
  50%{opacity:1}
}
/* Aurora - lumières nordiques subtiles */
.hero-aurora{
  position:absolute;top:10%;left:-20%;right:-20%;height:40%;
  background:radial-gradient(
    ellipse 80% 50% at 50% 50%,
    rgba(0,150,81,0.06) 0%,
    rgba(1,70,109,0.04) 50%,
    transparent 100%
  );
  animation:auroraMove 15s ease-in-out infinite;
  filter:blur(40px);
}
@keyframes auroraMove{
  0%{transform:translateX(-10%) scaleX(0.9);opacity:0.4}
  50%{transform:translateX(10%) scaleX(1.1);opacity:0.8}
  100%{transform:translateX(-10%) scaleX(0.9);opacity:0.4}
}
/* Étoiles/particules */
.hero-particles{position:absolute;inset:0;pointer-events:none}
.hp{
  position:absolute;
  left:var(--x);top:var(--y);
  width:var(--s);height:var(--s);
  border-radius:50%;
  background:#fff;
  animation:starTwinkle var(--dur) var(--d) ease-in-out infinite;
}
@keyframes starTwinkle{
  0%,100%{opacity:0.1;transform:scale(1)}
  50%{opacity:0.7;transform:scale(1.5)}
}
.hero-video-overlay{
  position:absolute;inset:0;
  background:linear-gradient(
    135deg,
    rgba(1,20,35,0.55) 0%,
    rgba(1,46,74,0.35) 50%,
    rgba(1,20,35,0.5) 100%
  );
}
.hero-bg-pattern{
  position:absolute;inset:0;z-index:1;
  background-image:
    radial-gradient(circle at 15% 50%,rgba(249,160,28,0.07) 0%,transparent 55%),
    radial-gradient(circle at 85% 20%,rgba(0,150,81,0.06) 0%,transparent 50%);
  pointer-events:none;
}
.hero-lines{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.hero-line{
  position:absolute;top:0;bottom:0;left:var(--hl-x);
  width:1px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,0.04) 30%,rgba(255,255,255,0.04) 70%,transparent);
  animation:lineSlide 8s var(--hl-d) infinite;
}
@keyframes lineSlide{0%,100%{opacity:0;transform:scaleY(0)}10%{opacity:1;transform:scaleY(1)}90%{opacity:1;transform:scaleY(1)}}
.hero-content{
  position:relative;z-index:3;
  text-align:center;max-width:900px;
  width:100%;
}
.hero-location-pill{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.15);
  border-radius:50px;padding:6px 18px;
  font-size:0.68rem;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(255,255,255,0.7);margin-bottom:2rem;
}
.hero-location-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(249,160,28,0.25);
  animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(249,160,28,0.25)}50%{box-shadow:0 0 0 6px rgba(249,160,28,0.1)}}
.hero-title{
  font-family:'Ibarra Real Nova',serif;
  font-size:clamp(2rem,5.5vw,4.5rem);
  font-weight:900;line-height:1.08;color:#fff;
  margin-bottom:1.5rem;
}
.hero-title em{
  display:block;font-style:italic;
  color:var(--gold);
  font-size:clamp(2.2rem,6vw,5rem);
}
.hero-title-line1,.hero-title-line2{
  display:block;opacity:0;
  animation:fadeUp 0.9s forwards;
}
.hero-title-line1{animation-delay:0.2s}
.hero-title-line2{animation-delay:0.5s}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.hero-sub{
  font-size:clamp(0.95rem,2vw,1.15rem);
  color:rgba(255,255,255,0.7);line-height:1.75;
  max-width:600px;margin:0 auto 2.5rem;
  opacity:0;animation:fadeUp 0.9s 0.8s forwards;
}
.hero-btns{
  display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;
  margin-bottom:3rem;
  opacity:0;animation:fadeUp 0.9s 1s forwards;
}
/* Ruban Mosaïca au Québec */
.hero-mosaica-qc{
  display:flex;flex-direction:column;align-items:center;gap:0.6rem;
  opacity:0;animation:fadeUp 0.9s 1.2s forwards;
  border-top:1px solid rgba(255,255,255,0.1);
  padding-top:2rem;margin-top:1rem;
}
.hero-mq-label{
  font-size:0.6rem;font-weight:700;letter-spacing:0.15em;
  text-transform:uppercase;color:rgba(255,255,255,0.35);
}
.hero-mq-lieux{
  display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;
  justify-content:center;
}
.hero-mq-lieux span{
  font-size:0.78rem;font-weight:500;
  color:rgba(255,255,255,0.55);
  letter-spacing:0.04em;
}
.hero-mq-dot{color:rgba(255,255,255,0.2) !important}
@media(max-width:520px){
  #hero{padding:4rem 1.25rem 3rem}
  .hero-title{font-size:clamp(1.8rem,8vw,2.5rem)}
  .hero-title em{font-size:clamp(2rem,9vw,2.8rem)}
  .hero-mq-lieux{gap:0.4rem}
  .hero-mq-lieux span{font-size:0.7rem}
}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:999;height:64px;background:#fff;display:flex;align-items:center;padding:0 2rem;gap:2rem;box-shadow:0 2px 16px rgba(0,0,0,0.08);border-bottom:1px solid #e8ecf0}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.nav-logo img{display:block;border-radius:0;transition:transform 0.2s}
.nav-logo:hover img{transform:scale(1.06)}
.nav-logo-text{font-family:'Ibarra Real Nova',serif;font-weight:700;font-size:1rem;color:var(--navy);white-space:nowrap}
.nav-logo-text span{color:var(--gold)}
#nav ul{list-style:none;display:flex;align-items:center;gap:0.25rem;flex:1;justify-content:center}
#nav ul li a,#nav ul li button.nav-drop-btn{color:var(--navy);text-decoration:none;font-size:0.72rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;padding:6px 10px;border-radius:0;transition:background 0.2s,color 0.2s;white-space:nowrap}
#nav ul li a:hover,#nav ul li a.active,#nav ul li button.nav-drop-btn:hover{background:rgba(1,70,109,0.06);color:var(--gold)}
.nav-cta{background:var(--gold)!important;color:var(--navy)!important;font-weight:700!important;padding:8px 18px!important;border-radius:0!important;flex-shrink:0;text-decoration:none}
.nav-cta:hover{background:#A9803F!important}
.nav-drop-btn{background:none;border:none;cursor:pointer;font-family:'Space Grotesk',sans-serif;display:flex;align-items:center;gap:4px}
.nav-dropdown{position:static}
/* MEGA MENU - ruban pleine largeur */
.mega-menu{
  display:none;position:fixed;top:64px;left:0;right:0;
  background:#fff;border-top:3px solid var(--gold);
  box-shadow:0 20px 60px rgba(0,0,0,0.12);
  z-index:998;overflow:hidden;
  transform:translateY(-8px);opacity:0;
  transition:transform 0.25s ease,opacity 0.25s ease;
}
.mega-menu.open{display:block;transform:translateY(0);opacity:1}
.mega-menu-inner{max-width:1140px;margin:0 auto;padding:2rem 2rem;display:grid;gap:0}
/* Services mega menu */
.mega-services{grid-template-columns:repeat(4,1fr);gap:0}
.mega-item{display:flex;flex-direction:column;padding:1.5rem 1.25rem;text-decoration:none;border-right:1px solid #f0f0f0;transition:background 0.2s}
.mega-item:last-child{border-right:none}
.mega-item:hover{background:var(--gray1)}
.mega-item:hover .mega-item-icon{border-color:var(--navy);background:var(--navy)}
.mega-item:hover .mega-item-icon svg{stroke:#fff}
.mega-item-icon{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:all 0.2s;flex-shrink:0}
.mega-item-icon svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mega-item strong{display:block;font-size:0.9rem;font-weight:700;color:var(--navy);margin-bottom:0.3rem;font-family:'Ibarra Real Nova',serif}
.mega-item small{font-size:0.75rem;color:var(--gray6);line-height:1.5}
/* Tables Rondes mega */
.mega-tr{grid-template-columns:1fr 1fr 1fr;gap:0}
/* Clients mega */
.mega-clients{grid-template-columns:repeat(4,1fr);gap:0}
/* Points de vue mega */
.mega-insights{grid-template-columns:1fr 1fr 1fr 1fr;gap:0}
/* Equipe mega */
.mega-equipe{grid-template-columns:repeat(4,1fr);gap:0}
/* Mega label */
.mega-label{font-size:0.65rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:0.3rem}
/* Overlay */
.mega-overlay{display:none;position:fixed;inset:0;top:64px;background:rgba(0,0,0,0.25);z-index:997}
.mega-overlay.open{display:block}
/* Drop button active state */
#nav ul li button.nav-drop-btn.open{color:var(--gold)}
.drop-icon{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.drop-icon svg{width:15px;height:15px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#nav-mobile-btn{display:none;background:var(--navy);border:1px solid var(--navy);border-radius:0;width:36px;height:36px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0;margin-left:auto}
#nav-mobile-btn span{display:block;width:18px;height:2px;background:#fff;border-radius:0}
#mobile-menu{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--navy);z-index:998;overflow-y:auto;padding:1.5rem;flex-direction:column;gap:0.25rem}
#mobile-menu.open{display:flex}
#mobile-menu a{display:block;color:rgba(255,255,255,0.85);text-decoration:none;font-size:1.05rem;font-weight:500;padding:1rem 1.25rem;border-radius:0;border-bottom:1px solid rgba(255,255,255,0.07);transition:background 0.2s}
#mobile-menu a:hover{background:rgba(255,255,255,0.08);color:var(--gold)}
#mobile-menu .mobile-cta{background:var(--gold);color:var(--navy)!important;font-weight:700!important;text-align:center;margin-top:1rem;border-radius:0;border-bottom:none!important}
#mobile-menu .mobile-label{font-size:0.7rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.35);padding:1.25rem 1.25rem 0.4rem}
@media(max-width:900px){#nav ul,#nav .nav-cta{display:none!important}#nav-mobile-btn{display:flex!important}}

/* UTILS */
section{width:100%;box-sizing:border-box;overflow-x:hidden}
.container{max-width:1140px;margin:0 auto;padding:0 2rem;width:100%;box-sizing:border-box}
.section-eyebrow{display:inline-block;font-size:0.7rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem}
.section-title{font-family:'Ibarra Real Nova',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;line-height:1.15;color:var(--navy);margin-bottom:1.25rem}
.section-title.white{color:#fff}
.section-lead{font-size:1.05rem;color:var(--gray6);line-height:1.75;max-width:620px}
.section-lead.white{color:rgba(255,255,255,0.75)}
.btn-gold{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy);font-weight:700;font-size:0.88rem;padding:13px 26px;border-radius:0;text-decoration:none;transition:background 0.2s,transform 0.15s;border:none;cursor:pointer}
.btn-gold:hover{background:#A9803F;transform:translateY(-1px)}
.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;font-weight:600;font-size:0.88rem;padding:12px 24px;border-radius:0;text-decoration:none;border:1.5px solid rgba(255,255,255,0.35);transition:background 0.2s}
.btn-outline:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.6)}
.btn-outline.dark{color:var(--navy);border-color:var(--navy)}
.btn-outline.dark:hover{background:var(--navy);color:#fff}


/* HERO */
/* #hero CSS déplacé vers le bloc ===== HERO VIDÉO ===== */
.hero-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 15% 50%,rgba(249,160,28,0.07) 0%,transparent 55%),radial-gradient(circle at 85% 20%,rgba(0,150,81,0.06) 0%,transparent 50%);pointer-events:none}
.hero-lines{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-lines::before{content:'';position:absolute;top:0;right:12%;width:1px;height:100%;background:linear-gradient(to bottom,transparent,rgba(249,160,28,0.2),transparent)}
.hero-lines::after{content:'';position:absolute;top:0;left:18%;width:1px;height:100%;background:linear-gradient(to bottom,transparent,rgba(255,255,255,0.06),transparent)}
.hero-content{position:relative;z-index:2;text-align:center;max-width:820px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(249,160,28,0.12);border:1px solid rgba(249,160,28,0.3);border-radius:100px;padding:6px 16px;font-size:0.75rem;font-weight:600;color:var(--gold);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:2rem}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}
.hero-title{font-family:'Ibarra Real Nova',serif;font-size:clamp(1.9rem,5.5vw,4.2rem);font-weight:900;line-height:1.08;color:#fff;margin-bottom:1.5rem}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-title-line1{display:block;opacity:0;transform:translateY(20px);animation:lineIn 1.4s cubic-bezier(0.16,1,0.3,1) 0.3s forwards}
.hero-title-line2{display:block;opacity:0;animation:fadeIn 1.8s ease 1.9s forwards}
@keyframes lineIn{to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{to{opacity:1}}
.hero-sub{font-size:clamp(1rem,2vw,1.2rem);color:rgba(255,255,255,0.72);line-height:1.7;max-width:600px;margin:0 auto 2.5rem}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:4rem}
.hero-stats{display:flex;justify-content:center;border:1px solid rgba(255,255,255,0.1);border-radius:0;overflow:hidden;background:rgba(255,255,255,0.04);backdrop-filter:blur(10px);max-width:680px;margin:0 auto}
.hero-stat{flex:1;padding:1.5rem 1rem;text-align:center;border-right:1px solid rgba(255,255,255,0.08)}
.hero-stat:last-child{border-right:none}
.hero-stat strong{display:block;font-family:'Ibarra Real Nova',serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:900;color:var(--gold)}
.hero-stat span{font-size:0.72rem;color:rgba(255,255,255,0.5);letter-spacing:0.04em;text-transform:uppercase}

/* SIGNAL BAND */
.signal-band{background:var(--gold);padding:0.9rem 2rem;overflow:hidden}
.signal-band-inner{display:flex;gap:4rem;animation:marquee 28s linear infinite;white-space:nowrap;width:max-content}
.signal-band-inner span{font-size:0.78rem;font-weight:700;color:var(--navy);letter-spacing:0.06em;text-transform:uppercase}
.signal-sep{color:var(--navy);opacity:0.4}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* POSITIONNEMENT */
#positionnement{padding:6rem 2rem;background:#fff}
.pos-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.pos-card-main{background:var(--navy);border-radius:0;padding:2.5rem;position:relative;overflow:hidden}
.pos-card-main blockquote{font-family:'Ibarra Real Nova',serif;font-size:1.25rem;font-style:italic;color:#fff;line-height:1.55;border-left:3px solid var(--gold);padding-left:1.25rem;margin-bottom:1.5rem}
.pos-card-main cite{font-size:0.78rem;color:rgba(255,255,255,0.5);font-style:normal;letter-spacing:0.04em}
.pos-badge-float{position:absolute;top:-18px;right:2rem;background:var(--gold);color:var(--navy);font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:6px 14px;border-radius:100px}
.pos-pills{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.5rem}
.pos-pill{background:var(--gray1);border:1px solid #e5e5e5;border-radius:100px;padding:5px 14px;font-size:0.75rem;color:var(--gray6);font-weight:500}
.pos-pillars{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}
.pos-pillar{display:flex;gap:1.25rem;align-items:flex-start}
.pos-pillar-num{font-family:'Ibarra Real Nova',serif;font-size:2rem;font-weight:900;color:var(--gold);line-height:1;flex-shrink:0;min-width:2.5rem}
.pos-pillar-text h4{font-size:0.88rem;font-weight:700;color:var(--navy);margin-bottom:0.25rem}
.pos-pillar-text p{font-size:0.83rem;color:var(--gray6);line-height:1.6}

/* SERVICES */
#services{padding:6rem 2rem;background:var(--gray1)}
.services-header{text-align:center;margin-bottom:3.5rem}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{background:#fff;border-radius:0;padding:2rem;border:1px solid #eee;transition:transform 0.25s,box-shadow 0.25s;position:relative;overflow:hidden}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.3s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,0.09)}
.service-card:hover::after{transform:scaleX(1)}
.service-icon{width:56px;height:56px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;flex-shrink:0}
.service-icon svg{width:24px;height:24px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{font-family:'Ibarra Real Nova',serif;font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:0.6rem}
.service-card p{font-size:0.84rem;color:var(--gray6);line-height:1.65;margin-bottom:1.25rem}
.service-card a{font-size:0.78rem;font-weight:700;color:var(--navy);text-decoration:none;letter-spacing:0.04em;text-transform:uppercase;display:flex;align-items:center;gap:6px;transition:gap 0.2s}
.service-card a:hover{gap:10px}
.service-card.featured{background:var(--navy);border-color:var(--navy)}
.service-card.featured h3{color:#fff}
.service-card.featured p{color:rgba(255,255,255,0.65)}
.service-card.featured .service-icon{border-color:rgba(249,160,28,0.4)}
.service-card.featured a{color:var(--gold)}

/* OUTILS */
#outils{padding:6rem 2rem;background:#fff}
.outils-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}
.outil-card{border-radius:0;overflow:hidden;border:1px solid #e5e5e5;display:flex;flex-direction:column;transition:box-shadow 0.25s}
.outil-card:hover{box-shadow:0 20px 60px rgba(0,0,0,0.1)}
.outil-header{background:var(--navy);padding:2rem 2rem 1.5rem;position:relative;overflow:hidden}
.outil-tag{display:inline-block;background:rgba(249,160,28,0.15);border:1px solid rgba(249,160,28,0.3);border-radius:100px;padding:4px 12px;font-size:0.68rem;font-weight:700;color:var(--gold);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.75rem}
.outil-header h3{font-family:'Ibarra Real Nova',serif;font-size:1.4rem;font-weight:700;color:#fff;margin-bottom:0.5rem}
.outil-header p{font-size:0.82rem;color:rgba(255,255,255,0.6);line-height:1.55}
.outil-body{padding:1.75rem 2rem;background:#fff;flex:1}
.outil-specs{list-style:none;display:flex;flex-direction:column;gap:0.6rem;margin-bottom:1.5rem}
.outil-specs li{display:flex;align-items:center;gap:10px;font-size:0.83rem;color:var(--gray6)}
.outil-specs li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0}

/* TABLES RONDES */
#tables-rondes{padding:6rem 2rem;background:var(--navy);position:relative;overflow:hidden}
.tr-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.tr-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}
.tr-stat{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:0;padding:1.25rem;text-align:center}
.tr-stat strong{display:block;font-family:'Ibarra Real Nova',serif;font-size:2rem;font-weight:900;color:var(--gold)}
.tr-stat span{font-size:0.72rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.04em}
.tr-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:0;padding:1.75rem;margin-bottom:1rem;transition:border-color 0.25s}
.tr-card:hover{border-color:rgba(249,160,28,0.4)}
.tr-card-label{font-size:0.68rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin-bottom:0.5rem}
.tr-card-text{font-size:0.9rem;color:rgba(255,255,255,0.8);line-height:1.55}
.tr-card-meta{font-size:0.72rem;color:rgba(255,255,255,0.4);margin-top:0.75rem}

/* CLIENTS */
#clients{padding:5rem 2rem;background:var(--gray1)}
.clients-header{text-align:center;margin-bottom:3rem}
.clients-logos{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center;align-items:center;margin-bottom:3rem}
.client-logo-pill{background:#fff;border:1px solid #e5e5e5;border-radius:0;padding:0.75rem 1.5rem;font-size:0.8rem;font-weight:600;color:var(--navy);transition:border-color 0.2s,box-shadow 0.2s;display:flex;align-items:center;justify-content:center}
.client-logo-pill:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(0,0,0,0.07)}
.client-logo-img{background:#fff;border:1px solid #e5e5e5;border-radius:0;padding:0.75rem 1.5rem;display:flex;align-items:center;justify-content:center;transition:border-color 0.2s,box-shadow 0.2s;height:70px;min-width:140px}
.client-logo-img:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(0,0,0,0.07)}
.client-logo-img img{max-height:40px;max-width:140px;width:auto;object-fit:contain;filter:grayscale(30%);opacity:0.85;transition:filter 0.25s,opacity 0.25s}
.client-logo-img:hover img{filter:grayscale(0%);opacity:1}

/* REFERENCES CLIENTS */
.rc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.25rem}
.rc-card{background:#fff;border:1px solid #e5e5e5;border-radius:0;padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.75rem;height:128px;transition:border-color 0.2s,box-shadow 0.2s}
.rc-card:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(0,0,0,0.07)}
.rc-card img{max-height:56px;max-width:160px;width:auto;object-fit:contain}
.rc-cta{text-align:center;margin-top:1.75rem}
@media(max-width:640px){.rc-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.rc-card{height:110px;padding:1rem 0.75rem}.rc-card img{max-height:38px;max-width:110px}}

.temoignages{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.temo-card{background:#fff;border-radius:0;padding:1.75rem;border:1px solid #eee}
.temo-card blockquote{font-size:0.88rem;font-style:italic;color:var(--gray6);line-height:1.7;margin-bottom:1.25rem;border-left:3px solid var(--gold);padding-left:1rem}
.temo-card cite{display:flex;align-items:center;gap:10px;font-style:normal}
.temo-avatar{width:38px;height:38px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Ibarra Real Nova',serif;font-weight:700;font-size:0.9rem;flex-shrink:0}
.temo-info strong{display:block;font-size:0.82rem;font-weight:700;color:var(--gray8)}
.temo-info span{font-size:0.75rem;color:var(--gray6)}

/* EQUIPE */
#equipe{padding:6rem 2rem;background:#fff}
.equipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;max-width:920px;margin-left:auto;margin-right:auto}
.equipe-card{border-radius:0;overflow:hidden;border:1px solid #eee;transition:box-shadow 0.25s}
.equipe-card:hover{box-shadow:0 16px 40px rgba(0,0,0,0.09)}
.equipe-avatar{height:180px;background:var(--navy);display:flex;align-items:center;justify-content:center;font-family:'Ibarra Real Nova',serif;font-size:2.5rem;font-weight:900;color:var(--gold)}
.equipe-info{padding:1.25rem}
.equipe-info h4{font-family:'Ibarra Real Nova',serif;font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:0.2rem}
.equipe-role{font-size:0.72rem;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0.6rem}
.equipe-desc{font-size:0.78rem;color:var(--gray6);line-height:1.55}

/* INSIGHTS */
#insights{padding:6rem 2rem;background:var(--gray1)}
.insights-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.insights-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.5rem}
.insight-main{background:var(--navy);border-radius:0;overflow:hidden;display:flex;flex-direction:column}
.insight-main-img{height:200px;background:linear-gradient(135deg,var(--navy-deep) 0%,rgba(249,160,28,0.15) 100%);display:flex;align-items:center;justify-content:center}
.insight-main-body{padding:1.75rem;flex:1}
.insight-tag{display:inline-block;background:rgba(249,160,28,0.15);border:1px solid rgba(249,160,28,0.3);border-radius:100px;padding:3px 10px;font-size:0.67rem;font-weight:700;color:var(--gold);letter-spacing:0.07em;text-transform:uppercase;margin-bottom:0.75rem}
.insight-main-body h3{font-family:'Ibarra Real Nova',serif;font-size:1.2rem;font-weight:700;color:#fff;line-height:1.35;margin-bottom:0.75rem}
.insight-main-body p{font-size:0.83rem;color:rgba(255,255,255,0.6);line-height:1.6;margin-bottom:1.25rem}
.insight-meta{font-size:0.72rem;color:rgba(255,255,255,0.35)}
.insight-side{background:#fff;border-radius:0;border:1px solid #eee;padding:1.5rem;display:flex;flex-direction:column}
.insight-side h3{font-family:'Ibarra Real Nova',serif;font-size:1rem;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:0.6rem;flex:1}
.insight-side .insight-meta{color:var(--gray6);margin-top:auto;padding-top:1rem}
.insight-side .insight-tag{background:var(--gray1);border-color:#e5e5e5;color:var(--navy)}

/* RECONNAISSANCE */
#reconnaissance{padding:5rem 2rem;background:var(--navy)}
.reco-inner{display:flex;align-items:center;gap:4rem;flex-wrap:wrap}
.reco-text{flex:1;min-width:280px}
.reco-badges{display:flex;flex-wrap:wrap;gap:1rem;flex:1;min-width:280px}
.reco-badge{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:0;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;transition:border-color 0.2s}
.reco-badge:hover{border-color:rgba(249,160,28,0.4)}
.reco-badge-icon{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(249,160,28,0.5);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.reco-badge-icon svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.reco-badge-label{font-size:0.78rem;color:rgba(255,255,255,0.65);line-height:1.4}
.reco-badge-label strong{display:block;color:#fff;font-size:0.85rem;margin-bottom:0.1rem}

/* CONTACT */
#contact{padding:6rem 2rem;background:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.contact-form{display:flex;flex-direction:column;gap:1.25rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:0.4rem}
.form-group label{font-size:0.78rem;font-weight:600;color:var(--gray8)}
.form-group input,.form-group select,.form-group textarea{padding:11px 14px;border:1.5px solid #ddd;border-radius:0;font-family:'Space Grotesk',sans-serif;font-size:0.88rem;color:var(--gray8);outline:none;transition:border-color 0.2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--navy)}
.form-group textarea{min-height:130px;resize:vertical}
.form-submit{background:var(--navy);color:#fff;border:none;border-radius:0;padding:14px 28px;font-family:'Space Grotesk',sans-serif;font-size:0.9rem;font-weight:700;cursor:pointer;transition:background 0.2s;display:flex;align-items:center;gap:10px}
.form-submit:hover{background:var(--navy-deep)}
.contact-mandats{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1.5rem}
.contact-mandat-btn{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:0;border:1.5px solid #eee;cursor:pointer;font-family:'Space Grotesk',sans-serif;font-size:0.83rem;font-weight:600;color:var(--navy);background:#fff;transition:border-color 0.2s,background 0.2s}
.contact-mandat-btn svg{flex-shrink:0;opacity:0.5;transition:opacity 0.2s}
.contact-mandat-btn:hover svg,.contact-mandat-btn.active svg{opacity:1}
.contact-mandat-btn:hover{border-color:var(--navy);background:var(--gray1)}
.contact-mandat-btn.active{border-color:var(--gold);background:rgba(249,160,28,0.06)}
.contact-info{display:flex;flex-direction:column;gap:2rem}
.contact-info-block h4{font-family:'Ibarra Real Nova',serif;font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:0.4rem}
.contact-info-block p,.contact-info-block a{font-size:0.88rem;color:var(--gray6);line-height:1.6;text-decoration:none}
.contact-info-block a:hover{color:var(--navy)}
.contact-divider{height:1px;background:#eee}

/* FOOTER */
footer{background:var(--ink);padding:4rem 2rem 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
footer h4{font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.3);margin-bottom:1rem}
footer ul{list-style:none;display:flex;flex-direction:column;gap:0.5rem}
footer ul li a{font-size:0.83rem;color:rgba(255,255,255,0.55);text-decoration:none;transition:color 0.2s}
footer ul li a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.07);padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem}
.footer-bottom span{font-size:0.75rem;color:rgba(255,255,255,0.25)}
.footer-bottom a{color:rgba(255,255,255,0.35);text-decoration:none;font-size:0.75rem}
.footer-bottom a:hover{color:var(--gold)}







/* LANGUE */
.lang-btn{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:0;padding:5px 10px;cursor:pointer;font-family:'Space Grotesk',sans-serif;font-size:0.7rem;font-weight:700;color:rgba(255,255,255,0.6);display:flex;align-items:center;gap:4px;transition:all 0.2s;letter-spacing:0.06em;flex-shrink:0}
.lang-btn:hover{background:rgba(255,255,255,0.15);color:#fff}
.lang-sep{opacity:0.3}
.lang-fr{color:#fff}.lang-en{opacity:0.4}
body.lang-en .lang-fr{opacity:0.4;color:rgba(255,255,255,0.6)}
body.lang-en .lang-en{opacity:1;color:#fff}
body.lang-fr .lang-fr{opacity:1;color:#fff}
body.lang-fr .lang-en{opacity:0.4}

/* ═══════════ INTÉGRAMÈTRE PANORAMIQUE ═══════════ */
.igp-wrap{background:var(--navy-deep)}
.igp-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding:4rem 2rem 2.5rem;flex-wrap:wrap}
.igp-kpis{display:flex;gap:2rem;flex-shrink:0}
.igp-kpi{text-align:center}
.igp-kpi b{display:block;font-family:'Ibarra Real Nova',serif;font-size:2.6rem;font-weight:900;color:var(--gold);line-height:1}
.igp-kpi span{font-size:0.68rem;color:rgba(255,255,255,0.35);text-transform:uppercase;letter-spacing:0.1em}

/* Stage = bloc unique qui contient timeline + detail */
.igp-stage{position:sticky;top:64px;z-index:20;background:var(--navy-deep) !important}

/* Barre de progression colorée */
.igp-progress-rail{height:2px;background:rgba(255,255,255,0.06);position:relative;overflow:visible}
.igp-progress-fill{height:100%;width:0%;transition:width 0.5s cubic-bezier(.4,0,.2,1),background 0.5s;border-radius:0}

/* Timeline */
.igp-timeline{overflow-x:auto;padding:0;scrollbar-width:none}
.igp-timeline::-webkit-scrollbar{display:none}
.igp-track{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem 2.5rem 0;gap:0;min-width:max-content;width:100%}

/* Bouton étape */
.igp-btn{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:0 6px 1rem;flex:1;min-width:72px;max-width:100px;position:relative}
.igp-btn::after{content:'';position:absolute;bottom:0;left:50%;right:50%;height:2px;background:var(--c);transition:left 0.3s,right 0.3s;border-radius:0}
.igp-btn.active::after{left:0;right:0}

/* Dot */
.igp-dot{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.04);display:flex;align-items:center;justify-content:center;position:relative;transition:all 0.3s}
.igp-dot span{font-family:'Ibarra Real Nova',serif;font-size:0.9rem;font-weight:700;color:rgba(255,255,255,0.3);transition:color 0.3s}
.igp-pulse{position:absolute;inset:-4px;border-radius:50%;border:1.5px solid transparent;transition:all 0.3s}

/* Actif */
.igp-btn.active .igp-dot{background:var(--c);border-color:var(--c);box-shadow:0 0 0 6px color-mix(in srgb, var(--c) 18%, transparent), 0 4px 20px rgba(0,0,0,0.4)}
.igp-btn.active .igp-dot span{color:#fff;font-size:1rem}
.igp-btn.active .igp-pulse{border-color:var(--c);opacity:0.4;transform:scale(1.2)}
.igp-btn:hover:not(.active) .igp-dot{border-color:rgba(255,255,255,0.3);background:rgba(255,255,255,0.08)}
.igp-btn:hover:not(.active) .igp-dot span{color:rgba(255,255,255,0.7)}

/* Label nom */
.igp-name{font-size:0.62rem;font-weight:700;color:rgba(255,255,255,0.28);text-align:center;transition:color 0.3s;letter-spacing:0.03em;line-height:1.3}
.igp-btn.active .igp-name{color:var(--c);font-weight:700}
.igp-btn:hover:not(.active) .igp-name{color:rgba(255,255,255,0.6)}

/* Séparateur */
.igp-divider{height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,0.07),transparent);margin:0 2rem}

/* Zone détail */
.igp-detail{padding:1.75rem 2.5rem 2rem;min-height:200px}
.igp-placeholder{display:flex;align-items:center;gap:0.75rem;padding:1.5rem 0;color:rgba(255,255,255,0.2);font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase}

/* Panel */
.igp-panel{display:none;animation:igpIn 0.3s ease}
.igp-panel.show{display:block}
@keyframes igpIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.igp-panel-tag{display:inline-block;font-size:0.62rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);border-radius:100px;padding:3px 12px;margin-bottom:0.6rem}
.igp-panel-title{font-family:'Ibarra Real Nova',serif;font-size:1.5rem;font-weight:900;color:#fff;margin-bottom:0.3rem;line-height:1.1}
.igp-panel-sub{font-size:0.8rem;color:rgba(255,255,255,0.4);font-style:italic;margin-bottom:1.25rem}
.igp-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.igp-col{background:rgba(255,255,255,0.04);border-radius:0;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,0.06)}
.igp-col-hd{font-size:0.63rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.65rem}
.igp-obj .igp-col-hd{color:#26de81}
.igp-liv .igp-col-hd{color:#45AAF2}
.igp-risk .igp-col-hd{color:#FC5C65}
.igp-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.4rem}
.igp-col li{font-size:0.76rem;color:rgba(255,255,255,0.6);line-height:1.5;padding-left:0.85rem;position:relative}
.igp-col li::before{content:'';position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%}
.igp-obj li::before{background:#26de81}
.igp-liv li::before{background:#45AAF2}
.igp-risk li::before{background:#FC5C65}

/* CTA bas */
.igp-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 2rem 3rem;flex-wrap:wrap}
.igp-cta p{font-size:0.85rem;color:rgba(255,255,255,0.4)}

/* Niveaux */
.igp-levels-section{background:#fff;padding:5rem 0}
.igp-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.igp-level{border-radius:0;padding:1.75rem;border:1px solid #eee;position:relative;overflow:hidden;transition:transform 0.2s,box-shadow 0.2s}
.igp-level:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,0.09)}
.igp-level-bar{position:absolute;top:0;left:0;right:0;height:3px;background:var(--lc)}
.igp-level b{font-family:'Ibarra Real Nova',serif;font-size:2.8rem;font-weight:900;color:var(--lc);opacity:0.12;position:absolute;bottom:0;right:0.75rem;line-height:1}
.igp-level h4{font-family:'Ibarra Real Nova',serif;font-size:0.95rem;font-weight:700;color:var(--navy);margin-bottom:0.5rem}
.igp-level p{font-size:0.78rem;color:var(--gray6);line-height:1.6}

@media(max-width:900px){
  .igp-cols{grid-template-columns:1fr}
  .igp-levels{grid-template-columns:1fr 1fr}
  .igp-stage{position:relative;top:auto}
  .igp-header{flex-direction:column}
}
@media(max-width:520px){
  .igp-levels{grid-template-columns:1fr}
  .igp-track{padding:1.25rem 1rem 0;gap:0;justify-content:flex-start}
  .igp-btn{min-width:60px;max-width:72px}
  .igp-dot{width:36px;height:36px}
  .igp-detail{padding:1.25rem 1rem}
}


/* Stage = zone fixe avec timeline + détail */
.ig2-stage{background:var(--navy-deep);position:sticky;top:64px;z-index:10}
.ig2-hint{text-align:center;font-size:0.72rem;color:rgba(255,255,255,0.3);letter-spacing:0.08em;text-transform:uppercase;padding:1rem 0 0}

/* Timeline */
.ig2-timeline-wrap{overflow-x:auto;padding:0 2rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.1) transparent}
.ig2-timeline-wrap::-webkit-scrollbar{height:3px}
.ig2-timeline-wrap::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:0}
.ig2-timeline-track{display:flex;align-items:flex-start;gap:0;position:relative;min-width:max-content;padding:1.75rem 1rem 0}

/* Ligne horizontale derrière les dots */
.ig2-track-line{position:absolute;top:calc(1.75rem + 28px);left:5%;right:5%;height:1.5px;background:rgba(255,255,255,0.1);z-index:0}

/* Chaque étape */
.ig2-step{display:flex;flex-direction:column;align-items:center;width:90px;cursor:pointer;position:relative;z-index:1;flex-shrink:0}
.ig2-center{width:110px}
.ig2-step-top{display:flex;flex-direction:column;align-items:center;width:100%}
.ig2-step-num{font-size:0.6rem;font-weight:700;letter-spacing:0.06em;color:rgba(255,255,255,0.25);margin-bottom:6px;font-family:'Space Grotesk',sans-serif;text-transform:uppercase}
.ig2-step-connector{width:1.5px;height:12px;background:rgba(255,255,255,0.1)}

/* Dot (nœud) */
.ig2-step-node{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;position:relative;transition:all 0.3s;color:rgba(255,255,255,0.4)}
.ig2-step-ring{position:absolute;inset:-5px;border-radius:50%;border:1.5px solid transparent;transition:all 0.3s}
.ig2-step-node svg{width:16px;height:16px;transition:stroke 0.3s}
.ig2-center .ig2-step-node{width:52px;height:52px;background:rgba(249,160,28,0.12);border-color:rgba(249,160,28,0.4);color:var(--gold)}

/* Hover + active state */
.ig2-step:hover .ig2-step-node{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.35);color:#fff}
.ig2-step.active .ig2-step-node{background:var(--sc);border-color:var(--sc);color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,0.08),0 4px 20px rgba(0,0,0,0.3)}
.ig2-step.active .ig2-step-ring{border-color:var(--sc);opacity:0.3;transform:scale(1.15)}
.ig2-step.active .ig2-step-connector{background:var(--sc)}

/* Labels */
.ig2-step-label{font-size:0.68rem;font-weight:700;color:rgba(255,255,255,0.45);margin-top:8px;text-align:center;transition:color 0.3s;line-height:1.3;letter-spacing:0.02em}
.ig2-step-sublabel{font-size:0.55rem;color:rgba(255,255,255,0.2);text-align:center;text-transform:uppercase;letter-spacing:0.06em;margin-top:2px}
.ig2-step.active .ig2-step-label{color:#fff;font-weight:700}
.ig2-step.active .ig2-step-sublabel{color:var(--sc)}

/* Zone de détail */
.ig2-detail-zone{border-top:1px solid rgba(255,255,255,0.06);min-height:220px;transition:min-height 0.4s}
.ig2-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2.5rem;min-height:220px;opacity:1;transition:opacity 0.3s}
.ig2-detail-placeholder p{font-size:0.8rem;color:rgba(255,255,255,0.25);text-align:center;max-width:320px;line-height:1.6}

/* Panel de détail */
.ig2-panel{display:none;padding:2rem 2.5rem;animation:ig2FadeIn 0.35s ease}
@keyframes ig2FadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.ig2-panel.visible{display:block}
.ig2-panel-header{margin-bottom:1.5rem;padding-left:1.25rem}
.ig2-panel-badge{display:inline-block;font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;border-radius:100px;padding:3px 12px;margin-bottom:0.5rem}
.ig2-panel-title{font-family:'Ibarra Real Nova',serif;font-size:1.4rem;font-weight:900;color:#fff;margin-bottom:0.3rem}
.ig2-panel-tagline{font-size:0.82rem;color:rgba(255,255,255,0.5);font-style:italic}
.ig2-panel-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ig2-pcol{background:rgba(255,255,255,0.04);border-radius:0;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,0.06)}
.ig2-pcol-label{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.75rem}
.ig2-pcol-obj .ig2-pcol-label{color:var(--green)}
.ig2-pcol-liv .ig2-pcol-label{color:#45AAF2}
.ig2-pcol-risk .ig2-pcol-label{color:#FC5C65}
.ig2-pcol ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.45rem}
.ig2-pcol ul li{font-size:0.76rem;color:rgba(255,255,255,0.65);line-height:1.5;padding-left:0.9rem;position:relative}
.ig2-pcol ul li::before{content:'';position:absolute;left:0;top:7px;width:4px;height:4px;border-radius:50%}
.ig2-pcol-obj li::before{background:var(--green)}
.ig2-pcol-liv li::before{background:#45AAF2}
.ig2-pcol-risk li::before{background:#FC5C65}

/* Niveaux */
.ig2-levels-section{padding:5rem 2rem}
.ig2-levels-intro{margin-bottom:2.5rem}
.ig2-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.ig2-level{background:#fff;border-radius:0;padding:1.75rem;border:1px solid #eee;position:relative;overflow:hidden;transition:transform 0.2s,box-shadow 0.2s}
.ig2-level:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,0.09)}
.ig2-level-bar{position:absolute;top:0;left:0;right:0;height:3px;background:var(--lc)}
.ig2-level-n{font-family:'Ibarra Real Nova',serif;font-size:3rem;font-weight:900;color:var(--lc);opacity:0.12;position:absolute;bottom:0;right:0.75rem;line-height:1}
.ig2-level h4{font-family:'Ibarra Real Nova',serif;font-size:0.95rem;font-weight:700;color:var(--navy);margin-bottom:0.5rem}
.ig2-level p{font-size:0.78rem;color:var(--gray6);line-height:1.6}

/* CTA band */
.ig2-cta-band{background:var(--navy);padding:3rem 0}
.ig2-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:0 2rem}
.ig2-cta-inner h3{font-family:'Ibarra Real Nova',serif;font-size:1.4rem;font-weight:700;color:#fff;margin-bottom:0.25rem}
.ig2-cta-inner p{font-size:0.85rem;color:rgba(255,255,255,0.55)}

/* Responsive */
@media(max-width:768px){
  .ig2-panel-cols{grid-template-columns:1fr}
  .ig2-levels{grid-template-columns:1fr 1fr}
  .ig2-intro{flex-direction:column}
  .ig2-stage{position:relative;top:auto}
}
@media(max-width:520px){
  .ig2-levels{grid-template-columns:1fr}
  .ig2-step{width:72px}
  .ig2-center{width:84px}
  .ig2-kpis{gap:0.75rem}
}


/* Hero section sombre */
.ig-hero{background:var(--navy-deep);padding:6rem 0 5rem;position:relative;overflow:hidden}
.ig-hero::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(249,160,28,0.06) 0%,transparent 70%);pointer-events:none}
.ig-hero::after{content:'';position:absolute;bottom:-100px;left:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(0,150,81,0.05) 0%,transparent 70%);pointer-events:none}
.ig-hero-inner{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center}
.ig-hero-tags{display:flex;flex-direction:column;gap:0.6rem}
.ig-tag-pill{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:100px;padding:8px 18px;font-size:0.75rem;color:rgba(255,255,255,0.6);white-space:nowrap;transition:all 0.2s;cursor:default}
.ig-tag-pill:hover{background:rgba(249,160,28,0.1);border-color:rgba(249,160,28,0.3);color:var(--gold)}

/* Label de section */
.ig-section-label{padding:4rem 0 0;background:#fff}

/* Accordéon */
.ig-accordion-wrap{padding:2rem 0 5rem}

.ig-step-row{display:grid;grid-template-columns:64px 1fr;gap:0;position:relative}
.ig-step-left{display:flex;flex-direction:column;align-items:center;padding-top:1.5rem}
.ig-step-dot{
  width:48px;height:48px;border-radius:50%;
  background:#fff;border:2px solid #e5e5e5;
  display:flex;align-items:center;justify-content:center;
  font-family:'Ibarra Real Nova',serif;font-size:1rem;font-weight:700;color:var(--navy);
  flex-shrink:0;z-index:2;position:relative;
  transition:all 0.3s;cursor:pointer;
  box-shadow:0 2px 12px rgba(0,0,0,0.06);
}
.ig-step-dot-ring{
  position:absolute;inset:-6px;border-radius:50%;
  border:1.5px solid transparent;
  transition:border-color 0.3s,transform 0.3s;
}
.ig-step-row.open .ig-step-dot{background:var(--navy);border-color:var(--gold);color:var(--gold);box-shadow:0 4px 20px rgba(1,46,74,0.25)}
.ig-step-row.open .ig-step-dot-ring{border-color:rgba(249,160,28,0.3);transform:scale(1.1)}
.ig-step-pilotage .ig-step-dot{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.ig-step-pilotage.open .ig-step-dot{background:var(--navy);color:var(--gold)}
.ig-step-line{width:2px;flex:1;background:#eee;margin:4px 0;transition:background 0.3s;min-height:24px}
.ig-step-row.open .ig-step-line{background:linear-gradient(to bottom,var(--gold),#eee)}
.ig-step-row:last-child .ig-step-line{display:none}

.ig-step-body{padding:1.25rem 0 0 1.5rem;cursor:pointer;margin-bottom:0.5rem}
.ig-step-head{position:relative;padding-bottom:1.25rem;border-bottom:1px solid #f0f0f0;transition:border-color 0.3s}
.ig-step-row.open .ig-step-head{border-bottom-color:var(--gold)}
.ig-step-meta{margin-bottom:0.4rem}
.ig-step-badge{display:inline-block;font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;background:var(--gray1);border:1px solid #e5e5e5;border-radius:100px;padding:3px 10px;color:var(--navy)}
.ig-step-row.open .ig-step-badge{background:rgba(249,160,28,0.1);border-color:rgba(249,160,28,0.3);color:var(--gold)}
.ig-step-title{font-family:'Ibarra Real Nova',serif;font-size:1.2rem;font-weight:700;color:var(--navy);margin:0.3rem 0 0.25rem;transition:color 0.2s;padding-right:2.5rem}
.ig-step-row:hover .ig-step-title,.ig-step-row.open .ig-step-title{color:var(--navy)}
.ig-step-sub{font-size:0.82rem;color:var(--gray6);font-style:italic;line-height:1.5;padding-right:2rem}
.ig-step-chevron{position:absolute;top:0;right:0;color:var(--gray6);transition:transform 0.3s,color 0.3s}
.ig-step-row.open .ig-step-chevron{transform:rotate(180deg);color:var(--gold)}

/* Détail accordéon */
.ig-step-detail{max-height:0;overflow:hidden;transition:max-height 0.45s cubic-bezier(0.4,0,0.2,1),opacity 0.35s ease;opacity:0}
.ig-step-row.open .ig-step-detail{max-height:600px;opacity:1}
.ig-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;padding:1.5rem 0 1.5rem}
.ig-detail-col{border-radius:0;padding:1.25rem}
.ig-col-obj{background:rgba(0,150,81,0.05);border:1px solid rgba(0,150,81,0.12)}
.ig-col-liv{background:rgba(1,70,109,0.05);border:1px solid rgba(1,70,109,0.1)}
.ig-col-risk{background:rgba(235,87,87,0.05);border:1px solid rgba(235,87,87,0.12)}
.ig-detail-label{display:flex;align-items:center;gap:6px;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.75rem}
.ig-detail-label svg{width:13px;height:13px;flex-shrink:0}
.ig-col-obj .ig-detail-label{color:var(--green)}
.ig-col-liv .ig-detail-label{color:var(--navy)}
.ig-col-risk .ig-detail-label{color:#EB5757}
.ig-detail-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.5rem}
.ig-detail-col ul li{font-size:0.78rem;color:var(--gray8);line-height:1.5;padding-left:0.9rem;position:relative}
.ig-detail-col ul li::before{content:'';position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:0.5}
.ig-col-obj li::before{background:var(--green)}
.ig-col-liv li::before{background:var(--navy)}
.ig-col-risk li::before{background:#EB5757}

/* Section maturité */
.ig-maturite-section{background:var(--gray1);padding:5rem 0}
.ig-levels-track{position:relative}
.ig-levels-bar{height:4px;background:#e5e5e5;border-radius:0;margin-bottom:2rem;position:relative;overflow:visible}
.ig-levels-progress{height:100%;border-radius:0;background:linear-gradient(to right,#EB5757,#C9A45C,#2478BE,#009651);width:0%;transition:width 1s cubic-bezier(0.4,0,0.2,1)}
.ig-levels-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ig-level-card{background:#fff;border-radius:0;padding:1.75rem 1.5rem;border:2px solid transparent;cursor:pointer;transition:all 0.25s;position:relative;overflow:hidden}
.ig-level-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--lc);transform:scaleX(0);transform-origin:left;transition:transform 0.3s}
.ig-level-card:hover::before,.ig-level-card.active::before{transform:scaleX(1)}
.ig-level-card:hover,.ig-level-card.active{border-color:var(--lc);transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,0.1)}
.ig-level-n{font-family:'Ibarra Real Nova',serif;font-size:3rem;font-weight:900;color:var(--lc);opacity:0.15;line-height:1;position:absolute;bottom:0.5rem;right:1rem}
.ig-level-card h4{font-family:'Ibarra Real Nova',serif;font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:0.6rem}
.ig-level-card p{font-size:0.78rem;color:var(--gray6);line-height:1.6}

/* CTA final */
.ig-final-cta{background:var(--navy-deep);padding:5rem 0}
.ig-final-inner{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center}
.ig-final-actions{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}
.ig-report-preview{display:flex;flex-direction:column;gap:0.5rem}
.ig-report-item{font-size:0.75rem;font-weight:600;padding:6px 14px;border-radius:100px}
.ig-alerte{background:rgba(235,87,87,0.15);color:#EB5757;border:1px solid rgba(235,87,87,0.3)}
.ig-progression{background:rgba(249,160,28,0.15);color:var(--gold);border:1px solid rgba(249,160,28,0.3)}
.ig-maitrise{background:rgba(0,150,81,0.15);color:var(--green);border:1px solid rgba(0,150,81,0.3)}

/* Responsive */
@media(max-width:900px){
  .ig-hero-inner{grid-template-columns:1fr}
  .ig-hero-tags{flex-direction:row;flex-wrap:wrap}
  .ig-detail-grid{grid-template-columns:1fr}
  .ig-levels-cards{grid-template-columns:1fr 1fr}
  .ig-final-inner{grid-template-columns:1fr}
}
@media(max-width:520px){
  .ig-step-title{font-size:1rem}
  .ig-step-dot{width:38px;height:38px;font-size:0.85rem}
  .ig-step-body{padding-left:1rem}
  .ig-levels-cards{grid-template-columns:1fr}
  .ig-hero-inner{gap:2.5rem}
}

.integ-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:3.5rem;flex-wrap:wrap}
.integ-badges{display:flex;gap:1.5rem;flex-shrink:0}
.integ-badge{text-align:center;background:var(--navy);border-radius:0;padding:1.25rem 1.75rem}
.integ-badge-num{display:block;font-family:'Ibarra Real Nova',serif;font-size:2.2rem;font-weight:900;color:var(--gold);line-height:1}
.integ-badge-label{display:block;font-size:0.7rem;color:rgba(255,255,255,0.55);text-transform:uppercase;letter-spacing:0.08em;margin-top:0.3rem}

/* Roue */
.integ-wheel-section{margin-bottom:5rem}
.integ-wheel-wrap{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.integ-wheel{position:relative;width:100%;max-width:460px;margin:0 auto;aspect-ratio:1}
.integ-svg{width:100%;height:100%}

/* Boutons d'étapes positionnés en cercle via CSS custom property */
.integ-step{
  position:absolute;
  /* Placement : centre 50%,50% + rayon 42% dans la direction de --a */
  left:calc(50% + 42% * cos(var(--a) - 90deg) - 36px);
  top:calc(50% + 42% * sin(var(--a) - 90deg) - 36px);
  width:72px;height:72px;
  border-radius:50%;
  background:#fff;
  border:2px solid #e5e5e5;
  cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  transition:all 0.25s;
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
  z-index:2;
}
.integ-step:hover,.integ-step.active{
  background:var(--navy);
  border-color:var(--gold);
  transform:scale(1.12);
  box-shadow:0 8px 28px rgba(1,46,74,0.25);
}
.integ-step-num{
  font-family:'Ibarra Real Nova',serif;
  font-size:1.1rem;font-weight:900;
  color:var(--gold);line-height:1;
}
.integ-step-name{
  font-size:0.52rem;font-weight:700;
  letter-spacing:0.04em;text-transform:uppercase;
  color:var(--navy);line-height:1;
}
.integ-step:hover .integ-step-name,.integ-step.active .integ-step-name{color:rgba(255,255,255,0.75)}

/* Panneau descriptif */
.integ-panel{
  background:var(--gray1);
  border-radius:0;
  border:1px solid #e5e5e5;
  padding:2rem;
  min-height:420px;
  display:flex;flex-direction:column;justify-content:center;
  transition:all 0.3s;
}
.integ-panel-default{text-align:center;padding:2rem}
.integ-panel-icon{width:64px;height:64px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;color:var(--gold)}
.integ-panel-icon svg{width:28px;height:28px}
.integ-panel-hint{font-size:0.88rem;color:var(--gray6);line-height:1.6;max-width:260px;margin:0 auto}
.integ-panel-step-label{font-size:0.68rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:0.5rem}
.integ-panel-title{font-family:'Ibarra Real Nova',serif;font-size:1.35rem;font-weight:700;color:var(--navy);margin-bottom:0.4rem;line-height:1.2}
.integ-panel-sub{font-size:0.83rem;color:var(--gray6);margin-bottom:1.5rem;font-style:italic}
.integ-panel-blocks{display:flex;flex-direction:column;gap:1rem}
.integ-panel-block{border-radius:0;padding:1rem 1.1rem}
.integ-block-obj{background:rgba(0,150,81,0.06);border-left:3px solid var(--green)}
.integ-block-liv{background:rgba(1,70,109,0.06);border-left:3px solid var(--navy)}
.integ-block-risk{background:rgba(235,87,87,0.06);border-left:3px solid #EB5757}
.integ-block-head{display:flex;align-items:center;gap:8px;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.5rem;color:var(--navy)}
.integ-block-head svg{width:14px;height:14px;flex-shrink:0}
.integ-block-obj .integ-block-head{color:var(--green)}
.integ-block-risk .integ-block-head{color:#EB5757}
.integ-panel-block ul{list-style:none;display:flex;flex-direction:column;gap:0.3rem;padding:0}
.integ-panel-block ul li{font-size:0.78rem;color:var(--gray8);padding-left:1rem;position:relative;line-height:1.45}
.integ-panel-block ul li::before{content:'·';position:absolute;left:0;color:var(--gold);font-weight:900}

/* Démarche audit */
.integ-audit{background:var(--navy);border-radius:0;padding:3rem;margin-bottom:3rem}
.integ-audit-header{text-align:center;margin-bottom:2.5rem}
.integ-audit-header .section-eyebrow{color:var(--gold)}
.integ-audit-header .section-title{color:#fff;margin-bottom:0}
.integ-audit-steps{display:flex;align-items:flex-start;gap:0.5rem;flex-wrap:wrap;justify-content:center}
.integ-audit-step{flex:1;min-width:160px;max-width:200px;text-align:center;padding:1.5rem 1rem}
.integ-audit-num{font-family:'Ibarra Real Nova',serif;font-size:2.5rem;font-weight:900;color:rgba(249,160,28,0.2);line-height:1;margin-bottom:0.75rem}
.integ-audit-icon{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(249,160,28,0.4);display:flex;align-items:center;justify-content:center;margin:0 auto 0.75rem;color:var(--gold)}
.integ-audit-icon svg{width:22px;height:22px}
.integ-audit-step h4{font-family:'Ibarra Real Nova',serif;font-size:0.95rem;font-weight:700;color:#fff;margin-bottom:0.5rem}
.integ-audit-step p{font-size:0.78rem;color:rgba(255,255,255,0.55);line-height:1.55}
.integ-audit-arrow{font-size:1.5rem;color:rgba(249,160,28,0.3);align-self:center;padding-top:1rem;flex-shrink:0}

/* Niveaux de maturité */
.integ-maturite{margin-bottom:3rem}
.integ-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.integ-level{border-radius:0;padding:1.75rem 1.5rem;border:2px solid var(--lc);position:relative;overflow:hidden;transition:transform 0.2s,box-shadow 0.2s}
.integ-level:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,0.1)}
.integ-level::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--lc)}
.integ-level-num{font-family:'Ibarra Real Nova',serif;font-size:2.8rem;font-weight:900;color:var(--lc);opacity:0.18;position:absolute;top:0.5rem;right:1rem;line-height:1}
.integ-level h4{font-family:'Ibarra Real Nova',serif;font-weight:700;font-size:1rem;color:var(--navy);margin-bottom:0.6rem}
.integ-level p{font-size:0.8rem;color:var(--gray6);line-height:1.6}

/* CTA Intégramètre */
.integ-cta{background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 100%);border-radius:0;padding:2.5rem 3rem}
.integ-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.integ-cta-inner h3{font-family:'Ibarra Real Nova',serif;font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:0.4rem}
.integ-cta-inner p{font-size:0.85rem;color:rgba(255,255,255,0.65);line-height:1.55;max-width:480px}

/* Responsive */

/* ===== INTÉGRAMÈTRE MOBILE ===== */
@media(max-width:640px){
  /* Masquer le track horizontal */
  .igp-timeline{display:none !important}
  .igp-divider{display:none}
  .igp-detail{display:none}

  /* Afficher la grille mobile */
  .igp-mobile-grid{display:grid !important}

  /* Zone détail mobile */
  .igp-mobile-detail{display:block !important}
}

/* Grille mobile - cachée par défaut */
.igp-mobile-grid{
  display:none;
  grid-template-columns:1fr 1fr;
  gap:0.6rem;
  padding:1.5rem 1.25rem 0;
}
.igp-mobile-btn{
  display:flex;align-items:center;gap:0.6rem;
  background:rgba(255,255,255,0.04);
  border:1.5px solid rgba(255,255,255,0.1);
  border-radius:0;padding:0.75rem 0.9rem;
  cursor:pointer;transition:all 0.2s;text-align:left;
  width:100%;
}
.igp-mobile-btn.active{
  background:rgba(255,255,255,0.1);
  border-color:var(--c);
  box-shadow:0 0 0 1px var(--c);
}
.igp-mobile-dot{
  width:34px;height:34px;border-radius:50%;
  background:var(--c);display:flex;align-items:center;
  justify-content:center;flex-shrink:0;opacity:0.85;
  transition:opacity 0.2s;
}
.igp-mobile-btn.active .igp-mobile-dot{opacity:1}
.igp-mobile-dot span{
  font-family:'Ibarra Real Nova',serif;
  font-size:0.8rem;font-weight:700;color:#fff;
}
.igp-mobile-label{
  font-size:0.75rem;font-weight:600;
  color:rgba(255,255,255,0.6);line-height:1.2;
  transition:color 0.2s;
}
.igp-mobile-btn.active .igp-mobile-label{color:#fff}

/* Détail mobile */
.igp-mobile-detail{
  display:none;
  margin:1rem 1.25rem 0;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:0;
  padding:1.25rem;
  border-top:3px solid var(--detail-c, #C9A45C);
}
.igp-mobile-detail-step{
  font-size:0.62rem;font-weight:700;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--detail-c,#C9A45C);
  margin-bottom:0.4rem;
}
.igp-mobile-detail-title{
  font-family:'Ibarra Real Nova',serif;
  font-size:1.4rem;font-weight:700;color:#fff;
  margin-bottom:0.3rem;
}
.igp-mobile-detail-sub{
  font-size:0.8rem;color:rgba(255,255,255,0.5);
  font-style:italic;margin-bottom:1rem;
}
.igp-mobile-blocks{display:flex;flex-direction:column;gap:0.75rem}
.igp-mobile-block{border-radius:0;padding:0.9rem 1rem}
.igp-mobile-block-obj{background:rgba(0,150,81,0.08);border-left:3px solid #009651}
.igp-mobile-block-liv{background:rgba(1,70,109,0.12);border-left:3px solid #0e4d6c}
.igp-mobile-block-risk{background:rgba(235,87,87,0.08);border-left:3px solid #EB5757}
.igp-mobile-block-head{font-size:0.62rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.4rem;color:rgba(255,255,255,0.7)}
.igp-mobile-block-obj .igp-mobile-block-head{color:#26de81}
.igp-mobile-block-risk .igp-mobile-block-head{color:#EB5757}
.igp-mobile-block ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.25rem}
.igp-mobile-block ul li{font-size:0.78rem;color:rgba(255,255,255,0.72);padding-left:0.9rem;position:relative;line-height:1.45}
.igp-mobile-block ul li::before{content:'·';position:absolute;left:0;color:var(--gold);font-weight:900}

@media(max-width:900px){
  /* Intégramètre roue - cacher sur mobile, garder track linéaire */
  .integ-wheel-section{display:none}
  .integ-panel{min-height:auto}
  .integ-levels{grid-template-columns:1fr 1fr}
  .integ-audit-steps{gap:0}
  .integ-audit-arrow{display:none}
  .integ-header{flex-direction:column;gap:1rem}
  .integ-badges{flex-direction:row;flex-wrap:wrap}
}
@media(max-width:520px){
  .integ-wheel-wrap{gap:1rem}
  .integ-wheel{max-width:280px}
  .integ-step{width:52px;height:52px}
  .integ-step-num{font-size:0.9rem}
  .integ-step-name{font-size:0.4rem}
  .integ-panel{padding:1.25rem;min-height:auto}
  .integ-levels{grid-template-columns:1fr}
  .integ-badges{gap:0.5rem}
  .integ-badge{padding:0.75rem 1rem}
  .integ-badge-num{font-size:1.6rem}
  .integ-cta{padding:1.5rem}
  .integ-header{flex-direction:column;gap:0.75rem}
  .integ-audit{padding:2rem 1.25rem}
  .integ-audit-steps{flex-direction:column;align-items:center}
  .integ-maturite-cards{grid-template-columns:1fr}
}
/* CHRONIQUES */
.insights-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}

.chrono-img{width:100%;height:160px;overflow:hidden;border-radius:6px 6px 0 0;margin:-1.5rem -1.5rem 1.25rem -1.5rem;width:calc(100% + 3rem)}
.chrono-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease}
.chrono-card:hover .chrono-img img{transform:scale(1.05)}
.chrono-card.chrono-featured .chrono-img{height:200px}
.chrono-author-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:2px solid var(--gold)}
.chrono-avatar{width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Ibarra Real Nova',serif;font-weight:700;font-size:1.1rem;flex-shrink:0}
.chrono-author-name{font-family:'Ibarra Real Nova',serif;font-weight:700;font-size:1.15rem;color:var(--navy)}
.chrono-author-role{font-size:0.75rem;color:var(--gray6);margin-top:0.15rem}
.chrono-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1.25rem}
.chrono-card{display:flex;flex-direction:column;background:#fff;border-radius:0;padding:1.5rem;border:1px solid #eee;text-decoration:none;transition:background 0.3s,box-shadow 0.3s,border-color 0.3s,transform 0.2s;position:relative;overflow:hidden}
.chrono-card:hover{background:var(--navy);box-shadow:0 16px 48px rgba(1,46,74,0.18);border-color:var(--navy);transform:translateY(-3px)}
.chrono-card:hover .chrono-tag{color:var(--gold)}
.chrono-card:hover h3{color:#fff}
.chrono-card:hover .chrono-desc-hover{max-height:80px;opacity:1;margin-bottom:0.75rem}
.chrono-card:hover .chrono-link{color:var(--gold)}
.chrono-card.chrono-featured{grid-row:span 2;background:var(--navy);border-color:var(--navy)}
.chrono-card.chrono-featured:hover{background:var(--navy-deep);border-color:var(--gold)}
.chrono-tag{font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);margin-bottom:0.6rem;transition:color 0.3s}
.chrono-card h3{font-family:'Ibarra Real Nova',serif;font-weight:700;font-size:1rem;line-height:1.35;color:var(--navy);margin-bottom:0.5rem;flex:1;transition:color 0.3s}
.chrono-card.chrono-featured h3{font-size:1.2rem;color:#fff}
.chrono-desc{font-size:0.82rem;color:rgba(255,255,255,0.65);line-height:1.6;margin-bottom:1rem}
.chrono-desc-hover{font-size:0.80rem;color:rgba(255,255,255,0.8);line-height:1.55;max-height:0;opacity:0;overflow:hidden;transition:max-height 0.35s ease,opacity 0.35s ease,margin-bottom 0.35s ease}
.chrono-link{font-size:0.75rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:0.05em;margin-top:auto;transition:color 0.3s}
.chrono-card.chrono-featured .chrono-link{color:var(--gold)}
@media(max-width:900px){.chrono-grid{grid-template-columns:1fr 1fr}.chrono-card.chrono-featured{grid-row:span 1}}
@media(max-width:520px){.chrono-grid{grid-template-columns:1fr}}
/* RESPONSIVE */
@media(max-width:1000px){
  .services-grid{grid-template-columns:1fr 1fr}
  .insights-grid{grid-template-columns:1fr 1fr}
  .insight-main{grid-column:span 2}
  .footer-grid{grid-template-columns:1fr 1fr}
  .equipe-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .pos-grid,.outils-grid,.tr-inner,.contact-grid{grid-template-columns:1fr}
  .temoignages{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .insights-grid{grid-template-columns:1fr}
  .insight-main{grid-column:span 1}
  .footer-grid{grid-template-columns:1fr 1fr}
  .reco-inner{flex-direction:column}
  .insights-header{flex-direction:column;align-items:flex-start}
}
@media(max-width:520px){
  body{padding-top:60px}
  #hero{padding:4rem 1rem 3rem}
  .hero-title{font-size:clamp(1.7rem,8vw,2.4rem) !important;word-break:break-word}
  .hero-sub{font-size:0.95rem;padding:0 0.5rem}
  #nav{height:60px;padding:0 1rem}
  #mobile-menu{top:60px}
  #hero{padding:3rem 1.25rem}
  .hero-btns{flex-direction:column;align-items:stretch}
  .hero-btns a{text-align:center;justify-content:center}
  .hero-stats{flex-wrap:wrap}
  .hero-stat{flex:1 1 50%;border-right:none!important;border-bottom:1px solid rgba(255,255,255,0.08)}
  .hero-stat:nth-child(odd){border-right:1px solid rgba(255,255,255,0.08)!important}
  .hero-stat:nth-last-child(-n+2){border-bottom:none}
  .services-grid{grid-template-columns:1fr}
  .equipe-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .reco-badges{flex-direction:column}
  .container{padding:0 1rem}
  section{padding:3rem 1.25rem!important}
  .section-title{font-size:1.7rem!important}

  .info-inner{grid-template-columns:1fr}
  .recr-partner-link{flex-direction:column;align-items:flex-start}
  .prog-card-footer{flex-direction:column;gap:0.75rem;align-items:flex-start}
  .eb-stat-grid{grid-template-columns:1fr}
  .eb-stat-grid>div:first-child{display:block}
  .eb-stat-source{margin-top:0.9rem!important}
}

/* Bloc statistique sectoriel (paragraphe + source + graphique + image) */
.eb-stat-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:1.6rem;margin-top:1.5rem}
.eb-stat-grid>div:first-child{display:flex;flex-direction:column}
.eb-stat-grid p{margin:0 0 1.1rem}
.eb-stat-grid p:last-of-type{margin-bottom:0}
.eb-stat-source{margin-top:auto;padding-top:1.2rem;font-size:0.85rem;color:#5b6b74;border-left:3px solid var(--gold);padding-left:0.8rem}
.eb-stat-flag{background:#fff4e8;border:1px solid #e8c79a;color:#8a5a1f;font-size:0.82rem;padding:0.6rem 0.85rem;border-radius:8px;margin-top:0.7rem}
.eb-chart-card{background:#fbfaf7;border:1px solid #e4e1d8;border-radius:10px;padding:0.9rem;margin-bottom:1rem}
.eb-chart-card svg{width:100%;height:auto;display:block}
.eb-stat-img{border-radius:10px;overflow:hidden;border:1px solid #e4e1d8}
.eb-stat-img img{width:100%;height:220px;object-fit:cover;display:block}
.eb-stat-img-caption{font-size:0.75rem;color:#5b6b74;padding:0.5rem 0.7rem;background:#fbfaf7}

/* Banniere animee des pages de service (canvas + scene dediee par service) */
.svc-hero{min-height:540px;display:flex;align-items:flex-end;padding-top:calc(68px + 2rem);position:relative;overflow:hidden;background:radial-gradient(120% 90% at 65% 30%, #0f5273 0%, var(--navy) 55%, #0a3850 100%)}
.svc-hero::after{display:none}
.svc-hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.svc-hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg, rgba(8,38,52,0) 0%, rgba(8,38,52,0) 46%, rgba(8,38,52,0.55) 76%, rgba(8,38,52,0.94) 100%)}
.svc-hero-inner{position:relative;z-index:2;padding-bottom:3.25rem;width:100%}
.svc-hero .breadcrumb,.svc-hero .tag-cat{position:relative;z-index:2}
.svc-hero h1{font-family:'Ibarra Real Nova',serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:800;line-height:1.08;max-width:660px;margin:0.75rem 0 0;color:#fff;text-shadow:0 2px 24px rgba(4,18,26,0.55)}
.svc-hero-sub{font-size:clamp(1rem,1.5vw,1.25rem);color:rgba(255,255,255,0.85);max-width:560px;margin:1.1rem 0 0;line-height:1.6;text-shadow:0 1px 16px rgba(4,18,26,0.5)}
@media(max-width:640px){.svc-hero{min-height:460px}}

/* ============================================================
   BANNIERE DE PAGE FORMATION - motif mosaique, reutilisable
   Titre + phrase explicative + modalites. Aucun prix ici.
   ============================================================ */
.crs-hero{position:relative;overflow:hidden;color:#fff;padding:3.75rem 1.5rem 3.25rem;background:linear-gradient(115deg,#0a2431 0%,var(--navy) 50%,#0f4763 100%)}
.crs-hero::before{content:"";position:absolute;inset:0;background-image:url("img/mosaique-banniere.svg");background-size:cover;background-position:center right;background-repeat:no-repeat;opacity:0.9;pointer-events:none}
.crs-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(96deg,rgba(7,31,43,0.96) 0%,rgba(7,31,43,0.9) 34%,rgba(7,31,43,0.62) 58%,rgba(7,31,43,0.22) 80%,rgba(7,31,43,0.05) 100%);pointer-events:none}
.crs-hero-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto}
.crs-hero .breadcrumb{font-size:0.76rem;color:rgba(255,255,255,0.45);margin-bottom:1.6rem}
.crs-hero .breadcrumb a{color:rgba(255,255,255,0.6);text-decoration:none}
.crs-hero .breadcrumb a:hover{color:var(--gold)}
.crs-hero h1{font-family:'Ibarra Real Nova',serif;font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:800;line-height:1.09;letter-spacing:-0.015em;margin:0 0 1.15rem;max-width:800px;text-shadow:0 2px 30px rgba(4,18,26,0.5)}
.crs-hero-tagline{font-size:clamp(1rem,1.55vw,1.25rem);line-height:1.6;color:rgba(255,255,255,0.82);max-width:640px;margin:0 0 2.1rem;text-shadow:0 1px 18px rgba(4,18,26,0.45)}
.crs-hero-modes{display:flex;flex-wrap:wrap;gap:0.6rem}
.crs-mode{display:inline-flex;align-items:center;gap:0.55rem;padding:0.62rem 1.15rem;border:1px solid rgba(255,255,255,0.3);background:rgba(255,255,255,0.07);font-size:0.82rem;font-weight:600;letter-spacing:0.02em;color:rgba(255,255,255,0.93)}
.crs-mode svg{width:17px;height:17px;flex-shrink:0;color:var(--gold)}
@media(max-width:760px){.crs-hero{padding:2.6rem 1.5rem 2.4rem}.crs-hero::before{opacity:0.45}}

/* Bandeau des informations pratiques, sous la banniere */
.crs-facts{background:#fff;border-bottom:1px solid #e8ecf0}
.crs-facts-inner{max-width:1180px;margin:0 auto;padding:1.4rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2.75rem}
.crs-fact{display:flex;flex-direction:column;gap:0.15rem}
.crs-fact .lbl{font-size:0.67rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--gray6)}
.crs-fact .val{font-family:'Ibarra Real Nova',serif;font-size:1.05rem;font-weight:700;color:var(--navy)}
.crs-facts-cta{margin-left:auto;display:flex;gap:0.75rem;flex-wrap:wrap;align-items:center}
.crs-facts-cta .btn-ghost{padding:0.72rem 1.25rem;font-size:0.8rem;font-weight:600;color:var(--navy);border:1px solid var(--gray2);text-decoration:none;white-space:nowrap}
.crs-facts-cta .btn-ghost:hover{border-color:var(--gold)}
@media(max-width:760px){.crs-facts-cta{margin-left:0;width:100%}}

/* --- Composants de page formation (partages) --- */
/* Sommaire de la formation (sticky, sous le sous-nav) */
.crs-quicknav{position:sticky;top:117px;z-index:80;background:#fff;border-bottom:1px solid #e8ecf0;box-shadow:0 2px 10px rgba(1,46,74,0.04)}
.crs-quicknav-inner{max-width:1180px;margin:0 auto;padding:0 1.5rem;display:flex;gap:0.25rem;overflow-x:auto;scrollbar-width:none}
.crs-quicknav-inner::-webkit-scrollbar{display:none}
.crs-quicknav a{flex-shrink:0;padding:0.85rem 0.9rem;font-size:0.76rem;font-weight:600;letter-spacing:0.02em;color:var(--gray6);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.crs-quicknav a:hover,.crs-quicknav a.active{color:var(--navy);border-bottom-color:var(--gold)}
/* Accroche, sous le bandeau d'informations */
.crs-accroche p{font-size:1rem;line-height:1.8;color:var(--gray6);margin-bottom:1rem}
.crs-accroche p:last-child{margin-bottom:0}
/* Programme */
.crs-phase{margin-bottom:2.25rem}
.crs-phase-label{display:inline-block;font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:0.9rem}
.crs-module{border-top:1px solid var(--gray2);padding:1.4rem 0}
.crs-module:first-child{border-top:none}
.crs-module h4{font-family:'Ibarra Real Nova',serif;font-size:1.02rem;color:var(--navy);margin-bottom:0.6rem}
.crs-module ul{margin:0 0 0.75rem 1.1rem;padding:0}
.crs-module li{font-size:0.86rem;color:var(--gray6);line-height:1.6;margin-bottom:0.3rem}
.crs-situation{background:var(--gray1);padding:0.9rem 1.1rem;font-size:0.8rem;color:var(--gray6);font-style:italic}
/* Objectifs */
.crs-obj-list{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem 1.5rem}
@media(max-width:700px){.crs-obj-list{grid-template-columns:1fr}}
.crs-obj-item{display:flex;gap:0.75rem;align-items:flex-start;font-size:0.92rem;color:var(--gray7,var(--gray6));line-height:1.6}
.crs-obj-item .chk{flex-shrink:0;width:20px;height:20px;border:2px solid var(--gold);color:var(--gold-dark);display:flex;align-items:center;justify-content:center;font-size:0.7rem;font-weight:900;margin-top:0.15rem}
.crs-testi-empty{border:1px dashed var(--gray2);padding:2rem;text-align:center;color:var(--gray6);font-size:0.88rem}
/* Sessions */
.crs-session-table{width:100%;border-collapse:collapse}
.crs-session-table th{text-align:left;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--gray6);padding:0 0.75rem 0.75rem;border-bottom:1px solid var(--gray2)}
.crs-session-table td{padding:1rem 0.75rem;border-bottom:1px solid var(--gray2);font-size:0.87rem;vertical-align:middle}
.crs-session-table tr:last-child td{border-bottom:none}
.crs-etat{display:inline-block;font-size:0.72rem;font-weight:700;padding:0.25rem 0.6rem}
.crs-etat.dispo{background:#e6f4ea;color:#1f7a3a}
.crs-etat.dernieres{background:#fdf1de;color:var(--gold-dark)}
.crs-session-table .btn-gold{padding:0.5rem 1rem;font-size:0.78rem;white-space:nowrap}
@media(max-width:760px){.crs-session-table thead{display:none}.crs-session-table,.crs-session-table tbody,.crs-session-table tr,.crs-session-table td{display:block;width:100%}.crs-session-table tr{padding:1rem 0;border-bottom:1px solid var(--gray2)}.crs-session-table td{border-bottom:none;padding:0.2rem 0}}
/* Formations similaires */
.crs-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
@media(max-width:900px){.crs-related-grid{grid-template-columns:1fr}}
.crs-related-card{display:block;background:#fff;border:1px solid #e8ecf0;padding:1.5rem;text-decoration:none}
.crs-related-card:hover{border-color:var(--gold)}
.crs-related-card h4{font-family:'Ibarra Real Nova',serif;font-size:1rem;color:var(--navy);margin-bottom:0.4rem}
.crs-related-card p{font-size:0.8rem;color:var(--gray6);line-height:1.55}

/* --- Motifs de banniere par formation --- */
.crs-hero--leadership::before{background-image:url("img/mosaique-leadership-inclusif.svg")}
.crs-hero--adn::before{background-image:url("img/mosaique-atelier-adn.svg")}
/* Bannieres des pages Domaine (services/domaines/*) : meme format mosaique
   moderne que les fiches de formation, mais une couleur dominante differente
   par domaine pour les distinguer, toujours dans la palette de marque. */
.crs-hero--domaine-coaching::before{background-image:url("img/mosaique-domaine-coaching.svg?v=4")}


/* ============================================================
   NAVBAR FORMATION : menus deroulants Domaines / Solutions
   et barre de recherche des formations.
   ============================================================ */
.svc-subnav .gnav-btn{padding:0.9rem 0.9rem;font-size:0.78rem;font-weight:600;color:var(--gray6);border-bottom:2px solid transparent;border-radius:0;background:none}
.svc-subnav .gnav-btn:hover,.svc-subnav .gnav-btn.open{background:none;color:var(--navy);border-bottom-color:var(--gold)}
.svc-subnav .gnav-btn svg{width:8px;height:8px}


.svc-subnav-search{position:relative;margin-left:auto;flex-shrink:0;width:230px}
.svc-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--gray6);pointer-events:none}
.svc-search-input{width:100%;padding:0.55rem 0.7rem 0.55rem 2rem;font-size:0.78rem;border:1px solid var(--gray2);background:var(--gray1);color:var(--navy);font-family:'Space Grotesk',sans-serif;border-radius:0}
.svc-search-input:focus{outline:none;border-color:var(--gold);background:#fff}
.svc-search-input::placeholder{color:var(--gray6)}
.svc-search-results{display:none;position:absolute;top:100%;right:0;left:0;margin-top:0.5rem;background:#fff;border:1px solid #e8ecf0;box-shadow:0 16px 40px rgba(1,46,74,0.14);max-height:340px;overflow-y:auto;z-index:950;text-align:left}
.svc-search-results.open{display:block}
.svc-search-result{display:block;padding:0.65rem 0.9rem;text-decoration:none;color:var(--navy);font-size:0.82rem;font-weight:600;border-bottom:1px solid var(--gray1)}
.svc-search-result:last-child{border-bottom:none}
.svc-search-result:hover{background:var(--gray1);color:var(--gold-dark)}
.svc-search-empty{padding:0.9rem;font-size:0.8rem;color:var(--gray6)}
@media(max-width:1080px){.svc-subnav-search{width:190px}}
@media(max-width:860px){.svc-subnav-search{display:none}}


/* Domaines / Solutions : le panneau se deroule SOUS la barre Formation
   (118px), qui reste visible, plutot que sous le megamenu principal
   (68px) ou il la recouvrirait. */
.gnav-mega.below-subnav{top:118px;max-height:calc(100vh - 118px)}
.gnav-mega-overlay.below-subnav{top:118px}

/* Sous-navigation Formation : entree animee a chaque chargement de page. */
@keyframes svcSubnavIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.svc-subnav{animation:svcSubnavIn 0.45s cubic-bezier(0.2,0.7,0.3,1) both}
@media(prefers-reduced-motion:reduce){.svc-subnav{animation:none}}

/* Grande barre de recherche, utilisee dans le hero de la page Domaines. */
.svc-hero-search{position:relative;max-width:520px;margin-top:1.75rem}
.svc-hero-search .svc-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--gray6)}
.svc-hero-search .svc-search-input{width:100%;padding:1rem 1.1rem 1rem 2.9rem;font-size:0.95rem;border:1px solid transparent;background:#fff;color:var(--navy);border-radius:0;box-shadow:0 10px 30px rgba(1,20,35,0.18)}
.svc-hero-search .svc-search-input:focus{outline:none;box-shadow:0 10px 30px rgba(1,20,35,0.24),0 0 0 2px var(--gold)}
.svc-hero-search .svc-search-results{left:0;right:0;text-align:left}


/* Grille des domaines de formation (page d'accueil Formation + hub Domaines) */
.domain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.domain-card{display:block;background:#fff;border:1px solid #e8ecf0;border-left:3px solid var(--navy);padding:1.5rem 1.5rem;text-decoration:none;transition:border-color 0.15s,box-shadow 0.15s,transform 0.15s}
.domain-card:hover{border-left-color:var(--gold);box-shadow:0 10px 28px rgba(1,46,74,0.08);transform:translateY(-2px)}
.domain-card h4{font-family:'Ibarra Real Nova',serif;font-size:1.02rem;color:var(--navy);margin-bottom:0.4rem}
.domain-card p{font-size:0.8rem;color:var(--gray6);line-height:1.55}
@media(max-width:900px){.domain-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.domain-grid{grid-template-columns:1fr}}


/* Page Domaines : panneau sombre, recherche + liste alphabetique sans description. */
.domaines-panel{background:var(--navy);padding:2.5rem}
.domaines-panel > label{display:block;font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.68)}
.domaines-panel .svc-search-input{border:none}
.domaines-list{columns:3;column-gap:2.5rem;margin-top:2.25rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.14)}
.domaines-list a{display:flex;align-items:center;gap:0.6rem;padding:0.6rem 0;color:#fff;text-decoration:none;font-size:0.92rem;font-weight:500;border-bottom:1px solid rgba(255,255,255,0.1);break-inside:avoid}
.domaines-list a:hover{color:var(--gold)}
.domaines-list a svg{width:9px;height:13px;flex-shrink:0;color:var(--gold)}
@media(max-width:860px){.domaines-list{columns:2}}
@media(max-width:560px){.domaines-list{columns:1}.domaines-panel{padding:1.75rem}}
