/* Use the same SC-capable family for simplified and traditional Chinese; TC-only subsets can mix glyph weights. */
/* Shared first row and final filing row for every public page. */
body.site-shell{min-width:280px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;margin:0}
.site-shell>main{flex:1 0 auto}
.site-shell .skip-link{position:fixed;left:16px;top:-80px;z-index:1000;padding:12px 20px;background:#28392e;color:#fff;text-decoration:none}
.site-shell .skip-link:focus{top:16px}
.site-shell .portal-header{box-sizing:border-box;flex-shrink:0;width:100%;height:110px;margin:0;padding:0 max(48px,calc((100% - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;background:#f5f5ef;border:0;border-bottom:1px solid #dce1d5;color:#28392e;font:13px/1.65 "Noto Sans SC","Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Microsoft JhengHei",system-ui,sans-serif}
.site-shell .portal-brand{display:block;width:280px;flex-shrink:0;margin:0;padding:0}
.site-shell .portal-brand img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3/1}
.site-shell .portal-nav{display:flex;align-items:center;justify-content:flex-end;gap:31px;min-width:0;font-size:13px;white-space:nowrap}
.site-shell .nav-toggle{display:none}
.site-shell .portal-header a{box-sizing:border-box;color:inherit;text-decoration:none}
.site-shell .portal-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;transition:color .2s}
.site-shell .portal-nav a:hover,.site-shell .portal-nav a[aria-current=page]{color:#7d8e66}
.site-shell .portal-nav .nav-contact{border:1px solid #cdd5c4;border-radius:99px;padding:8px 19px;margin-left:8px}
.site-shell .nav-contact span{margin-left:18px}
.site-shell .portal-header a:focus-visible,.site-shell .nav-toggle:focus-visible,.site-shell .site-icp a:focus-visible{outline:3px solid #8da47b;outline-offset:4px}
.site-shell .site-icp{box-sizing:border-box;display:block;flex-shrink:0;width:100%;max-width:none;margin:0;padding:18px 20px;border:0;border-top:1px solid #dce1d5;background:#f5f5ef;color:#727d6b;text-align:center;font:11px/1.65 "Noto Sans SC","Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Microsoft JhengHei",system-ui,sans-serif;overflow-wrap:anywhere}
.site-shell .site-icp a{color:inherit;text-decoration:none}
.site-shell .site-icp a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){
  .site-shell .portal-header{padding-inline:32px}
  .site-shell .portal-brand{width:240px}
  .site-shell .portal-nav{gap:20px}
}
@media(max-width:760px){
  .site-shell .portal-header{height:auto;min-height:0;flex-direction:row;flex-wrap:wrap;gap:12px;padding:13px 20px 9px}
  .site-shell .portal-brand{width:min(240px,calc(100% - 56px));margin:0}
  .site-shell .portal-nav{width:100%;flex-wrap:wrap;justify-content:flex-end;gap:0 20px;font-size:11px}
  .site-shell .portal-nav .nav-contact{margin:0;padding:7px 12px}
  .site-shell .nav-contact span{margin-left:7px}
  .site-shell .portal-header.nav-ready{position:relative;z-index:30}
  .site-shell .nav-ready .nav-toggle{display:inline-flex;align-items:center;justify-content:center;align-self:center;flex-shrink:0;min-width:44px;min-height:44px;padding:12px;border:0;border-radius:0;background:transparent;color:#28392e;font:12px/1.5 "Noto Sans SC","Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Microsoft JhengHei",system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
  .site-shell .nav-toggle-icon{display:block;box-sizing:border-box;width:11px;height:11px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
  .site-shell .is-nav-open .nav-toggle-icon{transform:translateY(3px) rotate(225deg)}
  .site-shell .portal-header.nav-ready .portal-nav{display:none;position:absolute;top:calc(100% - 1px);right:20px;width:max-content;max-width:calc(100% - 40px);padding:6px;flex-direction:column;align-items:stretch;gap:0;border:1px solid #dce1d5;border-radius:14px;background:#f5f5ef;box-shadow:0 12px 28px #28392e14;font-size:13px;white-space:normal}
  .site-shell .portal-header.is-nav-open .portal-nav{display:flex}
  .site-shell .portal-header.nav-ready .portal-nav a{justify-content:flex-end;padding:10px 0;border:0;border-radius:0;min-height:46px}
}
@media(max-width:520px){
  .site-shell .portal-nav{gap:0 12px}
  .site-shell .portal-nav a{padding:7px 0}
  .site-shell .portal-nav .nav-contact{border:0;padding:7px 0}
  .site-shell .nav-contact span{margin-left:6px}
}
