/* ================================================================
   MEV 2.0 — HEADER CONTEXTUEL · PRODUCTION CANDIDATE · 2026-08-24
   Port des valeurs mesurées depuis la maquette ; ce fichier n'est pas
   mev-header.css et n'enqueuie aucun artefact de banc.
   Seuils : navigation 1023 · hauteur/signe 768 · micro-mobile 400.
   ================================================================ */

#site-navigation,
#site-navigation *{box-sizing:border-box}

#site-navigation{
  --mev-beige-01:#F9F9EF;
  --mev-rouge:#FD0600;
  --mev-rouge-2:#F85453;
  --mev-noir:#000000;
  --mev-head-h:78px;
  --mev-logo-h:42px;
  --mev-cible:44px;
  --mev-grid:1240px;
  --mev-nav-marge:34px;
  --mev-nav-gouttiere:10px;
  --mev-font:"General Sans",-apple-system,"Helvetica Neue",Arial,sans-serif;

  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  height:var(--mev-head-h);
  padding:0 5vw;
  margin:0 !important;
  background:var(--mev-beige-01) !important;
  border-bottom:1px solid var(--mev-noir);
  font-family:var(--mev-font);
  overflow:visible;
}

/* Contrat de repli Hero sans JavaScript : le moteur JS mesure ensuite la
   position réelle. Aucun octet du Hero Engine n'est modifié ici. */
.mev-hero{--mev-header:78px}

#site-navigation .inside-navigation{
  width:100%;
  max-width:var(--mev-grid);
  height:100%;
  margin:0 auto;
  padding:0 !important;
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
}

/* Signe M — tracé identique à la maquette de référence. */
#site-navigation .mev-head-logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  height:var(--mev-logo-h);
  line-height:1;
}
#site-navigation .mev-head-logo svg{
  display:block;
  width:auto;
  height:100%;
}

/* Navigation native GeneratePress, filtrée par famille en PHP. */
#site-navigation .main-nav{
  flex:0 0 auto;
  height:100%;
  margin-left:var(--mev-nav-marge);
}
#site-navigation .main-nav > ul{
  display:flex;
  align-items:stretch;
  height:100%;
  margin:0;
  padding:0;
  gap:0;
}
#site-navigation .main-nav > ul > li{
  display:flex;
  align-items:stretch;
  float:none;
}
#site-navigation .main-nav > ul > li > a{
  position:relative;
  display:flex;
  align-items:center;
  height:100%;
  padding:0 var(--mev-nav-gouttiere);
  font-family:var(--mev-font);
  font-size:13px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:-.005em;
  color:var(--mev-noir) !important;
  background:transparent !important;
  text-decoration:none;
  white-space:nowrap;
}
#site-navigation .main-nav > ul > li.current-menu-item > a,
#site-navigation .main-nav > ul > li > a[aria-current="page"]{
  box-shadow:inset 0 -3px 0 var(--mev-rouge);
}
#site-navigation .main-nav > ul > li:not(.current-menu-item) > a:hover::before,
#site-navigation .main-nav > ul > li:not(.current-menu-item) > a:focus-visible::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--mev-rouge);
}
#site-navigation a:focus-visible,
#site-navigation button:focus-visible,
#site-navigation summary:focus-visible{
  outline:2px solid var(--mev-noir);
  outline-offset:2px;
}

/* FAQ + Contact : constantes hors fratrie. */
#site-navigation .menu-bar-items{
  display:flex;
  align-items:center;
  align-self:stretch;
  flex:0 0 auto;
  height:100%;
  margin-left:auto;
}
#site-navigation .mev-head-const{
  position:relative;
  display:flex;
  align-items:center;
  align-self:stretch;
  padding-left:20px;
  padding-right:0;
  font-family:var(--mev-font);
  font-size:13px;
  line-height:1.2;
  color:var(--mev-noir) !important;
  text-decoration:none;
  white-space:nowrap;
  background:transparent !important;
}
#site-navigation .mev-head-const--contact{
  margin-right:20px;
  padding-left:18px;
}
#site-navigation .mev-head-const::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:14px;
  background:rgba(0,0,0,.28);
}
#site-navigation .mev-head-const:hover{color:var(--mev-rouge) !important}
#site-navigation .mev-head-const[aria-current="page"]{
  box-shadow:inset 0 -3px 0 var(--mev-rouge);
}

/* Les constantes du registre restent dans le UL uniquement pour le mobile. */
#site-navigation .main-nav > ul > li.mev-menu-mobile-constant{display:none}

/* Sélecteur de langue natif sans JS spécifique : details/summary. */
#site-navigation .mev-head-lang{
  position:relative;
  flex:0 0 auto;
  font-family:var(--mev-font);
  font-size:12px;
  line-height:1.2;
  letter-spacing:.06em;
  color:var(--mev-noir);
}
#site-navigation .mev-head-lang summary{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:var(--mev-cible);
  padding:0 1.25px;
  cursor:pointer;
  list-style:none;
  text-transform:uppercase;
  color:var(--mev-noir);
}
#site-navigation .mev-head-lang summary::-webkit-details-marker{display:none}
#site-navigation .mev-head-lang summary::after{
  content:"";
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid var(--mev-noir);
  margin-top:1px;
}
#site-navigation .mev-head-lang[open] summary::after{transform:rotate(180deg)}
#site-navigation .mev-head-lang ul{
  position:absolute;
  right:0;
  left:auto;
  top:100%;
  z-index:1002;
  min-width:120px;
  max-height:min(58svh,468px);
  margin:10px 0 0;
  padding:4px 0;
  overflow-y:auto;
  overscroll-behavior:contain;
  list-style:none;
  background:var(--mev-beige-01);
  border:1px solid var(--mev-noir);
}
#site-navigation .mev-head-lang li{margin:0;padding:0}
#site-navigation .mev-head-lang li a{
  display:flex;
  align-items:center;
  min-height:var(--mev-cible);
  padding:0 14px;
  font-family:var(--mev-font);
  font-size:12px;
  letter-spacing:0;
  color:var(--mev-noir) !important;
  text-decoration:none;
  white-space:nowrap;
  background:transparent !important;
}
#site-navigation .mev-head-lang li a[dir="rtl"]{justify-content:flex-end}
#site-navigation .mev-head-lang li a:hover,
#site-navigation .mev-head-lang li a:focus-visible{background:var(--mev-rouge) !important}

/* Toggle GeneratePress : texte Menu seul. */
#site-navigation .menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-height:var(--mev-cible);
  margin:0 0 0 var(--mev-nav-marge);
  padding:0 var(--mev-nav-gouttiere);
  border:0;
  background:transparent !important;
  color:var(--mev-noir) !important;
  font-family:var(--mev-font);
  font-size:12px;
  font-weight:400;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#site-navigation .menu-toggle .gp-icon{display:none}
#site-navigation .menu-toggle .mobile-menu{display:inline}

/* RTL : même architecture, miroir du flux ; panneau langue toujours ancré à droite. */
[dir="rtl"] #site-navigation .inside-navigation{flex-direction:row-reverse}
[dir="rtl"] #site-navigation .main-nav{margin-left:0;margin-right:var(--mev-nav-marge)}
[dir="rtl"] #site-navigation .menu-bar-items{margin-left:0;margin-right:auto}
[dir="rtl"] #site-navigation .mev-head-lang ul{right:0;left:auto}

