/* BaoLong Lab v124 common header/nav stability layer
   Single source of truth for the site header. Keep this file as the only final nav style. */
:root{--bl-bg:#f7f6f2;--bl-paper:#ffffff;--bl-ink:#1c1c1c;--bl-muted:#77736b;--bl-line:#ded9cf;--bl-dark:#161616;}
html{scroll-behavior:smooth;scrollbar-gutter:stable;overflow-y:scroll;text-size-adjust:100%;-webkit-text-size-adjust:100%;}
body{margin:0;font-synthesis-weight:none;font-synthesis-style:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;font-optical-sizing:none;}
.site-header,.site-header *{box-sizing:border-box;}
.site-header{height:104px!important;min-height:104px!important;max-height:104px!important;position:sticky!important;top:0!important;z-index:9990!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding:0 48px!important;background:rgba(247,246,242,.94)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(0,0,0,.06)!important;overflow:visible!important;transform:none!important;animation:none!important;transition:none!important;}
.site-header a{color:inherit!important;text-decoration:none!important;}
.brand{display:flex!important;align-items:center!important;gap:18px!important;min-width:330px!important;height:104px!important;flex:0 0 auto!important;color:inherit!important;text-decoration:none!important;transform:none!important;animation:none!important;transition:none!important;}
.brand-logo-img{display:block!important;width:108px!important;height:108px!important;min-width:108px!important;max-width:108px!important;min-height:108px!important;max-height:108px!important;object-fit:contain!important;flex:0 0 auto!important;background:transparent!important;border-radius:0!important;transform:none!important;animation:none!important;transition:none!important;}
.brand-mark{display:none!important;}
.brand-text{font-size:16px!important;line-height:1!important;letter-spacing:.34em!important;text-transform:uppercase!important;white-space:nowrap!important;font-weight:400!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif!important;transform:none!important;animation:none!important;transition:none!important;}
.nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:24px!important;height:104px!important;font-size:15px!important;line-height:1!important;color:#2a2927!important;flex:1 1 auto!important;min-width:0!important;white-space:nowrap!important;overflow:visible!important;transform:none!important;animation:none!important;transition:none!important;}
.nav>a,.nav-dropdown>a{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:104px!important;padding:0!important;margin:0!important;font-size:15px!important;line-height:1!important;letter-spacing:.01em!important;font-weight:400!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif!important;white-space:nowrap!important;color:#2a2927!important;text-decoration:none!important;transform:none!important;animation:none!important;transition:none!important;}
.nav>a::after,.nav-dropdown>a::after{content:""!important;position:absolute!important;left:0!important;bottom:37px!important;width:0!important;height:1px!important;background:#111!important;transition:width .24s ease!important;transform:none!important;}
.nav>a:hover::after,.nav-dropdown:hover>a::after,.nav>a.is-active::after,.nav-dropdown>a.is-active::after{width:100%!important;}
.nav>a:hover,.nav>a:focus,.nav>a:active,.nav>a.is-active,.nav-dropdown>a:hover,.nav-dropdown>a:focus,.nav-dropdown>a:active,.nav-dropdown>a.is-active{font-size:15px!important;font-weight:400!important;letter-spacing:.01em!important;transform:none!important;}
.nav-dropdown{position:relative!important;display:flex!important;align-items:center!important;height:104px!important;padding:0!important;margin:0!important;flex:0 0 auto!important;transform:none!important;animation:none!important;transition:none!important;}
.dropdown-content{position:absolute!important;top:82px!important;left:50%!important;transform:translateX(-50%)!important;min-width:190px!important;display:block!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;padding:10px!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:18px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 18px 45px rgba(0,0,0,.10)!important;z-index:9999!important;transition:opacity .18s ease,visibility .18s ease!important;}
.nav-dropdown:hover .dropdown-content,.nav-dropdown:focus-within .dropdown-content{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.dropdown-content a{display:block!important;padding:10px 12px!important;margin:0!important;border-radius:12px!important;color:#2a2927!important;font-size:14px!important;line-height:1.2!important;font-weight:400!important;letter-spacing:.01em!important;white-space:nowrap!important;transform:none!important;transition:background .18s ease,color .18s ease!important;}
.dropdown-content a:hover{background:#f3f0ea!important;color:#111!important;font-size:14px!important;font-weight:400!important;transform:none!important;}
.header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:18px!important;height:104px!important;font-size:14px!important;flex:0 0 auto!important;transform:none!important;animation:none!important;transition:none!important;}
.pill-btn,.header-actions .pill-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:auto!important;min-height:auto!important;height:40px!important;padding:10px 18px!important;border:1px solid var(--bl-line)!important;border-radius:999px!important;background:rgba(255,255,255,.6)!important;color:#1c1c1c!important;cursor:pointer!important;font-size:14px!important;line-height:1!important;font-weight:400!important;letter-spacing:.01em!important;white-space:nowrap!important;transform:none!important;box-shadow:none!important;transition:background .18s ease,color .18s ease,border-color .18s ease!important;}
.pill-btn:hover,.header-actions .pill-btn:hover{background:#111!important;color:#fff!important;border-color:#111!important;font-size:14px!important;font-weight:400!important;transform:none!important;box-shadow:none!important;}
.mobile-menu-toggle,.mobile-menu-panel{display:none;}
@media (max-width:1280px){.site-header{padding:0 28px!important}.brand{min-width:260px!important}.nav{gap:16px!important}.header-actions{gap:10px!important}.pill-btn,.header-actions .pill-btn{padding:9px 13px!important;font-size:13px!important}}
@media (max-width:980px){.site-header{height:72px!important;min-height:72px!important;max-height:72px!important;padding:0 18px!important;align-items:center!important;flex-wrap:nowrap!important}.brand{height:72px!important;min-width:auto!important;gap:12px!important}.brand-logo-img{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important}.brand-text{font-size:13px!important;letter-spacing:.22em!important;max-width:calc(100vw - 120px)!important;overflow:hidden!important;text-overflow:ellipsis!important}.nav,.header-actions{display:none!important}.mobile-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:38px!important;padding:0 14px!important;border:1px solid var(--bl-line)!important;border-radius:999px!important;background:rgba(255,255,255,.65)!important;color:#1c1c1c!important;font-size:13px!important;line-height:1!important;cursor:pointer!important}.mobile-menu-panel{position:fixed!important;left:18px!important;right:18px!important;top:80px!important;z-index:10000!important;display:none!important;flex-direction:column!important;gap:0!important;padding:14px!important;border:1px solid rgba(0,0,0,.08)!important;border-radius:22px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 20px 60px rgba(0,0,0,.12)!important}.mobile-menu-panel.open{display:flex!important}.mobile-menu-panel a,.mobile-menu-group{display:block!important;padding:10px 12px!important;border-radius:12px!important;color:#2a2927!important;font-size:14px!important;line-height:1.25!important;font-weight:400!important;text-decoration:none!important}.mobile-menu-panel a:hover{background:#f3f0ea!important}.mobile-menu-group{margin-top:6px!important;color:#9a9286!important;font-size:11px!important;letter-spacing:.18em!important;text-transform:uppercase!important}}


/* v106 nav sticky fix: keep header visible while scrolling */
.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:1000 !important;
  background:rgba(247,246,242,.94);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}



/* v107 nav fixed fallback */
.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:3000 !important;
  background:rgba(247,246,242,.96) !important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
body{
  padding-top:86px !important;
}
@media (max-width:900px){
  body{
    padding-top:72px !important;
  }
}


/* v120 language toggle */
.language-toggle,
.mobile-language-toggle{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif!important;
}
.header-actions .language-toggle{
  min-width:92px!important;
  letter-spacing:.02em!important;
}
.mobile-language-toggle{
  display:block!important;
  width:100%!important;
  margin:10px 0 0!important;
  padding:12px 14px!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-radius:14px!important;
  background:#111!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1!important;
  text-align:center!important;
  cursor:pointer!important;
}

/* v124 mobile menu final fix: independent fixed scroll panel, no page scroll behind */
body.bl-menu-open{
  overflow:hidden !important;
  touch-action:none !important;
}
@media (max-width:980px){
  body{
    padding-top:72px !important;
  }
  .site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;
    z-index:3000 !important;
    overflow:visible !important;
  }
  .mobile-menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .nav,
  .header-actions{
    display:none !important;
  }
  .mobile-menu-panel{
    position:fixed !important;
    top:86px !important;
    left:28px !important;
    right:28px !important;
    bottom:auto !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 112px) !important;
    height:auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    z-index:10050 !important;
    display:none !important;
    flex-direction:column !important;
    gap:0 !important;
    padding:18px !important;
    border:1px solid rgba(0,0,0,.08) !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:0 20px 60px rgba(0,0,0,.12) !important;
    backdrop-filter:blur(18px) !important;
    -webkit-backdrop-filter:blur(18px) !important;
    box-sizing:border-box !important;
    transform:none !important;
  }
  .mobile-menu-panel.open{
    display:flex !important;
  }
  .mobile-menu-panel a{
    display:block !important;
    flex:0 0 auto !important;
    padding:11px 12px !important;
    border-radius:12px !important;
    color:#2a2927 !important;
    font-size:14px !important;
    line-height:1.25 !important;
    font-weight:400 !important;
    text-decoration:none !important;
    white-space:normal !important;
  }
  .mobile-menu-panel a:hover{
    background:#f3f0ea !important;
  }
  .mobile-menu-group{
    display:block !important;
    flex:0 0 auto !important;
    margin:10px 8px 4px !important;
    padding:0 !important;
    border-radius:0 !important;
    color:#9a9286 !important;
    font-size:11px !important;
    line-height:1.2 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
    font-weight:700 !important;
  }
  .mobile-language-toggle{
    flex:0 0 auto !important;
  }
}
@media (max-width:520px){
  .mobile-menu-panel{
    top:82px !important;
    left:16px !important;
    right:16px !important;
    max-height:calc(100dvh - 100px) !important;
    padding:16px !important;
  }
}
