/* ============================================================
   環球觸達 Universal Touch · 官网（复刻 uni-interconnection.com）
   主题：灰蓝调浅色系（比纯白版深一档：底色/顶底 bar 带明显蓝灰，
        卡片近白提亮对比）；仅 index 首屏 Hero 保留 mp4 + 深蓝格调。
   字体：无依赖系统栈（OSS 部署零外链字体）。
   ============================================================ */

/* ---------- 设计 token（灰蓝浅色，整体比纯白版深一档） ---------- */
:root {
  --bg: #edf1f8;
  --bg-subtle: #e2e8f3;
  --bg-card: #fbfcfe;
  --bg-deep: #d2dbeb;

  --ink: #14203c;
  --ink-soft: #3a4a6b;
  --ink-faint: #4f5f82;
  --ink-eyebrow: #0eb5a2;

  --brand: #2f6bff;
  --brand-ink: #1a4fd6;
  --brand-2: #0eb5a2;
  --brand-soft: #4f86f7;
  --coral: #d93036;
  --coral-deep: #b7262b;
  --gold: #c8952e;

  --line: rgba(20, 32, 60, .1);
  --line-soft: rgba(20, 32, 60, .06);
  --glass: rgba(47, 107, 255, .06);
  --glass-border: rgba(20, 32, 60, .14);

  --sh-sm: 0 1px 2px rgba(20, 32, 60, .07), 0 10px 24px -16px rgba(20, 32, 60, .12);
  --sh-md: 0 10px 30px -12px rgba(20, 32, 60, .14);
  --sh-lg: 0 26px 60px -18px rgba(20, 32, 60, .18);
  --sh-brand: 0 10px 28px -6px rgba(47, 107, 255, .35);
  --sh-coral: 0 12px 26px -8px rgba(217, 48, 54, .4);

  --r-sm: 8px; --r-md: 12px; --r-lg: 18px; --r-xl: 26px; --r-pill: 999px;
  --container: 1200px;
  --gut: 24px;

  /* 系统字体栈：无外链依赖，跨平台一致专业 */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
}

/* ---------- reset ---------- */
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { scroll-padding-top: 84px; -webkit-text-size-adjust: 100%; background: var(--bg); }
body {
  font-family: var(--font-sans); color: var(--ink-soft); background: var(--bg);
  line-height: 1.65; font-size: 17px;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img, svg, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
ul { list-style: none; }
html, body { overflow-x: clip; }
::selection { background: rgba(47, 107, 255, .28); }

.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gut); }

.eyebrow {
  font-size: 12.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--ink-eyebrow); display: inline-flex; align-items: center; gap: 8px;
}
.eyebrow::before { content: ""; width: 24px; height: 1.5px; background: linear-gradient(90deg, #2af0d8, transparent); }

h1, h2, h3, h4 { color: var(--ink); line-height: 1.12; letter-spacing: -.02em; font-weight: 800; }

.section { padding: 64px 0; position: relative; }
.section--subtle { background: var(--bg-subtle); }
.section-head { max-width: 760px; margin-bottom: 48px; }
.section-head.center { margin-inline: auto; text-align: center; }
.section-head h2 { font-size: clamp(28px, 3.6vw, 40px); margin: 12px 0 16px; }
.section-head p { font-size: 17.5px; color: var(--ink-soft); text-wrap: balance; }
.block-title { font-size: 22px; margin: 56px 0 24px; }
.block-title.center { text-align: center; }
.section-head + .block-title { margin-top: 0; }

/* ---------- 按钮 ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 46px; padding: 0 22px; border-radius: var(--r-pill);
  font-weight: 600; font-size: 15.5px;
  transition: transform .18s ease, box-shadow .25s ease, background .2s ease, border-color .2s ease; white-space: nowrap;
}
.btn svg { width: 17px; height: 17px; transition: transform .2s ease; }
.btn:hover svg.arrow { transform: translateX(3px); }
.btn--primary { background: var(--coral); color: #fff; box-shadow: var(--sh-coral); }
.btn--primary:hover { background: var(--coral-deep); transform: translateY(-2px); }
.btn--ghost { background: var(--bg-card); color: var(--ink); box-shadow: inset 0 0 0 1px var(--glass-border), var(--sh-sm); }
.btn--ghost:hover { background: #fff; box-shadow: inset 0 0 0 1px rgba(200,149,46,.6), var(--sh-sm); transform: translateY(-2px); }
.btn--lg { height: 54px; padding: 0 28px; font-size: 16.5px; }

/* ============================================================ 导航（灰蓝浅色 bar，比页面底深一档，全站常驻） */
.nav {
  position: sticky; top: 0; z-index: 100;
  background: linear-gradient(to bottom, rgba(169, 186, 217, .97) 0%, rgba(218, 226, 240, .92) 100%);
  backdrop-filter: saturate(150%) blur(16px); -webkit-backdrop-filter: saturate(150%) blur(16px);
  border-bottom: 1px solid var(--line-soft);
  transition: background .3s ease, box-shadow .3s ease;
}
.nav.scrolled { background: linear-gradient(to bottom, rgba(169, 186, 217, .98) 0%, rgba(218, 226, 240, .97) 100%); box-shadow: 0 4px 20px -8px rgba(20, 32, 60, .14); }
.nav__inner { display: flex; align-items: center; gap: 16px; height: 72px; }
.brand { display: inline-flex; align-items: center; }
.brand__logo { height: 44px; width: auto; display: block; }
.brand__logo--lg { height: 48px; }
/* 白色单色 logo 染成品牌金 #c8952e（canvas 实测校准的滤镜链） */
.nav .brand__logo, .footer .brand__logo { filter: brightness(.72) sepia(1) saturate(4) hue-rotate(-25deg) brightness(.8); }
.nav__menu { display: flex; align-items: center; gap: 12px; margin-left: 28px; }
.nav__menu > a, .nav__drop-toggle { position: relative; padding: 8px 11px; white-space: nowrap; font-size: 15px; font-weight: 500; letter-spacing: .02em; color: var(--ink-soft); transition: color .18s ease; display: inline-flex; align-items: center; gap: 4px; }
/* 金色底线：hover 滑出，当前页常亮 */
.nav__menu > a::after, .nav__drop-toggle::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 1px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--gold), rgba(200,149,46,.35)); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.nav__menu > a:hover::after, .nav__drop-toggle:hover::after, .nav__menu > a.active::after, .nav__drop-toggle.active::after { transform: scaleX(1); }
.nav__menu > a:hover, .nav__drop-toggle:hover { color: var(--ink); }
.nav__drop { position: relative; }
.nav__drop-toggle svg { width: 14px; height: 14px; transition: transform .2s ease; }
.nav__drop:hover .nav__drop-toggle svg { transform: rotate(180deg); }
.nav__drop-menu {
  position: absolute; top: calc(100% + 6px); left: 0; min-width: 180px;
  background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--r-md);
  box-shadow: var(--sh-lg); padding: 8px; opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s; z-index: 110;
}
.nav__drop:hover .nav__drop-menu, .nav__drop:focus-within .nav__drop-menu { opacity: 1; visibility: visible; transform: none; }
.nav__drop-menu a { display: block; padding: 9px 12px; border-radius: var(--r-sm); font-size: 14.5px; color: var(--ink-soft); }
.nav__drop-menu a:hover { background: var(--glass); color: var(--ink); }