/* 1023 : navigation à plat -> Menu. Hauteur et signe NE changent PAS ici. */
@media (max-width:1023px){
  #site-navigation .inside-navigation{
    position:relative;
  }

  #site-navigation .menu-toggle{
    display:flex !important;
    position:absolute !important;
    left:50%;
    transform:translateX(-50%);
    z-index:2;
    min-width:72px;
    margin:0 !important;
    padding:0 12px !important;
    font-size:16px;
    font-weight:700 !important;
    letter-spacing:.08em;
  }

  #site-navigation .menu-bar-items{
    margin-left:auto;
  }

  #site-navigation .mev-head-const{
    display:none;
  }

  #site-navigation .main-nav{
    display:none;
    position:fixed;
    left:0;
    right:0;
    top:var(--mev-head-h);
    bottom:0;
    z-index:999;
    width:100%;
    height:auto;
    margin:0;
    padding:8px 5vw 40px;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:var(--mev-beige-01);
  }

  #site-navigation.toggled .main-nav{display:block}

  #site-navigation .main-nav > ul{
    display:block;
    width:100%;
    height:auto;
    margin:0;
    padding:0;
  }

  #site-navigation .main-nav > ul > li,
  #site-navigation .main-nav > ul > li.mev-menu-mobile-constant{
    display:block !important;
    width:100%;
    height:auto;
  }

  /* Pages à navigation contextuelle : le panneau mobile expose explicitement
     la famille avant les constantes transversales. */
  body:is(.mev-family-governance,.mev-family-sectors,.mev-family-case-studies,.mev-family-assistance,.mev-family-legal,.mev-family-contact) #site-navigation .main-nav::before{
    display:block;
    margin:8px 0 14px;
    padding:0 0 12px;
    border-bottom:1px solid rgba(0,0,0,.28);
    color:rgba(0,0,0,.55);
    font-family:var(--mev-font);
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  html[lang^="fr"] body.mev-family-governance #site-navigation .main-nav::before{content:"Gouvernance"}
  html[lang^="fr"] body.mev-family-sectors #site-navigation .main-nav::before{content:"Secteurs"}
  html[lang^="fr"] body.mev-family-case-studies #site-navigation .main-nav::before{content:"Études de cas"}
  html[lang^="fr"] body.mev-family-assistance #site-navigation .main-nav::before{content:"Assistance"}
  html[lang^="fr"] body.mev-family-legal #site-navigation .main-nav::before{content:"Juridique"}
  html[lang^="fr"] body.mev-family-contact #site-navigation .main-nav::before{content:"Contact"}
  html[lang^="en"] body.mev-family-governance #site-navigation .main-nav::before{content:"Governance"}
  html[lang^="en"] body.mev-family-sectors #site-navigation .main-nav::before{content:"Sectors"}
  html[lang^="en"] body.mev-family-case-studies #site-navigation .main-nav::before{content:"Case studies"}
  html[lang^="en"] body.mev-family-assistance #site-navigation .main-nav::before{content:"Support"}
  html[lang^="en"] body.mev-family-legal #site-navigation .main-nav::before{content:"Legal"}
  html[lang^="en"] body.mev-family-contact #site-navigation .main-nav::before{content:"Contact"}

  #site-navigation .main-nav > ul > li > a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:56px;
    height:auto;
    padding:0;
    font-size:16px;
    line-height:1.25;
    border-bottom:1px solid rgba(0,0,0,.14);
    box-shadow:none;
  }

  #site-navigation .main-nav > ul > li.current-menu-item > a,
  #site-navigation .main-nav > ul > li > a[aria-current="page"]{
    padding-left:14px;
    box-shadow:inset 3px 0 0 var(--mev-rouge);
  }

  #site-navigation .main-nav > ul > li:not(.current-menu-item) > a:hover::before,
  #site-navigation .main-nav > ul > li:not(.current-menu-item) > a:focus-visible::before{
    display:none;
  }

  #site-navigation .main-nav > ul > li.mev-key-faq{
    margin-top:26px;
    padding-top:18px;
    border-top:1px solid rgba(0,0,0,.22);
  }
  body:is(.mev-family-governance,.mev-family-sectors,.mev-family-case-studies,.mev-family-assistance,.mev-family-legal,.mev-family-contact) #site-navigation .main-nav > ul > li.mev-key-about{
    margin-top:26px;
    padding-top:18px;
    border-top:1px solid rgba(0,0,0,.22);
  }
  body:is(.mev-family-governance,.mev-family-sectors,.mev-family-case-studies,.mev-family-assistance,.mev-family-legal,.mev-family-contact) #site-navigation .main-nav > ul > li.mev-key-faq{
    margin-top:0;
    padding-top:0;
    border-top:0;
  }

  #site-navigation .main-nav > ul > li.mev-menu-mobile-constant > a{
    font-size:15px;
    border-bottom:0;
  }

  body:has(#site-navigation.toggled){overflow:hidden}

  [dir="rtl"] #site-navigation .menu-toggle{
    margin-left:0;
    margin-right:var(--mev-nav-marge);
  }
  [dir="rtl"] #site-navigation .menu-bar-items{
    margin-left:0;
    margin-right:auto;
  }
  [dir="rtl"] #site-navigation .main-nav > ul > li.current-menu-item > a,
  [dir="rtl"] #site-navigation .main-nav > ul > li > a[aria-current="page"]{
    padding-left:0;
    padding-right:14px;
    box-shadow:inset -3px 0 0 var(--mev-rouge);
  }
}

/* 768 : hauteur et signe seulement. */
@media (max-width:768px){
  #site-navigation{
    --mev-head-h:64px;
    --mev-logo-h:31px;
  }
  .mev-hero{--mev-header:64px}
}

/* 400 : micro-mobile seulement — gouttière et marge du bouton Menu. */
@media (max-width:400px){
  #site-navigation .menu-toggle{
    margin-left:22px;
    padding-left:6px;
    padding-right:6px;
  }
  [dir="rtl"] #site-navigation .menu-toggle{
    margin-left:0;
    margin-right:22px;
  }
}

/* ================================================================
   QA ÉRIC 24/08 — lisibilité, états actifs, langue, sticky.
   Ces règles ne touchent que le draft Header.
   ================================================================ */

/* 1 · Typographie desktop : plus lisible, sans gonfler la structure. */
@media (min-width:1024px){
  #site-navigation .main-nav > ul > li > a,
  #site-navigation .mev-head-const{
    font-size:clamp(15px,1.1vw,16px);
    font-weight:400;
    font-style:normal !important;
    letter-spacing:0;
  }
  #site-navigation .main-nav > ul > li > a{
    padding-left:4px;
    padding-right:4px;
  }
}

/* 2 · Un seul langage d'état : rouge. Neutralise le soulignement noir global 911. */
#site-navigation .main-nav > ul > li > a,
#site-navigation .main-nav > ul > li > a:hover,
#site-navigation .main-nav > ul > li > a:focus,
#site-navigation .main-nav > ul > li.current-menu-item > a,
#site-navigation .mev-head-const,
#site-navigation .mev-head-const:hover,
#site-navigation .mev-head-const:focus,
#site-navigation .menu-toggle,
#site-navigation .mev-head-lang summary,
#site-navigation .mev-head-lang a{
  text-decoration:none !important;
  color:var(--mev-noir) !important;
  font-style:normal !important;
}
#site-navigation .main-nav > ul > li.current-menu-item > a,
#site-navigation .main-nav > ul > li > a[aria-current="page"]{
  box-shadow:inset 0 -5px 0 var(--mev-rouge) !important;
}
#site-navigation .mev-head-const[aria-current="page"]{
  box-shadow:none !important;
}
#site-navigation .mev-head-const[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:0;
  height:5px;
  background:var(--mev-rouge);
}
#site-navigation .main-nav > ul > li:not(.current-menu-item) > a:hover::before,
#site-navigation .main-nav > ul > li:not(.current-menu-item) > a:focus-visible::before,
#site-navigation .mev-head-const:hover::after,
#site-navigation .mev-head-const:focus-visible::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:0;
  height:3px;
  background:var(--mev-rouge);
}
#site-navigation a:focus:not(:focus-visible),
#site-navigation button:focus:not(:focus-visible),
#site-navigation summary:focus:not(:focus-visible){outline:none}
#site-navigation a:focus-visible,
#site-navigation button:focus-visible,
#site-navigation summary:focus-visible{
  outline:2px solid var(--mev-turquoise,#76FFCC);
  outline-offset:2px;
}

