/* V25 — navigation présente sur chaque page, avec un vrai menu mobile. */
header.site-header-v25{
  position:fixed!important;
  inset:0 0 auto;
  z-index:120!important;
  height:76px;
  display:flex!important;
  align-items:center;
  gap:clamp(16px,2vw,34px);
  padding:0 4.5vw;
  background:rgba(7,9,10,.9)!important;
  border-bottom:0!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

header.site-header-v25 .brand{flex:0 0 auto}

header.site-header-v25 nav{
  display:flex!important;
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,2.2vw,34px);
  min-width:0;
  font:10px 'DM Mono',monospace;
  letter-spacing:1px;
  text-transform:uppercase;
  white-space:nowrap;
}

header.site-header-v25 nav a{
  color:#c7d1d4;
  transition:color .22s ease;
}

header.site-header-v25 nav a:hover,
header.site-header-v25 nav a:focus-visible{color:var(--blue)}

header.site-header-v25 .nav-insta{
  flex:0 0 auto;
  white-space:nowrap;
}

/* L'archive garde une respiration au-dessus de son titre malgré le header fixe. */
header.site-header-v25 + .archive{padding-top:max(140px,11vw)!important}

.site-header-v25 .mobile-menu-toggle{display:none}

@media(max-width:960px) and (min-width:721px){
  header.site-header-v25{padding:0 28px;gap:18px}
  header.site-header-v25 nav{gap:17px;font-size:9px}
  header.site-header-v25 .nav-insta{font-size:9px}
}

@media(max-width:720px){
  body.menu-open{overflow:hidden}

  header.site-header-v25{
    height:64px;
    padding:0 18px;
    justify-content:space-between;
  }

  header.site-header-v25 .nav-insta{display:none!important}

  header.site-header-v25 + .archive{padding-top:128px!important}

  header.site-header-v25 nav{
    display:none!important;
    position:fixed;
    inset:64px 0 0;
    transform:none;
    z-index:119;
    flex:none;
    flex-direction:column!important;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    width:100%;
    min-height:calc(100dvh - 64px);
    padding:19px 24px 34px;
    overflow-y:auto;
    background:rgba(7,9,10,.985);
    border-top:1px solid rgba(232,237,240,.13);
  }

  header.site-header-v25 nav.is-open{display:flex!important}

  header.site-header-v25 nav a{
    width:100%;
    padding:18px 0;
    border-bottom:1px solid rgba(232,237,240,.14);
    color:var(--paper);
    font:700 clamp(21px,7vw,30px)/1 Manrope,Arial,sans-serif;
    letter-spacing:-.055em;
    text-transform:none;
  }

  .site-header-v25 .mobile-menu-toggle{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:38px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--blue);
    font:10px 'DM Mono',monospace;
    letter-spacing:1px;
    text-transform:uppercase;
    cursor:pointer;
  }

  .site-header-v25 .mobile-menu-toggle span{
    display:block;
    width:15px;
    height:1px;
    background:currentColor;
    transition:transform .25s ease;
  }

  .site-header-v25 .mobile-menu-toggle[aria-expanded='true'] span:first-child{transform:translateX(3px)}
  .site-header-v25 .mobile-menu-toggle[aria-expanded='true'] span:nth-child(2){transform:translateX(-3px)}
}
