
/* v6.32 — final header geometry and compact navigation
   Keeps the logo genuinely centred on wide desktop and switches to the
   compact menu before the navigation can crowd it. */
header .wrap.nav{
  width:min(calc(100% - 32px), 1540px);
  max-width:none;
}

@media (min-width:1401px){
  header .nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    gap:42px!important;
    align-items:center;
  }
  header .links{
    display:flex!important;
    grid-column:1;
    justify-self:start;
    align-items:center;
    gap:15px!important;
    padding-right:24px;
    margin:0!important;
    font-size:.61rem!important;
    letter-spacing:.01em;
    white-space:nowrap;
  }
  header .brand-logo{
    grid-column:2;
    justify-self:center;
    margin:0!important;
    width:clamp(198px,14vw,224px)!important;
    min-width:198px!important;
  }
  header .header-actions{
    grid-column:3;
    justify-self:end;
    margin:0!important;
    padding-left:24px;
    gap:14px;
  }
  header .menu{display:none!important}
}

/* Compact navigation appears before the full menu can touch the logo. */
@media (max-width:1400px){
  header .nav{
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    gap:18px!important;
    min-height:58px;
    position:relative;
  }
  header .menu{
    display:block!important;
    grid-column:1;
    grid-row:1;
    justify-self:start;
    align-self:center;
    padding:10px 10px 10px 0;
    margin:0;
    cursor:pointer;
    z-index:4;
  }
  header .brand-logo{
    grid-column:2;
    grid-row:1;
    justify-self:center;
    margin:0!important;
    width:clamp(188px,18vw,220px)!important;
    min-width:188px!important;
  }
  header .header-actions{
    grid-column:3;
    grid-row:1;
    justify-self:end;
    margin:0!important;
    display:flex!important;
    gap:10px;
    align-items:center;
  }
  header .links{
    display:none!important;
    position:absolute!important;
    z-index:125;
    top:calc(100% + 14px)!important;
    left:0!important;
    right:auto!important;
    width:min(430px, calc(100vw - 32px))!important;
    max-height:min(76vh, 720px);
    overflow-y:auto;
    overscroll-behavior:contain;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    margin:0!important;
    padding:16px 20px 20px!important;
    background:rgba(246,242,233,.97)!important;
    border:1px solid var(--line)!important;
    box-shadow:0 18px 44px rgba(20,18,15,.12)!important;
    -webkit-backdrop-filter:blur(16px) saturate(115%);
    backdrop-filter:blur(16px) saturate(115%);
    font-size:.78rem!important;
    white-space:normal!important;
  }
  html[data-theme="dark"] header .links{
    background:rgba(24,22,20,.97)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.28)!important;
  }
  header .links.open{display:flex!important}
  header .links > a,
  header .nav-dropdown > .nav-dropdown-trigger{
    display:block!important;
    width:100%;
    padding:12px 0!important;
    border-bottom:1px solid var(--line);
  }
  header .links a:after{display:none!important}

  header .nav-dropdown{
    width:100%!important;
    position:relative!important;
  }
  header .nav-dropdown-trigger:before{display:none!important}
  header .nav-dropdown-menu{
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:2px 0 10px 14px!important;
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  header .nav-dropdown-menu:before{display:none!important}
  header .nav-dropdown-menu a{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:3px!important;
    padding:8px 0!important;
    border-bottom:0!important;
    background:transparent!important;
  }
  header .nav-dropdown-menu span{
    font-size:.74rem!important;
    line-height:1.2!important;
  }
  header .nav-dropdown-menu small{
    max-width:none!important;
    text-align:left!important;
    font-size:.59rem!important;
    line-height:1.3!important;
    color:var(--grey)!important;
  }
  body.nav-open{overflow:hidden}
}

@media (max-width:700px){
  header{padding:16px 0!important}
  header .wrap.nav{width:calc(100% - 32px)}
  header .nav{
    grid-template-columns:1fr auto 1fr!important;
    gap:10px!important;
    min-height:54px;
  }
  header .brand-logo{
    grid-column:2!important;
    width:150px!important;
    min-width:150px!important;
  }
  header .brand-logo img{max-height:54px!important}
  header .header-actions{display:none!important}
  header .menu{
    grid-column:3!important;
    justify-self:end!important;
    padding:10px 0 10px 10px;
  }
  header .links{
    top:calc(100% + 10px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100vh - 96px);
    padding:14px 18px 18px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  header, header .links{transition:none!important}
}
