/* k2: span×3 hamburger — namespaced to avoid conflicts */
.k2-hamburger{ color:#fff; display:none; text-decoration:none; color:#111; width:44px; height:44px; border-radius:10px; 
  align-items:center; justify-content:center; cursor:pointer; line-height:0; }
.k2-hamburger span{ display:block; width:28px; height:3px; background:currentColor; }
.k2-hamburger span + span{ margin-top:6px; }
.k2-hamburger.k2-open span:nth-child(1){ transform: translateY(9px) rotate(45deg); transition: transform .18s ease; }
.k2-hamburger.k2-open span:nth-child(2){ opacity:0; transition: opacity .18s ease; }
.k2-hamburger.k2-open span:nth-child(3){ transform: translateY(-9px) rotate(-45deg); transition: transform .18s ease; }

/* Mobile only */
@media (max-width: 980px){
  .k2-hamburger{ display:inline-flex; flex-direction:column; }
  /* Panel below header */
  .site-header{ position:sticky; top:0; z-index:1300; }
  nav.gnav, header nav, .site-header nav{
  position:fixed; left:0; right:0; top:var(--header-h, 64px);
  max-height: calc(100dvh - var(--header-h, 64px)); overflow:auto;
  transform: translateY(-10px);
  opacity:0; pointer-events:none;
  transition: transform .2s ease, opacity .2s ease;
  background: var(--header-bg, #fff); border-top:1px solid rgba(255,255,255,.15); padding:16px; z-index:1200;
}
  nav.gnav.open, header nav.open, .site-header nav.open{
    transform: translateY(0); opacity:1; pointer-events:auto;
  }
  nav.gnav .menu, header nav .menu, .site-header nav .menu{
    display:flex; flex-direction:column; gap:10px;
  }
}

/* Desktop reset */
@media (min-width: 981px){
  nav.gnav, header nav, .site-header nav{ position:static; transform:none; opacity:1; pointer-events:auto; padding:0; }
  nav.gnav .menu, header nav .menu, .site-header nav .menu{ display:flex; flex-direction:row; gap:20px; }
}
/* mobile panel text color = white */
@media (max-width: 980px){
  nav.gnav, header nav, .site-header nav{ color:#fff; }
  nav.gnav a, header nav a, .site-header nav a{ color:#fff; text-decoration:none; }
}


/* patch6 default hide */
.k2-hamburger{ display:none; }
@media (max-width: 980px){
  .k2-hamburger{ display:inline-flex; }
}


/* patch14 mobile center (redundant safeguard) */
@media (max-width: 980px){
  .k2-hamburger{ justify-content:center; }
}
