/* 全站公共样式：导航、页脚、联系弹窗及基础规则。首页专属样式见 home.css。 */
/* 浮动按钮高于页脚（999），低于联系弹窗（10000）。 */
.back-to-top { display: block; width: 60px; height: 60px; position: fixed; bottom: 60px; cursor: pointer; z-index: 1001; right: 24px; }
.btn-img { width: 60px; height: 60px; }
.footer { position: relative; margin: var(--footer-gap) var(--site-gutter) 0px; height: auto; border-radius: var(--radius-card); background-color: #FAFDFFCF; border: 1px solid #FFFFFFCC; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); z-index: 999; }
#header { position: fixed; top: 10px; left: 50% !important; transform: translateX(-50%); z-index: 1000; transition: opacity 0.3s ease-in-out; width: min(1200px, calc(100% - var(--site-gutter) * 2)) !important; height: 64px !important; }
#header .header-wraper { position: relative; width: 100%; height: 64px !important; background-color: #FFFFFF66; border: 1px solid #FFFFFFCC; border-radius: 80px; backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px); box-shadow: 0px 4px 24px 0px #51515114; display: grid; grid-template-columns: minmax(190px, 1fr) repeat(4, auto) minmax(132px, 1fr); column-gap: 8px; align-items: center; padding: 0 12px 0 24px; }
#header .header-logo { margin-left: 0; width: auto; height: 32px; }
#header .logo { display: flex; align-items: center; }
#header .logo-text { margin-left: 10px; font-family: Roboto, -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', Arial, sans-serif; font-size: 18px; font-weight: 600; line-height: 1; color: #0F1531; white-space: nowrap; }
#header .nav-font-style { display: flex; align-items: center; justify-content: center; font-family: Roboto, -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', Arial, sans-serif; font-weight: 400; font-size: 16px; line-height: 20px; letter-spacing: 0px; text-align: center; color: #0F1531; cursor: pointer; }
#header .banner-btn-a { justify-self: end; }
/* 导航"立即下载"：CSS 绘制胶囊按钮（原为图片，便于统一调色）。 */
#header .banner-btn-wrap {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 6px;
  width: 120px; height: 43px; border-radius: 80px;
  background: #3d5789; color: #fff; font-size: 14px; font-weight: 500; letter-spacing: .5px;
  box-shadow: 0 6px 16px #3d578938;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
#header .banner-btn-wrap::after { content: "→"; font-size: 13px; line-height: 1; }
#header .banner-btn-a:hover .banner-btn-wrap, #header .banner-btn-a:focus-visible .banner-btn-wrap { background: #5c74ab; transform: translateY(-1px); box-shadow: 0 8px 20px #3d578945; }
* { box-sizing: border-box; margin:0; padding:0; font-family:'Microsoft YaHei', sans-serif; }
body { font:14px/1.5 \5FAE\8F6F\96C5\9ED1, Tahoma; color:#373737; position: relative; }
a { color:#555; text-decoration:none !important; }
li { list-style-type:none; }
img { border:none; }
.footer-wrap { width: 100%; height: 100%; }
.footer-main { font-size:12px; line-height:1.8em; text-align:center; padding-top:10px; max-width: 1120px; margin: 0 auto; min-height: 56px; color:#6b7280; }
.footer-main a, .footer-main span { color:#6b7280; padding:0 12px; }
#contact-qrcode-modal { display: none; position: fixed; inset: 0; z-index: 10000; align-items: center; justify-content: center; padding: 16px; }
#contact-qrcode-modal.show { display: flex; }
.contact-qrcode-mask { position: absolute; inset: 0; background: rgba(20, 37, 65, .38); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.contact-qrcode-box { position: relative; width: 440px; max-width: 100%; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; padding: 32px 36px 24px; border: 1px solid rgba(255, 255, 255, .94); border-radius: 32px; background: radial-gradient(ellipse at 0 0, #dfedff 0, transparent 58%),
    radial-gradient(ellipse at 100% 12%, #eeebff 0, transparent 52%),
    linear-gradient(180deg, #f5f9ff, #fff 75%); box-shadow: 0 28px 90px rgba(18, 43, 81, .24), inset 0 1px 0 #fff; text-align: center; color: #172b4a; }
#contact-qrcode-modal.show .contact-qrcode-box { animation: contact-enter 220ms ease-out; }
.contact-brand { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 26px 14px; font-size: 14px; font-weight: 600; }
.contact-brand img { display: block; border-radius: 8px; }
#contact-qrcode-description { margin-top: 8px; color: #66758c; font-size: 13px; line-height: 1.8; }
.contact-qrcode-card { width: 254px; max-width: 100%; margin: 24px auto 20px; padding: 18px; border: 1px solid #e5ebf7; border-radius: 24px; background: #fff; box-shadow: 0 10px 30px rgba(76, 112, 175, .09), 0 0 0 6px rgba(255, 255, 255, .55); }
.contact-qrcode-img { display: block; width: 100%; height: auto; }
.contact-scan-label { color: #29476b; font-size: 16px; font-weight: 600; line-height: 24px; }
.contact-scan-hint, .contact-mobile-hint { margin-top: 6px; color: #6b7a90; font-size: 12px; line-height: 1.8; }
.contact-mobile-hint { display: none; }
#contact-qrcode-modal .contact-qrcode-close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; padding: 0; border: 1px solid rgba(255, 255, 255, .95); border-radius: 50%; background: rgba(255, 255, 255, .65); color: #667995; transition: background 160ms, color 160ms; }
.contact-qrcode-close::before, .contact-qrcode-close::after { content: ""; position: absolute; top: 16px; left: 10px; width: 14px; height: 1.5px; border-radius: 2px; background: currentColor; transform: rotate(45deg); pointer-events: none; }
.contact-qrcode-close::after { transform: rotate(-45deg); }
#contact-qrcode-modal .contact-qrcode-close:hover { background: #fff; color: #355fac; }
@keyframes contact-enter {
from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; }
}
@media (max-width: 480px) {
  .contact-qrcode-box { padding: 28px 20px 22px; border-radius: 28px; }
  #contact-qrcode-description { font-size: 12px; }
  .contact-qrcode-card { margin-top: 22px; }
  .contact-scan-hint { display: none; }
  .contact-mobile-hint { display: block; }
}
/* 全站统一尺度：页面底色、左右留白、首屏留白、页脚间距、圆角。
   各页面不再写死数值，改这里即可整站生效。
   --site-header-clearance：固定导航的安全间距（锚点滚动用，不含首屏留白）。
   --page-top：首屏内容顶部留白（导航下沿到页面第一行内容的距离，全站一致）。
   --footer-gap：正文到页脚卡片的间距。 */
:root {
  --site-header-clearance: 98px;
  --site-gutter: 32px;
  --page-top: 154px;
  --footer-gap: 72px;
  --page-bg: #f7fbff;
  --radius-card: 32px;
  --radius-inner: 20px;
}
@media (max-width: 1100px) {
  :root { --site-header-clearance: 136px; --site-gutter: 16px; --page-top: 156px; }
}
@media (max-width: 600px) {
  :root { --page-top: 150px; --footer-gap: 40px; }
}
html, body { min-width: 0; }
/* 页脚卡片下方统一留出与左右相同的呼吸区，避免贴页面底边。 */
body { overflow-wrap: break-word; padding-bottom: 24px; }
button { font: inherit; border: 0; background: transparent; color: inherit; cursor: pointer; }
a:focus-visible, button:focus-visible { outline: 3px solid #355fac; outline-offset: 4px; }
#header .nav-font-style a, #header .nav-font-style button { display: block; }
#header .nav-inner-1 { display: block; padding: 12px 20px; border-radius: 80px; }
#header .nav-font-style :is(a, button):is(:hover, :focus-visible, [aria-current="page"]) .nav-inner-1 { background: #ffffffcc; }
#header .nav-font-style :is(a, button):is(:hover, :focus-visible, [aria-current="page"]) .nav-inner-2 { color: #355fac; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  #header .header-wraper { background: #fff; }
}
@media (max-width: 1100px) {
  #header { top: 8px; height: 104px !important; }
  #header .header-wraper { height: 104px !important; border-radius: 24px; display: grid; grid-template-columns: repeat(4, auto); grid-template-rows: 38px 44px; column-gap: 0; padding: 10px 8px 4px; background-color: #ffffffd9; }
  #header .logo { grid-column: 1 / -1; width: 100%; justify-content: center; height: 38px; }
  #header .header-logo { margin-left: 0; height: 28px; }
  #header .logo-text { font-size: 17px; }
  #header .nav-font-style { position: static; width: auto; height: 44px; font-size: 14px; }
  #header .nav-inner-1 { display: block; padding: 10px 4px; }
  #header .banner-btn-a { display: none; }
  .back-to-top { right: 12px; bottom: 110px; width: 44px; height: 44px; }
  .back-to-top .btn-img { width: 44px; height: 44px; }
  .footer { margin: var(--footer-gap) var(--site-gutter) 0; border-radius: var(--radius-inner); padding: 12px 4px; }
  .footer .footer-main { width: 100%; height: auto; }
  .footer-main a { display: inline-block; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
#footer-year { padding: 0; }

/* Navigation partnership badge. */
#header .nav-inner-2 { display: block; position: relative; white-space: nowrap; }
/* 角标绝对定位、移出文字行盒，保证“代理中心”与其他菜单基线一致。 */
#header .header-nav2 .nav-inner-2 { padding-right: 60px; }
.nav-hot { position: absolute; top: 50%; right: 0; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; gap: 3px;
    height: 21px; padding: 0 7px; overflow: hidden; isolation: isolate;
    border-radius: 20px; font: 800 10px/1 Arial, 'PingFang SC', sans-serif; letter-spacing: .4px;
    white-space: nowrap; color: #fff;
    background: linear-gradient(115deg, #6355e9, #bd35d0); box-shadow: 0 2px 10px #8150e84a; }
.nav-hot > svg { display: block; flex-shrink: 0; width: 13px; height: 14px; fill: currentColor; }
/* 角标字体固定在这里：subpage.css 的正文排版规则（.site-subpage :is(...,span,...)）优先级高于 .nav-hot，
   会把“HOT”换成系统字体，导致首页与其他页角标字形、宽度不一致。加上 #header 前缀压过页面级规则。 */
#header .nav-hot, #header .nav-hot > span { font-family: Arial, 'PingFang SC', sans-serif; }
.nav-hot > span { position: relative; display: block; line-height: 1; }
.nav-hot::after { content: ""; position: absolute; inset: -6px auto -6px -60%; width: 30%;
    transform: skew(-20deg); background: linear-gradient(90deg, transparent, #ffffff70, transparent);
    animation: nav-hot-shine 3s ease-in-out infinite; }
@keyframes nav-hot-shine {
    0% { left: -60%; }
    55%, 100% { left: 140%; }
}
@media (prefers-reduced-motion: reduce) {
    .nav-hot::after { animation: none; opacity: 0; }
}
@media (max-width: 1100px) {
    #header .header-nav2 .nav-inner-2 { padding-right: 46px; }
    .nav-hot { padding: 0 5px; height: 18px; gap: 2px; font-size: 9px; }
    .nav-hot > svg { width: 10px; height: 12px; }
}

/* 全站统一的页面小标题（eyebrow）：字号、字距、颜色、圆点装饰只在这里定义。 */
.site-eyebrow { display: flex; align-items: center; justify-content: center; gap: 10px; color: #60779d; font-size: 12px; font-weight: 600; line-height: 22px; letter-spacing: 2px; }
.site-eyebrow::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: #6584d7; box-shadow: 0 0 0 5px rgba(101, 132, 215, .07); }
.site-eyebrow--start { justify-content: flex-start; }
@media (max-width: 600px) {
  .site-eyebrow { font-size: 10px; letter-spacing: 1px; }
}

/* Native visibility and keyboard access shared by every page. */
[hidden] { display: none !important; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 11000; padding: 12px 20px; border-radius: 12px; background: #fff; color: #172b4a; }
.skip-link:focus { top: 12px; }
[tabindex="-1"], main [id] { scroll-margin-top: var(--site-header-clearance); }