/* 3 · Groupe droit : un seul séparateur, puis boîtes symétriques et alignées. */
#site-navigation .menu-bar-items{
  position:relative;
  padding-left:24px;
}
#site-navigation .menu-bar-items::before{
  display:none!important;
}
#site-navigation .mev-head-const{
  justify-content:center;
  padding-left:12px !important;
  padding-right:12px !important;
}
#site-navigation .mev-head-const::before{display:none !important}
#site-navigation .mev-head-const--contact{
  margin-right:10px;
}

/* Petits séparateurs entre les entrées principales, sans ajouter de largeur. */
@media (min-width:1024px){
  #site-navigation .main-nav > ul > li{position:relative}
  #site-navigation .main-nav > ul > li + li::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:1px;
    height:22px;
    transform:translateY(-50%);
    background:rgba(0,0,0,.42);
    pointer-events:none;
  }
  body.mev-family-home #site-navigation .main-nav > ul > li > a{
    padding-left:8px;
    padding-right:8px;
  }
  /* Aucun séparateur terminal après le dernier item visible du menu principal. */
  #site-navigation .main-nav > ul > li.mev-key-about,
  #site-navigation .main-nav > ul > li.mev-key-about > a,
  #site-navigation .main-nav,
  #site-navigation .main-nav > ul{
    border-right:0!important;
  }
  #site-navigation .main-nav > ul > li.mev-key-about::after,
  #site-navigation .main-nav::after,
  #site-navigation .main-nav > ul::after{
    display:none!important;
    content:none!important;
  }
}

/* 4 · Langues : contrôle plus visible, panneau autonome sans casser la géométrie. */
#site-navigation .mev-head-lang{
  width:44px;
  align-self:stretch;
}
#site-navigation .mev-head-lang summary{
  width:44px;
  height:100%;
  justify-content:center;
  padding:0;
  font-size:15px;
  line-height:1;
}
#site-navigation .mev-head-lang > ul{
  display:none !important;
  position:fixed !important;
  top:var(--mev-head-h) !important;
  right:max(5vw,calc((100vw - var(--mev-grid))/2)) !important;
  left:auto !important;
  width:132px !important;
  min-width:132px !important;
  max-width:132px !important;
  margin:0 !important;
  padding:4px 0 !important;
  background:var(--mev-beige-01) !important;
  border:1px solid var(--mev-noir) !important;
  box-shadow:none !important;
  overflow:visible;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  transform:none !important;
  z-index:1200;
}
#site-navigation .mev-head-lang[open] > ul{display:block !important}
#site-navigation .mev-head-lang > ul > li{
  display:block !important;
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
#site-navigation .mev-head-lang > ul > li > a{
  position:relative;
  display:flex !important;
  align-items:center;
  width:100% !important;
  min-height:40px;
  padding:0 12px !important;
  color:var(--mev-noir) !important;
  background:var(--mev-beige-01) !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:400;
  font-style:normal !important;
}
#site-navigation .mev-head-lang > ul > li > a[aria-current="page"]{
  color:var(--mev-rouge) !important;
  background:var(--mev-beige-01) !important;
  box-shadow:inset 4px 0 0 var(--mev-rouge) !important;
}
#site-navigation .mev-head-lang > ul:has(> li > a:hover) > li > a[aria-current="page"]:not(:hover),
#site-navigation .mev-head-lang > ul:has(> li > a:focus-visible) > li > a[aria-current="page"]:not(:focus-visible){
  color:var(--mev-noir) !important;
  box-shadow:none !important;
}
#site-navigation .mev-head-lang > ul > li > a:hover,
#site-navigation .mev-head-lang > ul > li > a:focus-visible{
  color:var(--mev-rouge) !important;
  background:var(--mev-beige-01) !important;
  box-shadow:inset 4px 0 0 var(--mev-rouge) !important;
}

/* 5 · Sticky en session connectée : ne passe jamais sous la barre admin WP. */
body.admin-bar #site-navigation{top:32px}
body.admin-bar #site-navigation .mev-head-lang > ul{top:calc(var(--mev-head-h) + 32px) !important}
@media screen and (max-width:782px){
  body.admin-bar #site-navigation{top:46px}
  body.admin-bar #site-navigation .mev-head-lang > ul{top:calc(var(--mev-head-h) + 46px) !important}
}

/* 6 · Mobile : l'actif reste rouge et les langues restent accessibles. */
@media (max-width:1023px){
  #site-navigation .main-nav > ul > li.current-menu-item > a,
  #site-navigation .main-nav > ul > li > a[aria-current="page"],
  #site-navigation .main-nav > ul > li > a:hover,
  #site-navigation .main-nav > ul > li > a:focus-visible,
  #site-navigation .main-nav > ul > li > a:active{
    box-shadow:none !important;
    padding-left:0 !important;
    text-decoration:none !important;
    color:var(--mev-rouge) !important;
  }
  #site-navigation .main-nav > ul > li.current-menu-item > a::after,
  #site-navigation .main-nav > ul > li > a[aria-current="page"]::after,
  #site-navigation .main-nav > ul > li > a:hover::after,
  #site-navigation .main-nav > ul > li > a:focus-visible::after,
  #site-navigation .main-nav > ul > li > a:active::after{
    content:"";
    display:block;
    flex:0 0 3px;
    width:3px;
    height:16px;
    margin-left:10px;
    background:var(--mev-rouge);
  }
  #site-navigation .main-nav > ul > li > a:hover::before,
  #site-navigation .main-nav > ul > li > a:focus-visible::before{
    display:none !important;
  }
  [dir="rtl"] #site-navigation .main-nav > ul > li.current-menu-item > a::after,
  [dir="rtl"] #site-navigation .main-nav > ul > li > a[aria-current="page"]::after,
  [dir="rtl"] #site-navigation .main-nav > ul > li > a:hover::after,
  [dir="rtl"] #site-navigation .main-nav > ul > li > a:focus-visible::after,
  [dir="rtl"] #site-navigation .main-nav > ul > li > a:active::after{
    margin-left:0;
    margin-right:10px;
  }
  #site-navigation .mev-head-lang > ul{
    top:var(--mev-head-h) !important;
    right:5vw !important;
  }
}

/* MEV2 HEADER V1 — TYPOGRAPHIE NAVIGATION — VALIDÉE CURRENT — 2026-08-31
   Validation humaine Éric : navigation desktop et mobile 500 droit ; petites étiquettes fonctionnelles seules plus affirmées.
   GeneratePress associe par erreur le poids General Sans 500 à GeneralSans-MediumItalic.woff2.
   Le header utilise donc une famille upright dédiée fondée sur le vrai Regular droit ;
   le navigateur synthétise le poids 500 sans incliner les glyphes.
   - navigation mobile : 500 upright synthétique ;
   - navigation desktop : 500 upright synthétique ;
   - petites étiquettes de famille uniquement : poids plus affirmé.
   Le logo M n'est jamais sacrifié et les libellés métier ne sont jamais raccourcis pour tenir. */
