/* Shared full-width / floating navigation. This replaces site-navigation.css. */
html { scroll-padding-top:96px; }
body.restored-site #site-header.navbar {
  --nav-current-height:76px;
  position:fixed!important;inset:0 0 auto!important;z-index:1100;
  width:100%!important;height:76px!important;min-height:76px!important;
  padding:0!important;border:0!important;background:transparent!important;
  box-shadow:none!important;backdrop-filter:none!important;
  transform:translateY(0);transition:transform .4s cubic-bezier(.22,1,.36,1)!important;
  font-family:"Segoe UI","Microsoft YaHei",sans-serif;
}
body.restored-site #site-header.navbar.nav-hidden {transform:translateY(-110%)!important;pointer-events:none;}
body.restored-site #site-header .nav-container {
  box-sizing:border-box;position:relative!important;left:auto!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  width:100%!important;max-width:none!important;height:76px!important;min-height:76px!important;
  margin:0 auto!important;padding:0 clamp(24px,4vw,64px)!important;gap:24px!important;
  border:1px solid transparent;border-radius:0;background:rgba(248,249,245,.94);
  box-shadow:none;transform:none!important;opacity:1!important;
  transition:width .52s cubic-bezier(.22,1,.36,1),height .42s cubic-bezier(.22,1,.36,1),min-height .42s cubic-bezier(.22,1,.36,1),margin .42s cubic-bezier(.22,1,.36,1),padding .42s cubic-bezier(.22,1,.36,1),border-radius .42s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s!important;
}
body.magic-site #site-header:not(.is-resized):not(.nav-open):not(.nav-dropdown-open) .nav-container {background:transparent;}
body.restored-site #site-header .logo-link {
  display:flex!important;align-items:center;gap:8px;flex:0 0 auto;
  width:auto!important;min-width:0!important;max-width:none;height:auto!important;
  color:#183b36;text-decoration:none;
}
body.restored-site #site-header .logo-link .nav-logo-img {
  display:block;width:58px!important;height:48px!important;min-width:0!important;flex:0 0 58px;object-fit:contain;
}
body.restored-site #site-header .nav-brand-name {
  font-family:"Songti SC","STSong",Georgia,serif;font-size:19px!important;font-weight:600!important;
  letter-spacing:.04em!important;line-height:1.15!important;white-space:nowrap!important;color:#183b36;
}
html[lang="en"] body.restored-site #site-header .nav-brand-name {font-size:15px!important;letter-spacing:0!important;}
body.restored-site #site-header #primary-navigation.nav-links {
  display:flex!important;position:static!important;align-items:center;justify-content:flex-end!important;
  flex:1 1 auto;gap:clamp(20px,2.3vw,36px)!important;margin:0!important;padding:0!important;
  width:auto!important;max-height:none;overflow:visible;background:none;border:0;border-radius:0;box-shadow:none;
  opacity:1;visibility:visible;pointer-events:auto;transform:none;
}
body.restored-site #site-header #primary-navigation > a,
body.restored-site #site-header #primary-navigation .nav-dropdown-link {
  position:relative;display:flex;align-items:center;min-height:76px!important;height:76px!important;
  padding:0!important;margin:0!important;border:0;background:transparent;color:#273b37!important;
  font-family:inherit;font-size:15px!important;font-weight:550!important;letter-spacing:0!important;line-height:1.25;
  white-space:nowrap;text-decoration:none;opacity:1!important;transition:color .2s;
}
body.restored-site #site-header #primary-navigation > a::after,
body.restored-site #site-header .nav-dropdown-link::after {
  content:"";position:absolute;left:0!important;right:0;bottom:18px!important;width:100%!important;height:2px;
  border-radius:2px;background:#14766e!important;opacity:1;transform:scaleX(0);transform-origin:right;
  /* The legacy active-line animation translates -50%, but this line starts at left:0. */
  animation:none;
  transition:transform .28s cubic-bezier(.22,1,.36,1);
}
body.restored-site #site-header #primary-navigation > a:is(:hover,.active)::after,
body.restored-site #site-header .nav-dropdown-link:is(:hover,.active)::after,
body.restored-site #site-header .nav-dropdown.is-open .nav-dropdown-link::after {transform:scaleX(1);transform-origin:left;}
body.restored-site #site-header #primary-navigation > .nav-contact-link {
  height:40px!important;min-height:40px!important;padding:0 18px!important;border:1px solid #b9ccc5!important;
  border-radius:999px;background:#edf3ef;color:#214c43!important;transition:background .2s,border-color .2s;
}
body.restored-site #site-header #primary-navigation > .nav-contact-link:hover {background:#e1eee7;border-color:#14766e!important;}
body.restored-site #site-header #primary-navigation > .nav-contact-link::after {display:none;}
body.restored-site #site-header .site-language-switch {
  order:3;position:static!important;display:flex;align-items:center;justify-content:center;flex:0 0 42px;
  width:42px;height:40px;margin:0!important;transform:none!important;border:1px solid #b9c6bf;border-radius:50%;
  color:#31463e;background:transparent;font:500 12px/1 "Segoe UI",sans-serif;text-decoration:none;
}
body.restored-site #site-header .nav-toggle {display:none!important;}
body.restored-site #site-header .nav-dropdown {position:relative;display:flex;align-items:center;align-self:stretch;}
body.restored-site #site-header .nav-dropdown-row {display:flex;align-items:center;min-height:0!important;}
body.restored-site #site-header .nav-dropdown-toggle {
  display:grid;place-items:center;width:32px;height:40px;min-height:0;margin:0 -8px 0 2px;padding:0;
  border:0;border-radius:50%;background:transparent;color:#273b37!important;cursor:pointer;opacity:1!important;
}
body.restored-site #site-header .nav-dropdown-toggle svg {width:14px;height:14px;transition:none;}
body.restored-site #site-header .nav-dropdown-toggle:hover {background:#e7efe9;}
body.restored-site #site-header .nav-dropdown-panel {
  position:absolute;z-index:10;top:100%;left:0;width:min(660px,calc(100vw - 40px));
  padding:10px 0 0;border:0;background:none;box-shadow:none;visibility:hidden;pointer-events:none;
  overflow:visible;opacity:1;transform:none;transition:none;
}
body.restored-site #site-header .nav-dropdown.is-open .nav-dropdown-panel {visibility:visible;pointer-events:auto;}
body.restored-site #site-header .nav-panel-surface {
  padding:24px;border:1px solid #dae3dd;border-radius:18px;background:#fafbf8;
  box-shadow:0 18px 54px rgba(24,54,43,.12),0 2px 6px rgba(24,54,43,.04);overflow:hidden;
}
body.restored-site #site-header .nav-panel-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;}
body.restored-site #site-header .nav-panel-heading strong {font-size:14px;font-weight:550;color:#2f4e43;}
body.restored-site #site-header .nav-panel-heading small {font-size:12px;color:#5b7066;}
body.restored-site #site-header .nav-dropdown-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;}
body.restored-site #site-header .nav-dropdown-grid a {
  display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:14px;padding:16px 12px;
  min-width:0;min-height:98px;border:1px solid transparent;border-radius:12px;
  background:#f1f5ef;color:#253c33;text-decoration:none;transition:background .2s,border-color .2s;
}
body.restored-site #site-header .nav-dropdown-grid a:hover {background:#e4eee4;border-color:#c2d5c7;}
body.restored-site #site-header .nav-dropdown-grid img {display:block;width:60px;height:60px;object-fit:contain;border-radius:8px;}
body.restored-site #site-header .nav-dropdown-grid strong {display:block;font-size:15px;line-height:1.35;font-weight:600;color:#263e35;}
body.restored-site #site-header .nav-dropdown-grid small {display:block;margin-top:5px;font-size:12px;line-height:1.5;color:#536b5e;}
body.restored-site #site-header .nav-panel-footer {display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid #dbe4dc;}
body.restored-site #site-header .nav-panel-footer a {color:#246c54;font-size:13px;font-weight:550;text-decoration:none;}
body.restored-site #site-header .nav-panel-footer a:hover {text-decoration:underline;text-underline-offset:4px;}
body.restored-site #site-header :is(a,button):focus-visible {outline:2px solid #14766e;outline-offset:4px;}
@media(min-width:960px) {
  body.restored-site #site-header.is-resized .nav-container {
    width:min(calc(100% - 40px),1200px)!important;height:64px!important;min-height:64px!important;
    margin-top:10px!important;padding-inline:22px!important;border-color:#d3dfd7;border-radius:24px;
    background:rgba(250,252,248,.95);box-shadow:0 8px 30px rgba(24,54,43,.09);backdrop-filter:blur(14px);
  }
  body.restored-site #site-header.is-resized #primary-navigation > a,
  body.restored-site #site-header.is-resized #primary-navigation .nav-dropdown-link {height:64px!important;min-height:64px!important;}
  body.restored-site #site-header.is-resized #primary-navigation > .nav-contact-link {height:40px!important;min-height:40px!important;}
  body.restored-site #site-header.is-resized #primary-navigation > a::after,
  body.restored-site #site-header.is-resized .nav-dropdown-link::after {bottom:12px!important;}
}
@media(min-width:960px) and (max-width:1199px) {
  body.restored-site #site-header .nav-container {gap:16px!important;padding-inline:24px!important;}
  body.restored-site #site-header #primary-navigation.nav-links {gap:18px!important;}
  html[lang="en"] body.restored-site #site-header .nav-brand-name {font-size:12px!important;}
  body.restored-site #site-header .logo-link .nav-logo-img {width:46px!important;flex-basis:46px;height:42px!important;}
  body.restored-site #site-header #primary-navigation > a,body.restored-site #site-header #primary-navigation .nav-dropdown-link {font-size:14px!important;}
}
@media(max-width:959px) {
  html {scroll-padding-top:84px;}
  body.restored-site #site-header.navbar {--nav-current-height:68px;height:68px!important;min-height:68px!important;}
  body.restored-site #site-header .nav-container {height:68px!important;min-height:68px!important;padding:0 16px!important;gap:12px!important;}
  body.restored-site #site-header .logo-link {max-width:calc(100% - 112px)!important;gap:6px;}
  body.restored-site #site-header .logo-link .nav-logo-img {width:46px!important;height:42px!important;flex-basis:46px;}
  body.restored-site #site-header .nav-brand-name {font-size:16px!important;}
  html[lang="en"] body.restored-site #site-header .nav-brand-name {font-size:11px!important;line-height:1.2!important;white-space:normal!important;max-width:180px;}
  body.restored-site #site-header .site-language-switch {margin-left:auto!important;flex:0 0 40px;height:40px;}
  body.restored-site #site-header .nav-toggle {
    order:4;display:flex!important;position:static!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;
    flex:0 0 42px;width:42px!important;height:42px!important;padding:0;margin:0!important;
    border:1px solid #c8d6cc;border-radius:50%;background:#f8faf6;transform:none;z-index:2;
  }
  body.restored-site #site-header .nav-toggle span {display:block;width:16px;height:1.5px;margin:0;background:#294137;transition:transform .25s;}
  body.restored-site #site-header.nav-open .nav-toggle span:first-child {transform:translateY(3.75px) rotate(45deg);}
  body.restored-site #site-header.nav-open .nav-toggle span:last-child {transform:translateY(-3.75px) rotate(-45deg);}
  body.restored-site #site-header #primary-navigation.nav-links {
    position:absolute!important;display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start!important;
    inset:76px 12px auto!important;gap:0!important;width:auto!important;max-height:calc(100dvh - 92px)!important;
    padding:10px!important;border:1px solid #d3dfd7;border-radius:18px;background:#fafbf8;
    overflow-x:hidden;overflow-y:auto;box-shadow:0 15px 40px rgba(24,54,43,.12);
    visibility:hidden;opacity:0;pointer-events:none;transition:none;
  }
  body.restored-site #site-header.nav-open #primary-navigation.nav-links {visibility:visible;opacity:1;pointer-events:auto;}
  body.restored-site #site-header #primary-navigation.nav-links > * {flex-shrink:0!important;}
  body.restored-site #site-header #primary-navigation > a,
  body.restored-site #site-header #primary-navigation .nav-dropdown-link {
    height:50px!important;min-height:50px!important;padding:0 16px!important;font-size:16px!important;line-height:1.3;
  }
  body.restored-site #site-header #primary-navigation > a::after,
  body.restored-site #site-header .nav-dropdown-link::after {display:none;}
  body.restored-site #site-header #primary-navigation .active {background:#edf3e9;border-radius:10px;color:#14705a!important;}
  body.restored-site #site-header #primary-navigation > .nav-contact-link {height:46px!important;min-height:46px!important;margin-top:8px!important;justify-content:center;}
  body.restored-site #site-header .nav-dropdown {display:block;align-self:auto;}
  body.restored-site #site-header .nav-dropdown-row {display:flex;width:100%;border:0;}
  body.restored-site #site-header .nav-dropdown-link {flex:1;}
  body.restored-site #site-header .nav-dropdown-toggle {width:46px;height:46px;flex:0 0 46px;margin:0;border:0;}
  body.restored-site #site-header .nav-dropdown-panel {position:static;top:auto;width:100%;height:0;max-height:none;padding:0;overflow:hidden;}
  body.restored-site #site-header .nav-panel-surface {padding:8px 6px 14px;border:0;border-radius:0;background:none;box-shadow:none;}
  body.restored-site #site-header .nav-panel-heading {display:none;}
  body.restored-site #site-header .nav-dropdown-grid {grid-template-columns:minmax(0,1fr);gap:5px;}
  body.restored-site #site-header .nav-dropdown-grid a {grid-template-columns:40px minmax(0,1fr);gap:12px;padding:12px;min-height:72px;}
  body.restored-site #site-header .nav-dropdown-grid img {width:40px;height:40px;}
  body.restored-site #site-header .nav-panel-footer {gap:12px;margin-top:12px;padding:12px 8px 0;}
  body.restored-site #site-header .nav-panel-footer a {white-space:nowrap;}
  body.restored-site #site-header .nav-panel-footer a:last-child {display:none;}
}
@media(prefers-reduced-motion:reduce) {
  body.restored-site #site-header,body.restored-site #site-header * {transition-duration:0s!important;animation:none!important;}
}
@media(prefers-reduced-transparency:reduce) {body.restored-site #site-header.is-resized .nav-container {background:#fafcf8;backdrop-filter:none;}}
