/* Shared navigation only. All pages use these values; keep page styles out of this file. */
:root {
  --site-font: 'Noto Sans CJK SC', 'Microsoft YaHei', sans-serif;
  --site-nav-size: 14px;
  --site-nav-gap: clamp(10px, 1.25vw, 21px);
  --site-footer-size: var(--site-nav-size);
  --site-footer-gap: 38px;
}
.site-header,.site-footer{box-sizing:border-box;font-family:var(--site-font);line-height:1.6;text-align:left;letter-spacing:normal}
.site-header *, .site-footer *{box-sizing:border-box}
.site-header a,.site-footer a{text-decoration:none}
.site-container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(22px,5vw,74px)}
.site-header{height:88px;position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 1px 0 #d8e7fa44;color:#0b1f45}
.site-header-inner{height:100%;max-width:1500px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.site-brand{display:flex;align-items:center;gap:14px;flex-shrink:0;color:#0b1f45}
.site-brandmark{display:block;width:44px;height:42px;background:linear-gradient(138deg,#063aab,#0e8dff);clip-path:polygon(36% 0,68% 0,100% 100%,68% 100%,57% 70%,38% 70%,29% 100%,0 100%)}
.site-brand-title{display:block;font-size:20px;font-weight:900;white-space:nowrap;line-height:1.3}
.site-brand-sub{display:block;font-size:9px;color:#778ba8;letter-spacing:.4px;white-space:nowrap}
.site-navigation{display:flex;align-items:center;gap:var(--site-nav-gap);font-size:var(--site-nav-size);font-weight:600;white-space:nowrap}
.site-navigation a{display:block;color:#344f7a;font-size:var(--site-nav-size);font-weight:600;line-height:1.6;transition:color .2s}
.site-navigation a:hover,.site-navigation a[aria-current="page"]{color:#0c5aee}
.site-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:100px;padding:13px 20px;background:linear-gradient(115deg,#197dff,#0b4ee6);color:#fff;font-size:var(--site-nav-size);font-weight:800;line-height:1.5;white-space:nowrap;transition:transform .18s}
.site-button:hover{transform:translateY(-2px)}
.site-menu-toggle{display:none;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #d9e7fc;background:white;color:#0759e9;border-radius:12px;font-size:22px;line-height:1;cursor:pointer}
.site-header :focus-visible,.site-footer :focus-visible{outline:3px solid #11c7f9;outline-offset:4px}
.site-footer{background:#06183d;color:#e9f1ff;padding:60px 0 24px}
.site-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:var(--site-footer-gap);padding-bottom:35px}
.site-footer h2{font-size:18px;line-height:1.5;font-weight:800;margin:0 0 18px;color:#fff;letter-spacing:normal}
.site-footer p{font-size:var(--site-footer-size);line-height:1.85;color:#b2c4e2;margin:10px 0}
.site-footer-grid>div>a:not(.site-button){display:block;color:#b2c4e2;font-size:var(--site-footer-size);margin:10px 0}
.site-footer-grid>div>.site-footer-logo{color:#e9f1ff;font-size:22px;font-weight:800;margin:0 0 16px}
.site-footer a:hover{color:#fff}
.site-footer .site-button-outline{margin-top:14px;border-color:#aac0f0;background:transparent;color:#bdd9ff}
.site-footer-bottom{border-top:1px solid #ffffff20;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:13px;line-height:1.7;color:#9aaccb}
@media(max-width:1360px){.site-navigation{font-size:var(--site-nav-size);gap:12px}.site-header-inner{gap:18px}.site-header .site-button{padding:12px 16px}}
@media(max-width:1280px){.site-menu-toggle{display:inline-flex;margin-left:auto}.site-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:23px clamp(22px,5vw,74px);box-shadow:0 14px 24px #0b36711d;flex-wrap:wrap;gap:18px;font-size:var(--site-nav-size);white-space:normal}.site-navigation.is-open{display:flex}.site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.site-header{height:70px}.site-container{padding-left:22px;padding-right:22px}.site-brandmark{width:34px;height:37px}.site-brand-title{font-size:18px}.site-brand-sub{font-size:8px}.site-header .site-button{display:none}.site-header-inner{gap:10px}.site-navigation{flex-direction:column;align-items:stretch;gap:0}.site-navigation a{padding:12px 0;border-bottom:1px solid #eef3fb}.site-footer{padding-top:40px}.site-footer-grid{gap:30px}.site-footer-bottom{flex-direction:column;gap:12px}}
@media(max-width:420px){.site-footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.site-header *,.site-footer *{transition:none!important}}
/* Shared guide dropdown: visible with CSS when JS is disabled. */
.site-nav-group{position:relative}
.site-nav-parent{display:flex;align-items:center;gap:3px}
.site-submenu-toggle{display:none;border:0;background:transparent;color:#344f7a;padding:5px 7px;font:inherit;font-size:17px;cursor:pointer;line-height:1}
.site-header[data-menu-enhanced] .site-submenu-toggle{display:block}
.site-submenu{display:none;position:absolute;top:100%;left:-16px;min-width:210px;padding:10px;background:#fff;border:1px solid #dce7fb;border-radius:10px;box-shadow:0 12px 32px #16396d20;z-index:2}
.site-submenu a{padding:10px 12px;border-radius:6px;font-size:var(--site-nav-size)}
.site-submenu a:hover{background:#eef5ff}
.site-nav-group.is-open>.site-submenu{display:block}
.site-nav-group:has([aria-current="page"])>.site-nav-parent>a{color:#0c5aee}
.site-nav-group.is-open .site-submenu-toggle{transform:rotate(180deg)}
.site-header:not([data-menu-enhanced]) .site-nav-group:hover>.site-submenu,.site-header:not([data-menu-enhanced]) .site-nav-group:focus-within>.site-submenu{display:block}
@media(max-width:1280px){.site-submenu{position:static;margin-top:10px;box-shadow:none;background:#f7faff}.site-header:not([data-menu-enhanced]){height:auto;min-height:88px}.site-header:not([data-menu-enhanced]) .site-header-inner{flex-wrap:wrap;padding-block:18px}.site-header:not([data-menu-enhanced]) .site-navigation{display:flex;position:static;box-shadow:none;padding:15px 0;order:3;width:100%}.site-header:not([data-menu-enhanced]) .site-submenu{display:block}.site-header:not([data-menu-enhanced]) .site-menu-toggle{display:none}}
@media(max-width:700px){.site-nav-parent{justify-content:space-between}.site-submenu-toggle{padding:13px 16px}.site-nav-parent>a{flex:1}.site-navigation .site-submenu a{padding:12px}.site-submenu{margin:0 0 8px}.site-header:not([data-menu-enhanced]){min-height:70px}}
@media(max-width:1280px){.site-navigation{max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:700px){.site-navigation{max-height:calc(100dvh - 70px)}}
/* Consistent, restrained active-page marker and vector disclosure icon. */
.site-navigation>a,.site-nav-parent>a{position:relative;padding-block:12px}
.site-navigation>a:after,.site-nav-parent>a:after{content:'';position:absolute;bottom:3px;left:50%;width:24px;height:2px;border-radius:2px;background:#0865f5;opacity:0;transform:translateX(-50%) scaleX(.5);transition:opacity .2s,transform .2s}
.site-navigation>a[aria-current="page"]:after,.site-nav-parent>a[aria-current="page"]:after,.site-nav-group:has(.site-submenu [aria-current="page"]) .site-nav-parent>a:after{opacity:1;transform:translateX(-50%) scaleX(1)}
.site-submenu a[aria-current="page"]{background:#eaf3ff;color:#075be5}
.site-submenu-toggle{width:28px;height:28px;padding:6px;border-radius:6px;transition:transform .2s,background .2s}
.site-submenu-toggle:hover{background:#edf4ff}
.site-submenu-toggle svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){.site-navigation>a:after,.site-nav-parent>a:after{left:0;bottom:9px;transform:scaleX(.5);transform-origin:left;width:22px}.site-navigation>a[aria-current="page"]:after,.site-nav-parent>a[aria-current="page"]:after,.site-nav-group:has(.site-submenu [aria-current="page"]) .site-nav-parent>a:after{transform:scaleX(1)}.site-submenu-toggle{width:36px;height:36px;padding:10px}}
/* Single blue/mint brand asset, plus the shared WeChat contact block. */
.site-logo{display:block;width:44px;height:44px;flex-shrink:0;border-radius:10px}
.site-footer-grid>div>a.site-footer-logo{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;color:#e9f1ff;line-height:1.4;margin:0 0 16px}
.site-footer-logo .site-logo{width:36px;height:36px;border-radius:8px}
.site-wechat{margin:16px 0 0}.site-wechat a{display:block;width:160px;max-width:100%;border-radius:10px;overflow:hidden;background:white}.site-wechat img{display:block;width:160px;height:auto;max-width:100%}.site-wechat figcaption{font-size:13px;color:#b2c4e2;margin-top:9px;line-height:1.7}
@media(max-width:700px){.site-header .site-logo{width:36px;height:36px;border-radius:8px}}