@font-face{
  font-family:"General Sans MEV Upright";
  src:url("https://v2.musiceyeview.com/wp-content/uploads/generatepress/fonts/general-sans/GeneralSans-Regular.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
#site-navigation .main-nav > ul > li > a,
#site-navigation .mev-head-const,
#site-navigation .menu-toggle,
#site-navigation .mev-head-lang summary,
#site-navigation .mev-head-lang li a{
  font-weight:700!important;
  font-style:normal!important;
  font-synthesis:none;
  font-variation-settings:"ital" 0,"slnt" 0;
}

@media (min-width:1024px){
  #site-navigation .main-nav > ul > li > a,
  #site-navigation .mev-head-const,
  #site-navigation .menu-toggle,
  #site-navigation .mev-head-lang summary,
  #site-navigation .mev-head-lang li a{
    font-family:"General Sans MEV Upright",var(--gp-font--general-sans)!important;
    font-weight:500!important;
    font-style:normal!important;
    font-synthesis:weight!important;
    font-variation-settings:normal!important;
  }
}

@media (min-width:1024px) and (max-width:1199px){
  body.mev-family-sectors #site-navigation .main-nav > ul > li > a,
  body.mev-family-sectors #site-navigation .menu-toggle{
    font-weight:700!important;
  }
}

/* 31/08 — Les cinq libellés Secteurs restent explicites : entre 1024 et 1199,
   cette famille conserve le même panneau vertical que le mobile au lieu de
   compresser la typographie. Les autres familles gardent le seuil 1023/1024. */
@media (min-width:1024px) and (max-width:1199px){
  body.mev-family-sectors #site-navigation .inside-navigation{position:relative}
  body.mev-family-sectors #site-navigation .menu-toggle{
    display:flex!important;position:absolute!important;left:50%;transform:translateX(-50%);
    z-index:2;min-width:72px;margin:0!important;padding:0 12px!important;
    font-size:16px;font-weight:700!important;letter-spacing:.08em
  }
  body.mev-family-sectors #site-navigation .menu-bar-items{margin-left:auto}
  body.mev-family-sectors #site-navigation .mev-head-const{display:none}
  body.mev-family-sectors #site-navigation .main-nav{
    display:none;position:fixed;left:0;right:0;top:var(--mev-head-h);bottom:0;
    z-index:999;width:100%;height:auto;margin:0;padding:8px 5vw 40px;
    overflow-y:auto;overscroll-behavior:contain;background:var(--mev-beige-01)
  }
  body.mev-family-sectors #site-navigation.toggled .main-nav{display:block}
  body.mev-family-sectors #site-navigation .main-nav>ul{display:block;width:100%;height:auto;margin:0;padding:0}
  body.mev-family-sectors #site-navigation .main-nav>ul>li,
  body.mev-family-sectors #site-navigation .main-nav>ul>li.mev-menu-mobile-constant{display:block!important;width:100%;height:auto}
  body.mev-family-sectors #site-navigation .main-nav>ul>li::before{display:none!important}
  body.mev-family-sectors #site-navigation .main-nav::before{
    content:"Sectors";display:block;margin:8px 0 14px;padding:0 0 12px;
    border-bottom:1px solid rgba(0,0,0,.28);color:rgba(0,0,0,.55);
    font-family:var(--mev-font);font-size:12px;font-weight:700;line-height:1.2;
    letter-spacing:.13em;text-transform:uppercase
  }
  html[lang^="fr"] body.mev-family-sectors #site-navigation .main-nav::before{content:"Secteurs"}
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a{
    display:flex;align-items:center;width:100%;min-height:56px;height:auto;padding:0!important;
    font-size:16px;font-weight:700!important;line-height:1.25;border-bottom:1px solid rgba(0,0,0,.14);
    box-shadow:none!important
  }
  body.mev-family-sectors #site-navigation .main-nav>ul>li.current-menu-item>a,
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a[aria-current="page"],
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a:hover,
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a:focus-visible,
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a:active{
    color:var(--mev-rouge)!important;box-shadow:none!important;text-decoration:none!important
  }
  body.mev-family-sectors #site-navigation .main-nav>ul>li.current-menu-item>a::after,
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a[aria-current="page"]::after,
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a:hover::after,
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a:focus-visible::after,
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a:active::after{
    content:"";display:block;flex:0 0 3px;width:3px;height:16px;margin-left:10px;background:var(--mev-rouge)
  }
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a:hover::before,
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a:focus-visible::before{display:none!important}
  body.mev-family-sectors #site-navigation .main-nav>ul>li.mev-key-about{
    margin-top:26px;padding-top:18px;border-top:1px solid rgba(0,0,0,.22)
  }
  body.mev-family-sectors #site-navigation .main-nav>ul>li.mev-key-faq{margin-top:0;padding-top:0;border-top:0}
  body.mev-family-sectors #site-navigation .main-nav>ul>li.mev-menu-mobile-constant>a{font-size:15px;border-bottom:0}
  body.mev-family-sectors:has(#site-navigation.toggled){overflow:hidden}
}

/* 31/08 — HEADER GRIS VALIDÉ CURRENT : couche d'interface distincte du contenu.
   Fond #EFF0E9 ; filet noir et états rouges inchangés. */
#site-navigation{
  --mev-head-bg:#EFF0E9;
  background:var(--mev-head-bg)!important;
}
#site-navigation .main-nav,
#site-navigation .main-nav>ul,
#site-navigation .main-nav>ul>li,
#site-navigation .main-nav>ul>li>a,
#site-navigation .menu-bar-items,
#site-navigation .mev-head-const,
#site-navigation .menu-toggle,
#site-navigation .mev-head-lang,
#site-navigation .mev-head-lang summary{
  background:transparent!important;
}
#site-navigation .mev-head-lang>ul,
#site-navigation .mev-head-lang>ul>li>a{
  background:var(--mev-head-bg)!important;
}
@media (max-width:1023px){
  #site-navigation .main-nav{background:var(--mev-head-bg)!important}
}
@media (min-width:1024px) and (max-width:1199px){
  body.mev-family-sectors #site-navigation .main-nav{background:var(--mev-head-bg)!important}
}

/* 31/08 — REPÈRE CONTEXTUEL MOBILE FINAL.
   Le Header reste global ; cette strate indique la famille et la page courante.
   Un tap ouvre le grand MENU sur la branche correspondante : aucun second sous-menu. */
.mev-context-nav{display:none}

@media (max-width:1023px){
  /* Les liens du grand menu passent eux aussi en 500 droit ; seuls MENU,
     langue et étiquette de famille restent volontairement affirmés. */
  #site-navigation .main-nav>ul>li>a,
  #site-navigation .main-nav>ul>li.mev-menu-mobile-constant>a{
    font-family:"General Sans MEV Upright",var(--gp-font--general-sans)!important;
    font-weight:500!important;
    font-style:normal!important;
    font-synthesis:weight!important;
  }
  #site-navigation .menu-toggle,
  #site-navigation .mev-head-lang summary,
  #site-navigation .main-nav::before{font-weight:700!important}

  body:is(.mev-family-governance,.mev-family-sectors,.mev-family-case-studies,.mev-family-legal,.mev-family-contact) .mev-context-nav{
    display:block;
    position:sticky;
    top:78px;
    z-index:990;
    width:100%;
    margin:0;
    background:#EFF0E9;
    border-bottom:1px solid #000;
    font-family:"General Sans MEV Upright",var(--gp-font--general-sans);
  }
  .mev-context-nav summary{
    position:relative;
    display:grid;
    grid-template-columns:auto auto minmax(0,1fr) 18px;
    align-items:center;
    column-gap:7px;
    min-height:48px;
    padding:0 5vw;
    list-style:none;
    cursor:pointer;
    color:#000;
    background:#EFF0E9;
  }
  .mev-context-nav summary::-webkit-details-marker{display:none}
  .mev-context-nav__family{
    font-size:11px;
    font-weight:700;
    line-height:1;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(0,0,0,.52);
    white-space:nowrap;
  }
  .mev-context-nav__dot{font-size:15px;color:rgba(0,0,0,.45)}
  .mev-context-nav__current{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:14px;
    font-weight:500;
    line-height:1.2;
  }
  .mev-context-nav__chevron{
    width:8px;
    height:8px;
    justify-self:end;
    border-right:1.5px solid #000;
    border-bottom:1.5px solid #000;
    transform:rotate(45deg) translateY(-2px);
    transform-origin:center;
  }
}

