/* ─────────────────────────────────────────────────────────────────────────
   WE GARTNER — barre de menu du site.  SOURCE UNIQUE.
   Extrait verbatim de la home le 2026-09-06. Toute évolution de la nav se fait
   ICI ; les pages qui lient ce fichier suivent automatiquement.
   Va avec /assets/site-nav.js (burger + sélecteur de langue).
   ───────────────────────────────────────────────────────────────────────── */
:root{--violet-text:#714EFC;--fuchsia-cta:#E42257}
.nav a,.skip-link{text-decoration:none}
/* ============================================================
   * NAV
   * ============================================================ */
  .nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-8);
    padding: 0 40px;
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,0.16);
    transition: background var(--dur-section) var(--ease-section),
                border-color var(--dur-section) var(--ease-section),
                box-shadow var(--dur-section) var(--ease-section),
                height var(--dur-section) var(--ease-section);
  }
.nav--solid,
  .nav:hover {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom-color: var(--border-soft);
    box-shadow: 0 6px 24px rgba(26,26,46,0.06);
  }
.nav__brand {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
.nav__logo {
    height: 28px;
    width: auto;
    display: block;
    transition: opacity var(--dur-section) var(--ease-section);
  }
/* two stacked logos, cross-faded by nav state */
  .nav__logo--white { position: absolute; top: 0; left: 0; opacity: 1; }
.nav__logo--dark  { opacity: 0; }
.nav--solid .nav__logo--white,
  .nav:hover .nav__logo--white { opacity: 0; }
.nav--solid .nav__logo--dark,
  .nav:hover .nav__logo--dark  { opacity: 1; }
.nav__whisper {
    font-family: var(--sans-text);
    font-size: 9.5px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.82);
    white-space: nowrap;
    padding-left: 2px;
    transition: color var(--dur-section) var(--ease-section);
  }
.nav--solid .nav__whisper,
  .nav:hover .nav__whisper { color:var(--violet-text); }
.nav__whisper .sep { opacity: 0.55; padding: 0 0.4em; }
.nav__menu {
    display: flex;
    align-items: center;
    gap: 24px;
    font-family: var(--sans-text);
    font-size: 13.5px;
    font-weight: var(--fw-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
.nav__menu a {
    position: relative;
    color: #fff;
    padding: 6px 0;
    transition: color var(--dur-hover) var(--ease-hover);
  }
.nav--solid .nav__menu a,
  .nav:hover .nav__menu a { color: var(--text); }
.nav__menu a::after {
    content: "";
    position: absolute;
    left: 0; right: 100%;
    bottom: -2px;
    height: 2px;
    background: var(--warm-gradient);
    transition: right var(--dur-hover) var(--ease-hover);
  }
.nav__menu a:hover { color: #fff; }
.nav--solid .nav__menu a:hover,
  .nav:hover .nav__menu a:hover { color:var(--violet-text); }
/* CTA text stays white whatever the nav state */
  .nav--solid .nav__menu .nav__cta,
  .nav:hover .nav__menu .nav__cta { color: #fff; -webkit-text-fill-color: #fff; }
.nav__menu a:hover::after { right: 0; }
.nav__star { color: var(--orange); font-size: 12px; vertical-align: 1px; -webkit-text-fill-color: var(--orange); }
.nav__menu .nav__cta {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-family: var(--sans-text);
    font-size: 15px;
    font-weight: var(--fw-black);
    line-height: 1;
    color: #fff;
    -webkit-text-fill-color: #fff;
    background: var(--fuchsia-cta);
    padding: 14px 34px;
    border-radius: 999px;
    box-shadow: var(--shadow-cta);
    transition: transform var(--dur-hover) var(--ease-hover),
                box-shadow var(--dur-hover) var(--ease-hover);
  }
.nav__menu .nav__cta::after { display: none; }
.nav__menu .nav__cta:hover {
    transform: translateY(-2px);
    background: var(--fuchsia);
    box-shadow: 0 14px 32px rgba(232,70,114,0.42);
  }
.nav__menu .nav__cta:active { transform: translateY(0); box-shadow: var(--shadow-cta); }
.nav__burger { display: none; }
.nav__burger span { background: #fff; transition: background var(--dur-section) var(--ease-section); }
.nav--solid .nav__burger span,
  .nav:hover .nav__burger span { background: var(--text); }
/* Lien d'evitement : premier element focusable de la page, il permet a un
   utilisateur au clavier ou au lecteur d'ecran de sauter la navigation. */
.skip-link{position:absolute;left:-9999px;top:0;z-index:9600;background:#fff;color:#1A1A2E;padding:10px 16px;border-radius:0 0 8px 0;font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:14px}
.skip-link:focus{left:0}
@media (max-width: 1000px) {
    .nav { padding: 0 20px; height: 64px; }
    .nav__logo { height: 34px; }
    .nav__whisper { display: none; }
    .nav__menu { display: none; }
    .nav__burger {
      display: flex;
      flex-direction: column;
      gap: 5px;
      background: none; border: none; cursor: pointer; padding: 8px; min-width:44px; min-height:44px; justify-content:center; align-items:center;
    }
    .nav__burger span { width: 26px; height: 2.5px; background: var(--text); border-radius: 2px; }}
@media (max-width:1000px){
  .nav__burger span{transition:transform .3s ease,opacity .2s ease}
  .nav--open .nav__burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .nav--open .nav__burger span:nth-child(2){opacity:0}
  .nav--open .nav__burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .nav--open .nav__menu{
    display:flex;flex-direction:column;align-items:stretch;
    position:fixed;top:64px;left:0;right:0;
    background:#fff;padding:12px 20px 26px;gap:0;
    border-top:1px solid #ECEAF5;box-shadow:0 26px 50px rgba(26,26,46,.20);
    z-index:1200;max-height:calc(100vh - 64px);overflow-y:auto;
  }
  .nav--open .nav__menu a{
    color:#1A1A2E !important;-webkit-text-fill-color:#1A1A2E !important;
    padding:15px 4px;font-size:16px;border-bottom:1px solid #F2F0FA;width:100%;
  }
  .nav--open .nav__menu a::after{display:none !important}
  .nav--open .nav__menu .nav__cta{
    margin-top:14px;border:none;background:var(--violet,#3A2A8E);
    color:#fff !important;-webkit-text-fill-color:#fff !important;
    border-radius:10px;text-align:center;padding:15px;
  }}