/* ==========================================================================
   东序GEO · 一体化GEO托管服务  |  静态站点样式表
   设计基调：深蓝科技感 + 清爽卡片 + 渐变高亮，参考 oubogeo / senchengeo
   ========================================================================== */

/* ---------- 1. 设计变量 ---------- */
:root {
  /* Cobalt : sampled #1966ff, deep-to-light blue ramp */
  --brand: #1a6bff;
  --brand-600: #0f4fe0;
  --brand-2: #4d8dff;
  --brand-3: #3d7fff;
  --brand-soft: #eff4ff;
  --grad-main: linear-gradient(120deg, #0f4fe0 0%, #1a6bff 48%, #4d8dff 100%);
  --grad-soft: linear-gradient(120deg, #1a6bff 0%, #4d8dff 100%);
  --grad-text: linear-gradient(100deg, #4d8dff 0%, #1a6bff 45%, #0f4fe0 80%, #00d9ff 100%);
  --grad-rainbow: linear-gradient(90deg, #00d9ff, #4d8dff 30%, #1a6bff 62%, #0f4fe0 92%);
  --night: #10245c;
  --night-2: #16306e;
  --night-3: #1b3f8c;
  --ink: #101c44;
  --ink-2: #1a2956;
  --text: #20294f;
  --muted: #64739a;
  --line: #e3eaf7;
  --bg: #ffffff;
  --bg-soft: #f5f9ff;
  --bg-soft-2: #ecf3ff;
  --ok: #12b76a;
  --warn: #f79009;
  --radius-s: 10px;
  --radius: 16px;
  --radius-l: 24px;
  --shadow-s: 0 2px 8px rgba(10, 20, 48, .05);
  --shadow: 0 10px 30px rgba(10, 20, 48, .08);
  --shadow-l: 0 24px 60px rgba(10, 20, 48, .16);
  --container: 1200px;
  --header-h: 72px;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans CN", sans-serif;
}

/* ---------- 2. 基础重置 ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font);
  color: var(--text);
  background: var(--bg);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; transition: color .2s, background .2s, border-color .2s; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5 { margin: 0; font-weight: 800; line-height: 1.25; letter-spacing: -.01em; color: var(--ink); }
h1 { font-size: clamp(30px, 4.4vw, 54px); }
h2 { font-size: clamp(24px, 3vw, 38px); }
h3 { font-size: clamp(18px, 1.6vw, 22px); }
h4 { font-size: 17px; }
p { margin: 0 0 12px; }
p:last-child { margin-bottom: 0; }
button { font-family: inherit; cursor: pointer; }
input, textarea, select { font-family: inherit; font-size: 15px; }
::selection { background: rgba(26, 107, 255,  .22); }

/* ---------- 3. 布局工具 ---------- */
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 20px; }
.container-narrow { max-width: 900px; }
.section { padding: 88px 0; position: relative; }
.section-sm { padding: 56px 0; }
.section-soft { background: var(--bg-soft); }
.section-soft-2 { background: var(--bg-soft-2); }
.grid { display: grid; gap: 24px; }
.g-2 { grid-template-columns: repeat(2, 1fr); }
.g-3 { grid-template-columns: repeat(3, 1fr); }
.g-4 { grid-template-columns: repeat(4, 1fr); }
.g-6 { grid-template-columns: repeat(6, 1fr); }
.mt-8 { margin-top: 8px; } .mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; } .mt-32 { margin-top: 32px; } .mt-48 { margin-top: 48px; }
.mb-24 { margin-bottom: 24px; } .mb-40 { margin-bottom: 40px; }
.center { text-align: center; }
.flex { display: flex; }
.between { display: flex; align-items: center; justify-content: space-between; }
.wrap { display: flex; flex-wrap: wrap; gap: 12px; }
.muted { color: var(--muted); }
.small { font-size: 14px; }
.tiny { font-size: 13px; }
.gradient-text {
  background: linear-gradient(100deg, var(--brand) 0%, var(--brand-2) 55%, var(--brand-3) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---------- 4. 按钮 ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  height: 52px; padding: 0 30px; border-radius: 999px; border: 1px solid transparent;
  font-size: 16px; font-weight: 700; letter-spacing: .2px;
  white-space: nowrap; transition: all .25s ease;
}
.btn svg { width: 18px; height: 18px; }
.btn-primary {
  background: linear-gradient(100deg, var(--brand), var(--brand-2));
  color: #fff; box-shadow: 0 10px 24px rgba(26, 107, 255,  .37);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(26, 107, 255,  .46); }
.btn-white { background: #fff; color: var(--brand); box-shadow: 0 10px 24px rgba(8, 17, 40,     .18); }
.btn-white:hover { transform: translateY(-2px); }
.btn-outline { border-color: var(--line); color: var(--ink); background: #fff; }
.btn-outline:hover { border-color: var(--brand); color: var(--brand); }
.btn-ghost-light { border-color: rgba(255, 255, 255, .38); color: #fff; }
.btn-ghost-light:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.btn-sm { height: 38px; padding: 0 16px; font-size: 14px; }
.btn-block { width: 100%; }
.link-more { color: var(--brand); font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; gap: 6px; }
.link-more svg { width: 16px; height: 16px; transition: transform .2s; }
.link-more:hover svg { transform: translateX(4px); }

/* ---------- 5. 顶部条 & 导航 ---------- */
.topbar {
  background: var(--ink); color: rgba(255, 255, 255, .72); font-size: 13px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.topbar .container { display: flex; align-items: center; justify-content: space-between; height: 40px; gap: 16px; }
.topbar .tb-left { display: flex; align-items: center; gap: 10px; min-width: 0; }
.topbar .tb-left span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar .tb-right { display: flex; align-items: center; gap: 18px; white-space: nowrap; }
.topbar a:hover { color: #fff; }
.topbar .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 4px rgba(18, 183, 106, .2); flex: none; }

.header {
  position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, .94);
  -webkit-backdrop-filter: saturate(150%) blur(12px);
  backdrop-filter: saturate(150%) blur(12px);
  border-bottom: 1px solid transparent;
  transition: box-shadow .25s, border-color .25s;
  isolation: isolate;
}
.header.is-sticky { box-shadow: 0 6px 24px rgba(10, 20, 48,     .08); border-bottom-color: var(--line); }
.header .container { display: flex; align-items: center; justify-content: space-between; height: var(--header-h); }
.logo { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 20px; color: var(--ink); letter-spacing: -.02em; }
.logo-mark {
  width: 38px; height: 38px; border-radius: 11px; flex: none;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  display: grid; place-items: center; color: #fff; font-weight: 900; font-size: 17px;
  box-shadow: 0 8px 18px rgba(26, 107, 255,  .39);
}
.logo small { display: block; font-size: 11px; font-weight: 600; color: var(--muted); letter-spacing: .14em; }

.nav { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.nav > li { position: relative; list-style: none; }
.nav > li > a {
  display: flex; align-items: center; gap: 5px; height: 42px; padding: 0 12px;
  border-radius: 10px; font-size: 16px; font-weight: 700; color: var(--text); white-space: nowrap;
}
.nav > li > a:hover { color: var(--brand); background: var(--brand-soft); }
.nav > li > a.active { color: var(--brand); background: var(--brand-soft); font-weight: 800; }
.nav .caret { width: 14px; height: 14px; opacity: .6; }
.submenu {
  position: absolute; top: 48px; left: 50%; transform: translate(-50%, 8px);
  min-width: 190px; padding: 8px; background: #fff; border: 1px solid var(--line);
  border-radius: 14px; box-shadow: var(--shadow-l); opacity: 0; visibility: hidden;
  transition: all .2s ease; z-index: 10;
  list-style: none; margin: 0;
}
.nav > li:hover .submenu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.submenu li { margin: 0; }
.submenu a { display: block; padding: 9px 12px; border-radius: 9px; font-size: 15px; font-weight: 600; color: var(--text); }
.submenu a:hover { background: var(--brand-soft); color: var(--brand); }
.submenu a span { display: block; font-size: 12.5px; font-weight: 500; color: var(--muted); }
/* 1080~1240px 收窄内间距，避免字号增大后挤压 header */
@media (max-width: 1240px) and (min-width: 1081px) {
  .nav > li > a { padding: 0 8px; font-size: 15px; }
}

.header-actions { display: flex; align-items: center; gap: 10px; }
.header-phone { display: flex; align-items: center; gap: 8px; font-weight: 800; color: var(--ink); font-size: 16px; }
.header-phone svg { width: 18px; height: 18px; color: var(--brand); }
.burger { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 12px; background: #fff; align-items: center; justify-content: center; }
.burger span { display: block; width: 18px; height: 2px; background: var(--ink); position: relative; }
.burger span::before, .burger span::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: var(--ink); }
.burger span::before { top: -6px; } .burger span::after { top: 6px; }

/* 移动端抽屉 */
.drawer {
  position: fixed; inset: 0; z-index: 200; background: rgba(8, 17, 40,     .5);
  opacity: 0; visibility: hidden; transition: all .25s;
}
.drawer.open { opacity: 1; visibility: visible; }
.drawer-panel {
  position: absolute; top: 0; right: 0; width: min(340px, 88vw); height: 100%; background: #fff;
  padding: 20px; overflow-y: auto; transform: translateX(100%); transition: transform .3s ease;
}
.drawer.open .drawer-panel { transform: none; }
.drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.drawer-close { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 11px; background: #fff; font-size: 20px; line-height: 1; }
.drawer-nav a { display: block; padding: 13px 4px; border-bottom: 1px solid var(--line); font-weight: 700; }
.drawer-nav a.sub { padding-left: 16px; font-weight: 600; font-size: 14px; color: var(--muted); }

/* ---------- 6. 面包屑 ---------- */
.breadcrumb { background: var(--bg-soft); border-bottom: 1px solid var(--line); }
.breadcrumb .container { display: flex; align-items: center; gap: 8px; height: 52px; font-size: 14px; color: var(--muted); flex-wrap: wrap; }
.breadcrumb a:hover { color: var(--brand); }
.breadcrumb .sep { opacity: .5; }

/* ---------- 7. 区块标题 ---------- */
.sec-head { max-width: 760px; margin: 0 auto 48px; text-align: center; }
.sec-head.left { margin-left: 0; text-align: left; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 14px;
  border-radius: 999px; background: var(--brand-soft); color: var(--brand);
  font-size: 13px; font-weight: 700; letter-spacing: .06em; margin-bottom: 16px;
}
.eyebrow.light { background: rgba(255, 255, 255, .14); color: #fff; }
.eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sec-title { margin-bottom: 14px; }
.sec-desc { color: var(--muted); font-size: 17px; }
.sec-head .sec-desc { font-size: 16.5px; }

/* ---------- 8. 卡片 ---------- */
.card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 28px; transition: all .28s ease; position: relative; overflow: hidden;
}
.card-hover:hover { transform: translateY(-6px); box-shadow: var(--shadow-l); border-color: #e6efff; }
.card-hover::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(120deg, rgba(26, 107, 255,  .07), rgba(15, 79, 224,      .06));
  opacity: 0; transition: opacity .28s;
}
.card-hover:hover::after { opacity: 1; }
/* 图标盒：实色渐变背景 + 白色图标 + 阴影，有质感 */
.icon-box {
  width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center;
  background: linear-gradient(135deg, #1a6bff 0%, #4d8dff 100%);
  color: #fff; margin-bottom: 18px;
  box-shadow: 0 8px 20px rgba(26, 107, 255, .30), inset 0 1px 0 rgba(255,255,255,.25);
  transition: transform .3s ease, box-shadow .3s ease;
}
.icon-box svg { width: 26px; height: 26px; color: #fff; }
.icon-box.sm { width: 44px; height: 44px; border-radius: 13px; margin-bottom: 14px; }
.icon-box.sm svg { width: 22px; height: 22px; }
/* 多彩渐变变体 */
.icon-box.green {
  background: linear-gradient(135deg, #0d9f6e 0%, #34d399 100%);
  box-shadow: 0 8px 20px rgba(13, 159, 110, .30), inset 0 1px 0 rgba(255,255,255,.25);
}
.icon-box.orange {
  background: linear-gradient(135deg, #ea580c 0%, #fb923c 100%);
  box-shadow: 0 8px 20px rgba(234, 88, 12, .30), inset 0 1px 0 rgba(255,255,255,.25);
}
.icon-box.pink {
  background: linear-gradient(135deg, #9333ea 0%, #c084fc 100%);
  box-shadow: 0 8px 20px rgba(147, 51, 234, .30), inset 0 1px 0 rgba(255,255,255,.25);
}
.icon-box.cyan {
  background: linear-gradient(135deg, #0891b2 0%, #22d3ee 100%);
  box-shadow: 0 8px 20px rgba(8, 145, 178, .30), inset 0 1px 0 rgba(255,255,255,.25);
}
.card h3, .card h4 { margin-bottom: 10px; }
.card p { color: var(--muted); font-size: 15px; }

.list-check { margin-top: 14px; }
.list-check li { position: relative; padding-left: 26px; font-size: 15px; color: var(--text); margin-bottom: 9px; }
.list-check li::before {
  content: ""; position: absolute; left: 0; top: 7px; width: 17px; height: 17px; border-radius: 50%;
  background: rgba(26, 107, 255,  .15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.list-check.dark li::before { background-color: rgba(255, 255, 255, .14); }

/* ---------- 数据口径声明 ---------- */
.declare {
  display: grid; grid-template-columns: .82fr 1.18fr; gap: 46px;
  background: linear-gradient(150deg, #ffffff 0%, #f8faff 58%, #f0f5ff 100%);
  border: 1px solid #e5ecff; border-radius: 22px;
  padding: 42px 46px; position: relative; overflow: hidden;
  box-shadow: 0 24px 54px rgba(10, 20, 48,     .09);
}
.declare::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--grad-main);
}
.declare::after {
  content: ""; position: absolute; right: -130px; top: -140px; width: 340px; height: 340px;
  border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(26, 107, 255,  .12), transparent 68%);
}
.declare-head { position: relative; }
.declare-head .eyebrow { margin-bottom: 14px; }
.declare-head h2 { font-size: 26px; line-height: 1.32; margin-bottom: 12px; letter-spacing: -.01em; }
.declare-head p { color: var(--muted); font-size: 15px; line-height: 1.8; }
.declare-trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.declare-trust span {
  display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px;
  border-radius: 999px; font-size: 13px; font-weight: 700; color: var(--brand-600);
  background: linear-gradient(120deg, rgba(26, 107, 255,  .1), rgba(61, 127, 255, .17));
  border: 1px solid #dbe5ff;
}
.declare-note { margin-top: 16px; font-size: 12.5px; color: var(--muted); letter-spacing: .02em; }
.declare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 30px; align-content: start; position: relative; }
.declare-item { display: flex; gap: 14px; }
.declare-item .di {
  flex: none; width: 30px; height: 30px; border-radius: 10px; display: grid; place-items: center;
  font-size: 12px; font-weight: 800; color: #fff; background: var(--grad-main);
  box-shadow: 0 8px 18px rgba(26, 107, 255,  .32); letter-spacing: .02em;
}
.declare-item h4 { font-size: 15px; margin-bottom: 6px; }
.declare-item p { font-size: 13.8px; line-height: 1.72; color: var(--muted); }
@media (max-width: 900px) {
  .declare { grid-template-columns: 1fr; gap: 30px; padding: 32px 24px; }
  .declare-head h2 { font-size: 23px; }
  .declare-grid { gap: 20px 24px; }
}
@media (max-width: 560px) {
  .declare-grid { grid-template-columns: 1fr; }
}

/* ---------- 9. Hero ---------- */
.hero { position: relative; overflow: hidden; background: var(--ink); color: #fff; padding: 90px 0 100px; }
.hero::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(900px 460px at 12% -10%, rgba(26, 107, 255,  .67), transparent 62%),
    radial-gradient(760px 420px at 88% 8%, rgba(15, 79, 224,      .48), transparent 60%),
    radial-gradient(700px 500px at 60% 120%, rgba(61, 127, 255, .31), transparent 65%),
    linear-gradient(160deg, #0e1a40 0%, #12275e 55%, #10245c 100%);
  background-color: #0e1a40;
}
.hero::after {
  content: ""; position: absolute; inset: 0; opacity: .5;
  background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 72%);
  -webkit-mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 72%);
}
.hero .container { position: relative; z-index: 2; }
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 48px; align-items: center; }
.hero h1 { color: #fff; font-size: clamp(32px, 4.6vw, 56px); }
.hero h1 .line { display: block; }
.hero-lead { color: rgba(255, 255, 255, .8); font-size: 17.5px; max-width: 620px; margin: 20px 0 30px; }
.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.hero-note { margin-top: 18px; color: rgba(255, 255, 255, .62); font-size: 14px; display: flex; gap: 16px; flex-wrap: wrap; }
.hero-note span { display: inline-flex; align-items: center; gap: 6px; }
.hero-note svg { width: 16px; height: 16px; color: #4ade80; }

.hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 56px; }
.hero-stats .stat {
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .13);
  border-radius: var(--radius); padding: 20px 18px; backdrop-filter: blur(6px);
}
.hero-stats .num { font-size: 30px; font-weight: 900; line-height: 1.2; color: #fff; }
.hero-stats .num i { font-style: normal; font-size: 17px; margin-left: 2px; }
.hero-stats .label { color: rgba(255, 255, 255, .68); font-size: 13.5px; }

/* Hero 右侧诊断卡 */
.diag-card {
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--radius-l); padding: 28px; backdrop-filter: blur(10px);
  box-shadow: 0 30px 70px rgba(0, 0, 0, .3);
}
.diag-card h3 { color: #fff; font-size: 21px; margin-bottom: 6px; }
.diag-card .sub { color: rgba(255, 255, 255, .7); font-size: 14.5px; margin-bottom: 18px; }
.diag-field { margin-bottom: 14px; }
.diag-field label { display: block; font-size: 13px; color: rgba(255, 255, 255, .75); margin-bottom: 7px; }
.diag-card input, .diag-card select {
  width: 100%; height: 46px; padding: 0 14px; border-radius: 12px; color: #fff;
  border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .08); outline: none;
}
.diag-card input::placeholder { color: rgba(255, 255, 255, .45); }
.diag-card input:focus, .diag-card select:focus { border-color: rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .14); }
.diag-card select option { color: #111; }
.diag-result {
  margin-top: 16px; padding: 14px 16px; border-radius: 12px; font-size: 14px; display: none;
  background: rgba(18, 183, 106, .16); border: 1px solid rgba(18, 183, 106, .4); color: #b9f6d3;
}
.diag-result.show { display: block; }

/* 内页 Hero */
.page-hero { position: relative; overflow: hidden; background: var(--night); color: #fff; padding: 66px 0 74px; }
.page-hero::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(920px 460px at 10% -22%, rgba(26, 107, 255,  .85), transparent 62%),
    radial-gradient(780px 400px at 92% -6%, rgba(77, 141, 255, .52), transparent 58%),
    radial-gradient(720px 460px at 56% 132%, rgba(61, 127, 255, .59), transparent 66%),
    linear-gradient(168deg, var(--night) 0%, var(--night-2) 56%, var(--night) 100%);
  background-color: var(--night);
}
.page-hero::after {
  content: ""; position: absolute; inset: 0; opacity: .5;
  background-image: linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(circle at 38% 28%, #000, transparent 74%);
  -webkit-mask-image: radial-gradient(circle at 38% 28%, #000, transparent 74%);
}
.page-hero .container { position: relative; z-index: 2; }
.page-hero h1 { color: #fff; margin-bottom: 14px; }
.page-hero p { color: rgba(255, 255, 255, .78); font-size: 17px; max-width: 720px; }
.page-hero .hero-cta { margin-top: 26px; }

/* ---------- 10. 平台条 / 跑马灯 ---------- */
.platforms { padding: 30px 0; border-bottom: 1px solid var(--line); background: #fff; }
.platform-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center; }
.platform-row .pl-label { font-size: 14px; color: var(--muted); font-weight: 700; margin-right: 6px; }
.pill {
  display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px;
  border-radius: 999px; background: var(--bg-soft); border: 1px solid var(--line);
  font-size: 14.5px; font-weight: 700; color: var(--ink);
}
.pill i { width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; font-style: normal; font-size: 12px; color: #fff; background: linear-gradient(135deg, var(--brand), var(--brand-2)); }
.pill:hover { border-color: var(--brand); color: var(--brand); transform: translateY(-2px); }

.marquee {
  overflow: hidden; position: relative; padding: 10px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.marquee-track { display: flex; gap: 16px; width: max-content; animation: marquee 38s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
.marquee-item {
  width: 176px; min-width: 176px; height: 68px; padding: 0 16px; border-radius: 14px; background: #fff;
  border: 1px solid var(--line); display: grid; place-items: center; align-content: center; gap: 4px;
  font-weight: 800; color: var(--ink-2); font-size: 15.5px; letter-spacing: -.01em;
  white-space: nowrap; text-align: center;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.marquee-item:hover { transform: translateY(-3px); border-color: #d2e2ff; box-shadow: 0 14px 30px rgba(26, 107, 255,  .17); }
.marquee-item small { display: block; font-size: 11.5px; font-weight: 600; color: var(--muted); line-height: 1.3; }
/* 轨道含两组卡片与 19 个间隙，-50% 会差半个 gap，补 8px 让循环接缝无跳动 */
@keyframes marquee { to { transform: translateX(calc(-50% - 8px)); } }

/* ---------- 11. 步骤流程 ---------- */
.steps { counter-reset: s; display: grid; gap: 20px; }
.step {
  display: grid; grid-template-columns: 56px 1fr; gap: 18px; align-items: start;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px;
}
.step .idx {
  counter-increment: s; width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center;
  font-size: 21px; font-weight: 900; color: #fff; background: linear-gradient(135deg, var(--brand), var(--brand-2));
  box-shadow: 0 8px 18px rgba(26, 107, 255,  .32);
}
.step h4 { margin-bottom: 6px; }
.step p { color: var(--muted); font-size: 15px; }
.steps-5 { grid-template-columns: repeat(5, 1fr); display: grid; gap: 26px; }
.steps-4 { grid-template-columns: repeat(4, 1fr); }
.split-form { grid-template-columns: 1.35fr .65fr; }
.step-col {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 20px 22px;
  position: relative; transition: transform .25s, border-color .25s, box-shadow .25s;
}
.step-col:hover { transform: translateY(-3px); border-color: #d2e2ff; box-shadow: var(--shadow); }
.step-col .no {
  display: flex; align-items: center; gap: 8px;
  font-size: 12.5px; font-weight: 800; color: var(--brand); letter-spacing: .12em; margin-bottom: 10px;
}
.step-col .no::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.step-col h4 { margin-bottom: 8px; font-size: 16.5px; }
.step-col p { font-size: 13.8px; color: var(--muted); line-height: 1.72; }
/* 卡片之间的连接箭头：垂直居中落在 26px 缝隙正中 */
.step-col::after {
  content: ""; position: absolute; right: -18px; top: 50%; width: 10px; height: 10px;
  border-top: 2px solid #b6c7e8; border-right: 2px solid #b6c7e8;
  transform: translateY(-50%) rotate(45deg); transition: border-color .25s;
}
.step-col:hover::after { border-color: var(--brand); }
.step-col:last-child::after { display: none; }

/* ---------- 12. 价格 ---------- */
.price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.price-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-l); padding: 22px 26px 26px;
  display: flex; flex-direction: column; transition: all .28s;
}
.price-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-l); }
.price-card.hot {
  border-color: transparent; background: linear-gradient(#fff, #fff) padding-box,
    linear-gradient(140deg, var(--brand), var(--brand-2)) border-box; border: 2px solid transparent;
  box-shadow: 0 22px 50px rgba(26, 107, 255,  .2);
}
.price-tag {
  position: absolute; top: -13px; left: 50%; transform: translateX(-50%); height: 26px; padding: 0 14px; border-radius: 999px;
  background: linear-gradient(100deg, var(--brand), var(--brand-2)); color: #fff; font-size: 12.5px; font-weight: 800;
  display: inline-flex; align-items: center;
}
.price-card { position: relative; }
.price-name { font-size: 19px; font-weight: 800; color: var(--ink); margin-top: 8px; }
.price-for { color: var(--muted); font-size: 14px; margin-top: 6px; min-height: 42px; }
.price-value { display: flex; align-items: baseline; gap: 6px; margin: 16px 0 6px; }
.price-value b { font-size: 40px; font-weight: 900; color: var(--ink); letter-spacing: -.02em; }
.price-value span { color: var(--muted); font-size: 14.5px; }
.price-unit { color: var(--muted); font-size: 13.5px; margin-bottom: 16px; }
.price-card .btn { margin: 18px 0 16px; }
.price-feats li { position: relative; padding-left: 24px; font-size: 14.5px; margin-bottom: 10px; color: var(--text); }
.price-feats li::before {
  content: ""; position: absolute; left: 0; top: 8px; width: 15px; height: 15px; border-radius: 50%;
  background: rgba(26, 107, 255,  .15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px no-repeat;
}
.price-note { margin-top: 18px; font-size: 13px; color: var(--muted); border-top: 1px dashed var(--line); padding-top: 14px; }

/* ---------- 13. 案例 ---------- */
.case-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
  display: flex; flex-direction: column; transition: all .28s;
}
.case-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-l); border-color: #e6efff; }
.case-cover {
  height: 150px; padding: 20px; color: #fff; position: relative; display: flex; flex-direction: column; justify-content: space-between;
  background: linear-gradient(140deg, #21418f, #0f4fe0); overflow: hidden;
}
.case-cover.b2 { background: linear-gradient(140deg, #21418f, #3d7fff); }
.case-cover.b3 { background: linear-gradient(140deg, #21418f, #1a6bff); }
.case-cover.b4 { background: linear-gradient(140deg, #b45309, #f79009); }
.case-cover.b5 { background: linear-gradient(140deg, #047857, #12b76a); }
.case-cover.b6 { background: linear-gradient(140deg, #be123c, #fb7185); }
.case-cover::after {
  content: ""; position: absolute; right: -40px; bottom: -60px; width: 180px; height: 180px; border-radius: 50%;
  background: rgba(255, 255, 255, .12);
}
.case-cover .industry { font-size: 12.5px; font-weight: 700; background: rgba(255, 255, 255, .2); padding: 4px 11px; border-radius: 999px; align-self: flex-start; }
.case-cover .kpi { font-size: 34px; font-weight: 900; line-height: 1.1; position: relative; z-index: 2; }
.case-cover .kpi em { font-style: normal; font-size: 15px; font-weight: 700; opacity: .9; display: block; }
.case-body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.case-body h4 { margin-bottom: 8px; }
.case-body p { color: var(--muted); font-size: 15px; flex: 1; }
.case-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.chip { font-size: 12.5px; padding: 4px 10px; border-radius: 8px; background: var(--bg-soft); color: var(--muted); font-weight: 600; }

/* ---------- 14. 新闻 ---------- */
.news-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; display: flex; flex-direction: column; transition: all .28s; height: 100%;
}
.news-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-l); border-color: #e6efff; }
.news-thumb {
  height: 148px; position: relative; display: grid; place-items: center; color: #fff; overflow: hidden;
  background: linear-gradient(140deg, #21418f, #1a6bff);
}
.news-thumb.t2 { background: linear-gradient(140deg, #21418f, #3d7fff); }
.news-thumb.t3 { background: linear-gradient(140deg, #21418f, #b4caff); }
.news-thumb.t4 { background: linear-gradient(140deg, #b45309, #fbbf24); }
.news-thumb.t5 { background: linear-gradient(140deg, #047857, #34d399); }
.news-thumb.t6 { background: linear-gradient(140deg, #1b3a80, #00d9ff); }
.news-thumb .cat { position: absolute; top: 14px; left: 14px; font-size: 12px; font-weight: 800; background: rgba(255, 255, 255, .22); padding: 4px 11px; border-radius: 999px; }
.news-thumb .glyph { font-size: 44px; font-weight: 900; opacity: .9; letter-spacing: .04em; }
.news-body { padding: 22px; display: flex; flex-direction: column; flex: 1; }
.news-body .date { font-size: 13px; color: var(--muted); font-weight: 600; margin-bottom: 8px; }
.news-body h4 { margin-bottom: 8px; line-height: 1.45; }
.news-body h4 a:hover { color: var(--brand); }
.news-body p { color: var(--muted); font-size: 15px; flex: 1; }

.news-list { display: grid; gap: 14px; }
.news-item {
  display: grid; grid-template-columns: 92px 1fr auto; gap: 20px; align-items: center;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 22px; transition: all .25s;
}
.news-item:hover { border-color: var(--brand); box-shadow: var(--shadow); transform: translateX(4px); }
.news-item .ni-date { font-size: 13px; color: var(--muted); font-weight: 700; }
.news-item .ni-date b { display: block; font-size: 20px; color: var(--ink); }
.news-item h4 { margin-bottom: 4px; font-size: 17px; }
.news-item p { font-size: 14px; color: var(--muted); margin: 0; }

/* 分页 */
.pagination { display: flex; gap: 8px; justify-content: center; margin-top: 40px; flex-wrap: wrap; }
.pagination a, .pagination span {
  min-width: 40px; height: 40px; padding: 0 12px; border-radius: 11px; border: 1px solid var(--line);
  display: inline-grid; place-items: center; font-size: 14px; font-weight: 700; background: #fff; color: var(--text);
}
.pagination a:hover { border-color: var(--brand); color: var(--brand); }
.pagination .current { background: var(--brand); border-color: var(--brand); color: #fff; }

/* ---------- 列表分页（JS 驱动，无脚本时自动隐藏且内容全显） ---------- */
.pager { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 34px; }
.pager:empty { display: none; }
.pager .p-info {
  height: 40px; padding: 0 15px; margin-right: 6px; border-radius: 999px;
  display: inline-grid; place-items: center; font-size: 13.5px; font-weight: 700; color: var(--brand-600);
  background: linear-gradient(120deg, rgba(26, 107, 255,  .1), rgba(61, 127, 255, .14));
  border: 1px solid #e1e9ff;
}
.pager .p-btn {
  min-width: 40px; height: 40px; padding: 0 12px; border-radius: 11px; border: 1px solid var(--line);
  background: #fff; color: var(--text); font-size: 14px; font-weight: 700; font-family: inherit;
  display: inline-grid; place-items: center; cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease, background .22s ease;
}
.pager .p-btn svg { display: block; }
.pager .p-btn:hover:not(:disabled):not(.current) {
  border-color: var(--brand); color: var(--brand); transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(26, 107, 255,  .2);
}
.pager .p-btn.current {
  background: var(--brand); border-color: var(--brand); color: #fff;
  box-shadow: 0 12px 24px rgba(26, 107, 255,  .37);
}
.pager .p-btn:disabled { opacity: .42; cursor: not-allowed; color: var(--muted); background: #fff; }
.pager .p-btn:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
@media (max-width: 680px) {
  .br-desktop { display: none; }
  .pager { gap: 6px; }
  .pager .p-info { width: 100%; margin: 0 0 2px; justify-content: center; }
  .pager .p-btn { min-width: 36px; height: 36px; padding: 0 10px; }
}

/* ---------- 15. Tabs & 筛选 ---------- */
.tabs { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-bottom: 30px; }
.tab {
  display: inline-flex; align-items: center; justify-content: center;
  height: 38px; padding: 0 18px; border-radius: 12px; border: 1px solid #dde7f7;
  background: #fff; font-size: 14px; font-weight: 700; line-height: 1; color: var(--text);
  box-shadow: 0 1px 2px rgba(16, 36, 92, .04); white-space: nowrap;
  transition: color .2s, border-color .2s, background .2s, box-shadow .2s, transform .2s;
}
.tab:hover { border-color: #b7cdf3; color: var(--brand); background: #f6faff; transform: translateY(-1px); }
.tab:focus-visible { outline: 2px solid rgba(26, 107, 255, .45); outline-offset: 2px; }
.tab.active { background: var(--grad-main); border-color: transparent; color: #fff; box-shadow: 0 8px 18px rgba(26, 107, 255, .26); }

/* ---------- 16. 手风琴 FAQ ---------- */
.accordion { display: grid; gap: 12px; }
.acc-item { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: box-shadow .25s, border-color .25s; }
.acc-item.open { border-color: #d2e2ff; box-shadow: var(--shadow); }
.acc-head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; background: none; border: 0; text-align: left; font-size: 16.5px; font-weight: 700; color: var(--ink); }
.acc-head .q-mark { color: var(--brand); font-weight: 900; margin-right: 10px; }
.acc-head:hover { color: var(--brand); }
.acc-icon { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--brand-soft); color: var(--brand); display: grid; place-items: center; transition: transform .25s; }
.acc-icon svg { width: 15px; height: 15px; }
.acc-item.open .acc-icon { transform: rotate(45deg); }
.acc-panel { display: none; padding: 0 22px 20px 22px; color: var(--muted); font-size: 15.5px; }
.acc-item.open .acc-panel { display: block; }
.acc-panel strong { color: var(--text); }

/* ---------- 17. 表单 & 联系 ---------- */
.form-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-l); padding: 32px; box-shadow: var(--shadow); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { margin-bottom: 16px; }
.field label { display: block; font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 7px; }
.field label em { color: #e5484d; font-style: normal; }
.field input, .field select, .field textarea {
  width: 100%; height: 46px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--line);
  background: #fff; color: var(--text); outline: none; transition: all .2s;
}
.field textarea { height: 108px; padding: 12px 14px; resize: none; overflow: hidden; line-height: 1.6; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(26, 107, 255,  .15); }
.field .err { display: none; color: #e5484d; font-size: 12.5px; margin-top: 6px; }
.field.invalid input, .field.invalid textarea { border-color: #e5484d; }
.field.invalid .err { display: block; }
.form-note { font-size: 13px; color: var(--muted); margin-top: 12px; }
.form-success { display: none; margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: rgba(18, 183, 106, .1); border: 1px solid rgba(18, 183, 106, .35); color: #0a7a4a; font-size: 14px; font-weight: 600; }
.form-success.show { display: block; }

.contact-info { display: grid; gap: 14px; }
.info-item { display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; }
.info-item .icon-box { margin: 0; }
.info-item .k { font-size: 13px; color: var(--muted); font-weight: 600; }
.info-item .v { font-size: 16.5px; font-weight: 800; color: var(--ink); }

/* ---------- 18. CTA 区 ---------- */
.cta-band {
  position: relative; overflow: hidden; color: #fff; padding: 66px 0;
  background:
    radial-gradient(860px 400px at 6% -20%, rgba(26, 107, 255,  .67), transparent 62%),
    radial-gradient(680px 340px at 104% 132%, rgba(61, 127, 255, .47), transparent 62%),
    linear-gradient(118deg, var(--night) 0%, var(--night-2) 56%, var(--night) 100%);
}
.cta-band::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(112deg, transparent 44%, rgba(255, 255, 255, .04) 50%, transparent 57%),
    radial-gradient(520px 240px at 64% -46%, rgba(77, 141, 255, .27), transparent 62%);
}
.cta-band .container { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }
.cta-band h2 { color: #fff; margin-bottom: 10px; }
.cta-band p { color: rgba(255, 255, 255, .76); font-size: 16.5px; }
.cta-band .btns { display: flex; gap: 12px; flex-wrap: wrap; }

/* ---------- 19. 页脚 ---------- */
.footer {
  background-color: var(--night);
  background-image:
    radial-gradient(880px 420px at 8% -4%, rgba(26, 107, 255,  .51), transparent 62%),
    radial-gradient(760px 380px at 92% 6%, rgba(77, 141, 255, .3), transparent 60%),
    linear-gradient(180deg, var(--night) 0%, var(--night-2) 44%, var(--night-3) 100%);
  background-repeat: no-repeat;
  color: rgba(255, 255, 255, .68);
  padding: 62px 0 0;
  font-size: 14.5px;
}
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.2fr; gap: 32px; align-items: start; }
.footer h5 { color: #fff; font-size: 15.5px; margin-bottom: 18px; font-weight: 800; letter-spacing: .02em; }
.footer-grid > *:nth-child(n+2):nth-child(-n+4) {
  padding-left: 8px;
  border-left: 1px solid rgba(255, 255, 255, .06);
}
.footer a {
  color: rgba(255, 255, 255, .72);
  position: relative;
  padding-left: 0;
  transition: all .2s ease;
}
.footer a::before,
.footer a::after {
  display: none !important;
}
.footer a:hover {
  color: #fff;
}
.footer li { margin-bottom: 12px; }
.footer .logo { color: #fff; margin-bottom: 14px; }
.footer .logo small { color: rgba(255, 255, 255, .5); }
.footer .f-desc { color: rgba(255, 255, 255, .62); margin-bottom: 18px; }
.footer .f-contact li { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; }
.footer .f-contact svg { width: 16px; height: 16px; margin-top: 3px; flex: none; color: var(--brand-3); }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .1); margin-top: 44px; padding: 20px 0 26px; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; font-size: 13.5px; }
.footer-bottom .links { display: flex; gap: 18px; flex-wrap: wrap; }

/* ---------- 20. 右侧悬浮栏 ---------- */
.rail { position: fixed; right: 16px; top: 50%; transform: translateY(-50%); z-index: 90; display: grid; gap: 10px; }
.rail a, .rail button {
  width: 52px; height: 52px; border-radius: 15px; background: #fff; border: 1px solid var(--line);
  box-shadow: var(--shadow); display: grid; place-items: center; color: var(--brand);
  transition: all .25s; position: relative;
}
.rail a:hover, .rail button:hover { background: var(--brand); color: #fff; border-color: var(--brand); transform: translateY(-2px); }
.rail svg { width: 22px; height: 22px; }
.rail .rail-tip {
  position: absolute; right: 62px; top: 50%; transform: translateY(-50%) translateX(6px);
  background: var(--ink); color: #fff; font-size: 13px; padding: 7px 12px; border-radius: 9px;
  white-space: nowrap; opacity: 0; visibility: hidden; transition: all .22s;
}
.rail a:hover .rail-tip, .rail button:hover .rail-tip { opacity: 1; visibility: visible; transform: translateY(-50%); }
.rail .to-top { display: none; }
.rail .to-top.show { display: grid; }

/* ---------- 21. 文章 / 主题页 ---------- */
.article-layout { display: grid; grid-template-columns: 300px 1fr; gap: 40px; align-items: start; }
.toc {
  position: sticky; top: 96px; background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius); padding: 22px;
}
.toc h5 { font-size: 14px; letter-spacing: .08em; color: var(--muted); text-transform: uppercase; margin-bottom: 14px; }
.toc a { display: block; padding: 8px 0 8px 14px; border-left: 2px solid var(--line); font-size: 14.5px; font-weight: 600; color: var(--muted); }
.toc a:hover, .toc a.active { color: var(--brand); border-left-color: var(--brand); }
.toc .toc-meta { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--line); font-size: 13px; color: var(--muted); }
.toc a.sub { padding-left: 26px; font-size: 14px; font-weight: 500; }
/* 自动生成目录时的锚点偏移，避开吸顶导航 */
h2[id], h3[id] { scroll-margin-top: 96px; }
/* 单栏长页使用的横向目录 */
.toc.inline {
  position: static; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 4px 28px; padding: 24px 28px;
}
.toc.inline h5 { grid-column: 1 / -1; margin-bottom: 10px; }
.toc.inline a { border-left: 0; padding: 9px 0; border-bottom: 1px dashed var(--line); }
.toc.inline a:hover, .toc.inline a.active { border-bottom-color: var(--brand); }
.toc.inline a.sub { padding-left: 0; }
@media (max-width: 600px) { .toc.inline { padding: 20px; grid-template-columns: 1fr; } }

.prose { max-width: 100%; }
.prose h2 { font-size: 27px; margin: 42px 0 16px; scroll-margin-top: 96px; }
.prose h3 { font-size: 20px; margin: 30px 0 12px; scroll-margin-top: 96px; }
.prose p { color: #1b2c5e; font-size: 16.5px; line-height: 1.9; margin-bottom: 16px; }
.prose ul { margin: 0 0 18px; }
.prose ul li { position: relative; padding-left: 24px; margin-bottom: 10px; color: #1b2c5e; }
.prose ul li::before { content: ""; position: absolute; left: 6px; top: 12px; width: 7px; height: 7px; border-radius: 50%; background: var(--brand); }
.prose ol { counter-reset: o; margin: 0 0 18px; }
.prose ol li { counter-increment: o; position: relative; padding-left: 34px; margin-bottom: 12px; color: #1b2c5e; }
.prose ol li::before { content: counter(o); position: absolute; left: 0; top: 2px; width: 23px; height: 23px; border-radius: 50%; background: var(--brand-soft); color: var(--brand); font-size: 12.5px; font-weight: 800; display: grid; place-items: center; }
.prose blockquote { margin: 22px 0; padding: 18px 22px; border-left: 4px solid var(--brand); background: var(--bg-soft); border-radius: 0 var(--radius) var(--radius) 0; color: var(--text); }
.callout { background: var(--brand-soft); border: 1px solid #dbe5ff; border-radius: var(--radius); padding: 20px 22px; margin: 24px 0; }
.callout h4 { color: var(--brand); margin-bottom: 8px; }
.callout p { color: #22346a; font-size: 15.5px; }
.factbox { border: 1px dashed var(--line); border-radius: var(--radius); padding: 14px 18px; font-size: 13.5px; color: var(--muted); margin-top: 34px; background: var(--bg-soft); }
.article-meta { display: flex; gap: 16px; flex-wrap: wrap; color: var(--muted); font-size: 14px; margin-bottom: 26px; }
.article-meta span { display: inline-flex; align-items: center; gap: 6px; }
.share-row { display: flex; align-items: center; gap: 10px; margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--line); flex-wrap: wrap; }

/* 标签云 */
.tag-cloud { display: flex; gap: 10px; flex-wrap: wrap; }
.tag {
  display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px;
  background: #fff; border: 1px solid var(--line); font-size: 14px; font-weight: 700; color: var(--text);
}
.tag:hover { border-color: var(--brand); color: var(--brand); }
.tag b { color: var(--muted); font-weight: 600; font-size: 12.5px; }
.tag.active { background: var(--brand); border-color: var(--brand); color: #fff; }
.tag.active b { color: rgba(255, 255, 255, .75); }
.tag-lg { height: 44px; padding: 0 20px; font-size: 16px; }

/* 数据表 */
.table-wrap {
  overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #fff;
  scrollbar-width: thin; scrollbar-color: #ccd8ea transparent;
}
.table-wrap::-webkit-scrollbar { height: 8px; }
.table-wrap::-webkit-scrollbar-track { background: transparent; }
.table-wrap::-webkit-scrollbar-thumb { background: #ccd8ea; border-radius: 999px; }
.table-wrap::-webkit-scrollbar-thumb:hover { background: #c3d2ee; }
table.data { width: 100%; border-collapse: collapse; min-width: 0; font-size: 15px; }
@media (max-width: 900px) { table.data { min-width: 620px; } }
table.data th, table.data td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--line); }
table.data th { background: var(--bg-soft); font-weight: 800; color: var(--ink); font-size: 14.5px; white-space: nowrap; }
table.data tr:last-child td { border-bottom: 0; }
table.data td { color: var(--muted); }
table.data td:first-child { color: var(--text); font-weight: 700; }
table.data .yes { color: var(--ok); font-weight: 700; }
table.data .no { color: #77809a; }

/* 页面清单卡 */
.pagelist { display: grid; gap: 14px; }
.pagelist-item { display: grid; grid-template-columns: 46px 1fr auto; gap: 18px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 22px; transition: all .25s; }
.pagelist-item:hover { border-color: var(--brand); box-shadow: var(--shadow); transform: translateY(-2px); }
.pagelist-item .no { width: 46px; height: 46px; border-radius: 13px; background: var(--brand-soft); color: var(--brand); display: grid; place-items: center; font-weight: 900; }
.pagelist-item h4 { margin-bottom: 4px; }
.pagelist-item p { font-size: 14px; color: var(--muted); margin: 0; }
.pagelist-item code { font-size: 12.5px; background: var(--bg-soft); padding: 2px 7px; border-radius: 6px; color: var(--brand); }

/* ---------- 22. 数字滚动 / 动画 ---------- */
/* 默认可见：只有在脚本就绪后才隐藏，避免 JS 失效或观察器未触发时整块空白 */
.reveal { transition: opacity .6s ease, transform .6s ease; }
.js-ready .reveal { opacity: 0; transform: translateY(22px); }
.js-ready .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal, .js-ready .reveal { opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
}

/* ==========================================================================
   22.5 蓝色渐变主题（覆盖层）+ 首页增强组件
   ========================================================================== */

/* ---------- 主题覆盖：统一为蓝色渐变 ---------- */
.gradient-text { background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.logo-mark { background: var(--grad-main); box-shadow: 0 10px 22px rgba(26, 107, 255,  .41); }
.btn-primary { background: var(--grad-main); box-shadow: 0 12px 28px rgba(26, 107, 255,  .39); }
.btn-primary:hover { box-shadow: 0 18px 40px rgba(26, 107, 255,  .51); }
.eyebrow { background: linear-gradient(120deg, rgba(26, 107, 255,  .15), rgba(61, 127, 255, .22)); color: var(--brand-600); }
.icon-box { background: linear-gradient(135deg, #1a6bff 0%, #4d8dff 100%); color: #fff; box-shadow: 0 8px 20px rgba(26, 107, 255, .30), inset 0 1px 0 rgba(255,255,255,.25); }
.icon-box svg { color: #fff; }
.step .idx { background: var(--grad-main); box-shadow: 0 12px 26px rgba(26, 107, 255,  .37); }
.price-tag { background: var(--grad-main); }
.price-card.hot { background: linear-gradient(#fff, #fff) padding-box, var(--grad-soft) border-box; box-shadow: 0 26px 60px rgba(26, 107, 255,  .24); }
.pill i { background: var(--grad-main); }
.pill:hover { border-color: var(--brand); color: var(--brand-600); }
.card-hover:hover { border-color: #d2e2ff; box-shadow: 0 26px 60px rgba(8, 17, 40,     .14); }
.card-hover::after { background: linear-gradient(120deg, rgba(26, 107, 255,  .09), rgba(61, 127, 255, .13)); }
.acc-item.open { border-color: #bccfff; }
.toc a:hover, .toc a.active { color: var(--brand-600); border-left-color: var(--brand); }
.tag:hover, .tag.active { border-color: var(--brand); color: var(--brand-600); }
.tag.active { background: var(--grad-main); color: #fff; }
.tag.active b { color: rgba(255, 255, 255, .78); }
.tab.active { background: var(--grad-main); border-color: transparent; }
.link-more { color: var(--brand-600); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(26, 107, 255,  .17); }
.list-check li::before { background-color: rgba(26, 107, 255,  .15); }
.callout { background: linear-gradient(120deg, rgba(26, 107, 255,  .09), rgba(61, 127, 255, .13)); border-color: #d8e3ff; }
.callout h4 { color: var(--brand-600); }
.case-cover { background: linear-gradient(140deg, #1b3a80, #1a6bff); }
.case-cover.b2 { background: linear-gradient(140deg, #21418f, #00d9ff); }
.case-cover.b3 { background: linear-gradient(140deg, #1b3a80, #00d9ff); }
.case-cover.b4 { background: linear-gradient(140deg, #21418f, #3d7fff); }
.case-cover.b5 { background: linear-gradient(140deg, #21418f, #1a6bff); }
.case-cover.b6 { background: linear-gradient(140deg, #21418f, #00d9ff); }
.news-thumb { background: linear-gradient(140deg, #1b3a80, #1a6bff); }
.news-thumb.t2 { background: linear-gradient(140deg, #21418f, #00d9ff); }
.news-thumb.t3 { background: linear-gradient(140deg, #1b3a80, #3d7fff); }
.news-thumb.t4 { background: linear-gradient(140deg, #21418f, #00d9ff); }
.news-thumb.t5 { background: linear-gradient(140deg, #21418f, #00d9ff); }
.news-thumb.t6 { background: linear-gradient(140deg, #1b3a80, #3d7fff); }

/* ---------- Hero 增强（高端大气版） ---------- */
.hero { padding: 104px 0 112px; background: var(--night); }
.hero::before {
  background:
    radial-gradient(1100px 620px at 8% -18%, rgba(26, 107, 255,  .9), transparent 62%),
    radial-gradient(900px 520px at 92% 2%, rgba(77, 141, 255, .54), transparent 60%),
    radial-gradient(820px 540px at 54% 128%, rgba(61, 127, 255, .64), transparent 66%),
    linear-gradient(165deg, var(--night) 0%, var(--night-3) 52%, var(--night) 100%);
  background-color: var(--night);
}
.hero::after { opacity: .55; background-size: 64px 64px; }
.orb { position: absolute; border-radius: 50%; filter: blur(70px); pointer-events: none; z-index: 1; }
.orb-1 { width: 420px; height: 420px; top: -140px; right: -80px; background: rgba(61, 127, 255, .41); }
.orb-2 { width: 360px; height: 360px; bottom: -160px; left: -60px; background: rgba(26, 107, 255,  .46); }
.hero h1 { font-size: clamp(34px, 5vw, 62px); letter-spacing: -.02em; line-height: 1.16; }
.hero-kicker {
  display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 18px; border-radius: 999px;
  background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22);
  color: #ebf3ff; font-size: 14px; font-weight: 700; backdrop-filter: blur(8px); margin-bottom: 22px;
}
.hero-kicker b { color: #a5f3fc; }
.hero-lead { font-size: 18px; color: rgba(255, 255, 255, .82); }
.hero-badges { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 26px; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 13px; border-radius: 10px;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16);
  font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .85);
}
.hero-badge svg { width: 15px; height: 15px; color: #a5f3fc; }
.diag-card {
  background: linear-gradient(160deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .05));
  border: 1px solid rgba(255, 255, 255, .2); box-shadow: 0 34px 80px rgba(0, 0, 0, .38);
}
.hero-stats .stat { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); }
.hero-stats .stat:hover { background: rgba(255, 255, 255, .13); border-color: rgba(77, 141, 255, .54); }
.hero-stats .num { background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-stats .num i { color: #ebf3ff; -webkit-text-fill-color: #ebf3ff; }

/* ---------- 信任条 / 数据看板 ---------- */
.trust-bar { background: #fff; border-bottom: 1px solid var(--line); padding: 26px 0; }
.trust-bar .inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.trust-bar .tb-title { font-size: 14px; font-weight: 700; color: var(--muted); letter-spacing: .04em; }

.kpi-board {
  position: relative; overflow: hidden; border-radius: var(--radius-l); padding: 40px;
  background: linear-gradient(140deg, #12275e 0%, #1b3a80 55%, #21418f 100%); color: #fff;
  box-shadow: 0 30px 70px rgba(8, 17, 40,     .28);
}
.kpi-board::after {
  content: ""; position: absolute; width: 460px; height: 460px; right: -140px; top: -180px; border-radius: 50%;
  background: radial-gradient(circle, rgba(61, 127, 255, .45), transparent 66%);
}
.kpi-board .inner { position: relative; z-index: 2; }
.kpi-board h3 { color: #fff; margin-bottom: 8px; }
.kpi-board .lead { color: rgba(255, 255, 255, .74); max-width: 620px; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 30px; }
.kpi-cell {
  padding: 20px; border-radius: var(--radius); background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .14);
}
.kpi-cell b { display: block; font-size: 30px; font-weight: 900; line-height: 1.2; }
.kpi-cell span { font-size: 13.5px; color: rgba(255, 255, 255, .72); }

/* ---------- 科技感三卡（一体化托管） ---------- */
.tech-section { position: relative; }
.tech-section::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 560px; pointer-events: none;
  background:
    radial-gradient(ellipse at 34% -2%, rgba(26, 107, 255,  .15), rgba(26, 107, 255, .07) 42%, transparent 68%),
    radial-gradient(ellipse at 80% 10%,  rgba(61, 127, 255, .14), rgba(61, 127, 255, .06) 40%, transparent 68%);
  -webkit-mask-image: radial-gradient(128% 100% at 50% 0%, #000 44%, transparent 100%);
  mask-image: radial-gradient(128% 100% at 50% 0%, #000 44%, transparent 100%);
}
.tech-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tech-card {
  position: relative; overflow: hidden; border-radius: 20px; padding: 30px 26px 26px;
  background-color: #fff;
  background-image: radial-gradient(300px 200px at 100% 0%, rgba(26, 107, 255, .07), transparent 70%);
  border: 1px solid var(--line);
  display: flex; flex-direction: column;
  transition: transform .35s cubic-bezier(.2, .7, .3, 1), box-shadow .35s, border-color .35s;
}
.tech-card:nth-child(2) { background-image: radial-gradient(300px 200px at 100% 0%, rgba(0, 217, 255, .08), transparent 70%); }
.tech-card:nth-child(3) { background-image: radial-gradient(300px 200px at 100% 0%, rgba(255, 176, 32, .08), transparent 70%); }
.tech-card::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px;
  background: var(--grad-soft); opacity: .85; z-index: 3;
}
.tech-card::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background-image:
    linear-gradient(rgba(26, 107, 255,  .09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26, 107, 255,  .09) 1px, transparent 1px);
  background-size: 24px 24px;
  -webkit-mask-image: radial-gradient(130% 92% at 100% 0%, #000, transparent 72%);
  mask-image: radial-gradient(130% 92% at 100% 0%, #000, transparent 72%);
  opacity: .9;
}
.tech-card > * { position: relative; z-index: 2; }
.tech-card:hover {
  transform: translateY(-6px); border-color: #d2e2ff;
  background: linear-gradient(180deg, #ffffff 0%, #f4f7ff 100%);
  box-shadow: 0 28px 64px rgba(8, 17, 40,     .16);
}
.tech-card:hover .tech-idx {
  background-image: linear-gradient(180deg, rgba(26, 107, 255,  .55), rgba(61, 127, 255, .11));
}
.tech-card .icon-box {
  width: 54px; height: 54px; border-radius: 16px; color: #fff;
  background: var(--grad-main);
  box-shadow: 0 14px 30px rgba(26, 107, 255,  .37), inset 0 1px 0 rgba(255, 255, 255, .4);
  transition: transform .35s;
}
.tech-card:hover .icon-box { transform: translateY(-2px) scale(1.05); }
.tech-card .icon-box svg { width: 25px; height: 25px; }
.tech-idx {
  position: absolute; right: 20px; top: 14px; z-index: 1;
  font-size: 58px; font-weight: 900; line-height: 1; letter-spacing: -.05em;
  background: linear-gradient(180deg, rgba(26, 107, 255,  .32), rgba(26, 107, 255,  .02));
  -webkit-background-clip: text; background-clip: text; color: transparent;
  user-select: none;
}
.tech-card h3 { margin-top: 18px; font-size: 22px; }
.tech-sub {
  display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600;
  color: #0f4fe0; margin: 6px 0 16px;
}
.tech-sub::before { content: ""; width: 6px; height: 6px; border-radius: 2px; background: var(--grad-soft); flex: none; }
.tech-card .list-check { margin-bottom: 18px; }
.tech-deliver {
  margin-top: auto; display: flex; align-items: center; gap: 8px;
  padding: 11px 14px; border-radius: 12px; font-size: 13.5px; font-weight: 700;
  color: var(--brand-600);
  background: linear-gradient(120deg, rgba(26, 107, 255,  .1), rgba(61, 127, 255, .17));
  border: 1px dashed rgba(26, 107, 255,  .37);
}
.tech-deliver::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--grad-soft); flex: none; }
@media (max-width: 1080px) {
  .tech-cards { grid-template-columns: 1fr; }
}

/* ---------- 对比区 ---------- */
.compare { display: grid; grid-template-columns: 1fr 56px 1fr; gap: 0; align-items: stretch; }
.compare-col { border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; background: #fff; }
.compare-col.old { background: var(--bg-soft); }
.compare-col.new {
  background: linear-gradient(160deg, #fff, #f3f7ff); border-color: transparent;
  box-shadow: 0 0 0 2px var(--brand) inset, 0 22px 50px rgba(26, 107, 255,  .17);
}
.compare-col h4 { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.compare-col .tagpill { font-size: 12px; font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.compare-col.old .tagpill { background: #e9edf8; color: var(--muted); }
.compare-col.new .tagpill { background: var(--grad-main); color: #fff; }
.compare-col li { position: relative; padding-left: 24px; font-size: 15px; color: var(--text); margin-bottom: 10px; }
.compare-col li::before {
  content: ""; position: absolute; left: 0; top: 8px; width: 15px; height: 15px; border-radius: 50%;
  background: rgba(107, 118, 144, .16);
}
.compare-col.new li::before {
  background: rgba(26, 107, 255,  .17) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231668ff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px no-repeat;
}
.compare-arrow { display: grid; place-items: center; color: var(--brand); }
.compare-arrow svg { width: 30px; height: 30px; }

/* ---------- 交替大排版 ---------- */
.feature-row { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.feature-row + .feature-row { margin-top: 56px; }
.feature-row.reverse .fr-text { order: 2; }
.feature-num {
  font-size: 13px; font-weight: 900; letter-spacing: .18em; color: var(--brand); margin-bottom: 12px;
}
.fr-visual {
  border-radius: var(--radius-l); padding: 28px; color: #fff; position: relative; overflow: hidden;
  background: linear-gradient(150deg, #1b3a80, #00d9ff); min-height: 280px;
  box-shadow: 0 26px 60px rgba(8, 17, 40,     .26);
}
.fr-visual.alt { background: linear-gradient(150deg, #21418f, #3d7fff); }
.fr-visual.third { background: linear-gradient(150deg, #21418f, #1a6bff); }
.fr-visual::after {
  content: ""; position: absolute; width: 300px; height: 300px; right: -110px; bottom: -140px;
  border-radius: 50%; background: rgba(255, 255, 255, .12);
}
.fr-visual h4 { color: #fff; margin-bottom: 18px; position: relative; z-index: 2; }
.fr-visual .vlist { position: relative; z-index: 2; display: grid; gap: 10px; }
.fr-visual .vlist li {
  display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px;
  padding: 11px 14px; border-radius: 12px; background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .16);
}
.fr-visual .vlist li b { color: #e0fbff; }

/* ---------- 90 天时间轴 ---------- */
.timeline { position: relative; padding-left: 34px; }
.timeline::before {
  content: ""; position: absolute; left: 11px; top: 8px; bottom: 8px; width: 2px;
  background: linear-gradient(180deg, var(--brand), var(--brand-3));
}
.tl-item { position: relative; padding-bottom: 26px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-item::before {
  content: ""; position: absolute; left: -34px; top: 6px; width: 24px; height: 24px; border-radius: 50%;
  background: #fff; border: 3px solid var(--brand); box-shadow: 0 0 0 5px rgba(26, 107, 255,  .17);
}
.tl-day { font-size: 13px; font-weight: 900; color: var(--brand-600); letter-spacing: .1em; }
.tl-item h4 { margin: 4px 0 6px; }
.tl-item p { color: var(--muted); font-size: 15px; }

/* 横排 90 天卡片 */
.divider-title {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  padding-bottom: 14px; border-bottom: 1px solid var(--line); margin-bottom: 22px; flex-wrap: wrap;
}
.divider-title h3 { margin: 0; font-size: 22px; }
.divider-title span { font-size: 13.5px; color: var(--muted); font-weight: 600; }
.tl-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.tl-card {
  position: relative; overflow: hidden; background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius); padding: 24px 22px; transition: all .28s;
}
.tl-card::before {
  content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 3px;
  background: var(--grad-soft); opacity: .9;
}
.tl-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: #d2e2ff; }
.tl-card .tl-day { margin-bottom: 8px; }
.tl-card h4 { margin: 0 0 8px; font-size: 18px; }
.tl-card p { font-size: 14px; color: var(--muted); line-height: 1.75; }

@media (max-width: 1080px) {
  .tl-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .br-desktop { display: none; }
  .tl-cards { grid-template-columns: 1fr; }
}

/* ---------- 行业解决方案 ---------- */
.solution-card {
  position: relative; overflow: hidden; border-radius: var(--radius); background: #fff;
  border: 1px solid var(--line); padding: 26px 24px; transition: all .28s;
}
.solution-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-l); border-color: #d2e2ff; }
.solution-card .s-ic {
  width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; margin-bottom: 16px;
  background: var(--grad-main); color: #fff; box-shadow: 0 10px 22px rgba(26, 107, 255,  .34);
}
.solution-card .s-ic svg { width: 24px; height: 24px; }
.solution-card h4 { margin-bottom: 8px; }
.solution-card p { font-size: 14.5px; color: var(--muted); }
.solution-card .s-meta { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--line); font-size: 13.5px; font-weight: 700; color: var(--brand-600); }

/* ---------- 客户证言 ---------- */
.testimonial {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px;
  display: flex; flex-direction: column; gap: 14px; transition: all .28s;
}
.testimonial:hover { transform: translateY(-5px); box-shadow: var(--shadow-l); border-color: #d2e2ff; }
.testimonial .quote {
  width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; flex: none;
  background: linear-gradient(135deg, #f0f5ff, #e2f6ff);
  border: 1px solid #d7e8ff; color: var(--brand);
}
.testimonial .quote svg { width: 20px; height: 20px; }
.testimonial .quote-mark {
  display: block; font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 46px; line-height: .78; font-weight: 700; height: 26px;
  color: var(--brand); user-select: none; transform: translateY(5px);
}
.testimonial .text { font-size: 15.5px; color: var(--text); }
.testimonial .who { margin-top: auto; display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--line); }
.testimonial .who .avatar {
  width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; flex: none;
  background: var(--grad-main); color: #fff; font-weight: 800; font-size: 15px; line-height: 1;
  letter-spacing: 0; box-shadow: 0 8px 18px rgba(26, 107, 255,  .34);
}
.testimonial .who b { display: block; font-size: 15px; color: var(--ink); }
.testimonial .who > div span { font-size: 13px; color: var(--muted); }

/* ---------- 套餐增强 ---------- */
.price-card { background: linear-gradient(180deg, #fff, #fdfeff); }
.price-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; pointer-events: none;
  border-radius: var(--radius-l) var(--radius-l) 0 0;
  background: var(--grad-soft);
}
/* 热门卡：改为淡蓝描边 + 外发光，避免与通栏光条重复叠成粗线 */
.price-card.hot {
  background: linear-gradient(180deg, #fff, #f3f7ff);
  border: 1px solid #d2e2ff;
  box-shadow: 0 0 0 3px rgba(26, 107, 255,  .12), 0 26px 60px rgba(26, 107, 255,  .22);
}
.price-card.hot::before { height: 5px; }
.price-value b { background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.price-save {
  display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px; border-radius: 999px;
  background: rgba(18, 183, 106, .12); color: #0a7a4a; font-size: 12.5px; font-weight: 800; margin-bottom: 10px;
}
.price-orig { color: var(--muted); font-size: 14px; text-decoration: line-through; margin-left: 8px; }

/* ---------- 案例详情页 ---------- */
.case-profile { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.case-profile .item { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; }
.case-profile dt { font-size: 12.5px; font-weight: 700; color: var(--muted); letter-spacing: .04em; margin-bottom: 6px; }
.case-profile dd { margin: 0; font-size: 15.5px; font-weight: 800; color: var(--ink); }

.kpi-mini { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; transition: all .28s; }
.kpi-mini:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: #d2e2ff; }
.kpi-mini b {
  display: block; font-size: 30px; font-weight: 900; line-height: 1.2;
  background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.kpi-mini span { font-size: 13.5px; color: var(--muted); }
.kpi-mini .delta {
  display: inline-block; margin-top: 10px; font-size: 12.5px; font-weight: 800; color: #0a7a4a;
  background: rgba(18, 183, 106, .12); padding: 3px 9px; border-radius: 999px; font-style: normal;
}

.bar-row { display: grid; grid-template-columns: 120px 1fr 96px; align-items: center; gap: 14px; margin-bottom: 13px; }
.bar-row .lbl { font-size: 14px; font-weight: 700; color: var(--text); }
.bar-track { height: 10px; border-radius: 999px; background: #f5f8ff; overflow: hidden; }
.bar-fill { height: 100%; border-radius: 999px; background: var(--grad-soft); }
.bar-fill.old { background: linear-gradient(90deg, #d3dcec, #dfe5f2); }
.bar-row .val { font-size: 14.5px; font-weight: 800; text-align: right; color: var(--brand-600); }
.bar-row .val.mute { color: var(--muted); }
.bar-legend { display: flex; gap: 18px; font-size: 13px; color: var(--muted); margin-top: 6px; }
.bar-legend i { display: inline-block; width: 14px; height: 8px; border-radius: 4px; margin-right: 6px; }
.bar-legend .l1 i { background: linear-gradient(90deg, #d3dcec, #dfe5f2); }
.bar-legend .l2 i { background: var(--grad-soft); }

.stage { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: 24px 26px; transition: all .28s; }
.stage + .stage { margin-top: 16px; }
.stage:hover { border-color: #d2e2ff; box-shadow: var(--shadow); }
.stage-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; flex-wrap: wrap; }
.stage-no {
  width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; flex: none;
  background: var(--grad-main); color: #fff; font-weight: 900; font-size: 15px; box-shadow: 0 10px 22px rgba(26, 107, 255,  .34);
}
.stage-head h4 { margin: 0; font-size: 19px; }
.stage-time { font-size: 13px; font-weight: 800; color: var(--brand-600); background: rgba(26, 107, 255,  .12); border-radius: 999px; padding: 4px 11px; }
.stage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.stage-grid h5 { font-size: 13.5px; color: var(--brand-600); margin-bottom: 8px; letter-spacing: .04em; }
.stage-grid p { font-size: 14.5px; color: var(--muted); }
.stage-obs {
  margin-top: 16px; padding: 14px 16px; border-radius: 12px; font-size: 14.5px;
  background: linear-gradient(120deg, rgba(26, 107, 255,  .09), rgba(61, 127, 255, .13));
  border: 1px dashed rgba(26, 107, 255,  .34);
}
.stage-obs b { color: var(--brand-600); }

.score-item { display: grid; grid-template-columns: 1fr 140px 46px; align-items: center; gap: 14px; margin-bottom: 12px; }
.score-item .s-lbl { font-size: 14.5px; font-weight: 700; color: var(--ink); }
.score-item .s-val { font-size: 14px; font-weight: 800; color: var(--brand-600); text-align: right; }
.stars { color: #ffb020; letter-spacing: 2px; font-size: 14px; }
.stars .off { color: #e1e7f2; }

@media (max-width: 1080px) {
  .case-profile { grid-template-columns: repeat(2, 1fr); }
  .stage-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .br-desktop { display: none; }
  .bar-row { grid-template-columns: 1fr; gap: 6px; }
  .bar-row .val { text-align: left; }
  .score-item { grid-template-columns: 1fr 90px 40px; }
}

/* ---------- 大 CTA 面板 ---------- */
.cta-panel {
  position: relative; overflow: hidden; border-radius: 28px; padding: 52px;
  background: linear-gradient(140deg, #12275e, #1b3a80 60%, #21418f); color: #fff;
  box-shadow: 0 34px 80px rgba(8, 17, 40,     .3);
}
.cta-panel::after {
  content: ""; position: absolute; width: 520px; height: 520px; right: -180px; top: -220px; border-radius: 50%;
  background: radial-gradient(circle, rgba(61, 127, 255, .41), transparent 66%);
}
.cta-panel .inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr .9fr; gap: 44px; align-items: center; }
.cta-panel h2 { color: #fff; font-size: clamp(26px, 3vw, 38px); }
.cta-panel p { color: rgba(255, 255, 255, .78); }
.cta-panel .benefits { margin-top: 22px; display: grid; gap: 10px; }
.cta-panel .benefits li { display: flex; gap: 10px; align-items: center; font-size: 15px; color: rgba(255, 255, 255, .9); }
.cta-panel .benefits svg { width: 18px; height: 18px; color: #a5f3fc; flex: none; }
.mini-form { background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); border-radius: 20px; padding: 26px; backdrop-filter: blur(10px); }
.mini-form label { display: block; font-size: 13px; color: rgba(255, 255, 255, .78); margin-bottom: 7px; }
.mini-form input, .mini-form select {
  width: 100%; height: 46px; padding: 0 14px; border-radius: 12px; margin-bottom: 12px;
  border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .1); color: #fff; outline: none;
}
.mini-form input::placeholder { color: rgba(255, 255, 255, .45); }
.mini-form select option { color: #111; }
.mini-form input:focus, .mini-form select:focus { border-color: #a5f3fc; }
.mini-form .ok { display: none; margin-top: 10px; font-size: 13.5px; color: #a7f3d0; font-weight: 700; }
.mini-form .ok.show { display: block; }

/* ---------- 标题强调 ---------- */
.title-xl { font-size: clamp(26px, 3.4vw, 44px); }
.glow-line { width: 72px; height: 4px; border-radius: 4px; background: var(--grad-soft); margin: 18px auto 0; }
.glow-line.left { margin-left: 0; }

@media (max-width: 1080px) {
  .compare { grid-template-columns: 1fr; gap: 16px; }
  .compare-arrow { transform: rotate(90deg); height: 40px; }
  .feature-row { grid-template-columns: 1fr; gap: 28px; }
  .feature-row.reverse .fr-text { order: 0; }
  .cta-panel .inner { grid-template-columns: 1fr; gap: 28px; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .br-desktop { display: none; }
  .hero { padding: 58px 0 66px; }
  .kpi-board, .cta-panel { padding: 26px; border-radius: 20px; }
  .kpi-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .kpi-cell b { font-size: 24px; }
}

/* ---------- 23. 响应式 ---------- */
@media (max-width: 1080px) {
  .nav { display: none; }
  .burger { display: flex; }
  .header-phone { display: none; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .steps-5, .steps-4 { grid-template-columns: repeat(2, 1fr); }
  .split-form { grid-template-columns: 1fr; }
  .step-col::after { display: none; }
  .article-layout { grid-template-columns: 1fr; }
  .toc { position: static; }
  .rail { right: 8px; }
  .rail a, .rail button { width: 46px; height: 46px; }
}
@media (max-width: 900px) {
  .section { padding: 60px 0; }
  .g-3, .g-4, .price-grid { grid-template-columns: repeat(2, 1fr); }
  .g-6 { grid-template-columns: repeat(3, 1fr); }
  .cta-band .container { grid-template-columns: 1fr; }
  .topbar .tb-right .hide-sm { display: none; }
}
@media (max-width: 680px) {
  .br-desktop { display: none; }
  body { font-size: 15.5px; }
  .topbar .container { height: 38px; font-size: 12.5px; }
  .topbar .tb-right { gap: 12px; }
  .section { padding: 48px 0; }
  .hero { padding: 58px 0 66px; }
  .page-hero { padding: 44px 0 50px; }
  .g-2, .g-3, .g-4, .price-grid, .steps-5, .steps-4, .split-form, .g-6 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .news-item { grid-template-columns: 1fr; gap: 8px; }
  .news-item .ni-date { display: flex; gap: 8px; align-items: baseline; }
  .news-item .arw { display: none; }
  .pagelist-item { grid-template-columns: 1fr; gap: 10px; }
  .rail { display: none; }
  .marquee-item { width: 152px; min-width: 152px; height: 62px; font-size: 14.5px; }
  .sec-head { margin-bottom: 32px; }
  .diag-card { padding: 22px; }
  .hero-stats { margin-top: 36px; }
}

/* ==========================================================================
   科技感增强层（全站通用）
   ========================================================================== */

/* ---------- 顶部滚动进度条 ---------- */
#scroll-progress {
  position: fixed; left: 0; top: 0; height: 3px; width: 0; z-index: 999;
  background: var(--grad-main);
  box-shadow: 0 0 14px rgba(26, 107, 255,  .79), 0 0 3px rgba(61, 127, 255, .92);
  transition: width .08s linear;
}

/* ---------- 区块：网格纹理 + 双侧氛围光 ---------- */
.section-sm { position: relative; }
.section > .container, .section-sm > .container { position: relative; z-index: 1; }
.section::before, .section-sm::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(560px 440px at 1% -2%, rgba(255, 176, 32, .14), transparent 66%),
    radial-gradient(600px 460px at 99% 3%, rgba(0, 217, 255, .13), transparent 66%);
}
.section::after, .section-sm::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    linear-gradient(rgba(26, 107, 255,  .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26, 107, 255,  .08) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(120% 88% at 50% 12%, #000, transparent 74%);
  mask-image: radial-gradient(120% 88% at 50% 12%, #000, transparent 74%);
}

/* ---------- 标题与眉标 ---------- */
.hero h1, .page-hero h1, .sec-title { text-wrap: pretty; }
.eyebrow { box-shadow: 0 8px 20px rgba(26, 107, 255,  .12); }

/* ---------- 指针跟随光斑 ---------- */
[data-glow] { position: relative; }
[data-glow]::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2;
  background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(26, 107, 255,  .12), transparent 66%);
  opacity: 0; transition: opacity .35s ease;
}
[data-glow]:hover::after { opacity: 1; }

/* ---------- 按钮：扫光 + 悬浮发光 ---------- */
.btn-primary { position: relative; overflow: hidden; }
.btn-primary::after {
  content: ""; position: absolute; top: 0; left: 0; width: 42%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .42), transparent);
  transform: translateX(-180%) skewX(-18deg);
  animation: btn-sweep 4.6s ease-in-out infinite;
  animation-delay: 1.2s; pointer-events: none;
}
@keyframes btn-sweep {
  0% { transform: translateX(-180%) skewX(-18deg); }
  58%, 100% { transform: translateX(340%) skewX(-18deg); }
}
.btn-outline:hover {
  border-color: transparent; color: var(--brand-600);
  background: linear-gradient(#fff, #fff) padding-box, var(--grad-soft) border-box;
  box-shadow: 0 12px 26px rgba(26, 107, 255,  .2);
}

/* ---------- 卡片：顶部光条 + 悬浮蓝光 ---------- */
.card::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 2px; z-index: 3;
  background: var(--grad-soft); opacity: 0; transition: opacity .3s ease;
}
.card:hover::before { opacity: .95; }
.card-hover:hover {
  transform: translateY(-6px); border-color: #d2e2ff;
  box-shadow: 0 26px 58px rgba(8, 17, 40,     .14), 0 0 0 1px rgba(26, 107, 255,  .12);
}

/* ---------- 案例 / 新闻卡：封面扫光 ---------- */
.case-cover { position: relative; overflow: hidden; }
.case-cover::before, .news-thumb::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: linear-gradient(115deg, transparent 32%, rgba(255, 255, 255, .32) 50%, transparent 68%);
  transform: translateX(-110%);
}
.case-card:hover .case-cover::before, .news-card:hover .news-thumb::before {
  animation: cover-sweep .85s ease-out;
}
@keyframes cover-sweep {
  from { transform: translateX(-110%); }
  to { transform: translateX(110%); }
}
.case-card:hover, .news-card:hover { border-color: #d2e2ff; box-shadow: 0 26px 58px rgba(8, 17, 40,     .14); }

/* ---------- 价格卡热款：呼吸光环 ---------- */
.price-card.hot { animation: hot-pulse 4.4s ease-in-out infinite; }
@keyframes hot-pulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(26, 107, 255,  .12), 0 26px 60px rgba(26, 107, 255,  .22); }
  50% { box-shadow: 0 0 0 7px rgba(26, 107, 255,  .16), 0 32px 72px rgba(26, 107, 255,  .32); }
}
.price-card:hover { box-shadow: 0 30px 66px rgba(8, 17, 40,     .16); border-color: #d2e2ff; }

/* ---------- 阶段卡 / 时间线 ---------- */
.stage:hover { border-color: #d2e2ff; box-shadow: 0 24px 54px rgba(8, 17, 40,     .13); }
.tl-item::before {
  box-shadow: 0 0 0 5px rgba(26, 107, 255,  .17), 0 0 16px rgba(26, 107, 255,  .55);
}
.tl-day {
  display: inline-flex; align-items: center; padding: 4px 11px; border-radius: 999px;
  background: linear-gradient(120deg, rgba(26, 107, 255,  .12), rgba(61, 127, 255, .2));
  border: 1px solid rgba(26, 107, 255,  .24);
}

/* ---------- 表格行 ---------- */
.table.data tbody tr { transition: background .22s ease; }
.table.data tbody tr:hover {
  background: linear-gradient(90deg, rgba(26, 107, 255,  .07), rgba(61, 127, 255, .09));
}

/* ---------- 导航渐变下划线（仅一级菜单，避免误伤下拉子项） ---------- */
.nav > li > a { position: relative; }
.nav > li > a::after {
  content: ""; position: absolute; left: 50%; bottom: 4px; width: 0; height: 2px; border-radius: 2px;
  background: var(--grad-soft); transform: translateX(-50%); transition: width .28s ease;
}
.nav > li > a:hover::after { width: 22px; }

/* ---------- 标签与芯片 ---------- */
.chip { transition: all .24s ease; }
.chip:hover {
  background: linear-gradient(120deg, rgba(26, 107, 255,  .15), rgba(61, 127, 255, .22));
  color: var(--brand-600);
}
.tag:hover { border-color: #d2e2ff; box-shadow: 0 10px 24px rgba(26, 107, 255,  .2); color: var(--brand-600); }

/* ---------- 深色区：CTA 网格 + 页脚光带 ---------- */
.cta-band::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .28;
  background-image:
    linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
  background-size: 52px 52px;
  -webkit-mask-image: radial-gradient(120% 100% at 76% 40%, #000, transparent 78%);
  mask-image: radial-gradient(120% 100% at 76% 40%, #000, transparent 78%);
}
.footer { position: relative; overflow: hidden; }
.footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--grad-main);
}
.footer::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(760px 340px at 50% 116%, rgba(26, 107, 255,  .37), transparent 66%),
    radial-gradient(520px 260px at 18% 106%, rgba(61, 127, 255, .22), transparent 62%),
    radial-gradient(520px 260px at 84% 104%, rgba(77, 141, 255, .19), transparent 62%);
}
.footer .container { position: relative; z-index: 1; }
.footer-bottom { color: rgba(255, 255, 255, .78); }
.footer-bottom a { color: rgba(255, 255, 255, .78); }

/* ---------- 专业底座板块 ---------- */
.prof-card { display: flex; flex-direction: column; }
.prof-card .list-check { margin: 4px 0 18px; }
.prof-card .card-note { margin-top: auto; }
.card .list-check { margin: 4px 0 0; }
.card .list-check li { font-size: 14.5px; }
.card-note {
  margin-top: 18px; padding: 10px 13px; border-radius: 10px;
  font-size: 13px; font-weight: 700; color: var(--brand-600);
  background: linear-gradient(120deg, rgba(26, 107, 255,  .1), rgba(61, 127, 255, .14));
  border-left: 3px solid var(--brand);
}

.promise-bar {
  margin-top: 26px; display: grid; grid-template-columns: repeat(4, 1fr);
  background: #fff; border: 1px solid var(--line); border-radius: 18px;
  overflow: hidden; box-shadow: 0 18px 44px rgba(8, 17, 40,     .07);
}
.promise-bar .item { position: relative; padding: 20px 22px; border-left: 1px solid var(--line); transition: background .28s ease; }
.promise-bar .item:first-child { border-left: 0; }
.promise-bar .item::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; height: 2px;
  background: var(--grad-soft); opacity: 0; transition: opacity .28s ease;
}
.promise-bar .item:hover { background: linear-gradient(180deg, #fdfeff, #f8faff); }
.promise-bar .item:hover::before { opacity: 1; }
.promise-bar b { display: block; font-size: 15px; font-weight: 800; color: var(--ink); margin-bottom: 6px; }
.promise-bar span { font-size: 13.5px; color: var(--muted); line-height: 1.6; }

.coverage-row { margin-top: 28px; display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; }
.coverage-row .lbl {
  font-size: 12.5px; font-weight: 800; letter-spacing: .1em; color: var(--muted);
  text-transform: uppercase; flex: none;
}
.coverage-row .wrap { gap: 10px; }
.coverage-row .chip { background: #fff; border-color: var(--line); }

@media (max-width: 1080px) {
  .promise-bar { grid-template-columns: repeat(2, 1fr); }
  .promise-bar .item:nth-child(3) { border-left: 0; }
  .promise-bar .item:nth-child(n + 3) { border-top: 1px solid var(--line); }
}
@media (max-width: 680px) {
  .br-desktop { display: none; }
  .promise-bar { grid-template-columns: 1fr; }
  .promise-bar .item { border-left: 0; border-top: 1px solid var(--line); }
  .promise-bar .item:first-child { border-top: 0; }
  .coverage-row { justify-content: flex-start; gap: 10px; }
}

/* ---------- AI 答案示意 + 信源分布 ---------- */
.answer-wrap { display: grid; grid-template-columns: 1.02fr .98fr; gap: 28px; align-items: stretch; }

/* 拟真回答卡 */
.ai-answer {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-l);
  padding: 22px; box-shadow: var(--shadow); display: flex; flex-direction: column;
}
.ai-answer > .ai-note { margin-top: auto; padding-top: 14px; }
.ai-head { display: flex; align-items: center; gap: 9px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.ai-dot { width: 9px; height: 9px; border-radius: 50%; background: #12b76a; box-shadow: 0 0 0 4px rgba(18, 183, 106, .14); flex: none; }
.ai-platform { font-size: 14px; font-weight: 700; color: var(--ink); }
.ai-badge {
  margin-left: auto; font-size: 12px; font-weight: 700; color: var(--muted);
  background: var(--bg-soft); border: 1px solid var(--line); border-radius: 999px; padding: 3px 10px;
}

.ai-q {
  margin: 16px 0 14px auto; max-width: 88%; width: fit-content;
  background: linear-gradient(135deg, rgba(26, 107, 255,  .12), rgba(61, 127, 255, .14));
  border: 1px solid rgba(26, 107, 255,  .2); color: var(--ink);
  border-radius: 16px 16px 4px 16px; padding: 12px 16px; font-size: 15px; font-weight: 600;
}
.ai-a { background: var(--bg-soft); border: 1px solid var(--line); border-radius: 4px 16px 16px 16px; padding: 16px; }
.ai-lead { font-size: 14.5px; color: var(--muted); margin-bottom: 12px; }

.ai-item {
  display: flex; gap: 10px; align-items: flex-start; padding: 12px; margin-bottom: 10px;
  border-radius: 12px; background: #fff; border: 1px solid var(--line); position: relative;
}
.ai-item:last-of-type { margin-bottom: 0; }
.ai-rank {
  width: 22px; height: 22px; border-radius: 50%; flex: none; display: grid; place-items: center;
  font-size: 12px; font-weight: 900; color: var(--muted); background: var(--bg-soft);
}
.ai-body b { display: block; font-size: 14.5px; color: var(--ink); margin-bottom: 3px; }
.ai-body p { font-size: 13px; color: var(--muted); line-height: 1.6; }
.ai-item.mine {
  border-color: rgba(26, 107, 255,  .49);
  background: linear-gradient(180deg, rgba(26, 107, 255,  .09), #fff);
  box-shadow: 0 8px 22px rgba(26, 107, 255,  .15);
}
.ai-item.mine .ai-rank { background: var(--brand); color: #fff; }
.ai-item.mine .ai-body b { color: var(--brand); }
.ai-flag {
  position: absolute; top: -10px; right: 12px; z-index: 2; white-space: nowrap;
  font-size: 11px; font-weight: 800; color: #fff;
  background: linear-gradient(100deg, var(--brand), var(--brand-2));
  border-radius: 999px; padding: 2px 10px; letter-spacing: .02em;
  box-shadow: 0 4px 12px rgba(26, 107, 255,  .37);
}

.ai-src { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--line); }
.ai-src-label { font-size: 12.5px; color: var(--muted); font-weight: 700; }
.ai-src i {
  font-style: normal; font-size: 12px; color: var(--brand); background: rgba(26, 107, 255,  .1);
  border: 1px solid rgba(26, 107, 255,  .2); border-radius: 6px; padding: 3px 8px;
}
.ai-note { font-size: 12px; color: var(--muted); margin-top: 14px; }

/* 信源分布卡 */
.source-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-l);
  padding: 26px; box-shadow: var(--shadow); display: flex; flex-direction: column;
}
.source-card > .ai-note { margin-top: auto; padding-top: 14px; }
.source-card h3 { font-size: 20px; margin-bottom: 8px; }
.source-desc { font-size: 14.5px; color: var(--muted); line-height: 1.75; margin-bottom: 20px; }
.src-row { display: grid; grid-template-columns: 92px 1fr auto; align-items: center; gap: 12px; margin-bottom: 13px; }
.src-name { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.src-track { height: 9px; border-radius: 999px; background: var(--bg-soft); border: 1px solid var(--line); overflow: hidden; }
.src-track i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--brand), var(--brand-2)); }
.src-lv { font-size: 12px; font-weight: 700; color: var(--muted); white-space: nowrap; }
.src-row:first-child .src-lv { color: var(--brand); }
.src-legend {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
  margin: 20px 0 0; padding-top: 18px; border-top: 1px dashed var(--line);
}
.src-item { background: var(--bg-soft); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; }
.src-item b { display: block; font-size: 13px; color: var(--ink); margin-bottom: 3px; }
.src-item span { display: block; font-size: 12.5px; color: var(--muted); line-height: 1.5; }

@media (max-width: 1080px) {
  .answer-wrap { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 560px) {
  .src-row { grid-template-columns: 1fr auto; gap: 8px; }
  .src-track { grid-column: 1 / -1; order: 3; }
  .src-legend { grid-template-columns: 1fr; }
}

/* ---------- 月报交付形态 ---------- */
.report-wrap { display: grid; grid-template-columns: .74fr 1.26fr; gap: 28px; align-items: stretch; }

.report-cover {
  position: relative; overflow: hidden; border-radius: var(--radius-l); padding: 26px;
  color: #fff; display: flex; flex-direction: column;
  background:
    radial-gradient(600px 300px at 15% -10%, rgba(26, 107, 255,  .67), transparent 60%),
    radial-gradient(500px 320px at 95% 10%, rgba(61, 127, 255, .37), transparent 62%),
    linear-gradient(160deg, #0e1a40 0%, #12275e 60%, #10245c 100%);
  box-shadow: 0 24px 60px rgba(8, 17, 40,     .22);
}
.report-cover::after {
  content: ""; position: absolute; inset: 0; opacity: .45; pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(circle at 40% 20%, #000, transparent 70%);
  -webkit-mask-image: radial-gradient(circle at 40% 20%, #000, transparent 70%);
}
.report-cover > * { position: relative; z-index: 2; }
.rc-head { display: flex; align-items: center; justify-content: space-between; font-size: 13px; }
.rc-title { font-weight: 800; letter-spacing: .02em; }
.rc-period { color: rgba(255, 255, 255, .58); font-variant-numeric: tabular-nums; }
.rc-main { margin: 26px 0 22px; }
.rc-main b { display: block; font-size: 56px; font-weight: 900; line-height: 1; letter-spacing: -.02em; }
.rc-main b i { font-style: normal; font-size: 24px; font-weight: 800; margin-left: 2px; }
.rc-main span { display: block; margin-top: 10px; font-size: 13px; color: rgba(255, 255, 255, .64); }
.rc-sub {
  font-size: 12px; color: rgba(255, 255, 255, .52); line-height: 1.6;
  padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .12);
}
.rc-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: auto; }
.rc-metrics div {
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 12px; padding: 12px 10px;
}
.rc-metrics b { display: block; font-size: 19px; font-weight: 900; }
.rc-metrics b i { font-style: normal; font-size: 11.5px; font-weight: 700; margin-left: 1px; color: rgba(255, 255, 255, .68); }
.rc-metrics span { display: block; margin-top: 4px; font-size: 11.5px; color: rgba(255, 255, 255, .58); line-height: 1.45; }
.rc-foot { margin-top: 18px; font-size: 11.5px; color: rgba(255, 255, 255, .42); }

.report-list {
  list-style: none; margin: 0; padding: 8px 24px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-l); box-shadow: var(--shadow);
}
.report-list li { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; border-top: 1px solid var(--line); }
.report-list li:first-child { border-top: 0; }
.rp-no { flex: none; padding-top: 2px; font-size: 12px; font-weight: 900; color: var(--brand); letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.report-list b { display: block; font-size: 15px; color: var(--ink); margin-bottom: 4px; }
.report-list p { font-size: 13.5px; color: var(--muted); line-height: 1.7; }

@media (max-width: 1024px) {
  .report-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .rc-metrics { grid-template-columns: 1fr; }
  .report-list { padding: 4px 18px; }
}

/* ---------- GEO 就绪度自测 ---------- */
.ck-intro { max-width: 780px; margin: 0 auto 34px; text-align: center; }
.ck-intro .sec-desc { margin-top: 14px; }

.ck-wrap { max-width: 880px; margin: 0 auto; }

.ck-progress { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.ck-progress-text { font-size: 13.5px; color: var(--muted); white-space: nowrap; }
.ck-progress-text b { color: var(--brand); font-weight: 800; }
.ck-progress-track {
  flex: 1; height: 6px; border-radius: 999px; background: var(--bg-soft);
  border: 1px solid var(--line); overflow: hidden;
}
.ck-progress-track i {
  display: block; height: 100%; border-radius: 999px;
  background: linear-gradient(90deg, var(--brand), var(--brand-2)); transition: width .3s;
}

.ck-item {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 20px 22px; margin-bottom: 14px; transition: border-color .2s, box-shadow .2s;
}
.ck-item:focus-within { border-color: #d2e2ff; box-shadow: var(--shadow); }
.ck-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.ck-no { flex: none; padding-top: 3px; font-size: 12px; font-weight: 900; color: var(--brand); letter-spacing: .08em; }
.ck-head h4 { font-size: 15.5px; line-height: 1.6; color: var(--ink); }

.ck-opts { display: grid; gap: 8px; }
.ck-opt {
  position: relative; display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px;
  background: #fff; cursor: pointer; transition: border-color .18s, background .18s;
}
.ck-opt:hover { border-color: #d2e2ff; background: #fcfdff; }
.ck-opt input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ck-dot {
  width: 16px; height: 16px; border-radius: 50%; flex: none; position: relative;
  border: 1.5px solid #cdd9ef; transition: border-color .18s;
}
.ck-dot::after {
  content: ""; position: absolute; inset: 3px; border-radius: 50%;
  background: var(--brand); transform: scale(0); transition: transform .18s;
}
.ck-text { font-size: 14px; color: var(--muted); line-height: 1.6; }
.ck-opt input:checked ~ .ck-dot { border-color: var(--brand); }
.ck-opt input:checked ~ .ck-dot::after { transform: scale(1); }
.ck-opt input:checked ~ .ck-text { color: var(--ink); font-weight: 600; }
.ck-opt:has(input:checked) { border-color: var(--brand); background: rgba(26, 107, 255,  .06); }

.ck-actions { display: flex; gap: 12px; align-items: center; margin: 22px 0 10px; flex-wrap: wrap; }
.ck-actions .btn[disabled] { opacity: .45; cursor: not-allowed; }

.ck-result {
  margin-top: 28px; padding: 28px; background: #fff;
  border: 1px solid var(--line); border-radius: var(--radius-l); box-shadow: var(--shadow);
}
.ck-score-wrap {
  display: flex; gap: 26px; align-items: center; flex-wrap: wrap;
  padding-bottom: 20px; border-bottom: 1px solid var(--line);
}
.ck-score { display: flex; align-items: baseline; gap: 4px; flex: none; }
.ck-score b { font-size: 52px; font-weight: 900; line-height: 1; color: var(--brand); letter-spacing: -.02em; }
.ck-score span { font-size: 15px; font-weight: 700; color: var(--muted); }
.ck-level h3 { font-size: 19px; margin-bottom: 6px; }
.ck-level p { font-size: 14px; color: var(--muted); line-height: 1.7; max-width: 520px; }

.ck-dims { margin: 22px 0 6px; }
.ck-dim { display: grid; grid-template-columns: 76px 1fr 52px; align-items: center; gap: 12px; margin-bottom: 12px; }
.ck-dim-name { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.ck-track { height: 8px; border-radius: 999px; background: var(--bg-soft); border: 1px solid var(--line); overflow: hidden; }
.ck-track i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--brand), var(--brand-2)); }
.ck-dim-val { font-size: 13px; color: var(--muted); text-align: right; font-variant-numeric: tabular-nums; }

.ck-advice { margin-top: 22px; padding-top: 20px; border-top: 1px dashed var(--line); }
.ck-advice h4 { font-size: 15px; margin-bottom: 12px; }
.ck-advice ul { list-style: none; display: grid; gap: 10px; }
.ck-advice li { position: relative; padding-left: 16px; font-size: 14px; color: var(--muted); line-height: 1.75; }
.ck-advice li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); }
.ck-advice li b { color: var(--ink); }

.ck-cta { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.ck-cta .tiny { margin-top: 12px; color: var(--muted); line-height: 1.7; }

.ck-note {
  max-width: 880px; margin: 34px auto 0; padding: 18px 22px;
  background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--radius);
}
.ck-note b { display: block; font-size: 14px; color: var(--ink); margin-bottom: 6px; }
.ck-note p { font-size: 13.5px; color: var(--muted); line-height: 1.75; }

@media (max-width: 620px) {
  .ck-item { padding: 16px; }
  .ck-result { padding: 20px 18px; }
  .ck-score b { font-size: 42px; }
  .ck-dim { grid-template-columns: 66px 1fr 44px; gap: 9px; }
  .ck-actions .btn { flex: 1; }
}

/* ---------- 弱化动效偏好 ---------- */
@media (prefers-reduced-motion: reduce) {
  .btn-primary::after, .case-cover::before, .news-thumb::before { animation: none; display: none; }
  .price-card.hot { animation: none; }
  #scroll-progress { display: none; }
  [data-glow]::after { display: none; }
}
/* ---------- Neon Galaxy : colorful glow layer ---------- */
.eyebrow {
  background: linear-gradient(120deg, rgba(26, 107, 255,  .16), rgba(61, 127, 255, .18));
  border: 1px solid rgba(26, 107, 255,  .29); color: var(--brand-600);
}
.eyebrow::before { background: linear-gradient(135deg, #1a6bff, #3d7fff); box-shadow: 0 0 10px rgba(61, 127, 255, .92); }
.eyebrow.light {
  background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .28);
  color: #fff; backdrop-filter: blur(8px);
}
.eyebrow.light::before { background: linear-gradient(135deg, #00d9ff, #3d7fff); box-shadow: 0 0 12px rgba(77, 141, 255, .85); }

.stars { color: #ffb020; }
.stars .off { color: #d5dcec; }

.hero-kicker { background: rgba(26, 107, 255,  .24); border-color: rgba(77, 141, 255, .67); color: #e0e9ff; }
.hero-kicker b { color: #00d9ff; }
.hero-badge svg { color: #00d9ff; }
.hero-stats .stat:hover { border-color: rgba(77, 141, 255, .59); box-shadow: 0 0 0 1px rgba(77, 141, 255, .3), 0 18px 42px rgba(26, 107, 255,  .39); }

.page-hero { border-bottom: 1px solid rgba(26, 107, 255,  .37); }

.topbar { background: linear-gradient(90deg, #10245c, #1b3a80 50%, #10245c); }
.header { box-shadow: 0 6px 26px rgba(26, 107, 255,  .09); }

.footer::before { height: 3px; background: var(--grad-rainbow); opacity: .95; }

.declare::before { background: var(--grad-rainbow); }
.card::before { background: var(--grad-rainbow); }

.logo-mark {
  background: linear-gradient(135deg, #0f4fe0, #4f7cff 45%, #3d7fff);
  box-shadow: 0 8px 22px rgba(26, 107, 255,  .55), inset 0 1px 0 rgba(255, 255, 255, .32);
}

.orb-1 { background: rgba(77, 141, 255, .37); }
.orb-2 { background: rgba(26, 107, 255,  .56); }

.kpi-board {
  background:
    radial-gradient(700px 340px at 88% -10%, rgba(77, 141, 255, .33), transparent 62%),
    radial-gradient(620px 320px at 8% 110%, rgba(61, 127, 255, .28), transparent 62%),
    linear-gradient(140deg, #10245c 0%, #1b3a80 55%, #12275e 100%);
  box-shadow: 0 30px 70px rgba(30, 70, 180,   .3);
}
.kpi-board::after { background: radial-gradient(circle, rgba(61, 127, 255, .45), transparent 66%); }

.hero .icon-box, .page-hero .icon-box { box-shadow: 0 14px 32px rgba(26, 107, 255,  .46), inset 0 1px 0 rgba(255, 255, 255, .35); }
.hero .icon-box.cyan, .page-hero .icon-box.cyan { background: linear-gradient(135deg, #0891b2, #00d9ff); box-shadow: 0 14px 32px rgba(77, 141, 255, .41), inset 0 1px 0 rgba(255, 255, 255, .3); }
.hero .icon-box.pink, .page-hero .icon-box.pink { background: linear-gradient(135deg, #1145c9, #3d7fff); box-shadow: 0 14px 32px rgba(61, 127, 255, .5), inset 0 1px 0 rgba(255, 255, 255, .3); }

.btn-primary { box-shadow: 0 12px 30px rgba(26, 107, 255,  .51); }
.btn-primary:hover { box-shadow: 0 18px 46px rgba(61, 127, 255, .7); }

.card-hover:hover, .case-card:hover, .news-card:hover, .stage:hover, .kpi-mini:hover, .testimonial:hover {
  border-color: rgba(26, 107, 255,  .51);
  box-shadow: 0 26px 60px rgba(26, 107, 255,  .24), 0 0 0 1px rgba(77, 141, 255, .25);
}

.tl-item::before { box-shadow: 0 0 0 5px rgba(26, 107, 255,  .22), 0 0 20px rgba(61, 127, 255, .92); }
.stage-no { box-shadow: 0 10px 24px rgba(26, 107, 255,  .49); }
.chip:hover { background: linear-gradient(120deg, rgba(26, 107, 255,  .2), rgba(77, 141, 255, .25)); }

.price-card.hot { animation: hot-pulse-neon 4.4s ease-in-out infinite; }
@keyframes hot-pulse-neon {
  0%, 100% { box-shadow: 0 0 0 3px rgba(26, 107, 255,  .17), 0 26px 60px rgba(26, 107, 255,  .34); }
  50% { box-shadow: 0 0 0 7px rgba(61, 127, 255, .28), 0 32px 72px rgba(61, 127, 255, .5); }
}

.list-check li::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c4dff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.list-check.dark li::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300d9ff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

.case-cover, .news-thumb { background: linear-gradient(140deg, #0f4fe0, #4f7cff); }
.case-cover.b2, .news-thumb.t2 { background: linear-gradient(140deg, #0e7490, #00d9ff); }
.case-cover.b3, .news-thumb.t3 { background: linear-gradient(140deg, #0f4fe0, #3d7fff); }
.case-cover.b4, .news-thumb.t4 { background: linear-gradient(140deg, #c2410c, #ffb020); }
.case-cover.b5, .news-thumb.t5 { background: linear-gradient(140deg, #047857, #34d399); }
.case-cover.b6, .news-thumb.t6 { background: linear-gradient(140deg, #1145c9, #ff8a3d); }
/* ---------- Colorful card accents ---------- */
.kpi-mini { position: relative; overflow: hidden; }
.kpi-mini::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 3px; z-index: 2;
  background: var(--grad-rainbow); opacity: .85;
}
.kpi-mini::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(250px 170px at 100% 0%, rgba(255, 176, 32, .11), transparent 70%);
}
.kpi-mini:nth-child(2)::before { background: linear-gradient(90deg, #00d9ff, #1a6bff); }
.kpi-mini:nth-child(2)::after  { background: radial-gradient(250px 170px at 100% 0%, rgba(0, 217, 255, .11), transparent 70%); }
.kpi-mini:nth-child(3)::before { background: linear-gradient(90deg, #3d7fff, #ffb020); }
.kpi-mini:nth-child(3)::after  { background: radial-gradient(250px 170px at 100% 0%, rgba(26, 107, 255, .11), transparent 70%); }
.kpi-mini:nth-child(4)::before { background: linear-gradient(90deg, #34d399, #00d9ff); }
.kpi-mini:nth-child(4)::after  { background: radial-gradient(250px 170px at 100% 0%, rgba(52, 211, 153, .11), transparent 70%); }
.kpi-mini > * { position: relative; z-index: 1; }
.kpi-mini:hover { box-shadow: 0 20px 46px rgba(26, 107, 255,  .27); }
.sec-title em, .sec-title .hl { font-style: normal; background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* ---------- 主按钮：亮蓝胶囊 + 内高光 + 蓝色辉光 ---------- */
.btn-primary,
.btn-primary:hover {
  background-color: #1a6bff;
  color: #fff; border-color: transparent;
}
.btn-primary {
  background-image: linear-gradient(100deg, #1450e8 0%, #1a6bff 48%, #3f86ff 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .32),
    inset 0 -1px 0 rgba(6, 20, 60, .16),
    0 10px 24px rgba(20, 80, 232, .34),
    0 2px 6px rgba(20, 80, 232, .26);
}
.btn-primary:hover {
  transform: translateY(-2px);
  background-image: linear-gradient(100deg, #1559f5 0%, #2676ff 48%, #4f92ff 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .4),
    0 16px 36px rgba(20, 80, 232, .44),
    0 4px 12px rgba(20, 80, 232, .3);
}
.btn-primary:active {
  transform: translateY(0);
  box-shadow: inset 0 2px 8px rgba(6, 20, 60, .28), 0 6px 16px rgba(20, 80, 232, .3);
}
.btn-primary > :last-child { transition: transform .25s ease; }
.btn-primary:hover > :last-child { transform: translateX(3px); }
/* ---------- 窄屏按钮收缩 ---------- */
@media (max-width: 680px) {
  .br-desktop { display: none; }
  .btn { height: 46px; padding: 0 20px; font-size: 14.5px; gap: 7px; }
  .btn-sm { height: 34px; padding: 0 14px; font-size: 13px; }
  .hero .btns, .page-hero .btns, .cta-band .btns, .cta-panel .btns { flex-wrap: wrap; }
  .topbar .tb-right { display: none; }
  .topbar .container { overflow: hidden; }
}
@media (max-width: 680px) {
  .br-desktop { display: none; }
  html, body { overflow-x: clip; }
}
/* ---------- 信源光谱：语义多色数据条 ---------- */
.src-row { grid-template-columns: 104px 1fr auto; }
.src-name { position: relative; padding-left: 14px; }
.src-name::before {
  content: ""; position: absolute; left: 0; top: 50%; width: 9px; height: 9px;
  margin-top: -4.5px; border-radius: 3px; background: #1a5fff;
}
.src-row:nth-child(1) .src-track i { background: linear-gradient(90deg, #1a5fff, #4d8dff); }
.src-row:nth-child(2) .src-track i { background: linear-gradient(90deg, #f5341f, #ff6a3d); }
.src-row:nth-child(3) .src-track i { background: linear-gradient(90deg, #6d5cff, #a78bfa); }
.src-row:nth-child(4) .src-track i { background: linear-gradient(90deg, #ff9500, #ffc233); }
.src-row:nth-child(5) .src-track i { background: linear-gradient(90deg, #0d8a4f, #34d399); }

.src-row:nth-child(1) .src-name::before { background: #1a5fff; }
.src-row:nth-child(2) .src-name::before { background: #f5341f; }
.src-row:nth-child(3) .src-name::before { background: #6d5cff; }
.src-row:nth-child(4) .src-name::before { background: #ff9500; }
.src-row:nth-child(5) .src-name::before { background: #0d8a4f; }

.src-row:nth-child(1) .src-lv { color: #1a5fff; }
.src-row:nth-child(2) .src-lv { color: #d93a1a; }
.src-row:nth-child(3) .src-lv { color: #5b4bd6; }
.src-row:nth-child(4) .src-lv { color: #c47600; }
.src-row:nth-child(5) .src-lv { color: #0d7a46; }

/* 引用来源标签：与数据条同色系 */
.ai-src i:nth-of-type(1) { color: #1a5fff; background: rgba(26, 95, 255, .1);  border-color: rgba(26, 95, 255, .24); }
.ai-src i:nth-of-type(2) { color: #5b4bd6; background: rgba(109, 92, 255, .1); border-color: rgba(109, 92, 255, .24); }
.ai-src i:nth-of-type(3) { color: #0d7a46; background: rgba(13, 138, 79, .1);  border-color: rgba(13, 138, 79, .22); }
.ai-src i:nth-of-type(4) { color: #c47600; background: rgba(255, 149, 0, .13); border-color: rgba(255, 149, 0, .28); }

@media (max-width: 560px) {
  .src-row { grid-template-columns: 1fr auto; }
}
/* 等级文字只保留首行着色，其余回中性色 */
.src-row:nth-child(2) .src-lv,
.src-row:nth-child(3) .src-lv,
.src-row:nth-child(4) .src-lv,
.src-row:nth-child(5) .src-lv { color: var(--muted); }

/* 图例卡：左侧细色条呼应上方数据 */
.src-item { position: relative; overflow: hidden; }
.src-item::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: #1a5fff;
}
.src-item:nth-child(2)::before { background: #f5341f; }
.src-item:nth-child(3)::before { background: #6d5cff; }
/* 图标块：实心三色循环 + 白图标 + 同色投影 */
.section .grid > *:nth-child(3n+1) .icon-box {
  color: #fff;
  background: linear-gradient(135deg, #1a5fff, #4d8dff);
  box-shadow: 0 10px 22px rgba(26, 95, 255, .3);
}
.section .grid > *:nth-child(3n+2) .icon-box {
  color: #fff;
  background: linear-gradient(135deg, #6d5cff, #a78bfa);
  box-shadow: 0 10px 22px rgba(109, 92, 255, .3);
}
.section .grid > *:nth-child(3n+3) .icon-box {
  color: #fff;
  background: linear-gradient(135deg, #0d8a4f, #34d399);
  box-shadow: 0 10px 22px rgba(13, 138, 79, .3);
}
/* ---------- 五步流程 + 90 天路线：阶段分色 ---------- */
.steps-5 .step-col:nth-child(1) .no { color: #1450d8; }
.steps-5 .step-col:nth-child(2) .no { color: #0b7f99; }
.steps-5 .step-col:nth-child(3) .no { color: #5b4bd6; }
.steps-5 .step-col:nth-child(4) .no { color: #b96a00; }
.steps-5 .step-col:nth-child(5) .no { color: #0b7a45; }

/* 四步流程：阶段分色 */
.steps-4 .step-col:nth-child(1) .no { color: #1450d8; }
.steps-4 .step-col:nth-child(2) .no { color: #0b7f99; }
.steps-4 .step-col:nth-child(3) .no { color: #5b4bd6; }
.steps-4 .step-col:nth-child(4) .no { color: #b96a00; }

.tl-cards .tl-card:nth-child(1)::before { background: linear-gradient(90deg, #1a6bff, #4d8dff); }
.tl-cards .tl-card:nth-child(2)::before { background: linear-gradient(90deg, #0e93b0, #22c8e0); }
.tl-cards .tl-card:nth-child(3)::before { background: linear-gradient(90deg, #d97706, #ffb020); }
.tl-cards .tl-card:nth-child(4)::before { background: linear-gradient(90deg, #0d8a4f, #34d399); }

.tl-cards .tl-card:nth-child(1) .tl-day { color: #1246c8; background: rgba(26, 107, 255, .12); border-color: rgba(26, 107, 255, .26); }
.tl-cards .tl-card:nth-child(2) .tl-day { color: #0b7f99; background: rgba(14, 147, 176, .12); border-color: rgba(14, 147, 176, .26); }
.tl-cards .tl-card:nth-child(3) .tl-day { color: #b96a00; background: rgba(217, 119, 6, .12);  border-color: rgba(217, 119, 6, .26); }
.tl-cards .tl-card:nth-child(4) .tl-day { color: #0b7a45; background: rgba(13, 138, 79, .12);  border-color: rgba(13, 138, 79, .26); }
/* ---------- 对比卡：逐条分色 ---------- */
.compare-col.old li:nth-child(1)::before { background: #aab8cf; }
.compare-col.old li:nth-child(2)::before { background: #9dbbc4; }
.compare-col.old li:nth-child(3)::before { background: #b5abd2; }
.compare-col.old li:nth-child(4)::before { background: #cbb497; }
.compare-col.old li:nth-child(5)::before { background: #a5c2b1; }

.compare-col.new li::before { background: rgba(26, 107, 255, .16); }
.compare-col.new li::after {
  content: ""; position: absolute; left: 0; top: 8px; width: 15px; height: 15px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px no-repeat;
  background: #1a6bff;
}
.compare-col.new li:nth-child(1)::before { background: rgba(26, 107, 255, .17); }
.compare-col.new li:nth-child(1)::after  { background: #1a6bff; }
.compare-col.new li:nth-child(2)::before { background: rgba(14, 147, 176, .17); }
.compare-col.new li:nth-child(2)::after  { background: #0e93b0; }
.compare-col.new li:nth-child(3)::before { background: rgba(109, 92, 255, .17); }
.compare-col.new li:nth-child(3)::after  { background: #6d5cff; }
.compare-col.new li:nth-child(4)::before { background: rgba(217, 119, 6, .17); }
.compare-col.new li:nth-child(4)::after  { background: #d97706; }
.compare-col.new li:nth-child(5)::before { background: rgba(13, 138, 79, .17); }
.compare-col.new li:nth-child(5)::after  { background: #0d8a4f; }
/* ============================================================
   全站模块分色体系：蓝 #1a6bff / 青 #0e93b0 / 紫 #6d5cff / 橙 #d97706 / 绿 #0d8a4f
   ============================================================ */

/* 1) 勾选列表：圆底分色 + mask 勾分色（深色区 dark 变体保持蓝） */
.list-check:not(.dark) li::before { background: rgba(26, 107, 255, .14); }
.list-check:not(.dark) li::after {
  content: ""; position: absolute; left: 0; top: 7px; width: 17px; height: 17px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat;
  background: #1a6bff;
}
.list-check:not(.dark) li:nth-child(5n+1)::before { background: rgba(26, 107, 255, .14); }
.list-check:not(.dark) li:nth-child(5n+1)::after  { background: #1a6bff; }
.list-check:not(.dark) li:nth-child(5n+2)::before { background: rgba(14, 147, 176, .14); }
.list-check:not(.dark) li:nth-child(5n+2)::after  { background: #0e93b0; }
.list-check:not(.dark) li:nth-child(5n+3)::before { background: rgba(109, 92, 255, .14); }
.list-check:not(.dark) li:nth-child(5n+3)::after  { background: #6d5cff; }
.list-check:not(.dark) li:nth-child(5n+4)::before { background: rgba(217, 119, 6, .15); }
.list-check:not(.dark) li:nth-child(5n+4)::after  { background: #d97706; }
.list-check:not(.dark) li:nth-child(5n)::before   { background: rgba(13, 138, 79, .14); }
.list-check:not(.dark) li:nth-child(5n)::after    { background: #0d8a4f; }

/* 2) 步骤编号方块 */
.steps-5 .step:nth-child(5n+1) .idx, .steps-4 .step:nth-child(4n+1) .idx, .steps-3 .step:nth-child(3n+1) .idx {
  background: linear-gradient(135deg, #0f4fe0, #4d8dff); box-shadow: 0 10px 22px rgba(26, 107, 255, .32); }
.steps-5 .step:nth-child(5n+2) .idx, .steps-4 .step:nth-child(4n+2) .idx, .steps-3 .step:nth-child(3n+2) .idx {
  background: linear-gradient(135deg, #0b6f88, #22c8e0); box-shadow: 0 10px 22px rgba(14, 147, 176, .32); }
.steps-5 .step:nth-child(5n+3) .idx, .steps-4 .step:nth-child(4n+3) .idx, .steps-3 .step:nth-child(3n+3) .idx {
  background: linear-gradient(135deg, #4a3fb5, #8b7bff); box-shadow: 0 10px 22px rgba(109, 92, 255, .32); }
.steps-5 .step:nth-child(5n+4) .idx, .steps-4 .step:nth-child(4n+4) .idx, .steps-3 .step:nth-child(3n+4) .idx {
  background: linear-gradient(135deg, #c26a00, #ffb020); box-shadow: 0 10px 22px rgba(217, 119, 6, .32); }
.steps-5 .step:nth-child(5n) .idx, .steps-4 .step:nth-child(4n) .idx, .steps-3 .step:nth-child(3n) .idx {
  background: linear-gradient(135deg, #067a44, #34d399); box-shadow: 0 10px 22px rgba(13, 138, 79, .32); }

/* 3) FAQ 手风琴：题号 + 圆形图标 */
.acc-item:nth-child(5n+1) .q-mark { color: #1450d8; }
.acc-item:nth-child(5n+1) .acc-icon { color: #1450d8; background: rgba(26, 107, 255, .12); }
.acc-item:nth-child(5n+2) .q-mark { color: #0b7f99; }
.acc-item:nth-child(5n+2) .acc-icon { color: #0b7f99; background: rgba(14, 147, 176, .12); }
.acc-item:nth-child(5n+3) .q-mark { color: #5b4bd6; }
.acc-item:nth-child(5n+3) .acc-icon { color: #5b4bd6; background: rgba(109, 92, 255, .12); }
.acc-item:nth-child(5n+4) .q-mark { color: #b96a00; }
.acc-item:nth-child(5n+4) .acc-icon { color: #b96a00; background: rgba(217, 119, 6, .13); }
.acc-item:nth-child(5n) .q-mark { color: #0b7a45; }
.acc-item:nth-child(5n) .acc-icon { color: #0b7a45; background: rgba(13, 138, 79, .12); }

/* 4) 深色区 KPI 数字：四色亮调 */
.kpi-cell:nth-child(1) b { color: #8fbaff; }
.kpi-cell:nth-child(2) b { color: #5fe0f5; }
.kpi-cell:nth-child(3) b { color: #b3a6ff; }
.kpi-cell:nth-child(4) b { color: #ffc266; }

/* 5) 交替排版编号 */
.feature-row:nth-of-type(5n+1) .feature-num { color: #1450d8; }
.feature-row:nth-of-type(5n+2) .feature-num { color: #0b7f99; }
.feature-row:nth-of-type(5n+3) .feature-num { color: #5b4bd6; }
.feature-row:nth-of-type(5n+4) .feature-num { color: #b96a00; }
.feature-row:nth-of-type(5n) .feature-num { color: #0b7a45; }

/* 6) 阶段块：编号 + 时间徽标 */
.stage-grid > *:nth-child(4n+1) .stage-no { background: linear-gradient(135deg, #0f4fe0, #4d8dff); box-shadow: 0 10px 22px rgba(26, 107, 255, .3); }
.stage-grid > *:nth-child(4n+1) .stage-time { color: #1246c8; background: rgba(26, 107, 255, .12); }
.stage-grid > *:nth-child(4n+2) .stage-no { background: linear-gradient(135deg, #0b6f88, #22c8e0); box-shadow: 0 10px 22px rgba(14, 147, 176, .3); }
.stage-grid > *:nth-child(4n+2) .stage-time { color: #0b7f99; background: rgba(14, 147, 176, .12); }
.stage-grid > *:nth-child(4n+3) .stage-no { background: linear-gradient(135deg, #4a3fb5, #8b7bff); box-shadow: 0 10px 22px rgba(109, 92, 255, .3); }
.stage-grid > *:nth-child(4n+3) .stage-time { color: #5b4bd6; background: rgba(109, 92, 255, .12); }
.stage-grid > *:nth-child(4n) .stage-no { background: linear-gradient(135deg, #067a44, #34d399); box-shadow: 0 10px 22px rgba(13, 138, 79, .3); }
.stage-grid > *:nth-child(4n) .stage-time { color: #0b7a45; background: rgba(13, 138, 79, .12); }

/* 7) 垂直时间线：圆点 + 日期徽标 */
.tl-item:nth-child(4n+1)::before { border-color: #1a6bff; box-shadow: 0 0 0 5px rgba(26, 107, 255, .17); }
.tl-item:nth-child(4n+1) .tl-day { color: #1246c8; background: rgba(26, 107, 255, .12); border-color: rgba(26, 107, 255, .24); }
.tl-item:nth-child(4n+2)::before { border-color: #0e93b0; box-shadow: 0 0 0 5px rgba(14, 147, 176, .17); }
.tl-item:nth-child(4n+2) .tl-day { color: #0b7f99; background: rgba(14, 147, 176, .12); border-color: rgba(14, 147, 176, .24); }
.tl-item:nth-child(4n+3)::before { border-color: #6d5cff; box-shadow: 0 0 0 5px rgba(109, 92, 255, .17); }
.tl-item:nth-child(4n+3) .tl-day { color: #5b4bd6; background: rgba(109, 92, 255, .12); border-color: rgba(109, 92, 255, .24); }
.tl-item:nth-child(4n)::before { border-color: #0d8a4f; box-shadow: 0 0 0 5px rgba(13, 138, 79, .17); }
.tl-item:nth-child(4n) .tl-day { color: #0b7a45; background: rgba(13, 138, 79, .12); border-color: rgba(13, 138, 79, .24); }

/* 8) 客户证言：引号块 */
.testimonial:nth-child(5n+1) .quote { color: #1450d8; background: linear-gradient(135deg, #eef4ff, #dfeaff); border-color: #d7e4ff; }
.testimonial:nth-child(5n+2) .quote { color: #0b7f99; background: linear-gradient(135deg, #ecf8fb, #d9f1f6); border-color: #cfe9ef; }
.testimonial:nth-child(5n+3) .quote { color: #5b4bd6; background: linear-gradient(135deg, #f1efff, #e6e1ff); border-color: #ded8ff; }
.testimonial:nth-child(5n+4) .quote { color: #b96a00; background: linear-gradient(135deg, #fdf4e7, #faead0); border-color: #f2e2c8; }
.testimonial:nth-child(5n) .quote { color: #0b7a45; background: linear-gradient(135deg, #ecf8f1, #d9f2e5); border-color: #cfe9db; }

/* 9) 案例封面：六色 */
.case-cover { background: linear-gradient(140deg, #1b3a80, #1a6bff); }
.case-cover.b2 { background: linear-gradient(140deg, #0b5f74, #0e93b0); }
.case-cover.b3 { background: linear-gradient(140deg, #4a3fb5, #8b7bff); }
.case-cover.b4 { background: linear-gradient(140deg, #b45309, #f79009); }
.case-cover.b5 { background: linear-gradient(140deg, #047857, #12b76a); }
.case-cover.b6 { background: linear-gradient(140deg, #14406e, #00b4e0); }

/* 10) 资讯封面：六色 */
.news-thumb { background: linear-gradient(140deg, #1b3a80, #1a6bff); }
.news-thumb.t2 { background: linear-gradient(140deg, #0b5f74, #22c8e0); }
.news-thumb.t3 { background: linear-gradient(140deg, #4a3fb5, #8b7bff); }
.news-thumb.t4 { background: linear-gradient(140deg, #b45309, #fbbf24); }
.news-thumb.t5 { background: linear-gradient(140deg, #047857, #34d399); }
.news-thumb.t6 { background: linear-gradient(140deg, #14406e, #00b4e0); }

/* 11) 价格卡：三档主题 */
.price-grid > *:nth-child(1)::before { background: linear-gradient(90deg, #0e93b0, #22c8e0) no-repeat top center / 100% 4px; }
.price-grid > *:nth-child(1) .price-value b { color: #0b7f99; }
.price-grid > *:nth-child(3)::before { background: linear-gradient(90deg, #d97706, #ffb020) no-repeat top center / 100% 4px; }
.price-grid > *:nth-child(3) .price-value b { color: #b96a00; }

/* 12) 对比数据条 */
.bar-row:nth-child(5n+1) .bar-fill { background: linear-gradient(90deg, #1a6bff, #4d8dff); }
.bar-row:nth-child(5n+1) .val { color: #1246c8; }
.bar-row:nth-child(5n+2) .bar-fill { background: linear-gradient(90deg, #0e93b0, #22c8e0); }
.bar-row:nth-child(5n+2) .val { color: #0b7f99; }
.bar-row:nth-child(5n+3) .bar-fill { background: linear-gradient(90deg, #6d5cff, #8b7bff); }
.bar-row:nth-child(5n+3) .val { color: #5b4bd6; }
.bar-row:nth-child(5n+4) .bar-fill { background: linear-gradient(90deg, #d97706, #ffb020); }
.bar-row:nth-child(5n+4) .val { color: #b96a00; }
.bar-row:nth-child(5n) .bar-fill { background: linear-gradient(90deg, #0d8a4f, #34d399); }
.bar-row:nth-child(5n) .val { color: #0b7a45; }
/* 13) KPI 小卡数字：四色渐变 */
.kpi-mini:nth-child(1) b { background-image: linear-gradient(100deg, #0f4fe0, #4d8dff); }
.kpi-mini:nth-child(2) b { background-image: linear-gradient(100deg, #0b6f88, #22c8e0); }
.kpi-mini:nth-child(3) b { background-image: linear-gradient(100deg, #4a3fb5, #8b7bff); }
.kpi-mini:nth-child(4) b { background-image: linear-gradient(100deg, #c26a00, #ffb020); }

/* 14) 统计数字卡（内联色需提权） */
.grid.g-4 > .card:nth-child(1) .num { color: #1246c8 !important; }
.grid.g-4 > .card:nth-child(2) .num { color: #0b7f99 !important; }
.grid.g-4 > .card:nth-child(3) .num { color: #5b4bd6 !important; }
.grid.g-4 > .card:nth-child(4) .num { color: #b96a00 !important; }
/* ---------- 眉标胶囊：亮色渐变 + 白字（深色区 light 保持原样） ---------- */
.eyebrow:not(.light) {
  background: linear-gradient(100deg, #1246c8 0%, #1a6bff 55%, #4d8dff 100%);
  border: 1px solid transparent;
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 10px 22px rgba(20, 80, 232, .26);
}
.eyebrow:not(.light)::before {
  background: #fff;
  box-shadow: 0 0 8px rgba(255, 255, 255, .85);
}
section:nth-of-type(3n+2) .eyebrow:not(.light) {
  background: linear-gradient(100deg, #0a6b82 0%, #0e93b0 55%, #22c8e0 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 10px 22px rgba(14, 147, 176, .26);
}
section:nth-of-type(3n) .eyebrow:not(.light) {
  background: linear-gradient(100deg, #4436b8 0%, #6d5cff 55%, #8b7bff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 10px 22px rgba(109, 92, 255, .26);
}

/* ---------- 提示块：亮色渐变 + 白字 ---------- */
.callout {
  background: linear-gradient(120deg, #1246c8 0%, #1a6bff 58%, #4d8dff 100%);
  border: 1px solid transparent;
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 14px 34px rgba(20, 80, 232, .24);
}
.callout h4, .callout strong, .callout a { color: #fff; }
.callout p { color: rgba(255, 255, 255, .93); }
.callout a { text-underline-offset: 3px; }
section:nth-of-type(3n+2) .callout {
  background: linear-gradient(120deg, #0a6b82 0%, #0e93b0 58%, #22c8e0 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 14px 34px rgba(14, 147, 176, .24);
}
section:nth-of-type(3n) .callout {
  background: linear-gradient(120deg, #4436b8 0%, #6d5cff 58%, #8b7bff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 14px 34px rgba(109, 92, 255, .24);
}
/* ---------- 正文引用块：亮色渐变 + 白字 ---------- */
.prose blockquote {
  border-left: 0;
  background: linear-gradient(120deg, #1246c8 0%, #1a6bff 58%, #4d8dff 100%);
  color: #fff;
  border-radius: var(--radius);
  padding: 20px 24px;
  font-weight: 500;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 12px 28px rgba(20, 80, 232, .2);
}
.prose blockquote p,
.prose blockquote strong,
.prose blockquote em,
.prose blockquote a { color: #fff; }
.prose blockquote a { text-underline-offset: 3px; }
section:nth-of-type(3n+2) .prose blockquote {
  background: linear-gradient(120deg, #0a6b82 0%, #0e93b0 58%, #22c8e0 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 12px 28px rgba(14, 147, 176, .2);
}
section:nth-of-type(3n) .prose blockquote {
  background: linear-gradient(120deg, #4436b8 0%, #6d5cff 58%, #8b7bff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 12px 28px rgba(109, 92, 255, .2);
}
/* ---------- Hero 统计卡：数字四色 + 角落氛围光 ---------- */
.hero-stats .stat { position: relative; overflow: hidden; }
.hero-stats .stat::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(210px 150px at 100% 0%, rgba(158, 197, 255, .2), transparent 70%);
}
.hero-stats .stat > * { position: relative; z-index: 1; }
.hero-stats .stat:nth-child(1) .num { background-image: linear-gradient(100deg, #6fa8ff, #c2dbff); }
.hero-stats .stat:nth-child(1)::before { background: radial-gradient(210px 150px at 100% 0%, rgba(120, 175, 255, .22), transparent 70%); }
.hero-stats .stat:nth-child(2) .num { background-image: linear-gradient(100deg, #7fe3f5, #d4f8ff); }
.hero-stats .stat:nth-child(2)::before { background: radial-gradient(210px 150px at 100% 0%, rgba(0, 217, 255, .2), transparent 70%); }
.hero-stats .stat:nth-child(3) .num { background-image: linear-gradient(100deg, #c9b8ff, #ece4ff); }
.hero-stats .stat:nth-child(3)::before { background: radial-gradient(210px 150px at 100% 0%, rgba(139, 123, 255, .22), transparent 70%); }
.hero-stats .stat:nth-child(4) .num { background-image: linear-gradient(100deg, #ffd08a, #fff0d6); }
.hero-stats .stat:nth-child(4)::before { background: radial-gradient(210px 150px at 100% 0%, rgba(255, 176, 32, .2), transparent 70%); }
/* ============================================================
   对比度修复：淡底同色胶囊 → 实心渐变 + 白字
   ============================================================ */

.card-note {
  color: #fff;
  background: linear-gradient(100deg, #1246c8 0%, #1a6bff 58%, #4d8dff 100%);
  border-left: 0;
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 8px 18px rgba(20, 80, 232, .22);
}

.price-save {
  color: #fff;
  background: linear-gradient(100deg, #067a44 0%, #0d8a4f 55%, #2fcf8d 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 8px 18px rgba(13, 138, 79, .24);
}

.tech-deliver {
  color: #fff;
  border: 1px solid transparent;
  background: linear-gradient(100deg, #1246c8 0%, #1a6bff 58%, #4d8dff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .26), 0 8px 18px rgba(20, 80, 232, .2);
}
.tech-deliver::before { background: #fff; }
.tech-cards .tech-card:nth-child(2) .tech-deliver {
  background: linear-gradient(100deg, #0a6b82 0%, #0e93b0 55%, #22c8e0 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .26), 0 8px 18px rgba(14, 147, 176, .2);
}
.tech-cards .tech-card:nth-child(3) .tech-deliver {
  background: linear-gradient(100deg, #b45309 0%, #d97706 55%, #ffb020 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .26), 0 8px 18px rgba(217, 119, 6, .2);
}

/* ---------- 深色表单：边框与占位符提亮 ---------- */
.diag-card input, .diag-card select {
  border-color: rgba(255, 255, 255, .36);
  background: rgba(255, 255, 255, .13);
}
.diag-card input::placeholder { color: rgba(255, 255, 255, .62); }
.diag-card label { color: rgba(255, 255, 255, .88); }
.diag-card input:focus, .diag-card select:focus {
  border-color: rgba(140, 196, 255, .95);
  background: rgba(255, 255, 255, .2);
  box-shadow: 0 0 0 3px rgba(77, 141, 255, .3);
}

/* ---------- 深色卡主按钮：亮青蓝渐变 ---------- */
.diag-card .btn-white {
  color: #fff;
  background: linear-gradient(100deg, #00b2ec 0%, #1a6bff 58%, #4d8dff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34), 0 12px 26px rgba(0, 140, 255, .36);
}
.diag-card .btn-white:hover {
  background: linear-gradient(100deg, #00c2ff 0%, #2677ff 58%, #5c98ff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .42), 0 16px 34px rgba(0, 140, 255, .46);
}

/* ---------- 深色 Hero 标题渐变提亮 ---------- */
.hero .gradient-text, .page-hero .gradient-text {
  background-image: linear-gradient(100deg, #5fe0f5 0%, #8fc0ff 55%, #d8e9ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---------- 导航选中态：实心蓝 ---------- */
.nav > li > a.active {
  color: #fff;
  background: linear-gradient(100deg, #1246c8 0%, #1a6bff 58%, #4d8dff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 8px 18px rgba(20, 80, 232, .24);
}
/* ---------- 技术卡编号：提高可见度 ---------- */
.tech-idx {
  background: linear-gradient(180deg, rgba(26, 107, 255, .56), rgba(26, 107, 255, .12));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.tech-card:hover .tech-idx {
  background: linear-gradient(180deg, rgba(26, 107, 255, .8), rgba(26, 107, 255, .22));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
/* ---------- 技术卡图标：与顶条、交付条统一为三色 ---------- */
.tech-card:nth-child(1) .icon-box {
  background: linear-gradient(135deg, #0f4fe0, #4d8dff);
  box-shadow: 0 14px 30px rgba(20, 80, 232, .34), inset 0 1px 0 rgba(255, 255, 255, .4);
}
.tech-card:nth-child(2) .icon-box {
  background: linear-gradient(135deg, #0a6b82, #22c8e0);
  box-shadow: 0 14px 30px rgba(14, 147, 176, .34), inset 0 1px 0 rgba(255, 255, 255, .4);
}
.tech-card:nth-child(3) .icon-box {
  background: linear-gradient(135deg, #b45309, #ffb020);
  box-shadow: 0 14px 30px rgba(217, 119, 6, .34), inset 0 1px 0 rgba(255, 255, 255, .4);
}
/* ---------- DAY / 阶段徽标：实心渐变 + 白字 ---------- */
.tl-cards .tl-card:nth-child(1) .tl-day { color: #fff; background: linear-gradient(100deg, #1246c8, #4d8dff); border-color: transparent; }
.tl-cards .tl-card:nth-child(2) .tl-day { color: #fff; background: linear-gradient(100deg, #0a6b82, #22c8e0); border-color: transparent; }
.tl-cards .tl-card:nth-child(3) .tl-day { color: #fff; background: linear-gradient(100deg, #b45309, #ffb020); border-color: transparent; }
.tl-cards .tl-card:nth-child(4) .tl-day { color: #fff; background: linear-gradient(100deg, #067a44, #34d399); border-color: transparent; }
.tl-cards .tl-day { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32), 0 6px 14px rgba(20, 80, 232, .18); }

.tl-item:nth-child(4n+1) .tl-day { color: #fff; background: linear-gradient(100deg, #1246c8, #4d8dff); border-color: transparent; }
.tl-item:nth-child(4n+2) .tl-day { color: #fff; background: linear-gradient(100deg, #0a6b82, #22c8e0); border-color: transparent; }
.tl-item:nth-child(4n+3) .tl-day { color: #fff; background: linear-gradient(100deg, #4436b8, #8b7bff); border-color: transparent; }
.tl-item:nth-child(4n) .tl-day { color: #fff; background: linear-gradient(100deg, #067a44, #34d399); border-color: transparent; }

.stage-grid > *:nth-child(4n+1) .stage-time { color: #fff; background: linear-gradient(100deg, #1246c8, #4d8dff); }
.stage-grid > *:nth-child(4n+2) .stage-time { color: #fff; background: linear-gradient(100deg, #0a6b82, #22c8e0); }
.stage-grid > *:nth-child(4n+3) .stage-time { color: #fff; background: linear-gradient(100deg, #4436b8, #8b7bff); }
.stage-grid > *:nth-child(4n) .stage-time { color: #fff; background: linear-gradient(100deg, #067a44, #34d399); }
/* ============================================================
   页脚提亮 + 分栏配色 / 行业卡分色
   ============================================================ */

.footer {
  background-image:
    radial-gradient(820px 420px at 4% -6%, rgba(26, 107, 255, .5), transparent 62%),
    radial-gradient(640px 340px at 96% 0%, rgba(0, 217, 255, .24), transparent 60%),
    radial-gradient(560px 300px at 50% 108%, rgba(109, 92, 255, .2), transparent 62%),
    linear-gradient(180deg, var(--night) 0%, var(--night-2) 44%, var(--night-3) 100%);
  color: rgba(255, 255, 255, .8);
}
.footer .f-desc { color: rgba(255, 255, 255, .78); }
.footer a { color: rgba(255, 255, 255, .82); transition: color .2s ease; }
.footer a:hover { color: #8fc8ff; }
.footer li { transition: transform .2s ease; }
.footer li:hover { transform: translateX(3px); }
.footer h5 {
  display: flex; align-items: center; gap: 9px;
  color: #fff;
}
.footer h5::before {
  display: none;
}
/* 快速联系栏：卡片式背景 */
.footer-grid > *:nth-child(5) {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 12px;
  padding: 20px;
}
.footer-grid > *:nth-child(5) .f-desc {
  font-size: 13.5px;
  line-height: 1.6;
  margin-bottom: 16px;
}
.footer-grid > *:nth-child(5) .btn {
  margin-top: 8px;
}
.footer-grid > *:nth-child(5) .tiny {
  font-size: 12px;
  text-align: center;
}
.footer .f-contact li { color: rgba(255, 255, 255, .86); }
.footer .f-contact svg { color: #5fe0f5; }
.footer-bottom { color: rgba(255, 255, 255, .86); }
.footer-bottom a { color: rgba(255, 255, 255, .86); }
.footer-bottom a:hover { color: #8fc8ff; }

/* 快速联系按钮：去掉小圆点和左侧内边距 */
.footer-cta-btn {
  padding-left: 0 !important;
}
.footer-cta-btn::before {
  display: none !important;
}

/* 去掉页脚导航链接的小圆点和左侧内边距 */
.footer-grid > div ul li a {
  padding-left: 0 !important;
}
.footer-grid > div ul li a::before {
  display: none !important;
}

/* ---------- 行业卡：六色图标 + 底部说明分色 ---------- */
.solution-card:nth-child(1) .s-ic {
  background: linear-gradient(135deg, #0f4fe0, #4d8dff);
  box-shadow: 0 12px 24px rgba(20, 80, 232, .32), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.solution-card:nth-child(2) .s-ic {
  background: linear-gradient(135deg, #0b6f88, #22c8e0);
  box-shadow: 0 12px 24px rgba(14, 147, 176, .32), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.solution-card:nth-child(3) .s-ic {
  background: linear-gradient(135deg, #4a3fb5, #8b7bff);
  box-shadow: 0 12px 24px rgba(109, 92, 255, .32), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.solution-card:nth-child(4) .s-ic {
  background: linear-gradient(135deg, #b45309, #ffb020);
  box-shadow: 0 12px 24px rgba(217, 119, 6, .3), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.solution-card:nth-child(5) .s-ic {
  background: linear-gradient(135deg, #067a44, #34d399);
  box-shadow: 0 12px 24px rgba(13, 138, 79, .3), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.solution-card:nth-child(6) .s-ic {
  background: linear-gradient(135deg, #14406e, #00b4e0);
  box-shadow: 0 12px 24px rgba(0, 180, 224, .3), inset 0 1px 0 rgba(255, 255, 255, .35);
}

.solution-card .s-meta {
  display: flex; align-items: center; gap: 8px;
  position: relative; padding-left: 0;
  border-top-color: rgba(26, 107, 255, .16);
}
.solution-card .s-meta::before {
  content: ""; flex: none; width: 7px; height: 7px;
  border-radius: 50%; background: #1a6bff;
}
.solution-card:nth-child(1) .s-meta { color: #1450d8; }
.solution-card:nth-child(1) .s-meta::before { background: #1a6bff; }
.solution-card:nth-child(2) .s-meta { color: #0b7f99; }
.solution-card:nth-child(2) .s-meta::before { background: #0e93b0; }
.solution-card:nth-child(3) .s-meta { color: #5b4bd6; }
.solution-card:nth-child(3) .s-meta::before { background: #6d5cff; }
.solution-card:nth-child(4) .s-meta { color: #b96a00; }
.solution-card:nth-child(4) .s-meta::before { background: #d97706; }
.solution-card:nth-child(5) .s-meta { color: #0b7a45; }
.solution-card:nth-child(5) .s-meta::before { background: #0d8a4f; }
.solution-card:nth-child(6) .s-meta { color: #0b6f88; }
.solution-card:nth-child(6) .s-meta::before { background: #00b4e0; }

.solution-card:nth-child(1):hover { border-color: rgba(26, 107, 255, .38); }
.solution-card:nth-child(2):hover { border-color: rgba(14, 147, 176, .38); }
.solution-card:nth-child(3):hover { border-color: rgba(109, 92, 255, .38); }
.solution-card:nth-child(4):hover { border-color: rgba(217, 119, 6, .38); }
.solution-card:nth-child(5):hover { border-color: rgba(13, 138, 79, .38); }
.solution-card:nth-child(6):hover { border-color: rgba(0, 180, 224, .38); }
/* ---------- 信源卡：铺满高度 + 第 6/7 条配色 + 读法条 ---------- */
.source-card .src-bars {
  flex: 1 1 auto;
  display: flex; flex-direction: column; justify-content: space-between;
  margin-bottom: 4px;
}
.source-card .src-bars .src-row:last-child { margin-bottom: 0; }

.src-row:nth-child(6) .src-track i { background: linear-gradient(90deg, #0b6f88, #00b4e0); }
.src-row:nth-child(6) .src-name::before { background: #0b7f99; }
.src-row:nth-child(7) .src-track i { background: linear-gradient(90deg, #64748b, #93a6c0); }
.src-row:nth-child(7) .src-name::before { background: #7b8ca8; }

.src-tip {
  margin: 18px 0 0; padding: 11px 14px; border-radius: 10px;
  font-size: 12.8px; line-height: 1.7; color: #35476f;
  background: linear-gradient(120deg, rgba(26, 107, 255, .07), rgba(61, 127, 255, .11));
  border-left: 3px solid #4d8dff;
}
.src-tip b { color: #1450d8; margin-right: 6px; }

.source-card .src-legend { grid-template-columns: repeat(2, 1fr); }
.src-item:nth-child(4)::before { background: #0b6f88; }

@media (max-width: 680px) {
  .br-desktop { display: none; }
  .src-legend { grid-template-columns: repeat(2, 1fr); }
}
/* ============================================================
   证言头像 / 团队胶囊 / CTA 面板 / 平台胶囊 / 去掉下划线
   ============================================================ */

/* ---------- 1. 客户证言头像：三色 ---------- */
.testimonial:nth-child(3n+1) .who .avatar {
  background: linear-gradient(135deg, #0f4fe0, #4d8dff);
  box-shadow: 0 10px 20px rgba(20, 80, 232, .32), inset 0 1px 0 rgba(255, 255, 255, .4);
}
.testimonial:nth-child(3n+2) .who .avatar {
  background: linear-gradient(135deg, #0b6f88, #22c8e0);
  box-shadow: 0 10px 20px rgba(14, 147, 176, .32), inset 0 1px 0 rgba(255, 255, 255, .4);
}
.testimonial:nth-child(3n) .who .avatar {
  background: linear-gradient(135deg, #4a3fb5, #8b7bff);
  box-shadow: 0 10px 20px rgba(109, 92, 255, .32), inset 0 1px 0 rgba(255, 255, 255, .4);
}

/* ---------- 2. 团队卡底部胶囊：三色 ---------- */
.prof-card:nth-child(1) .card-note {
  background: linear-gradient(100deg, #1246c8 0%, #1a6bff 58%, #4d8dff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 8px 18px rgba(20, 80, 232, .24);
}
.prof-card:nth-child(2) .card-note {
  background: linear-gradient(100deg, #0a6b82 0%, #0e93b0 58%, #22c8e0 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 8px 18px rgba(14, 147, 176, .24);
}
.prof-card:nth-child(3) .card-note {
  background: linear-gradient(100deg, #4436b8 0%, #6d5cff 58%, #8b7bff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 8px 18px rgba(109, 92, 255, .24);
}

/* ---------- 3. 大 CTA 面板：补光 + 提亮 ---------- */
.cta-panel {
  background-image:
    radial-gradient(560px 320px at 0% 0%, rgba(0, 200, 255, .26), transparent 62%),
    radial-gradient(520px 320px at 100% 100%, rgba(139, 123, 255, .3), transparent 62%),
    linear-gradient(140deg, #10255c 0%, #1b3a80 58%, #21418f 100%);
}
.cta-panel p { color: rgba(255, 255, 255, .86); }
.cta-panel .benefits li { color: rgba(255, 255, 255, .95); }
.cta-panel .benefits li:nth-child(1) svg { color: #7fd8ff; }
.cta-panel .benefits li:nth-child(2) svg { color: #b3a6ff; }
.cta-panel .benefits li:nth-child(3) svg { color: #ffc266; }
.cta-panel .benefits li:nth-child(4) svg { color: #6ee7b7; }

.cta-panel .mini-form {
  background: rgba(255, 255, 255, .13);
  border-color: rgba(255, 255, 255, .32);
}
.cta-panel .mini-form label { color: rgba(255, 255, 255, .9); }
.cta-panel .mini-form input,
.cta-panel .mini-form select {
  border-color: rgba(255, 255, 255, .36);
  background: rgba(255, 255, 255, .15);
}
.cta-panel .mini-form input::placeholder { color: rgba(255, 255, 255, .62); }
.cta-panel .mini-form input:focus {
  border-color: rgba(140, 196, 255, .95);
  background: rgba(255, 255, 255, .22);
  box-shadow: 0 0 0 3px rgba(77, 141, 255, .32);
}
.cta-panel .btn-white {
  color: #fff;
  background: linear-gradient(100deg, #00b2ec 0%, #1a6bff 58%, #4d8dff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34), 0 12px 26px rgba(0, 140, 255, .36);
}
.cta-panel .btn-white:hover {
  background: linear-gradient(100deg, #00c2ff 0%, #2677ff 58%, #5c98ff 100%);
}

/* ---------- 4. 平台胶囊：八色字母块 ---------- */
.platform-row .pill:nth-of-type(8n+1) i { background: linear-gradient(135deg, #0f4fe0, #4d8dff); }
.platform-row .pill:nth-of-type(8n+2) i { background: linear-gradient(135deg, #0b6f88, #22c8e0); }
.platform-row .pill:nth-of-type(8n+3) i { background: linear-gradient(135deg, #4a3fb5, #8b7bff); }
.platform-row .pill:nth-of-type(8n+4) i { background: linear-gradient(135deg, #b45309, #ffb020); }
.platform-row .pill:nth-of-type(8n+5) i { background: linear-gradient(135deg, #067a44, #34d399); }
.platform-row .pill:nth-of-type(8n+6) i { background: linear-gradient(135deg, #14406e, #00b4e0); }
.platform-row .pill:nth-of-type(8n+7) i { background: linear-gradient(135deg, #3b5bdb, #748ffc); }
.platform-row .pill:nth-of-type(8n) i { background: linear-gradient(135deg, #c92a2a, #ff8787); }

/* ---------- 5. 去掉所有链接下划线 ---------- */
a, .callout a, .prose blockquote a, .inline-cta { text-decoration: none; }
.callout a, .prose blockquote a { font-weight: 800; }
.inline-cta {
  color: #a8c8ff; font-weight: 700;
  transition: color .2s ease;
}
.inline-cta:hover { color: #d6e6ff; }
.inline-cta::after { content: " →"; }
/* ---------- CTA 面板：顶部彩带 + 图标饱和度 ---------- */
.cta-panel::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; z-index: 3;
  background: linear-gradient(90deg, #00d4ff 0%, #1a6bff 30%, #6d5cff 62%, #ffb020 100%);
  opacity: .95;
}
.cta-panel .benefits svg { width: 19px; height: 19px; }
.cta-panel .benefits li:nth-child(1) svg { color: #5fd0ff; }
.cta-panel .benefits li:nth-child(2) svg { color: #9b8bff; }
.cta-panel .benefits li:nth-child(3) svg { color: #ffb020; }
.cta-panel .benefits li:nth-child(4) svg { color: #34d399; }
.cta-panel .mini-form { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22); }
/* ============================================================
   案例页/案例详情页：修复 + 多彩
   ============================================================ */

/* ---------- A. 内页 Hero 底部那条灰蓝细线 → 彩带 ---------- */
.page-hero {
  border-bottom: 2px solid transparent;
  border-image: linear-gradient(90deg, #00d4ff 0%, #1a6bff 34%, #6d5cff 68%, #ffb020 100%) 1;
}

/* ---------- B. 内页 Hero 背景：补青、紫两团光 ---------- */
.page-hero::before {
  background:
    radial-gradient(920px 460px at 10% -22%, rgba(26, 107, 255, .8), transparent 62%),
    radial-gradient(760px 420px at 92% -8%, rgba(0, 217, 255, .34), transparent 58%),
    radial-gradient(640px 380px at 58% 132%, rgba(109, 92, 255, .44), transparent 66%),
    linear-gradient(168deg, #0b1533 0%, #12275e 56%, #0e1a40 100%);
}

/* ---------- C. Hero 按钮 ---------- */
.page-hero .btn-primary {
  background: linear-gradient(100deg, #00b2ec 0%, #1a6bff 58%, #4d8dff 100%);
  box-shadow: 0 14px 30px rgba(0, 140, 255, .4), inset 0 1px 0 rgba(255, 255, 255, .3);
}
.page-hero .btn-primary:hover {
  background: linear-gradient(100deg, #00c2ff 0%, #2677ff 58%, #5c98ff 100%);
}
.page-hero .btn-ghost-light {
  border-color: rgba(255, 255, 255, .38);
  background: rgba(255, 255, 255, .1);
  color: #fff;
}
.page-hero .btn-ghost-light:hover {
  border-color: rgba(127, 227, 245, .9);
  background: rgba(0, 217, 255, .16);
}

/* ---------- D. 阶段卡：编号、时间、观测条三处同色 ---------- */
.stage:nth-child(2) .stage-no { background: linear-gradient(135deg, #0f4fe0, #4d8dff); box-shadow: 0 10px 22px rgba(26, 107, 255, .3); }
.stage:nth-child(2) .stage-time { color: #fff; background: linear-gradient(100deg, #1246c8, #4d8dff); }
.stage:nth-child(2) .stage-obs { background: linear-gradient(120deg, rgba(26, 107, 255, .09), rgba(61, 127, 255, .15)); border-color: rgba(26, 107, 255, .3); }
.stage:nth-child(2) .stage-obs b { color: #1246c8; }

.stage:nth-child(3) .stage-no { background: linear-gradient(135deg, #0b6f88, #22c8e0); box-shadow: 0 10px 22px rgba(14, 147, 176, .3); }
.stage:nth-child(3) .stage-time { color: #fff; background: linear-gradient(100deg, #0a6b82, #22c8e0); }
.stage:nth-child(3) .stage-obs { background: linear-gradient(120deg, rgba(14, 147, 176, .09), rgba(34, 200, 224, .15)); border-color: rgba(14, 147, 176, .3); }
.stage:nth-child(3) .stage-obs b { color: #0b7f99; }

.stage:nth-child(4) .stage-no { background: linear-gradient(135deg, #4a3fb5, #8b7bff); box-shadow: 0 10px 22px rgba(109, 92, 255, .3); }
.stage:nth-child(4) .stage-time { color: #fff; background: linear-gradient(100deg, #4436b8, #8b7bff); }
.stage:nth-child(4) .stage-obs { background: linear-gradient(120deg, rgba(109, 92, 255, .09), rgba(139, 123, 255, .15)); border-color: rgba(109, 92, 255, .3); }
.stage:nth-child(4) .stage-obs b { color: #5b4bd6; }

.stage:nth-child(5) .stage-no { background: linear-gradient(135deg, #b45309, #ffb020); box-shadow: 0 10px 22px rgba(217, 119, 6, .3); }
.stage:nth-child(5) .stage-time { color: #fff; background: linear-gradient(100deg, #b45309, #ffb020); }
.stage:nth-child(5) .stage-obs { background: linear-gradient(120deg, rgba(217, 119, 6, .09), rgba(255, 176, 32, .15)); border-color: rgba(217, 119, 6, .3); }
.stage:nth-child(5) .stage-obs b { color: #b96a00; }

/* ---------- E. KPI 小卡：说明与胶囊换行，不再挤在一起 ---------- */
.kpi-mini span { display: block; margin-top: 2px; }
.kpi-mini .delta {
  display: inline-flex; align-items: center; margin-top: 12px;
  color: #0a7a4a; background: rgba(18, 183, 106, .13);
}
.kpi-mini:nth-child(2) .delta { color: #0b7f99; background: rgba(14, 147, 176, .13); }
.kpi-mini:nth-child(3) .delta { color: #5b4bd6; background: rgba(109, 92, 255, .13); }
.kpi-mini:nth-child(4) .delta { color: #b96a00; background: rgba(217, 119, 6, .13); }

/* ---------- F. 页内目录：去掉虚线下划线，改色点 ---------- */
.toc.inline a {
  border-bottom: 0;
  position: relative;
  padding: 10px 0 10px 16px;
  border-radius: 6px;
  transition: color .2s, background .2s;
}
.toc.inline a::before {
  content: ""; position: absolute; left: 2px; top: 50%; width: 6px; height: 6px;
  margin-top: -3px; border-radius: 50%; background: #1a6bff;
}
.toc.inline a:nth-of-type(5n+1)::before { background: #1a6bff; }
.toc.inline a:nth-of-type(5n+2)::before { background: #0e93b0; }
.toc.inline a:nth-of-type(5n+3)::before { background: #6d5cff; }
.toc.inline a:nth-of-type(5n+4)::before { background: #d97706; }
.toc.inline a:nth-of-type(5n)::before { background: #0d8a4f; }
.toc.inline a:hover { color: #1450d8; background: rgba(26, 107, 255, .06); }
.toc.inline a.active { color: #1450d8; background: rgba(26, 107, 255, .09); }

/* ---------- G. 月报封面：三小卡分色 + 补充要点 ---------- */
.report-cover .rc-metrics div {
  border-radius: 12px; padding: 12px 10px;
  background: rgba(255, 255, 255, .09);
}
.report-cover .rc-metrics div:nth-child(1) {
  background: linear-gradient(150deg, rgba(0, 217, 255, .22), rgba(26, 107, 255, .1));
  border-color: rgba(0, 217, 255, .34);
}
.report-cover .rc-metrics div:nth-child(2) {
  background: linear-gradient(150deg, rgba(139, 123, 255, .24), rgba(109, 92, 255, .1));
  border-color: rgba(139, 123, 255, .34);
}
.report-cover .rc-metrics div:nth-child(3) {
  background: linear-gradient(150deg, rgba(255, 176, 32, .22), rgba(217, 119, 6, .1));
  border-color: rgba(255, 176, 32, .34);
}
.report-cover .rc-metrics div:nth-child(1) b { color: #7fe3f5; }
.report-cover .rc-metrics div:nth-child(2) b { color: #c3b6ff; }
.report-cover .rc-metrics div:nth-child(3) b { color: #ffc266; }
.report-cover .rc-metrics span { color: rgba(255, 255, 255, .74); }

.rc-points { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.rc-points li {
  position: relative; padding-left: 18px; font-size: 12.5px; line-height: 1.6;
  color: rgba(255, 255, 255, .82);
}
.rc-points li::before {
  content: ""; position: absolute; left: 0; top: 6px; width: 7px; height: 7px; border-radius: 50%;
  background: #00d9ff; box-shadow: 0 0 10px rgba(0, 217, 255, .8);
}
.rc-points li:nth-child(2)::before { background: #8b7bff; box-shadow: 0 0 10px rgba(139, 123, 255, .8); }
.rc-points li:nth-child(3)::before { background: #ffb020; box-shadow: 0 0 10px rgba(255, 176, 32, .8); }
.report-cover .rc-foot { margin-top: 20px; color: rgba(255, 255, 255, .52); }
/* ---------- 卡片口径说明：贴底，消除底部空白 ---------- */
.card:has(.metric-note) { display: flex; flex-direction: column; }
.metric-note {
  margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--line);
  font-size: 12.5px; line-height: 1.7; color: var(--muted);
}
.metric-hint {
  margin-top: 14px; padding: 12px 14px; border-radius: 10px;
  font-size: 12.8px; line-height: 1.7; color: #0b5f74;
  background: linear-gradient(120deg, rgba(14, 147, 176, .08), rgba(34, 200, 224, .15));
  border-left: 3px solid #22c8e0;
}
/* ---------- 指标卡：两列等高，内容均匀铺开 ---------- */
.grid.g-2:has(.metric-note) { align-items: stretch !important; }
.card:has(.metric-note) .bar-row { flex: 1 1 auto; align-content: center; margin-bottom: 0; }
.card:has(.metric-note) .bar-legend { margin-top: 10px; }
/* ---------- 通用五步闭环（.steps）：编号五色 ---------- */
.steps .step:nth-child(5n+1) .idx { background: linear-gradient(135deg, #0f4fe0, #4d8dff); box-shadow: 0 10px 22px rgba(20, 80, 232, .32); }
.steps .step:nth-child(5n+2) .idx { background: linear-gradient(135deg, #0b6f88, #22c8e0); box-shadow: 0 10px 22px rgba(14, 147, 176, .32); }
.steps .step:nth-child(5n+3) .idx { background: linear-gradient(135deg, #4a3fb5, #8b7bff); box-shadow: 0 10px 22px rgba(109, 92, 255, .32); }
.steps .step:nth-child(5n+4) .idx { background: linear-gradient(135deg, #b45309, #ffb020); box-shadow: 0 10px 22px rgba(217, 119, 6, .32); }
.steps .step:nth-child(5n) .idx { background: linear-gradient(135deg, #067a44, #34d399); box-shadow: 0 10px 22px rgba(13, 138, 79, .32); }
.steps .step:nth-child(5n+1)::before { background: linear-gradient(180deg, #4d8dff, #1a6bff); }
.steps .step:nth-child(5n+2)::before { background: linear-gradient(180deg, #22c8e0, #0e93b0); }
.steps .step:nth-child(5n+3)::before { background: linear-gradient(180deg, #8b7bff, #6d5cff); }
.steps .step:nth-child(5n+4)::before { background: linear-gradient(180deg, #ffb020, #d97706); }
.steps .step:nth-child(5n)::before { background: linear-gradient(180deg, #34d399, #0d8a4f); }
/* ============================================================
   文章列表（.news-list）：日期块 + 侧色条
   ============================================================ */
.news-list { gap: 12px; }

.news-item {
  --nc1: #0f4fe0;
  --nc2: #4d8dff;
  position: relative;
  grid-template-columns: 74px 1fr auto;
  gap: 20px;
  padding: 15px 20px 15px 22px;
  border: 1px solid #e7eefb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(16, 36, 92, .045);
  overflow: hidden;
}
.news-item:nth-child(5n+2) { --nc1: #0b6f88; --nc2: #22c8e0; }
.news-item:nth-child(5n+3) { --nc1: #4a3fb5; --nc2: #8b7bff; }
.news-item:nth-child(5n+4) { --nc1: #b45309; --nc2: #ffb020; }
.news-item:nth-child(5n)   { --nc1: #067a44; --nc2: #34d399; }

.news-item::before {
  content: ""; position: absolute; left: 0; top: 15px; bottom: 15px; width: 3px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(180deg, var(--nc2), var(--nc1));
}

.news-item:hover {
  border-color: #c9dcff;
  box-shadow: 0 14px 32px rgba(16, 36, 92, .13);
  transform: translateX(3px);
}

/* 日期块：实心渐变，白字 */
.news-item .ni-date {
  display: grid; place-items: center; gap: 1px;
  padding: 9px 0 8px; border-radius: 12px;
  font-size: 10.5px; font-weight: 800; letter-spacing: .08em;
  color: rgba(255, 255, 255, .82);
  background: linear-gradient(140deg, var(--nc1), var(--nc2));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 8px 18px rgba(16, 36, 92, .18);
}
.news-item .ni-date b {
  font-size: 17px; font-weight: 900; line-height: 1.15; letter-spacing: -.01em;
  color: #fff; margin: 0;
}

.news-item h4 { font-size: 16.5px; font-weight: 800; margin-bottom: 6px; transition: color .2s; }
.news-item:hover h4 { color: #1450d8; }

.news-item p { display: flex; align-items: center; gap: 8px; font-size: 13.5px; }
.news-item p::before {
  content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%;
  background: var(--nc2);
}
/* 列表项摘要：标题下方，最多两行 */
.news-item .ni-desc {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  overflow: hidden; font-size: 13.5px; line-height: 1.65; color: #64748f;
  margin: 0 0 8px;
}
.news-item .ni-desc::before { content: none; }
.news-item .ni-meta { color: var(--muted); }

/* 右侧箭头：圆形按钮，悬停填充行色 */
.news-item .arw {
  width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center;
  border: 1px solid #e3ebfa; background: #fff;
  color: #8296b5; transition: all .25s;
}
.news-item:hover .arw {
  border-color: transparent; color: #fff;
  background: linear-gradient(140deg, var(--nc1), var(--nc2));
  box-shadow: 0 8px 18px rgba(16, 36, 92, .2);
  transform: translateX(2px);
}

@media (max-width: 640px) {
  .news-item { grid-template-columns: 64px 1fr; gap: 14px; padding: 14px 16px 14px 18px; }
  .news-item .ni-date { padding: 8px 0; }
  .news-item .ni-date b { font-size: 15px; }
  .news-item .arw { display: none; }
}
/* ---------- 文章列表：按分类配色（覆盖索引循环） ---------- */
.news-item[data-cat="行业洞察"] { --nc1: #0f4fe0; --nc2: #4d8dff; }
.news-item[data-cat="教程干货"] { --nc1: #0b6f88; --nc2: #22c8e0; }
.news-item[data-cat="客户案例"] { --nc1: #4a3fb5; --nc2: #8b7bff; }
.news-item[data-cat="研究报告"] { --nc1: #b45309; --nc2: #ffb020; }
/* ============================================================
   服务页：三段标题分色 + 三张服务卡同色贯穿
   ============================================================ */

/* ---------- Hero 标题：官网 / SEO / GEO 三色 ---------- */
.page-hero h1 .h1-a, .hero h1 .h1-a { color: #8fc0ff; }
.page-hero h1 .h1-b, .hero h1 .h1-b { color: #7fe3f5; }
.page-hero h1 .h1-c, .hero h1 .h1-c { color: #c3b6ff; }
.page-hero h1 .h1-plus, .hero h1 .h1-plus { color: rgba(255, 255, 255, .4); font-weight: 400; }

/* ---------- 三张服务卡：顶部色条 + 实心图标 ---------- */
.card[data-svc="1"] { --svc1: #0f4fe0; --svc2: #4d8dff; }
.card[data-svc="2"] { --svc1: #0b6f88; --svc2: #22c8e0; }
.card[data-svc="3"] { --svc1: #4a3fb5; --svc2: #8b7bff; }

.card[data-svc]::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
  background: linear-gradient(90deg, var(--svc1), var(--svc2));
}

.card[data-svc] .icon-box {
  background: linear-gradient(135deg, var(--svc1), var(--svc2));
  color: #fff;
  box-shadow: 0 14px 30px rgba(16, 36, 92, .2), inset 0 1px 0 rgba(255, 255, 255, .4);
}

/* 覆盖 .section .grid > *:nth-child(3n+x) 的全局循环色，保证三卡按服务顺序取色 */
.section .grid > .card[data-svc] .icon-box,
.section .grid > .card[data-svc] .icon-box.cyan {
  background: linear-gradient(135deg, var(--svc1), var(--svc2));
  color: #fff;
  box-shadow: 0 14px 30px rgba(16, 36, 92, .2), inset 0 1px 0 rgba(255, 255, 255, .4);
}
.section .grid > .card[data-svc] .icon-box svg { color: #fff; }

/* 卡片内的交付物表格：表头染上同色淡底 */
.card[data-svc] + .card .data thead th,
.card:has(+ .card[data-svc="2"]) .data thead th {
  background: rgba(16, 36, 92, .045);
  color: var(--ink);
}

/* ---------- 价格卡促销胶囊：三档分色 ---------- */
.price-grid > *:nth-child(1) .price-save {
  color: #fff;
  background: linear-gradient(100deg, #0a6b82 0%, #0e93b0 55%, #22c8e0 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 8px 18px rgba(14, 147, 176, .24);
}
.price-grid > *:nth-child(2) .price-save {
  color: #fff;
  background: linear-gradient(100deg, #1246c8 0%, #1a6bff 55%, #4d8dff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 8px 18px rgba(20, 80, 232, .26);
}
.price-grid > *:nth-child(3) .price-save {
  color: #fff;
  background: linear-gradient(100deg, #b45309 0%, #d97706 55%, #ffb020 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 8px 18px rgba(217, 119, 6, .24);
}
/* ============================================================
   联系页 / FAQ 页：内容补充后的配套样式
   ============================================================ */

/* ---------- 四步流程：每步产出 ---------- */
.step-col .step-out {
  margin-top: 12px; padding-top: 10px;
  border-top: 1px dashed var(--line);
  font-size: 12.8px; font-weight: 700; color: var(--brand);
  line-height: 1.6;
}
.step-col:nth-child(2) .step-out { color: #0b7f99; }
.step-col:nth-child(3) .step-out { color: #5b4bd6; }
.step-col:nth-child(4) .step-out { color: #b96a00; }

/* ---------- 卡内脚注 ---------- */
.card-footnote {
  margin-top: 14px; padding-top: 12px;
  border-top: 1px dashed var(--line);
  font-size: 12.5px; line-height: 1.7; color: var(--muted);
}

/* ---------- 快捷联系：三行小卡 ---------- */
.quick-contact {
  display: grid; grid-template-columns: 20px 1fr 16px; gap: 12px; align-items: center;
  padding: 11px 13px; margin-bottom: 8px;
  border: 1px solid var(--line); border-radius: 11px; background: #fcfdff;
  color: #8fa3c0; transition: all .22s;
}
.quick-contact:last-child { margin-bottom: 0; }
.quick-contact b {
  display: block; font-size: 14px; font-weight: 800; color: var(--ink);
  margin-bottom: 2px; transition: color .22s;
}
.quick-contact em {
  display: block; font-style: normal; font-size: 12.5px; color: var(--muted);
}
.quick-contact > svg:first-child { color: var(--brand); }
.quick-contact:hover {
  border-color: #c9dcff; background: #f6faff;
  box-shadow: 0 8px 18px rgba(16, 36, 92, .07);
}
.quick-contact:hover b { color: var(--brand); }
.quick-contact:hover > svg:last-child { color: var(--brand); transform: translateX(2px); }

/* ---------- FAQ：按角色找答案 ---------- */
.role-cards {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
  margin-bottom: 26px;
}
.role-card {
  position: relative; padding: 18px 18px 16px;
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  overflow: hidden;
}
.role-card::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
  background: linear-gradient(90deg, #4d8dff, #1a6bff);
}
.role-card:nth-child(2)::before { background: linear-gradient(90deg, #22c8e0, #0e93b0); }
.role-card:nth-child(3)::before { background: linear-gradient(90deg, #8b7bff, #6d5cff); }

.role-tag {
  display: inline-flex; align-items: center; height: 22px; padding: 0 9px;
  border-radius: 999px; font-size: 11.5px; font-weight: 800; color: #fff;
  background: linear-gradient(100deg, #1246c8, #4d8dff);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3);
}
.role-card:nth-child(2) .role-tag { background: linear-gradient(100deg, #0a6b82, #22c8e0); }
.role-card:nth-child(3) .role-tag { background: linear-gradient(100deg, #4436b8, #8b7bff); }

.role-card b {
  display: block; margin: 10px 0 12px;
  font-size: 15.5px; font-weight: 800; color: var(--ink);
}
.role-card ul { display: grid; gap: 9px; }
.role-card li a {
  display: flex; align-items: flex-start; gap: 7px;
  font-size: 13.5px; line-height: 1.55; color: var(--muted);
  transition: color .2s;
}
.role-card li a::before {
  content: "›"; flex: none; font-weight: 900; color: #9db8e0; line-height: 1.4;
}
.role-card li a:hover { color: var(--brand); }
.role-card li a:hover::before { color: var(--brand); }

/* ---------- FAQ 锚点定位：高亮，不被吸顶导航遮住 ---------- */
.acc-item { scroll-margin-top: 110px; }
.acc-item:target {
  border-color: #b9d0ff;
  box-shadow: 0 10px 26px rgba(16, 36, 92, .09);
  background: #fbfdff;
}

@media (max-width: 900px) {
  .role-cards { grid-template-columns: 1fr; }
}
/* ---------- 卡内行内链接 ---------- */
.card-inline-links { font-size: 13.5px; line-height: 1.9; color: var(--muted); }
.card-inline-links a { color: var(--brand); font-weight: 700; }
.card-inline-links a:hover { color: #0b3fb0; }
.card-inline-links b { color: var(--ink); font-weight: 800; }
/* ---------- 否定清单：红叉列表 ---------- */
.list-x { display: grid; gap: 10px; }
.list-x li {
  position: relative; padding-left: 26px;
  font-size: 14.3px; line-height: 1.65; color: var(--text);
}
.list-x li::before {
  content: "×"; position: absolute; left: 0; top: 2px;
  width: 16px; height: 16px; border-radius: 50%;
  background: rgba(220, 38, 38, .1); color: #d92d20;
  font-size: 12.5px; font-weight: 900; line-height: 16px; text-align: center;
}
/* 角色卡与筛选条之间的呼吸 */
.role-cards { margin-top: 20px; }
/* ---------- 客户留存数字卡 ---------- */
.rep-list { margin-top: 12px; }
.rep-row {
  display: grid; grid-template-columns: 128px 1fr; gap: 14px; align-items: center;
  padding: 15px 0; border-top: 1px dashed var(--line);
}
.rep-row:first-child { border-top: 0; padding-top: 4px; }
.rep-num {
  font-size: 25px; font-weight: 900; letter-spacing: -.6px; line-height: 1.15;
  background: linear-gradient(120deg, var(--rc1), var(--rc2));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.rep-row b { display: block; font-size: 14.5px; color: var(--ink); margin-bottom: 3px; }
.rep-row span { display: block; font-size: 12.5px; line-height: 1.62; color: var(--muted); }
.rep-row.r1 { --rc1: #0f4fe0; --rc2: #4d8dff; }
.rep-row.r2 { --rc1: #0b6f88; --rc2: #22c8e0; }
.rep-row.r3 { --rc1: #4a3fb5; --rc2: #8b7bff; }
.rep-row.r2 .rep-num { font-size: 21.5px; letter-spacing: -.3px; }
.rep-row.r3 .rep-num { font-size: 24px; }
/* ============================================================
   TAG 页：统计卡四色 + 站点结构指引 + 标签分色
   ============================================================ */

/* ---------- 统计卡 ---------- */
.stat-card { padding: 24px 16px 20px; }
.stat-card .sc-icon {
  width: 38px; height: 38px; margin: 0 auto 12px; border-radius: 11px;
  display: grid; place-items: center; color: #fff;
  background: linear-gradient(135deg, var(--sc1), var(--sc2));
  box-shadow: 0 10px 20px rgba(16, 36, 92, .18), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.sc-num {
  font-size: 30px; font-weight: 900; letter-spacing: -.8px; line-height: 1.15;
  background: linear-gradient(120deg, var(--sc1), var(--sc2));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.sc-num em {
  font-style: normal; font-size: 13px; font-weight: 700;
  margin-left: 4px; color: var(--muted);
  -webkit-text-fill-color: var(--muted);
}
.stat-card.sc1 { --sc1: #0f4fe0; --sc2: #4d8dff; }
.stat-card.sc2 { --sc1: #0b6f88; --sc2: #22c8e0; }
.stat-card.sc3 { --sc1: #4a3fb5; --sc2: #8b7bff; }
.stat-card.sc4 { --sc1: #b45309; --sc2: #ffb020; }

/* ---------- 站点结构指引 ---------- */
.tag-guide {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
  margin-top: 20px;
}
.tag-guide > div {
  padding: 13px 15px; border-radius: 11px;
  background: #f4f8ff; border-left: 3px solid #4d8dff;
  font-size: 12.8px; line-height: 1.68; color: var(--muted);
}
.tag-guide b { display: block; margin-bottom: 3px; font-size: 13.5px; color: var(--ink); }
.tag-guide > div:nth-child(2) { background: #f1fbfd; border-left-color: #22c8e0; }
.tag-guide > div:nth-child(3) { background: #f7f5ff; border-left-color: #8b7bff; }

/* ---------- 标签云：按用途分色 ---------- */
.tag[data-k="c"] { color: #1450d8; border-color: #d7e4ff; background: #f3f7ff; }
.tag[data-k="c"]:hover { border-color: #4d8dff; color: #0f4fe0; box-shadow: 0 8px 18px rgba(26, 107, 255, .16); }
.tag[data-k="e"] { color: #0b7f99; border-color: #cfe9ef; background: #f0fafc; }
.tag[data-k="e"]:hover { border-color: #22c8e0; color: #0b6f88; box-shadow: 0 8px 18px rgba(14, 147, 176, .16); }
.tag[data-k="r"] { color: #5b4bd6; border-color: #ded8ff; background: #f6f4ff; }
.tag[data-k="r"]:hover { border-color: #8b7bff; color: #4a3fb5; box-shadow: 0 8px 18px rgba(109, 92, 255, .16); }
.tag[data-k] b { color: inherit; opacity: .65; }

/* 当前标签保持实心渐变，压在分色之上 */
.tag.active,
.tag.active:hover {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(100deg, #1246c8, #1a6bff 55%, #4d8dff);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 10px 22px rgba(20, 80, 232, .26);
}
.tag.active b { color: rgba(255, 255, 255, .8); opacity: 1; }

@media (max-width: 900px) {
  .tag-guide { grid-template-columns: 1fr; }
}
/* ---------- 术语速查卡 ---------- */
.gloss-card h3 { margin-bottom: 8px; }
.gloss-card h3 em {
  display: block; font-style: normal; font-size: 12px; font-weight: 700;
  color: var(--muted); letter-spacing: .02em; margin-top: 4px;
}
.gloss-card .mis {
  margin-top: 12px; padding: 9px 12px; border-radius: 9px;
  background: rgba(220, 38, 38, .06); border-left: 3px solid rgba(217, 45, 32, .55);
  font-size: 12.8px; line-height: 1.62; color: #8c3a30;
}

/* ---------- 编号问答卡（Q01…） ---------- */
.q-card {
  display: grid; grid-template-columns: 40px 1fr; column-gap: 14px; row-gap: 4px;
  align-items: center; padding: 16px 20px;
}
.q-card > .q-no {
  grid-row: 1; grid-column: 1;
  width: 40px; height: 40px; border-radius: 11px;
  display: grid; place-items: center;
  font-size: 14.5px; font-weight: 900; color: #fff; letter-spacing: .01em;
  background: linear-gradient(135deg, #0f4fe0, #4d8dff);
  box-shadow: 0 8px 16px rgba(16, 36, 92, .16);
}
.q-card:nth-child(4n+2) > .q-no { background: linear-gradient(135deg, #0b6f88, #22c8e0); }
.q-card:nth-child(4n+3) > .q-no { background: linear-gradient(135deg, #4a3fb5, #8b7bff); }
.q-card:nth-child(4n+4) > .q-no { background: linear-gradient(135deg, #b45309, #ffb020); }
.q-card > b { grid-row: 1; grid-column: 2; font-size: 15px; line-height: 1.45; color: var(--ink); }
.q-card > span:not(.q-no) {
  grid-column: 1 / -1; margin-top: 2px;
  font-size: 12.8px; line-height: 1.55; color: var(--muted);
}
/* ---------- 延伸阅读卡（可点击整卡） ---------- */
.next-card { display: block; }
.next-card h3 { margin-bottom: 8px; }
.next-go {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 14px; font-size: 13.5px; font-weight: 800; color: var(--brand);
  transition: gap .18s ease, color .18s ease;
}
.next-go svg { display: block; }
.next-card:hover .next-go { gap: 10px; color: #0b3fb0; }
/* ---------- 站内搜索 ---------- */
.header-icon-link {
  display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; flex: none;
  color: var(--ink); border: 1px solid var(--line); background: #fff;
  transition: color .18s, border-color .18s, background .18s;
}
.header-icon-link:hover { color: var(--brand); border-color: rgba(15, 79, 224, .35); background: rgba(26, 107, 255, .05); }
.search-hero { padding: 64px 0 56px; }
.search-box {
  display: flex; align-items: center; gap: 12px; max-width: 640px; margin: 26px auto 0;
  padding: 6px 8px 6px 18px; border-radius: 16px; background: #fff;
  border: 1px solid rgba(255, 255, 255, .55); box-shadow: 0 18px 44px rgba(9, 22, 58, .28);
}
.search-box > i { color: var(--muted); flex: none; display: grid; }
.search-box input {
  flex: 1; min-width: 0; border: 0; outline: 0; background: transparent;
  font: inherit; font-size: 16px; color: var(--ink); padding: 12px 0;
}
.search-box input::placeholder { color: #9aa6bd; }
#s-clear {
  flex: none; width: 34px; height: 34px; border-radius: 10px; border: 0; cursor: pointer;
  font-size: 20px; line-height: 1; color: var(--muted); background: rgba(16, 36, 92, .06);
}
#s-clear:hover { color: var(--ink); }
.s-hot { justify-content: center; margin-top: 18px; }
.s-hot .tag { cursor: pointer; background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .38); color: #fff; }
.s-hot .tag:hover { background: rgba(255, 255, 255, .22); }
.s-hot-label { font-size: 13px; color: rgba(255, 255, 255, .72); align-self: center; margin-right: 4px; }
.s-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.s-stats { font-size: 13.5px; color: var(--muted); }
.s-list { display: grid; gap: 12px; }
.s-hit { grid-template-columns: 74px 1fr auto; }
.s-cat {
  align-self: start; justify-self: start; margin-top: 2px; padding: 4px 10px; border-radius: 999px;
  font-size: 12px; font-weight: 800; letter-spacing: .02em;
}
.s-cat-页面 { color: #0f4fe0; background: rgba(26, 107, 255, .09); }
.s-cat-案例 { color: #4a3fb5; background: rgba(139, 123, 255, .13); }
.s-cat-文章 { color: #0b6f88; background: rgba(34, 200, 224, .13); }
.s-url { display: inline-block; margin-top: 5px; font-size: 12px; color: #9aa6bd; font-family: ui-monospace, Consolas, monospace; }
.s-mark { background: rgba(255, 176, 32, .35); color: inherit; border-radius: 3px; padding: 0 2px; }
.s-empty { text-align: center; padding: 40px 28px; }
.s-empty h3 { margin-bottom: 8px; }
.s-empty > p { color: var(--muted); }
.s-empty .grid { text-align: left; }
@media (max-width: 680px) {
  .br-desktop { display: none; }
  .s-hit { grid-template-columns: 1fr; }
  .s-cat { justify-self: start; }
  .s-hit .arw { display: none; }
}

@media (max-width: 1240px) {
  .header-phone { display: none; }
}
/* ---------- 问答页增强：搜索、分类计数、标签、延伸阅读 ---------- */
.faq-search {
  display: flex; align-items: center; gap: 10px; max-width: 620px;
  margin: 0 auto 16px; padding: 5px 8px 5px 16px;
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  box-shadow: 0 12px 26px rgba(16, 36, 92, .05);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.faq-search:focus-within {
  border-color: rgba(26, 107, 255, .42); box-shadow: 0 14px 30px rgba(26, 107, 255, .12);
}
.faq-search > i { color: var(--muted); display: grid; flex: none; }
.faq-search input {
  flex: 1; min-width: 0; border: 0; outline: 0; background: none;
  font: inherit; font-size: 15px; color: var(--ink); padding: 11px 0;
}
.faq-search input::-webkit-search-cancel-button { display: none; }
#faq-clear {
  display: none; flex: none; width: 30px; height: 30px; border: 0; cursor: pointer;
  border-radius: 9px; font-size: 18px; line-height: 1; color: var(--muted);
  background: rgba(16, 36, 92, .06);
}
.faq-search.has-q #faq-clear { display: grid; place-items: center; }
.faq-count { flex: none; font-size: 12.5px; font-weight: 700; color: var(--muted); white-space: nowrap; }
#faq-clear:hover { color: var(--ink); }

.tab-n {
  display: inline-block; margin-left: 6px; min-width: 18px; padding: 0 5px;
  border-radius: 999px; font-size: 11px; font-weight: 800; line-height: 18px;
  text-align: center; background: rgba(16, 36, 92, .07); color: var(--muted);
}
.tab.active .tab-n { background: rgba(255, 255, 255, .26); color: #fff; }

.acc-head > span:first-child { flex: 1; min-width: 0; }
.q-cat {
  flex: none; margin-left: 14px; padding: 3px 9px; border-radius: 999px;
  font-size: 11.5px; font-weight: 800; letter-spacing: .02em; white-space: nowrap;
}
.q-cat.c1 { color: #0f4fe0; background: rgba(26, 107, 255, .09); }
.q-cat.c2 { color: #0b6f88; background: rgba(34, 200, 224, .14); }
.q-cat.c3 { color: #4a3fb5; background: rgba(139, 123, 255, .14); }
.q-cat.c4 { color: #b45309; background: rgba(255, 176, 32, .16); }
.q-cat.c5 { color: #b3261e; background: rgba(217, 45, 32, .09); }

.q-rel {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px;
  margin-top: 14px; padding-top: 11px; border-top: 1px dashed var(--line);
  font-size: 13px;
}
.q-rel-t { color: #9aa6bd; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.q-rel a { color: var(--brand); font-weight: 700; }
.q-rel a:hover { color: #0b3fb0; text-decoration: underline; }

.faq-empty { display: none; }
.faq-empty.on {
  display: block; text-align: center; padding: 34px 20px;
  background: #fff; border: 1px dashed var(--line); border-radius: var(--radius);
}
.faq-empty h3 { margin-bottom: 6px; }
.faq-empty p { color: var(--muted); font-size: 14px; margin-bottom: 16px; }
.faq-empty-act { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 680px) {
  .faq-search { max-width: none; }
  .q-cat { display: none; }
  .q-rel { font-size: 12.5px; }
}
/* ---------- 案例页基线双栏：两卡等高、内容纵向铺满 ---------- */
.case-base { align-items: stretch; }
.case-base > .card { display: flex; flex-direction: column; }
.case-base > .card > .callout { margin-top: auto; }
.case-base > .card:last-child {
  display: grid; grid-template-rows: auto repeat(4, 1fr) auto auto;
}
.case-base > .card:last-child > .bar-row { margin-bottom: 0; }
.case-base > .card:last-child > .bar-legend { margin-top: 0; align-self: end; }
.case-base .bar-row { grid-template-columns: 104px 1fr 100px; }
.case-base .bar-row .val { white-space: nowrap; }

.case-base .bar-note { margin-top: 14px; padding-top: 13px; border-top: 1px dashed var(--line); }
.case-base .bar-note h4 {
  margin-bottom: 8px; font-size: 12.5px; font-weight: 800;
  color: var(--brand); letter-spacing: .04em;
}
.case-base .bar-note ul { display: grid; gap: 5px; }
.case-base .bar-note li {
  position: relative; padding-left: 11px;
  font-size: 12.6px; line-height: 1.6; color: var(--muted);
}
.case-base .bar-note li::before {
  content: ""; position: absolute; left: 0; top: .62em;
  width: 4px; height: 4px; border-radius: 50%; background: #c3cfe4;
}
.case-base .bar-note b { margin-right: 4px; color: var(--text); font-weight: 800; }

@media (max-width: 1120px) {
  .case-base { grid-template-columns: 1fr; }
  .case-base > .card:last-child { display: block; }
  .case-base .bar-row { grid-template-columns: 120px 1fr 96px; }
}
/* ---------- 案例页客户点评：引语与评分卡等高 ---------- */
.case-voice { align-items: stretch; }
.case-voice > .score-card { display: flex; flex-direction: column; }
.case-voice > .score-card > div:not(.factbox) {
  flex: 1; display: flex; flex-direction: column; justify-content: space-around;
}
.case-voice > .score-card > .factbox { margin-top: auto; }
/* ---------- 案例页指标双栏（指标图在左）：左卡指标条均分铺满 ---------- */
.case-metrics { align-items: stretch; }
.case-metrics > .card:first-child { display: flex; flex-direction: column; }
.case-metrics > .card:first-child > .bar-row { flex: 1; margin-bottom: 0; }
.case-metrics > .card:first-child > .bar-legend { margin-top: 0; }
.case-metrics > .card:first-child > .metric-note { margin-top: 14px; }
.case-metrics > .card:first-child > .metric-hint { margin-top: auto; }
/* ---------- 问答详情页 ---------- */
.qa-wrap { max-width: 880px; }
.qa-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.qa-title { font-size: clamp(24px, 3.4vw, 32px); line-height: 1.35; margin-bottom: 8px; }
.qa-lead {
  background: #fff; border: 1px solid var(--line); border-left: 3px solid var(--brand);
  border-radius: var(--radius); padding: 20px 24px; margin: 22px 0 4px;
}
.qa-lead p { font-size: 16px; line-height: 1.85; }
.qa-sec { margin: 24px 0; }
.qa-sec h3 { font-size: 19px; margin-bottom: 10px; }
.qa-sec ul { display: grid; gap: 8px; margin: 0 0 6px; }
.qa-sec li { position: relative; padding-left: 16px; line-height: 1.75; }
.qa-sec li::before {
  content: ""; position: absolute; left: 2px; top: .66em;
  width: 5px; height: 5px; border-radius: 50%; background: var(--brand); opacity: .5;
}
.qa-nav { display: flex; gap: 14px; margin-top: 30px; }
.qa-nav a {
  flex: 1; display: block; background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius); padding: 14px 18px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.qa-nav a:hover { border-color: rgba(26, 107, 255, .45); box-shadow: 0 10px 24px rgba(16, 36, 92, .08); }
.qa-nav a span {
  display: block; margin-bottom: 4px; font-size: 12px; font-weight: 700;
  color: var(--muted); letter-spacing: .06em;
}
.qa-nav a b { display: block; font-size: 14.5px; line-height: 1.5; color: var(--text); }
.qa-nav a.next { text-align: right; }
.q-more {
  display: inline-flex; align-items: center; gap: 5px; margin-top: 14px;
  font-size: 13.5px; font-weight: 800; color: var(--brand);
}
.q-more:hover { color: #0b3fb0; text-decoration: underline; }
.next-card .q-cat { margin-bottom: 10px; }
@media (max-width: 680px) {
  .qa-nav { flex-direction: column; }
  .qa-nav a.next { text-align: left; }
}