@media (max-width:768px){
  body:is(.mev-family-governance,.mev-family-sectors,.mev-family-case-studies,.mev-family-legal,.mev-family-contact) .mev-context-nav{top:64px}
}

/* Les Secteurs utilisent déjà le Header replié jusqu'à 1199 : la barre locale
   reste donc visible dans ce même intervalle et les liens du panneau global sont 500. */
@media (min-width:1024px) and (max-width:1199px){
  body.mev-family-sectors .mev-context-nav{
    display:block;
    position:sticky;
    top:78px;
    z-index:990;
    width:100%;
    margin:0;
    background:#EFF0E9;
    border-bottom:1px solid #000;
    font-family:"General Sans MEV Upright",var(--gp-font--general-sans);
  }
  body.mev-family-sectors #site-navigation .main-nav>ul>li>a,
  body.mev-family-sectors #site-navigation .main-nav>ul>li.mev-menu-mobile-constant>a{
    font-family:"General Sans MEV Upright",var(--gp-font--general-sans)!important;
    font-weight:500!important;
    font-style:normal!important;
    font-synthesis:weight!important;
  }
  body.mev-family-sectors .mev-context-nav summary{
    position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr) 18px;
    align-items:center;column-gap:7px;min-height:48px;padding:0 5vw;list-style:none;cursor:pointer;background:#EFF0E9
  }
  body.mev-family-sectors .mev-context-nav summary::-webkit-details-marker{display:none}
  body.mev-family-sectors .mev-context-nav__family{font-size:11px;font-weight:700;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,0,0,.52);white-space:nowrap}
  body.mev-family-sectors .mev-context-nav__dot{font-size:15px;color:rgba(0,0,0,.45)}
  body.mev-family-sectors .mev-context-nav__current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;line-height:1.2}
  body.mev-family-sectors .mev-context-nav__chevron{width:8px;height:8px;justify-self:end;border-right:1.5px solid #000;border-bottom:1.5px solid #000;transform:rotate(45deg) translateY(-2px);transform-origin:center}
  body.mev-family-sectors .mev-context-nav[open] .mev-context-nav__chevron{transform:rotate(225deg) translate(-1px,-1px)}
  body.mev-family-sectors .mev-context-nav__panel{padding:2px 5vw 10px;background:#EFF0E9;border-top:1px solid rgba(0,0,0,.22)}
  body.mev-family-sectors .mev-context-nav__panel ul{margin:0;padding:0;list-style:none}
  body.mev-family-sectors .mev-context-nav__panel li{margin:0;padding:0;border-bottom:1px solid rgba(0,0,0,.14)}
  body.mev-family-sectors .mev-context-nav__panel li:last-child{border-bottom:0}
  body.mev-family-sectors .mev-context-nav__panel a{display:flex;align-items:center;min-height:47px;padding:0;color:#000!important;font-size:15px;font-weight:500;font-style:normal!important;line-height:1.2;text-decoration:none!important}
  body.mev-family-sectors .mev-context-nav__panel a[aria-current="page"]{color:var(--mev-rouge,#FD0600)!important}
}

/* 31/08 — NAVIGATION À DEUX NIVEAUX CURRENT CANDIDATE.
   Desktop global : trois parents à chevron ouvrent un dropdown.
   Mobile : arbre global autonome identique depuis toutes les pages.
   La barre contextuelle sous le Header reste le seul niveau local persistant. */
#site-navigation .mev-mobile-global-tree,
#site-navigation .mev-mobile-family-details,
#site-navigation .mev-mobile-family-panel,
#site-navigation .mev-desktop-family-details,
#site-navigation .mev-desktop-family-panel{display:none}

/* Desktop global : Gouvernance / Secteurs / Études de cas deviennent de vrais dropdowns. */
@media (min-width:1024px){
  #site-navigation .main-nav>ul>li.mev-key-global-governance>a,
  #site-navigation .main-nav>ul>li.mev-key-global-sectors>a,
  #site-navigation .main-nav>ul>li.mev-key-global-cases>a{display:none!important}
  #site-navigation .mev-desktop-family-details{
    display:flex;
    position:relative;
    align-items:stretch;
    height:100%;
    margin:0;
  }
  #site-navigation .mev-desktop-family-details summary{
    display:flex;
    align-items:center;
    gap:8px;
    height:100%;
    padding:0 8px;
    list-style:none;
    cursor:pointer;
    color:#000;
    background:transparent;
    font-family:"General Sans MEV Upright",var(--gp-font--general-sans)!important;
    font-size:clamp(15px,1.1vw,16px);
    font-weight:500!important;
    font-style:normal!important;
    line-height:1.2;
    white-space:nowrap;
  }
  #site-navigation .mev-desktop-family-details summary::-webkit-details-marker{display:none}
  #site-navigation .mev-family-chevron{
    flex:0 0 8px;
    width:7px;
    height:7px;
    border-right:1.25px solid #000;
    border-bottom:1.25px solid #000;
    transform:rotate(45deg) translateY(-2px);
    transform-origin:center;
    transition:transform .16s ease;
  }
  #site-navigation .mev-desktop-family-details[open] .mev-family-chevron{
    transform:rotate(225deg) translate(-1px,-1px);
  }
  #site-navigation .mev-desktop-family-panel{
    display:none;
    position:absolute;
    left:0;
    top:100%;
    z-index:1200;
    min-width:250px;
    margin:0;
    padding:4px 0;
    background:var(--mev-head-bg,#EFF0E9);
    border:1px solid #000;
  }
  #site-navigation .mev-desktop-family-details[open] .mev-desktop-family-panel{display:block}
  #site-navigation .mev-desktop-family-panel ul{
    display:block!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    float:none!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    list-style:none;
  }
  #site-navigation .mev-desktop-family-panel li{
    display:block!important;
    position:static!important;
    float:none!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  #site-navigation .mev-desktop-family-panel a{
    display:flex!important;
    align-items:center;
    min-height:42px!important;
    height:auto!important;
    padding:0 14px!important;
    color:#000!important;
    background:transparent!important;
    font-family:"General Sans MEV Upright",var(--gp-font--general-sans)!important;
    font-size:14px!important;
    font-weight:500!important;
    font-style:normal!important;
    line-height:1.2!important;
    text-decoration:none!important;
    box-shadow:none!important;
  }
  #site-navigation .mev-desktop-family-panel a:hover,
  #site-navigation .mev-desktop-family-panel a:focus-visible,
  #site-navigation .mev-desktop-family-panel a[aria-current="page"]{color:var(--mev-rouge,#FD0600)!important}
}