/* 三列 mega 菜单：CPass / Marketing Automation / Logistics */
.nav__mega { display: grid; grid-template-columns: repeat(3, minmax(176px, 1fr)); gap: 0 20px; min-width: 612px; padding: 22px; background: linear-gradient(180deg, rgba(47,107,255,.04), transparent 44%), var(--bg-card); }
.nav__mega-col { display: flex; flex-direction: column; }
/* 列标题：正常大小写、字号大于条目、统一高度（按两行预留）保证跨列首项对齐；
   CPass→#platform / Logistics→#logistics 作为 <a> 可点击，Marketing Automation 仍是纯标题 */
.nav__mega .nav__mega-head {
  position: relative; font-size: 15px; font-weight: 700; letter-spacing: 0; color: var(--ink);
  line-height: 1.3; min-height: 54px; padding: 2px 12px 14px; margin-bottom: 6px;
}
/* eyebrow 同款青绿装饰短线，底部对齐保证三列一致 */
.nav__mega .nav__mega-head::after { content: ""; position: absolute; left: 12px; bottom: 6px; width: 24px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #2af0d8, rgba(42,240,216,0)); }
.nav__mega .nav__mega-head:hover { color: var(--gold); background: transparent; } /* 富贵金（含无链接的 MA 标题） */
/* 条目样式仅作用于普通条目，不影响标题链接（不加“·”前缀） */
.nav__mega .nav__mega-col a:not(.nav__mega-head) { position: relative; line-height: 1.3; padding: 9px 12px 9px 26px; border-radius: var(--r-sm); transition: background .15s ease, color .15s ease; }
.nav__mega .nav__mega-col a:not(.nav__mega-head):hover { background: var(--glass); color: var(--brand-ink); }
.nav__mega .nav__mega-col a:not(.nav__mega-head)::before { content: "·"; position: absolute; left: 13px; top: 9px; color: currentColor; }
.nav__right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
/* 语言切换（中/EN） */
.lang-switch { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 600; margin-right: 2px; white-space: nowrap; }
.lang-switch a { color: var(--ink-faint); padding: 6px 2px; transition: color .15s ease; }
.lang-switch a:hover { color: var(--gold); }
.lang-switch .is-current { color: var(--ink); padding: 6px 2px; }
.lang-switch__sep { color: var(--ink-faint); opacity: .5; }
.nav__login { font-size: 15px; font-weight: 600; padding: 8px 2px; color: var(--ink); white-space: nowrap; }
.nav__menu > a.nav__login--drawer, .nav__menu > a.nav__register--drawer { display: none; } /* 仅移动端抽屉内显示 */
.nav__login:hover { color: var(--brand-ink); }
.nav__register { font-size: 15px; font-weight: 600; padding: 8px 2px; color: var(--ink); white-space: nowrap; transition: color .15s ease; }
.nav__register:hover { color: var(--brand-ink); }
.auth-links { display: inline-flex; align-items: center; gap: 5px; margin-left: 16px; white-space: nowrap; }
.auth-links__sep { color: var(--ink-faint); opacity: .5; }
.nav__burger { display: none; width: 44px; height: 44px; border-radius: 10px; align-items: center; justify-content: center; color: var(--ink); }
.nav__burger:hover { background: var(--glass); }
.nav__burger svg { width: 22px; height: 22px; }

/* 导航当前页高亮 */
.nav__menu > a.active, .nav__drop-toggle.active { color: var(--ink); font-weight: 700; }

/* ============================================================ HERO（index 专属：保留 mp4 + 深蓝格调；页面其余为浅色，此区局部写死深色） */
.hero { position: relative; overflow: hidden; padding-top: 64px; padding-bottom: 48px; min-height: 620px; display: flex; align-items: center; }
.hero__video { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(120% 90% at 50% 42%, rgba(8,16,40,.24) 0%, rgba(8,16,40,.38) 66%, rgba(8,16,40,.5) 100%),
    linear-gradient(to bottom, rgba(10,19,48,.25) 0%, transparent 22%, transparent 92%, var(--bg-deep) 100%);
}
.hero .container { position: relative; z-index: 2; }
.hero__inner { max-width: 940px; margin-inline: auto; text-align: center; }

/* 轮播：所有项重叠在同一网格单元，容器高度=最高那条，切换只做交叉淡入、下方内容不跳动 */
.hero__carousel { display: grid; grid-template-columns: 1fr; align-items: start; }
.hero__slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .5s ease, transform .5s ease; }
.hero__slide.is-active { opacity: 1; visibility: visible; transform: none; }
.hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 20px;
  font-size: 13px; font-weight: 700; letter-spacing: .14em; color: #b4cdff;
}
.hero__eyebrow::before { content: ""; width: 24px; height: 1.5px; background: linear-gradient(90deg, #2af0d8, transparent); }
.hero__slide h1, .hero__slide .hero__headline { font-size: clamp(30px, 5vw, 58px); font-weight: 800; letter-spacing: -.02em; line-height: 1.16; color: #fff; text-shadow: 0 2px 30px rgba(0,0,0,.4); }
.hero__sub { font-size: clamp(15px, 1.8vw, 20px); color: #d3ddf2; margin-top: 16px; }

/* 轮播指示点（网格第 2 行，位置恒定）*/
.hero__dots { grid-area: 2 / 1; display: flex; gap: 16px; justify-content: center; margin-top: 24px; }
.hero__dot { position: relative; width: 8px; height: 8px; padding: 0; border-radius: var(--r-pill); background: rgba(190,215,255,.55); transition: width .25s ease, background .25s ease; }
.hero__dot.is-active { width: 22px; background: #2af0d8; }
/* 触屏热区扩大到 40px+，视觉不变 */
.hero__dot::before { content: ""; position: absolute; inset: -16px; }

/* 4 张能力卡（深色玻璃拟态，仅 hero 内）*/
.hero__feats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 40px; }
.hero__feat { padding: 22px 18px; border-radius: var(--r-lg); background: rgba(170,205,255,.13); border: 1px solid rgba(210,230,255,.3); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); text-align: center; transition: transform .2s ease, border-color .2s ease; }
.hero__feat:hover { transform: translateY(-3px); border-color: rgba(242,193,78,.6); background: rgba(170,205,255,.18); }
.hero__feat h3 { font-size: 16px; margin-bottom: 5px; color: #fff; }
.hero__feat small { font-size: 13px; color: #9db0d4; }
/* 图标徽章：浅色区默认青绿(深化)玻璃底；hero 深色区覆盖回亮青绿 */
.hero__feat-ic { width: 44px; height: 44px; margin: 0 auto 12px; border-radius: 12px; display: grid; place-items: center; color: var(--brand); background: rgba(47,107,255,.08); border: 1px solid rgba(47,107,255,.22); }
.hero__feat-ic svg { width: 22px; height: 22px; }
.hero .hero__feat-ic { color: #2af0d8; background: rgba(42,240,216,.1); border-color: rgba(42,240,216,.22); }

/* 双 CTA + 说明行（hero__cta/hero__note 与子页 cta-band 共用，颜色随主题；hero 内覆盖深色） */
.hero__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; justify-content: center; }
.hero__note { margin-top: 18px; font-size: 14px; color: var(--ink-faint); }
.hero__note a { color: var(--brand-ink); font-weight: 600; }
.hero__note a:hover { color: #143da8; }
.hero .hero__note { color: #c3d1ec; display: inline-block; padding: 8px 18px; border-radius: var(--r-pill); background: rgba(8,16,40,.45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.hero .hero__note a { color: #2af0d8; }
.hero .hero__note a:hover { color: #7ac8ff; }
.hero .btn--ghost { background: rgba(170,205,255,.14); color: #fff; box-shadow: inset 0 0 0 1px rgba(210,230,255,.34); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.hero .btn--ghost:hover { background: rgba(170,205,255,.2); box-shadow: inset 0 0 0 1px rgba(242,193,78,.65); }

/* ============================================================ 产品卡网格（图片在上 + 文字在下，复刻老站生活化配图） */
.prod-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.prod-card {
  display: flex; flex-direction: column; border-radius: var(--r-lg); overflow: hidden;
  background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.prod-card:hover { transform: translateY(-3px); box-shadow: var(--sh-lg); border-color: rgba(200,149,46,.5); }
.prod-card__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--bg-subtle); }
.prod-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.prod-card:hover .prod-card__media img { transform: scale(1.05); }
.prod-card__body { padding: 20px 20px 24px; }
.prod-card h3 { font-size: 18px; margin-bottom: 8px; }
.prod-card p { font-size: 14px; color: var(--ink-faint); line-height: 1.6; }

/* Flash Call 整幅插画（浅底，自带文案+样机，整张展示不裁切） */
.flash-banner { max-width: 720px; margin: 48px auto 0; border-radius: var(--r-xl); overflow: hidden; border: 1px solid var(--line); box-shadow: var(--sh-md); background: var(--bg-card); padding: 10px; }
.flash-banner img { border-radius: calc(var(--r-xl) - 10px); }
.flash-banner img { width: 100%; height: auto; display: block; }

/* ============================================================ Why / 特性卡网格 */
.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.why-grid--3x2 { grid-template-columns: repeat(3, 1fr); }
.why-card { padding: 28px 24px; border-radius: var(--r-lg); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.why-card:hover { transform: translateY(-3px); box-shadow: var(--sh-md); border-color: rgba(200,149,46,.5); }
.why-card__ic { width: 46px; height: 46px; border-radius: var(--r-md); display: grid; place-items: center; color: var(--brand); background: rgba(47,107,255,.08); border: 1px solid rgba(47,107,255,.22); margin-bottom: 16px; }
.why-card__ic svg { width: 24px; height: 24px; }
.why-card h3 { font-size: 18px; margin-bottom: 8px; }
.why-card p { font-size: 14.5px; color: var(--ink-faint); }

/* ============================================================ chip 行 */
.tag-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 8px; }
.chip { font-size: 14px; font-weight: 600; color: var(--ink-soft); padding: 8px 16px; border-radius: var(--r-pill); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm); }

/* ============================================================ 案例卡 */
.case-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.case-grid--3 { grid-template-columns: repeat(3, 1fr); }
.case-card { display: flex; flex-direction: column; padding: 24px; border-radius: var(--r-lg); background: var(--bg-card); border: 1px solid var(--line); border-left: 3px solid var(--gold); box-shadow: var(--sh-sm); transition: transform .2s ease, box-shadow .2s ease; }
.case-card:hover { transform: translateY(-3px); box-shadow: var(--sh-md); border-color: rgba(200,149,46,.5); border-left-color: var(--gold); }
.case-card h4 { font-size: 16px; margin-bottom: 10px; line-height: 1.3; }
.case-card p { font-size: 14px; color: var(--ink-faint); }
.case-card__link { display: inline-block; margin-top: auto; padding: 14px 0 0; font-size: 13.5px; font-weight: 600; color: var(--brand-ink); align-self: flex-start; }
.case-card__link:hover { color: #143da8; }

/* ============================================================ 指标条 */
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 56px; padding: 36px 32px; border-radius: var(--r-xl); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-md); }
.metrics--3 { grid-template-columns: repeat(3, 1fr); }
.metric__num { font-weight: 800; font-size: clamp(28px, 3.2vw, 40px); letter-spacing: -.03em; background: linear-gradient(120deg, var(--brand), var(--brand-ink)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.metric__label { font-size: 14px; color: var(--ink-faint); margin-top: 6px; }

/* ============================================================ 图文交替子段 */
.feature-row { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin: 40px 0; }
.feature-row:last-child { margin-bottom: 0; }
.feature-row--rev .feature-row__text { order: 2; }
.feature-row__text h3 { font-size: 24px; margin-bottom: 14px; }
.feature-row__text p { font-size: 16px; color: var(--ink-soft); }
.feature-row__art { height: 260px; border-radius: var(--r-xl); border: 1px solid var(--line); position: relative; overflow: hidden; box-shadow: var(--sh-md); }
.feature-row__art::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(20,32,60,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(20,32,60,.05) 1px, transparent 1px); background-size: 28px 28px; }
.feature-row__art { display: grid; place-items: center; }
/* 真实截图模式：统一高度 cover 裁切、去网格叠加 */
.feature-row__art--img { height: 340px; background: var(--bg-subtle); }
.feature-row__art--img::after { display: none; }
.feature-row__art--img img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }

/* ============================================================ 流程步骤 */
.flow { position: relative; padding: 36px; border-radius: var(--r-xl); background: radial-gradient(60% 100% at 8% 0%, rgba(47,107,255,.08), transparent 60%), radial-gradient(60% 100% at 95% 100%, rgba(79,134,247,.06), transparent 60%), var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-md); margin-top: 24px; }
.flow__track { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; align-items: start; }
.flow__step { position: relative; text-align: center; padding: 0 8px; }
.flow__step::after { content: ""; position: absolute; top: 26px; left: 50%; width: 100%; height: 2px; background: linear-gradient(90deg, var(--brand-soft), var(--brand)); opacity: .35; z-index: 0; }
.flow__step:last-child::after { display: none; }
/* 连线末端箭头（指向下一步骤） */
.flow__step::before { content: ""; position: absolute; top: 26px; left: calc(150% - 12px); transform: translateY(-50%); border: 4.5px solid transparent; border-left: 7px solid var(--brand); opacity: .35; z-index: 0; }
.flow__step:last-child::before { display: none; }
.flow__dot { position: relative; z-index: 1; width: 52px; height: 52px; margin: 0 auto 12px; border-radius: var(--r-md); display: grid; place-items: center; background: var(--bg-subtle); border: 1px solid var(--line); box-shadow: var(--sh-sm); color: var(--brand-ink); font-weight: 700; font-size: 14px; }
.flow__step:last-child .flow__dot { color: #fff; background: linear-gradient(135deg, #d93036, #e8622f); border-color: transparent; box-shadow: var(--sh-coral); }
.flow__label { font-size: 14.5px; font-weight: 700; color: var(--ink); }
.flow__desc { font-size: 12.5px; color: var(--ink-faint); margin-top: 4px; }

/* ============================================================ Contact + 表单 */
.contact { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.contact__intro h2 { font-size: clamp(28px, 3.6vw, 40px); margin: 14px 0 16px; }
.contact__intro > p { font-size: 16.5px; color: var(--ink-soft); margin-bottom: 28px; }
.contact__info { display: grid; gap: 16px; }
.contact__info li { display: grid; grid-template-columns: 84px 1fr; gap: 12px; align-items: baseline; font-size: 15px; color: var(--ink-soft); }
.contact__info span { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); }
.contact__info a { overflow-wrap: anywhere; }
.contact__info a:hover { color: var(--brand); }
.form-card { padding: 32px; border-radius: var(--r-xl); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-md); }
.field { margin-bottom: 18px; }
.field label { display: block; font-size: 13.5px; font-weight: 600; color: var(--ink-soft); margin-bottom: 8px; }
.field input, .field textarea {
  width: 100%; padding: 12px 14px; border-radius: var(--r-md); font: inherit; font-size: 15px;
  color: var(--ink); background: #fff; border: 1px solid rgba(20,32,60,.32); transition: border-color .18s ease, box-shadow .18s ease;
}
.field input::placeholder, .field textarea::placeholder { color: #6b7c9e; }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(47,107,255,.28); }
.field textarea { resize: vertical; }
.field.invalid input, .field.invalid textarea { border-color: var(--coral); box-shadow: 0 0 0 3px rgba(255,90,95,.14); }
.form-card .btn { width: 100%; margin-top: 4px; }
.form-success { margin-top: 16px; font-size: 14.5px; color: #086b60; background: rgba(14,181,162,.08); border: 1px solid rgba(14,181,162,.3); padding: 12px 14px; border-radius: var(--r-md); }

/* ============================================================ 页脚（灰蓝浅色 bar，比页面底深一档） */
.footer { background: linear-gradient(to bottom, var(--bg-deep) 0%, #aebfdc 100%); color: var(--ink-soft); padding: 56px 0 32px; border-top: 1px solid var(--line-soft); }
.footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr) 1.5fr; gap: 36px 24px; padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.footer__brand { padding-right: 44px; }
.footer__brand .brand__logo { margin-bottom: 14px; }
.footer__brand p { color: var(--ink-soft); font-size: 14px; max-width: 250px; margin-bottom: 18px; }
/* Follow us：社媒横排 + 友链第二部分 */
.footer__social { display: grid; grid-template-columns: repeat(3, 1fr); }
.footer__social .footer__dead { padding: 10px 0; }
.footer__friendly2 { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 10px; padding-top: 10px; position: relative; }
.footer__friendly2::before { content: ""; position: absolute; top: 0; left: 0; width: 36px; height: 1px; background: var(--line); }
.footer__friendly2 a { display: inline-block !important; padding: 6px 0 !important; white-space: nowrap; }
.footer__col h4 { font-size: 14.5px; color: var(--ink); margin-bottom: 14px; font-weight: 700; }
.footer__col h4::after { content: ""; display: block; width: 20px; height: 2px; border-radius: 2px; margin-top: 8px; background: linear-gradient(90deg, var(--gold), rgba(200,149,46,.25)); }
.footer__col a { display: block; font-size: 14.5px; color: var(--ink-soft); padding: 10px 0; transition: color .18s ease, transform .18s ease; }
.footer__col a:hover { color: var(--brand-ink); transform: translateX(3px); }
.footer__col span.footer__dead { display: block; font-size: 14.5px; color: var(--ink-faint); padding: 10px 0; cursor: default; }
.footer__bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding-top: 28px; }
.footer__bottom p { font-size: 13.5px; color: var(--ink-soft); }
.footer__iso { display: flex; gap: 14px; }
.footer__iso span { font-size: 12px; color: var(--ink-soft); border: 1px solid var(--line); padding: 4px 10px; border-radius: var(--r-pill); background: var(--bg-card); }

/* ============================================================ 子页页头（浅色，品牌蓝光晕） */
.page-hero { position: relative; overflow: hidden; padding: 96px 0 56px; text-align: center;
  background: radial-gradient(70% 120% at 50% -20%, rgba(47,107,255,.13), transparent 62%),
              radial-gradient(40% 80% at 82% 10%, rgba(14,181,162,.08), transparent 60%), var(--bg); }
.page-hero .eyebrow { justify-content: center; }
.page-hero h1 { font-size: clamp(30px, 4.6vw, 52px); margin: 12px auto 0; max-width: 28ch; }
.page-hero .page-hero__sub { font-size: clamp(16px, 1.9vw, 20px); color: var(--ink-soft); max-width: 56ch; margin: 18px auto 0; }
.page-hero .page-hero__desc { font-size: 15.5px; color: var(--ink-faint); max-width: 62ch; margin: 12px auto 0; }
.page-hero .hero__cta { margin-top: 32px; }
/* 页头(下 padding 72px)与首个 section(上 padding 64px)叠加过大 —— 收紧首屏衔接 */
.page-hero + .section { padding-top: 32px; }

/* 浅色页头轮播适配：两帧标题统一深色（覆盖 index 深色 Hero 的白字规则），指示点用深色系 */
.page-hero .hero__slide h1, .page-hero .hero__headline { color: var(--ink); text-shadow: none; }
.page-hero .hero__headline { font-size: clamp(30px, 4.6vw, 52px); font-weight: 800; letter-spacing: -.02em; line-height: 1.12; margin: 12px auto 0; max-width: 28ch; }
.page-hero .hero__dots { margin-top: 20px; }
.page-hero .hero__dot { background: rgba(20, 32, 60, .18); }
.page-hero .hero__dot.is-active { background: var(--brand); }

/* ============================================================ CTA band（每页底部转化区） */
.cta-band { padding: 64px 0; text-align: center;
  background: radial-gradient(60% 130% at 50% 120%, rgba(47,107,255,.08), transparent 65%), var(--bg-subtle); }
.cta-band h2 { font-size: clamp(26px, 3.4vw, 38px); }
.cta-band > .container > p:not(.hero__note) { font-size: 16.5px; color: var(--ink-soft); max-width: 680px; margin: 24px auto 0; text-wrap: balance; }
.cta-band .hero__cta { margin-top: 40px; }
.cta-band .hero__note { margin-top: 18px; }

/* ============================================================ 统计条（About） */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 48px; }
.stat { padding: 26px 18px; border-radius: var(--r-lg); background: var(--bg-card); border: 1px solid var(--line); text-align: center; box-shadow: var(--sh-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.stat:hover { transform: translateY(-3px); box-shadow: var(--sh-md); border-color: rgba(200,149,46,.5); }
.stat__num { font-weight: 800; font-size: clamp(22px, 6vw, 38px); letter-spacing: -.02em; background: linear-gradient(120deg, var(--brand), var(--brand-ink)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat__label { font-size: 14px; color: var(--ink-faint); margin-top: 6px; }

/* 愿景清单 / 资质徽章 */
.check-list { display: grid; gap: 12px; margin-top: 22px; }
.check-list li { display: flex; align-items: center; gap: 10px; font-size: 15.5px; color: var(--ink-soft); }
.check-list li::before { content: "✓"; flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; color: #fff; background: #10b981; }
.badge-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.badge-row span { font-size: 13.5px; font-weight: 600; color: var(--ink-soft); padding: 9px 18px; border-radius: var(--r-pill); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm); }

/* ============================================================ About 愿景区（左文右图，图上叠资质卡，复刻 modao 精髓布局） */
.vision-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: center; }
.vision-grid > div:first-child > p { color: var(--ink-soft); font-size: 16px; }
.vision-media { position: relative; }
.vision-media > img { width: 100%; border-radius: var(--r-xl); border: 1px solid var(--line); box-shadow: var(--sh-lg); display: block; }
/* 浮动资质卡：压在图片左下角（半透明白玻璃，透出团队图） */
.vision-cert { position: absolute; left: -36px; bottom: 32px; padding: 20px 22px; border-radius: var(--r-lg);
  background: rgba(255, 255, 255, .5); border: 1px solid rgba(255,255,255,.55); box-shadow: var(--sh-lg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.vision-cert h4 { font-size: 14.5px; margin-bottom: 12px; }
.vision-cert .badge-row { margin-top: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.vision-cert .badge-row span { text-align: center; padding: 8px 14px; font-size: 12.5px; }
/* 联系我们小卡（愿景左栏底部，单列逐行，避免长邮箱/地址挤断） */
.contact-mini { margin-top: 26px; padding: 22px 24px; border-radius: var(--r-lg); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm); }
.contact-mini h4 { font-size: 15px; margin-bottom: 16px; }
.contact-mini__grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.contact-mini__item { display: flex; gap: 12px; align-items: center; min-width: 0; }
.contact-mini__item .hero__feat-ic { width: 36px; height: 36px; border-radius: 10px; flex: none; margin: 0; }
.contact-mini__item .hero__feat-ic svg { width: 17px; height: 17px; }
.contact-mini__item small { display: block; font-size: 12px; color: var(--ink-faint); margin-bottom: 1px; }
.contact-mini__item a, .contact-mini__item b { font-size: 13.5px; font-weight: 600; color: var(--ink-soft); overflow-wrap: break-word; }
.contact-mini__item a:hover { color: var(--brand); }

/* 核心结论 5 卡 */
.concl-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.concl-card { padding: 24px 14px; border-radius: var(--r-lg); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm); text-align: center; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.concl-card:hover { transform: translateY(-3px); border-color: rgba(200,149,46,.5); box-shadow: var(--sh-md); }
.concl-card .hero__feat-ic { margin: 0 auto 12px; }
.concl-card p { font-size: 14px; font-weight: 600; color: var(--ink-soft); }

@media (max-width: 1024px) {
  .vision-grid { grid-template-columns: 1fr; gap: 36px; }
  .vision-cert { left: 16px; bottom: 16px; }
  .concl-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .concl-grid { grid-template-columns: 1fr 1fr; }
  .contact-mini__grid { grid-template-columns: 1fr; }
}

/* 转化漏斗（About 核心结论） */
.funnel { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-top: 26px; }
.funnel span { font-size: 14.5px; font-weight: 600; color: var(--ink-soft); padding: 9px 18px; border-radius: var(--r-pill); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm); }
.funnel i { color: var(--brand); font-style: normal; font-weight: 700; }
/* 漏斗终点高亮（对齐 modao：长期复购强调） */
.funnel span:last-child { color: #fff; background: linear-gradient(120deg, var(--brand), #2456d6); border-color: transparent; box-shadow: var(--sh-brand); }

/* ============================================================ 价格卡（Pricing） */
.price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.price-card { display: flex; flex-direction: column; padding: 28px 24px; border-radius: var(--r-lg); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.price-card:hover { transform: translateY(-3px); box-shadow: var(--sh-lg); border-color: rgba(200,149,46,.5); }
.price-card h3 { font-size: 18px; }
.price-card > p { font-size: 14px; color: var(--ink-faint); margin: 10px 0 16px; }
.price-card .check-list { margin: 0 0 22px; gap: 9px; }
.price-card .check-list li { font-size: 14px; }
.price-card .btn { margin-top: auto; }

/* 企业定制 band */
.enterprise-band { margin-top: 56px; padding: 36px; border-radius: var(--r-xl); display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
  background: radial-gradient(50% 120% at 10% 0%, rgba(200,149,46,.1), transparent 60%), var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-md); }
.enterprise-band .eyebrow { color: #8f6a12; }
.enterprise-band .eyebrow::before { background: linear-gradient(90deg, var(--gold), transparent); }
.enterprise-band h3 { font-size: 24px; margin: 10px 0 10px; }
.enterprise-band p { font-size: 15px; color: var(--ink-soft); max-width: 58ch; }

/* FAQ（原生手风琴） */
.faq { max-width: 860px; margin: 0 auto; display: grid; gap: 14px; }
.faq details { border-radius: var(--r-md); background: var(--bg-card); border: 1px solid var(--line); overflow: hidden; box-shadow: var(--sh-sm); }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font-weight: 600; color: var(--ink); font-size: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 20px; color: var(--brand); transition: transform .2s ease; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 22px 20px; font-size: 14.5px; color: var(--ink-faint); }

/* ============================================================ 行业解决方案 */
.sol-nav { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 48px; }
.sol-nav a { font-size: 14.5px; font-weight: 600; color: var(--ink-soft); padding: 12px 20px; border-radius: var(--r-pill); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm); transition: color .15s ease, border-color .15s ease; }
.sol-nav a:hover { color: var(--ink); border-color: rgba(200,149,46,.55); }
.sol-block { padding: 36px; border-radius: var(--r-xl); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-md); }
.sol-block + .sol-block { margin-top: 40px; }
.sol-block h3 { font-size: 24px; }
.sol-block > p:not(.sol-quote) { font-size: 15.5px; color: var(--ink-soft); margin-top: 12px; max-width: 72ch; }
.sol-block__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 24px; }
.sol-block h4 { font-size: 15px; color: var(--brand-ink); margin-bottom: 12px; letter-spacing: .04em; }
.pain-list { display: grid; gap: 10px; }
.pain-list li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; color: var(--ink-soft); }
.pain-list li::before { content: "!"; flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; color: #fff; background: #d93036; }
.sol-block__metrics { display: flex; gap: 18px; margin-top: 24px; flex-wrap: wrap; }
.sol-metric { flex: 1; min-width: 150px; padding: 18px 20px; border-radius: var(--r-md); background: #f1f5fb; border: 1px solid rgba(47,107,255,.12); }
.sol-metric b { display: block; font-size: 24px; font-weight: 800; background: linear-gradient(120deg, var(--brand), var(--brand-ink)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sol-metric small { font-size: 13px; color: var(--ink-faint); }
.sol-quote { margin-top: 24px; padding: 18px 22px; border-left: 3px solid var(--gold); border-radius: 0 var(--r-md) var(--r-md) 0; background: rgba(47,107,255,.05); font-size: 14.5px; color: var(--ink-soft); }

/* ============================================================ 开发者 6 卡 / 资源 3 栏 */
.dev-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.dev-card { display: flex; flex-direction: column; padding: 28px 24px; border-radius: var(--r-lg); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.dev-card:hover { transform: translateY(-3px); box-shadow: var(--sh-lg); border-color: rgba(200,149,46,.5); }
.dev-card .hero__feat-ic { margin: 0 0 16px; }
.dev-card h3 { font-size: 18px; margin-bottom: 8px; }
.dev-card p { font-size: 14px; color: var(--ink-faint); flex: 1; }
.dev-card .case-card__link { margin-top: 16px; }

.res-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.res-card { display: flex; flex-direction: column; padding: 28px 24px; border-radius: var(--r-lg); background: var(--bg-card); border: 1px solid var(--line); box-shadow: var(--sh-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.res-card:hover { transform: translateY(-3px); box-shadow: var(--sh-lg); border-color: rgba(200,149,46,.5); }
.res-card h3 { font-size: 18px; margin-bottom: 6px; }
.res-card > p:not(.res-lock) { font-size: 14px; color: var(--ink-faint); margin-bottom: 18px; }
.res-list { display: grid; gap: 10px; margin-bottom: 18px; }
.res-list li { font-size: 14.5px; color: var(--ink-soft); padding-left: 20px; position: relative; }
.res-list li::before { content: "·"; position: absolute; left: 6px; color: var(--brand-ink); font-weight: 700; }
.res-list li small { display: block; color: var(--ink-faint); font-size: 12.5px; }
.res-lock { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-faint); margin-bottom: 16px; }
.res-lock svg { width: 14px; height: 14px; color: #8f6a12; }
.res-card .btn { margin-top: auto; }

@media (max-width: 1024px) {
  .price-grid, .dev-grid, .res-grid { grid-template-columns: 1fr 1fr; }
  .stats { grid-template-columns: 1fr 1fr; }
  .enterprise-band { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .price-grid, .dev-grid, .res-grid { grid-template-columns: 1fr; }
  .sol-block__grid { grid-template-columns: 1fr; }
}

/* ============================================================ Reach2Sell 渠道环绕图 */
.r2s-orbit { position: relative; max-width: 600px; aspect-ratio: 16 / 9; margin: 8px auto 44px; overflow: hidden;
  background: radial-gradient(60% 80% at 50% 50%, rgba(47,107,255,.05), transparent 70%),
              linear-gradient(rgba(20,32,60,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(20,32,60,.03) 1px, transparent 1px), var(--bg-card);
  background-size: auto, 28px 28px, 28px 28px, auto;
  border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--sh-md); }
.r2s-orbit__ring { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); aspect-ratio: 1; border: 1px solid rgba(47,107,255,.14); border-radius: 50%; }
.r2s-orbit__ring--1 { width: 44%; }
.r2s-orbit__ring--2 { width: 74%; }
.r2s-orbit__core { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 108px; height: 108px; border-radius: 24px; display: grid; place-items: center;
  background: linear-gradient(135deg, #10835f, #085c42); color: #fff; font-weight: 800; font-size: 26px; letter-spacing: .02em; box-shadow: 0 10px 28px -6px rgba(13, 122, 86, .45); }
.r2s-chip { position: absolute; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: var(--r-pill);
  background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-sm); font-size: 14px; font-weight: 600; color: var(--ink-soft); white-space: nowrap; }
.r2s-chip svg { width: 16px; height: 16px; color: var(--brand-2); flex: none; }
@media (max-width: 640px) {
  .r2s-orbit { aspect-ratio: 4 / 3; }
  .r2s-orbit__core { width: 76px; height: 76px; font-size: 19px; border-radius: 18px; }
  .r2s-chip { padding: 6px 11px; font-size: 12px; gap: 5px; }
  .r2s-chip svg { width: 13px; height: 13px; }
}

/* ============================================================ 统一金边 hover（无位移容器） */
.metrics, .flow, .sol-block, .enterprise-band, .faq details, .form-card, .contact-mini, .sol-metric, .chip, .badge-row span {
  transition: border-color .2s ease, box-shadow .2s ease;
}
.metrics:hover, .flow:hover, .sol-block:hover, .enterprise-band:hover, .faq details:hover, .form-card:hover, .contact-mini:hover, .sol-metric:hover, .chip:hover, .badge-row span:hover {
  border-color: rgba(200,149,46,.5);
}

/* ============================================================ 滚动入场 */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }
.reveal.d1 { transition-delay: .07s; } .reveal.d2 { transition-delay: .14s; } .reveal.d3 { transition-delay: .21s; } .reveal.d4 { transition-delay: .28s; } .reveal.d5 { transition-delay: .35s; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* ============================================================ 响应式 */
@media (max-width: 1280px) {
  .prod-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1024px) {
  .prod-grid { grid-template-columns: repeat(3, 1fr); }
  .metrics { grid-template-columns: 1fr 1fr; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .case-grid { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .flow__track { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); grid-auto-columns: auto; gap: 28px 12px; }
  .flow__step::after, .flow__step::before { display: none; }
}
@media (max-width: 1024px) {
  .nav__menu, .auth-links { display: none; }
  .nav__burger { display: flex; }
  /* burger 打开态：竖排抽屉菜单（下拉 mega 隐藏，"产品"直接进产品页） */
  .nav.menu-open { background: rgba(218, 226, 240, .98); }
  .nav.menu-open .nav__menu {
    display: flex; flex-direction: column; align-items: stretch; gap: 2px;
    position: absolute; top: 72px; left: 0; right: 0; padding: 10px 24px 18px; margin: 0;
    background: rgba(218, 226, 240, .98); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--line-soft); box-shadow: var(--sh-lg);
    max-height: calc(100vh - 72px); max-height: calc(100dvh - 72px); overflow-y: auto;
  }
  .nav.menu-open .nav__menu > a.nav__login--drawer, .nav.menu-open .nav__menu > a.nav__register--drawer { display: block; padding: 12px; font-size: 16px; border-top: 1px solid var(--line-soft); }
  
  .nav.menu-open .nav__menu > a, .nav.menu-open .nav__drop-toggle { padding: 12px; font-size: 16px; }
  .nav.menu-open .nav__menu > a::after, .nav.menu-open .nav__drop-toggle::after { display: none; }
  .nav.menu-open .nav__drop-menu { display: none; }
  .nav.menu-open .nav__drop-toggle svg { display: none; }
}
@media (max-width: 860px) {
  .section { padding: 48px 0; }
  .page-hero { padding: 64px 0 48px; }
  .cta-band { padding: 56px 0; }
  .footer { padding-top: 48px; }
  .prod-grid, .why-grid, .why-grid--3x2 { grid-template-columns: 1fr 1fr; }
  .case-grid, .case-grid--3 { grid-template-columns: 1fr; }
  .metrics, .metrics--3 { grid-template-columns: 1fr 1fr; }
  .feature-row { grid-template-columns: 1fr; gap: 24px; }
  .feature-row--rev .feature-row__text { order: 0; }
  .feature-row__art { height: 200px; }
  .feature-row__art--img { height: auto; aspect-ratio: 16 / 10; max-height: 300px; }
  .contact { grid-template-columns: 1fr; gap: 32px; }
  .hero { min-height: auto; }
  .hero__feats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  /* 视频上多层毛玻璃在低端机滚动掉帧：改实底 */
  .hero__feat, .hero .hero__note, .hero .btn--ghost { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .hero__feat { background: rgba(20,34,66,.55); }
  .hero .hero__note { background: rgba(8,16,40,.6); }
  .hero .btn--ghost { background: rgba(60,86,140,.5); }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  /* 双 CTA 纵排占满，杜绝 nowrap 溢出 */
  .hero__cta { flex-direction: column; align-items: stretch; }
  .btn--lg { padding: 0 20px; }
  .hero .hero__note { border-radius: 16px; padding: 8px 14px; }
  /* 浮动资质卡出图，落到图片下方 */
  .vision-cert { position: static; margin-top: 12px; }
  /* 流程步骤改单列横排（图标左、文字右），消孤行与窄柱 */
  .flow, .sol-block, .enterprise-band { padding: 20px 16px; }
  .flow__track { grid-template-columns: 1fr; gap: 20px; }
  .flow__step { display: grid; grid-template-columns: 52px 1fr; text-align: left; column-gap: 14px; align-items: center; }
  .flow__dot { margin: 0; }
  .flow__step::after, .flow__step::before { display: none; }
  .prod-grid, .why-grid, .why-grid--3x2, .metrics, .metrics--3, .hero__feats { grid-template-columns: 1fr; }
  .flow__track { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 375px) {
  .concl-grid { grid-template-columns: 1fr; }
  .stats { gap: 10px; }
  .stat { padding: 20px 10px; }
}