/* Mobile : un arbre global complet, quelle que soit la page courante. */
@media (max-width:1023px){
  #site-navigation .menu-toggle,
  #site-navigation .mev-head-lang summary,
  #site-navigation .mev-head-lang>ul>li>a,
  #site-navigation .mev-mobile-tree-list a,
  #site-navigation .mev-mobile-family-details summary{
    font-family:"General Sans MEV Upright",var(--gp-font--general-sans)!important;
    font-weight:500!important;
    font-style:normal!important;
    font-synthesis:weight!important;
  }
  #site-navigation .menu-toggle,
  #site-navigation .mev-head-lang summary{font-weight:500!important}
  body:is(.mev-family-governance,.mev-family-sectors,.mev-family-case-studies,.mev-family-assistance,.mev-family-legal,.mev-family-contact) #site-navigation .main-nav::before{display:none!important}
  #site-navigation .main-nav>ul>li:not(.mev-mobile-global-tree){display:none!important}
  #site-navigation .main-nav>ul>li.mev-mobile-global-tree{
    display:block!important;
    width:100%;
    height:auto;
    margin:0;
    padding:0;
  }
  #site-navigation .mev-mobile-tree-list{
    display:block!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    float:none!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    list-style:none;
  }
  #site-navigation .mev-mobile-tree-list>li{
    display:block!important;
    position:static!important;
    left:auto!important;
    top:auto!important;
    float:none!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }
  #site-navigation .mev-mobile-tree-direct>a,
  #site-navigation .mev-mobile-family-details summary{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:54px!important;
    height:auto!important;
    margin:0;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid rgba(0,0,0,.14)!important;
    color:#000!important;
    background:transparent!important;
    font-size:16px!important;
    line-height:1.25!important;
    text-align:left;
    text-decoration:none!important;
    list-style:none;
    box-shadow:none!important;
    cursor:pointer;
  }
  #site-navigation .mev-mobile-family-details{display:block;width:100%;margin:0;padding:0}
  #site-navigation .mev-mobile-family-details summary::-webkit-details-marker{display:none}
  #site-navigation .mev-mobile-family-details .mev-family-chevron{
    flex:0 0 9px;
    width:8px;
    height:8px;
    margin-left:18px;
    border-right:1.25px solid #000;
    border-bottom:1.25px solid #000;
    transform:rotate(45deg) translateY(-2px);
    transform-origin:center;
    transition:transform .16s ease;
  }
  #site-navigation .mev-mobile-family-details[open] .mev-family-chevron{
    transform:rotate(225deg) translate(-1px,-1px);
  }
  #site-navigation .mev-mobile-family-panel{
    display:none;
    width:100%;
    padding:4px 0 10px;
    border-bottom:1px solid rgba(0,0,0,.22);
  }
  #site-navigation .mev-mobile-family-details[open] .mev-mobile-family-panel{display:block}
  #site-navigation .mev-mobile-family-panel ul{
    display:block!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    float:none!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0 0 0 18px!important;
    list-style:none;
  }
  #site-navigation .mev-mobile-family-panel li{display:block!important;width:100%;margin:0;padding:0}
  #site-navigation .mev-mobile-family-panel a{
    display:flex!important;
    align-items:center;
    width:100%;
    min-height:44px!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    color:#000!important;
    background:transparent!important;
    font-size:15px!important;
    line-height:1.25!important;
    text-decoration:none!important;
    box-shadow:none!important;
  }
  #site-navigation .mev-mobile-tree-list a[aria-current="page"],
  #site-navigation .mev-mobile-tree-list a:hover,
  #site-navigation .mev-mobile-tree-list a:focus-visible{color:var(--mev-rouge,#FD0600)!important}
}

/* Secteurs : Header replié jusqu'à 1199px, donc même arbre global dans cet intervalle. */
@media (min-width:1024px) and (max-width:1199px){
  body.mev-family-sectors #site-navigation .menu-toggle,
  body.mev-family-sectors #site-navigation .mev-head-lang summary,
  body.mev-family-sectors #site-navigation .mev-head-lang>ul>li>a,
  body.mev-family-sectors #site-navigation .mev-mobile-tree-list a,
  body.mev-family-sectors #site-navigation .mev-mobile-family-details summary{
    font-family:"General Sans MEV Upright",var(--gp-font--general-sans)!important;
    font-weight:500!important;
    font-style:normal!important;
    font-synthesis:weight!important;
  }
  body.mev-family-sectors #site-navigation .main-nav>ul>li:not(.mev-mobile-global-tree){display:none!important}
  body.mev-family-sectors #site-navigation .main-nav>ul>li.mev-mobile-global-tree{display:block!important;width:100%;height:auto;margin:0;padding:0}
  body.mev-family-sectors #site-navigation .mev-mobile-tree-list{display:block!important;position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;float:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important;width:100%!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;list-style:none}
  body.mev-family-sectors #site-navigation .mev-mobile-tree-list>li{display:block!important;position:static!important;left:auto!important;top:auto!important;float:none!important;visibility:visible!important;opacity:1!important;width:100%!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important}
  body.mev-family-sectors #site-navigation .mev-mobile-tree-direct>a,
  body.mev-family-sectors #site-navigation .mev-mobile-family-details summary{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:54px!important;height:auto!important;margin:0;padding:0!important;border-bottom:1px solid rgba(0,0,0,.14)!important;color:#000!important;background:transparent!important;font-size:16px!important;line-height:1.25!important;text-align:left;text-decoration:none!important;list-style:none;box-shadow:none!important;cursor:pointer}
  body.mev-family-sectors #site-navigation .mev-mobile-family-details{display:block;width:100%;margin:0;padding:0}
  body.mev-family-sectors #site-navigation .mev-mobile-family-details summary::-webkit-details-marker{display:none}
  body.mev-family-sectors #site-navigation .mev-mobile-family-details .mev-family-chevron{flex:0 0 9px;width:8px;height:8px;margin-left:18px;border-right:1.25px solid #000;border-bottom:1.25px solid #000;transform:rotate(45deg) translateY(-2px);transform-origin:center;transition:transform .16s ease}
  body.mev-family-sectors #site-navigation .mev-mobile-family-details[open] .mev-family-chevron{transform:rotate(225deg) translate(-1px,-1px)}
  body.mev-family-sectors #site-navigation .mev-mobile-family-panel{display:none;width:100%;padding:4px 0 10px;border-bottom:1px solid rgba(0,0,0,.22)}
  body.mev-family-sectors #site-navigation .mev-mobile-family-details[open] .mev-mobile-family-panel{display:block}
  body.mev-family-sectors #site-navigation .mev-mobile-family-panel ul{display:block!important;position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;float:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important;width:100%!important;min-width:0!important;height:auto!important;margin:0!important;padding:0 0 0 18px!important;list-style:none}
  body.mev-family-sectors #site-navigation .mev-mobile-family-panel li{display:block!important;width:100%;margin:0;padding:0}
  body.mev-family-sectors #site-navigation .mev-mobile-family-panel a{display:flex!important;align-items:center;width:100%;min-height:44px!important;height:auto!important;padding:0!important;border:0!important;color:#000!important;background:transparent!important;font-size:15px!important;line-height:1.25!important;text-decoration:none!important;box-shadow:none!important}
  body.mev-family-sectors #site-navigation .mev-mobile-tree-list a[aria-current="page"],
  body.mev-family-sectors #site-navigation .mev-mobile-tree-list a:hover,
  body.mev-family-sectors #site-navigation .mev-mobile-tree-list a:focus-visible{color:var(--mev-rouge,#FD0600)!important}
}

/* 31/08 — DESKTOP GLOBAL : rail contextuel intégré DANS le header.
   Le rail occupe la zone basse entre la ligne principale et le filet inférieur :
   même gris MEV, typo secondaire plus petite, aucun débordement sur le Hero. */
@media (min-width:1024px){
  #site-navigation .mev-desktop-family-panel{
    left:0!important;
    right:auto!important;
    top:48px!important;
    width:max-content!important;
    min-width:0!important;
    max-width:min(900px,calc(100vw - 10vw))!important;
    height:29px!important;
    padding:0 5px!important;
    background:var(--mev-head-bg,#EFF0E9)!important;
    border:0!important;
    border-top:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    scrollbar-width:none;
  }
  #site-navigation .mev-desktop-family-panel::-webkit-scrollbar{display:none}
  #site-navigation .mev-desktop-family-panel ul{
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    width:max-content!important;
    min-width:100%!important;
    height:29px!important;
    margin:0!important;
    padding:0!important;
    background:#EFF0E9!important;
  }
  #site-navigation .mev-desktop-family-panel li{
    display:flex!important;
    align-items:stretch!important;
    width:auto!important;
    min-width:0!important;
    height:29px!important;
    background:#EFF0E9!important;
  }
  #site-navigation .mev-desktop-family-panel a{
    display:flex!important;
    align-items:center!important;
    min-height:29px!important;
    height:29px!important;
    padding:0 10px!important;
    border-right:0!important;
    background:#EFF0E9!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  #site-navigation .mev-desktop-family-panel li{position:relative!important}
  #site-navigation .mev-desktop-family-panel li + li::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:1px;
    height:14px;
    transform:translateY(-50%);
    background:rgba(0,0,0,.28);
    pointer-events:none;
  }

  /* Rouge = un seul niveau de lecture à la fois.
     Sous-menu fermé : le parent se comporte comme tout item du menu principal.
     Sous-menu ouvert : le rouge quitte le parent et appartient uniquement au rail secondaire. */
  #site-navigation .mev-desktop-family-details>summary{position:relative}
  #site-navigation .mev-desktop-family-details:not([open])>summary:hover::after,
  #site-navigation .mev-desktop-family-details:not([open])>summary:focus-visible::after{
    content:"";
    position:absolute;
    left:8px;
    right:8px;
    bottom:0;
    height:3px;
    background:var(--mev-rouge,#FD0600);
    pointer-events:none;
  }
  #site-navigation .mev-desktop-family-details[open]>summary::after{
    content:none!important;
  }
  #site-navigation .mev-desktop-family-panel a[aria-current="page"],
  #site-navigation .mev-desktop-family-panel a:hover,
  #site-navigation .mev-desktop-family-panel a:focus-visible{
    color:#000!important;
    box-shadow:inset 0 -3px 0 var(--mev-rouge,#FD0600)!important;
  }
}

/* 31/08 — SEPARATORS CANONICAL REBUILD.
   Reset all inherited terminal separators, then recreate only separators BETWEEN visible items. */
@media (min-width:1024px){
  /* Niveau 1 : reset complet des pseudo/bords hérités. */
  #site-navigation .main-nav>ul>li::before,
  #site-navigation .main-nav>ul>li::after,
  #site-navigation .main-nav>ul>li>a::before,
  #site-navigation .main-nav>ul>li>a::after{
    content:none!important;
    display:none!important;
    border:0!important;
  }
  #site-navigation .main-nav>ul>li,
  #site-navigation .main-nav>ul>li>a{
    border-left:0!important;
    border-right:0!important;
  }

  /* Séparateur uniquement AVANT chaque item principal visible qui suit Home. */
  #site-navigation .main-nav>ul>li:not(.mev-key-home):not(.mev-menu-mobile-constant):not(.mev-mobile-global-tree)::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:50%!important;
    width:1px!important;
    height:22px!important;
    transform:translateY(-50%)!important;
    background:rgba(0,0,0,.42)!important;
    pointer-events:none!important;
    border:0!important;
  }

  /* Etats rouges directs du niveau 1. */
  #site-navigation .main-nav>ul>li.current-menu-item>a,
  #site-navigation .main-nav>ul>li>a[aria-current="page"]{
    box-shadow:inset 0 -5px 0 var(--mev-rouge)!important;
  }
  #site-navigation .main-nav>ul>li:not(.current-menu-item)>a:hover,
  #site-navigation .main-nav>ul>li:not(.current-menu-item)>a:focus-visible{
    box-shadow:inset 0 -3px 0 var(--mev-rouge)!important;
  }

  /* Niveau 2 : reset complet. */
  #site-navigation .mev-desktop-family-panel,
  #site-navigation .mev-desktop-family-panel ul,
  #site-navigation .mev-desktop-family-panel li,
  #site-navigation .mev-desktop-family-panel a{
    border:0!important;
    border-left:0!important;
    border-right:0!important;
    outline:0!important;
    filter:none!important;
  }
  #site-navigation .mev-desktop-family-panel,
  #site-navigation .mev-desktop-family-panel ul{
    box-shadow:none!important;
    border-inline:0!important;
    border-block:0!important;
  }
  #site-navigation .mev-desktop-family-panel::before,
  #site-navigation .mev-desktop-family-panel::after,
  #site-navigation .mev-desktop-family-panel ul::before,
  #site-navigation .mev-desktop-family-panel ul::after,
  #site-navigation .mev-desktop-family-panel li::before,
  #site-navigation .mev-desktop-family-panel li::after,
  #site-navigation .mev-desktop-family-panel a::before,
  #site-navigation .mev-desktop-family-panel a::after{
    content:none!important;
    display:none!important;
    border:0!important;
    box-shadow:none!important;
  }

  /* Séparateurs secondaires : uniquement AVANT les items 2..n, courts et flottants. */
  #site-navigation .mev-desktop-family-panel li+li::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:50%!important;
    width:1px!important;
    height:16px!important;
    transform:translateY(-50%)!important;
    background:rgba(0,0,0,.24)!important;
    pointer-events:none!important;
  }

  /* Niveau 2 validé desktop 2026-09-06 : page courante rouge ; hover/focus souligné. */
  #site-navigation .mev-desktop-family-panel a[aria-current="page"]{
    color:var(--mev-rouge,#FD0600)!important;
    box-shadow:none!important;
  }
  #site-navigation .mev-desktop-family-panel a:hover,
  #site-navigation .mev-desktop-family-panel a:focus-visible{
    color:#000!important;
    box-shadow:inset 0 -2px 0 var(--mev-rouge,#FD0600)!important;
  }

}

/* ================================================================
   MEV2 MOBILE NAV — FINAL FROZEN 2026-08-31
   Desktop >1023px remains frozen and untouched by this block.
   Mobile = editorial tree on the same #EFF0E9 interface layer:
   no boxed rows, compact rhythm, short floating separators, current child red.
   ================================================================ */
@media (max-width:1023px){
  #site-navigation .main-nav{
    padding:14px 5vw 34px!important;
    background:#EFF0E9!important;
  }
  #site-navigation .mev-mobile-global-tree,
  #site-navigation .mev-mobile-tree-list,
  #site-navigation .mev-mobile-tree-list>li,
  #site-navigation .mev-mobile-family-details,
  #site-navigation .mev-mobile-family-panel,
  #site-navigation .mev-mobile-family-panel ul,
  #site-navigation .mev-mobile-family-panel li,
  #site-navigation .mev-mobile-tree-direct>a,
  #site-navigation .mev-mobile-family-details summary,
  #site-navigation .mev-mobile-family-panel a{
    background:#EFF0E9!important;
  }
  #site-navigation .mev-mobile-tree-list>li{
    position:relative!important;
    border:0!important;
  }
  #site-navigation .mev-mobile-tree-list>li+li{
    border-top:1px solid rgba(0,0,0,.14)!important;
  }
  #site-navigation .mev-mobile-tree-list>li+li::before{
    content:none!important;
    display:none!important;
  }
  #site-navigation .mev-mobile-tree-direct>a,
  #site-navigation .mev-mobile-family-details summary{
    min-height:48px!important;
    padding:0!important;
    border:0!important;
    font-size:16px!important;
    line-height:1.2!important;
  }
  #site-navigation .mev-mobile-family-details summary{
    position:relative!important;
  }
  #site-navigation .mev-mobile-family-details .mev-family-chevron{
    flex:0 0 8px!important;
    width:7px!important;
    height:7px!important;
    margin-right:3px!important;
    margin-left:16px!important;
    border-right:1.25px solid #000!important;
    border-bottom:1.25px solid #000!important;
  }
  #site-navigation .mev-mobile-family-panel{
    padding:0 0 9px 20px!important;
    border:0!important;
  }
  #site-navigation .mev-mobile-family-panel ul{
    padding:0!important;
  }
  #site-navigation .mev-mobile-family-panel li{
    position:relative!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid rgba(0,0,0,.14)!important;
  }
  #site-navigation .mev-mobile-family-panel li:last-child{
    border-bottom:0!important;
  }
  #site-navigation .mev-mobile-family-panel li+li::before{
    content:none!important;
    display:none!important;
  }
  #site-navigation .mev-mobile-family-panel a{
    position:relative!important;
    min-height:47px!important;
    padding:0!important;
    border:0!important;
    font-size:15px!important;
    line-height:1.2!important;
    color:#000!important;
    box-shadow:none!important;
  }
  #site-navigation .mev-mobile-family-panel a[aria-current="page"],
  #site-navigation .mev-mobile-family-panel a:hover,
  #site-navigation .mev-mobile-family-panel a:focus-visible{
    color:var(--mev-rouge,#FD0600)!important;
    box-shadow:none!important;
  }
  #site-navigation .mev-mobile-family-panel a::before,
  #site-navigation .mev-mobile-family-panel a::after{
    content:none!important;
    display:none!important;
  }
  .mev-context-nav__chevron{
    transform:rotate(-45deg) translateY(0)!important;
  }
  body:has(#site-navigation.toggled) .mev-context-nav{display:none!important}
}

/* SYSTEM DARK MODE — FINAL LIVE PALETTE LAW.
   Trigger = browser/OS prefers-color-scheme:dark only.
   NO geometry/display/order/spacing/typography/behaviour changes. */
/* 2026-09-10 — SYSTEM DARK PALETTE DORMANT / NOT ACTIVE. Code retained for possible future reactivation. */
@media (prefers-color-scheme:dark) and (max-width:0px){
  #site-navigation{
    --mev-head-bg:#000;
    --mev-noir:#F9F9EF;
    background:#000!important;
    color:#F9F9EF!important;
    border-bottom-color:#F9F9EF!important;
  }

  /* N1 + constants: preserve frozen rails/underlines, recolour text only. */
  #site-navigation .main-nav>ul>li>a,
  #site-navigation .main-nav>ul>li.current-menu-item>a,
  #site-navigation .main-nav>ul>li.current_page_item>a,
  #site-navigation .main-nav>ul>li>a[aria-current="page"],
  #site-navigation .mev-head-const,
  #site-navigation .menu-toggle,
  #site-navigation .mev-desktop-family-details>summary,
  #site-navigation .mev-desktop-family-details>summary>span{
    color:#F9F9EF!important;
  }
  #site-navigation .mev-desktop-family-details>summary .mev-family-chevron{
    border-right-color:#F9F9EF!important;
    border-bottom-color:#F9F9EF!important;
  }
  #site-navigation .main-nav>ul>li:not(.mev-key-home):not(.mev-menu-mobile-constant):not(.mev-mobile-global-tree)::before{
    background:rgba(249,249,239,.42)!important;
  }

  /* N2: exact frozen semantics — default beige, current red, hover/focus beige + red underline. */
  #site-navigation .mev-desktop-family-panel,
  #site-navigation .mev-desktop-family-panel ul,
  #site-navigation .mev-desktop-family-panel li,
  #site-navigation .mev-desktop-family-panel a{
    background:#000!important;
  }
  #site-navigation .mev-desktop-family-panel a{
    color:#F9F9EF!important;
  }
  #site-navigation .mev-desktop-family-panel a[aria-current="page"]{
    color:var(--mev-rouge,#FD0600)!important;
  }
  #site-navigation .mev-desktop-family-panel a:hover,
  #site-navigation .mev-desktop-family-panel a:focus-visible{
    color:#F9F9EF!important;
  }
  #site-navigation .mev-desktop-family-panel li+li::before{
    background:rgba(249,249,239,.24)!important;
  }

  /* Language selector: current language remains the active red signal in dark mode. */
  #site-navigation .mev-head-lang,
  #site-navigation .mev-head-lang summary{
    background:transparent!important;
  }
  #site-navigation .mev-head-lang summary{
    color:var(--mev-rouge,#FD0600)!important;
  }
  #site-navigation .mev-head-lang summary::after{
    border-top-color:var(--mev-rouge,#FD0600)!important;
  }
  #site-navigation .mev-head-lang>ul,
  #site-navigation .mev-head-lang>ul>li>a{
    background:#000!important;
    color:#F9F9EF!important;
  }
  #site-navigation .mev-head-lang>ul{
    border-color:#F9F9EF!important;
    box-shadow:none!important;
  }
  #site-navigation .mev-head-lang>ul>li>a[aria-current="page"],
  #site-navigation .mev-head-lang>ul>li>a:hover,
  #site-navigation .mev-head-lang>ul>li>a:focus-visible{
    background:#000!important;
    color:var(--mev-rouge,#FD0600)!important;
  }

  /* Context cue: palette-only inversion. */
  .mev-context-nav,
  .mev-context-nav summary,
  body.mev-family-sectors .mev-context-nav,
  body.mev-family-sectors .mev-context-nav summary,
  body.mev-family-sectors .mev-context-nav__panel{
    background:#000!important;
    color:#F9F9EF!important;
  }
  .mev-context-nav,
  body.mev-family-sectors .mev-context-nav{
    border-bottom-color:#F9F9EF!important;
  }
  .mev-context-nav__family,
  body.mev-family-sectors .mev-context-nav__family{
    color:rgba(249,249,239,.62)!important;
  }
  .mev-context-nav__dot,
  body.mev-family-sectors .mev-context-nav__dot{
    color:rgba(249,249,239,.48)!important;
  }
  .mev-context-nav__current,
  body.mev-family-sectors .mev-context-nav__current,
  body.mev-family-sectors .mev-context-nav__panel a{
    color:#F9F9EF!important;
  }
  .mev-context-nav__chevron,
  body.mev-family-sectors .mev-context-nav__chevron{
    border-right-color:#F9F9EF!important;
    border-bottom-color:#F9F9EF!important;
  }
  body.mev-family-sectors .mev-context-nav__panel{
    border-top-color:rgba(249,249,239,.24)!important;
  }
  body.mev-family-sectors .mev-context-nav__panel li{
    border-bottom-color:rgba(249,249,239,.16)!important;
  }
  body.mev-family-sectors .mev-context-nav__panel a[aria-current="page"]{
    color:var(--mev-rouge,#FD0600)!important;
  }
}

/* Mobile/native fallback palette; full-screen editorial overlay already owns dark law in JS. */
@media (prefers-color-scheme:dark) and (max-width:0px){
  #site-navigation .main-nav,
  #site-navigation .mev-mobile-global-tree,
  #site-navigation .mev-mobile-tree-list,
  #site-navigation .mev-mobile-tree-list>li,
  #site-navigation .mev-mobile-family-details,
  #site-navigation .mev-mobile-family-panel,
  #site-navigation .mev-mobile-family-panel ul,
  #site-navigation .mev-mobile-family-panel li,
  #site-navigation .mev-mobile-tree-direct>a,
  #site-navigation .mev-mobile-family-details summary,
  #site-navigation .mev-mobile-family-panel a{
    background:#000!important;
  }
  #site-navigation .mev-mobile-tree-direct>a,
  #site-navigation .mev-mobile-family-details summary,
  #site-navigation .mev-mobile-family-panel a{
    color:#F9F9EF!important;
  }
  #site-navigation .mev-mobile-family-panel a[aria-current="page"],
  #site-navigation .mev-mobile-family-panel a:hover,
  #site-navigation .mev-mobile-family-panel a:focus-visible{
    color:var(--mev-rouge,#FD0600)!important;
  }
  #site-navigation .mev-mobile-tree-list>li+li,
  #site-navigation .mev-mobile-family-panel li{
    border-color:rgba(249,249,239,.16)!important;
  }
  #site-navigation .mev-mobile-family-details .mev-family-chevron{
    border-right-color:#F9F9EF!important;
    border-bottom-color:#F9F9EF!important;
  }
}
