/* ==========================================================================
   AblePMS 官网设计系统 —— 高度还原 workbuddy.cn 视觉（v2026-08-31）
   --------------------------------------------------------------------------
   设计令牌（与 workbuddy.cn 实测 DOM/CSS 对齐）：
     主色    #3D8BFF（品牌蓝）      hover #2E6FD8
     深文本  #191A23 / #1A1A1A      次要文本 #5A5A5A
     浅底    #F8F9FA（页脚）         CTA 底 #F4F4F4
     边框    #E5E5E5  hover #D0D0D0
     圆角    按钮 4px / 卡片 12px / 胶囊 999px
     字体    标题与正文 Alimama FangYuanTi VF；按钮与强调 Alimama ShuHeiTi
   ========================================================================== */

@font-face {
  font-family: 'Alimama ShuHeiTi';
  src: url('/assets/fonts/AlimamaShuHeiTi-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Alimama FangYuanTi VF';
  src: url('/assets/fonts/AlimamaFangYuanTiVF-Thin.woff2') format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
}

:root {
  --brand: #3D8BFF;
  --brand-hover: #2E6FD8;
  --brand-soft: #EAF2FF;
  --ink: #191A23;
  --ink-2: #1A1A1A;
  --text-2: #5A5A5A;
  --text-3: #000000A6;
  --text-4: #000000BF;
  --line: #E5E5E5;
  --line-2: #D0D0D0;
  --line-3: #F0F0F0;
  --bg-soft: #F4F8FF;
  --bg-cta: #F4F4F4;
  --radius-btn: 4px;
  --radius-card: 12px;
  --font-title: 'Alimama FangYuanTi VF', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
  --font-body: 'Alimama FangYuanTi VF', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
  --font-btn: 'Alimama ShuHeiTi', 'Alimama FangYuanTi VF', system-ui, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body {
  font-family: var(--font-body);
  background: #FFFFFF;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
  font-weight: 400;
  font-optical-sizing: auto;
  /* 使用可变字体的真实字重，禁止浏览器合成伪粗体（伪粗体是"粗糙感"的常见来源） */
  font-synthesis-weight: none;
  font-synthesis-style: none;
}
img { display: block; max-width: 100%; }
svg { display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { font-family: inherit; }
::selection { background: rgba(40, 184, 148, .18); }

.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.container.narrow { max-width: 980px; }
.section.alt.pt-24 { padding-top: 24px; }
.narrow { max-width: 860px; }

/* ==========================================================================
   顶部导航（fixed + 毛玻璃 + letter-roll 逐字动画）
   ========================================================================== */
.header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1100;
  background: rgba(255, 255, 255, .75);
  backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px);
  transition: background .3s ease;
}
.header.scrolled { background: rgba(255, 255, 255, .85); backdrop-filter: blur(40px); }
.header-nav { height: 80px; display: flex; align-items: center; }
.nav-content {
  margin: 0 auto; padding: 0 24px; width: 100%; max-width: 1920px;
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center; gap: 40px; position: relative; z-index: 1;
}
.nav-logo { display: flex; align-items: center; gap: 12px; cursor: pointer; justify-self: start; flex-shrink: 0; transition: transform .3s ease; }
.nav-logo:hover { transform: translateY(-1px); }
.nav-logo-img { height: 32px; width: auto; display: block; }
.nav-logo-text { font-size: 22px; font-weight: 700; color: var(--ink); font-family: var(--font-btn); letter-spacing: .5px; }

.nav-menu.desktop-menu {
  display: flex; align-items: center; justify-content: center;
  list-style: none; margin: 0; padding: 0;
  flex-wrap: nowrap; white-space: nowrap; gap: 24px; justify-self: center;
}
.nav-item { position: relative; }
.nav-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-body); font-size: 16px; font-weight: 500;
  color: var(--ink); padding: 8px 2px; cursor: pointer; border: none; background: none;
}
/* 下划线 hover */
.underline-hover::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 2px;
  height: 2px; background: var(--brand); border-radius: 2px;
  transform: scaleX(0); transform-origin: center; transition: transform .25s ease;
}
.underline-hover:hover::after, .underline-hover.active::after { transform: scaleX(1); }

/* letter-roll：逐字上翻 + 文字阴影形成的“重影” */
.letter-roll { position: relative; display: inline-block; overflow: hidden; }
.letter-roll .single-letter {
  position: relative; display: inline-block;
  transition: transform .4s cubic-bezier(.25, .46, .45, .94);
  text-shadow: 0 1.45em currentColor;
  transform: translateY(0);
}
.letter-up:hover .single-letter { transform: translateY(-1.45em); }

/* 资源下拉（mega menu） */
.resource-dropdown-container { position: relative; }
.resource-dropdown-arrow { display: inline-flex; align-items: center; transition: transform .25s ease; color: var(--text-2); }
.resource-dropdown-container:hover .resource-dropdown-arrow { transform: rotate(180deg); }
.resource-mega-menu {
  position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%);
  opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
  padding-top: 6px; z-index: 1200;
}
.resource-dropdown-container:hover .resource-mega-menu { opacity: 1; visibility: visible; }
.resource-mega-panel {
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  box-shadow: 0 16px 48px rgba(20, 30, 40, .10), 0 2px 8px rgba(20, 30, 40, .06);
  padding: 20px 24px; min-width: 320px;
}
.resource-mega-cols { display: flex; gap: 28px; }
.resource-mega-section-title {
  font-family: var(--font-body); font-size: 13px; font-weight: 700; color: var(--text-3);
  margin-bottom: 10px; letter-spacing: .04em;
}
.resource-mega-item {
  display: block; padding: 8px 10px; border-radius: 8px;
  font-family: var(--font-body); font-size: 14.5px; color: var(--ink);
  transition: background .15s ease, color .15s ease;
}
.resource-mega-item:hover { background: var(--brand-soft); color: var(--brand-hover); }

/* 导航右侧动作 */
.nav-actions { display: flex; align-items: center; gap: 20px; justify-self: end; }
.btn-download {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-btn); font-size: 15px; font-weight: 500;
  background: #1A1A1A; color: #fff; border: none; border-radius: 999px;
  padding: 10px 24px; cursor: pointer; transition: background .25s ease, transform .25s ease;
}
.btn-download:hover { background: #333; transform: translateY(-1px); }
.btn-login {
  font-family: var(--font-btn); font-size: 15px; font-weight: 500;
  background: transparent; color: #333; border: none; cursor: pointer; transition: color .2s ease;
}
.btn-login:hover { color: var(--brand-hover); }

/* 移动端菜单按钮 */
.mobile-menu-toggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.hamburger-line { display: block; width: 22px; height: 2px; background: var(--ink); margin: 4px 0; border-radius: 2px; transition: transform .25s ease; }
.mobile-menu { display: none; }

/* ==========================================================================
   Hero（品牌 slogan + 下载 + 在线使用）
   ========================================================================== */
.hero-banner { position: relative; width: 100%; background: #fff; color: var(--ink); }
.hero-container { padding: 160px 80px 80px; }
@media (max-width: 1440px) { .hero-container { padding: 140px 60px 60px; } }
@media (max-width: 1200px) { .hero-container { padding: 130px 40px 40px; } }
@media (max-width: 768px) { .hero-container { padding: 110px 24px 24px; } }
@media (max-width: 480px) { .hero-container { padding: 100px 16px 16px; } }

.hero-banner-main {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 48px; position: relative; z-index: 10; width: 100%;
}
.hero-brand { z-index: 10; display: flex; flex-direction: column; align-items: center; }
.hero-brand-logo { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.hero-brand-slogan {
  color: var(--ink); font-family: var(--font-title);
  font-size: clamp(32px, 5vw, 56px); font-weight: 700;
  line-height: clamp(36px, 7vw, 72px); text-align: center; white-space: pre-line;
  letter-spacing: 1px;
}
.hero-brand-slogan .accent { color: var(--brand); }
.hero-brand-description {
  color: var(--ink); font-family: var(--font-body);
  font-size: clamp(14px, 2.2vw, 18px); font-weight: 500;
  line-height: clamp(24px, 3.6vw, 34px);
  max-width: clamp(300px, 50vw, 720px); text-align: center; margin: 0 auto;
}
.hero-banner-button {
  display: flex; align-items: center; gap: 24px;
  position: relative; z-index: 10; flex-wrap: wrap; justify-content: center;
}
.hero-download-wrapper { position: relative; display: inline-block; }
.hero-download-btn {
  display: inline-flex; align-items: center; gap: 12px;
  height: 48px; padding: 0 24px; background: var(--brand); color: #fff;
  border: none; border-radius: var(--radius-btn); cursor: pointer;
  transition: all .3s ease; position: relative; overflow: hidden;
  font-family: var(--font-btn); font-size: 18px; font-weight: 700; letter-spacing: 1px;
}
.hero-download-btn:before {
  content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
  transition: left .5s ease;
}
.hero-download-btn:hover { background: var(--brand-hover); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(61,139,255,.35); }
.hero-download-btn:hover:before { left: 100%; }
.hero-download-btn:active { transform: translateY(0); }
.hero-download-btn .btn-ico { width: 22px; height: 22px; }
.hero-download-btn .btn-ico svg { width: 100%; height: 100%; }
.hero-online-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 184px; height: 48px; padding: 0 24px;
  background: transparent; border: 1px solid var(--brand); border-radius: var(--radius-btn);
  cursor: pointer; transition: all .3s ease;
}
.hero-online-btn:hover { background: rgba(40,184,148,.08); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(40,184,148,.15); }
.hero-online-btn span { color: var(--brand); font-family: var(--font-btn); font-size: 18px; font-weight: 700; letter-spacing: 1px; white-space: nowrap; }

/* 下载平台菜单（hero 下方小字） */
.hero-download-platforms {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 20px;
  font-family: var(--font-body); font-size: 13px; color: var(--text-2);
  margin-top: 6px;
}
.hero-download-platforms a { transition: color .2s ease; }
.hero-download-platforms a:hover { color: var(--brand-hover); }

/* ==========================================================================
   产品演示（应用壳：模拟 PMS 界面）
   ========================================================================== */
.demo-page {
  --frame-width: 1180px; --frame-height: 620px; --sidebar-width: 220px;
  color-scheme: light; width: 100%;
  display: flex; flex-direction: column; align-items: center;
  background: #fff;
  padding: 40px 0 60px;
}
/* 演示窗随视口等比收敛，避免小屏时截图过小、留白过多 */
@media (max-width: 1400px) { .demo-page { --frame-width: 1040px; --frame-height: 560px; --sidebar-width: 200px; } }
@media (max-width: 1140px) { .demo-page { --frame-width: 900px;  --frame-height: 500px; --sidebar-width: 180px; } }
/* 860px 以下：演示窗高度随截图自适应，避免固定高度造成大片留白 */
@media (max-width: 860px) {
  .demo-page { --frame-width: 100%; --sidebar-width: 64px; padding: 24px 0 40px; }
  .demo-shell { height: auto; max-height: none; }
  .demo-body { padding: 8px; min-height: 180px; }
  .demo-shot { width: 100%; height: auto; max-height: none; }
}
@media (max-width: 560px) {
  .demo-page { padding: 16px 0 32px; }
  .demo-body { padding: 6px; min-height: 120px; }
}
.demo-shell-wrapper { position: relative; width: min(var(--frame-width), 100%); }
.demo-shell {
  width: 100%; height: var(--frame-height); max-height: calc(100dvh - 120px);
  display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr); overflow: hidden;
  background: #fff; border: 1px solid rgba(204, 204, 204, .45); border-radius: 14px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .03),
              0 8px 20px -6px rgba(0, 0, 0, .05),
              0 28px 56px -16px rgba(0, 0, 0, .14);
  position: relative; z-index: 1;
}
.fake-sidebar {
  display: flex; flex-direction: column; flex-shrink: 0;
  background: #F3F3F3; border-right: 1px solid rgba(204, 204, 204, .4);
  padding: 16px 12px; overflow: hidden;
}
.window-dots { display: flex; gap: 6px; padding: 4px 6px 14px; }
.window-dots span { width: 10px; height: 10px; border-radius: 50%; }
.window-dots span:nth-child(1) { background: #FF5F57; }
.window-dots span:nth-child(2) { background: #FEBC2E; }
.window-dots span:nth-child(3) { background: #28C840; }
.brand-lockup { display: flex; align-items: center; gap: 8px; padding: 4px 6px 16px; }
.brand-lockup .brand-logo { height: 24px; width: auto; }
.brand-lockup b { font-family: var(--font-btn); font-size: 15px; color: var(--ink); }

.demo-nav-list { display: flex; flex-direction: column; gap: 4px; }
.demo-nav-item {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-body); font-size: 14px; color: #555;
  padding: 10px 12px; border-radius: 8px; cursor: default;
  transition: background .15s ease;
}
.demo-nav-item .d-ico { width: 17px; height: 17px; flex-shrink: 0; color: currentColor; }
.demo-nav-item.on { background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.06); font-weight: 600; }

.demo-main { display: flex; flex-direction: column; min-width: 0; background: #fff; }
.demo-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 20px; border-bottom: 1px solid rgba(204, 204, 204, .35); flex-shrink: 0;
}
.demo-header-title { font-family: var(--font-body); font-size: 15px; font-weight: 600; color: var(--ink); display: flex; align-items: center; gap: 8px; }
.demo-header-title .tag { font-size: 11px; font-weight: 500; color: var(--brand-hover); background: var(--brand-soft); padding: 2px 10px; border-radius: 999px; }
.demo-header-actions { display: flex; gap: 8px; }
.demo-chip {
  font-family: var(--font-body); font-size: 12.5px; color: #666;
  background: #F5F5F5; border: 1px solid #E8E8E8; border-radius: 6px; padding: 4px 12px;
}
.demo-body {
  flex: 1; min-height: 0; position: relative; overflow: hidden;
  background: #FAFBFC;
  display: flex; align-items: center; justify-content: center;
  padding: 12px;
}
.demo-shot {
  max-width: 100%; max-height: 100%; width: auto; height: auto;
  object-fit: contain; object-position: center; display: block;
  border-radius: 6px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}
.demo-shot-note {
  position: absolute; left: 16px; bottom: 14px;
  background: rgba(26, 26, 26, .72); color: #fff;
  font-family: var(--font-body); font-size: 12.5px;
  padding: 7px 14px; border-radius: 8px; backdrop-filter: blur(6px);
}

/* 演示下方场景提示 */
.demo-scenes {
  width: min(var(--frame-width), 100%);
  display: flex; justify-content: center; gap: 8px;
  margin-top: 16px; padding: 0 24px;
  flex-wrap: wrap;
}
.demo-scene-tag {
  font-family: var(--font-body); font-size: 13px; color: var(--text-2);
  border: 1px solid var(--line); border-radius: 999px; padding: 6px 16px;
  transition: all .2s ease; cursor: pointer; background: #fff; line-height: 1.5;
}
.demo-scene-tag:hover { color: var(--brand-hover); border-color: var(--brand); }
.demo-scene-tag:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.demo-scene-tag.on { color: var(--brand-hover); border-color: var(--brand); background: var(--brand-soft); font-weight: 600; }

/* ==========================================================================
   通用区块头（各 section 共用）
   ========================================================================== */
.section { padding: 80px 0; }
.section.alt { background: #fff; }
.section-head { text-align: center; max-width: 720px; margin: 0 auto 44px; }
.section-head h2, .block-title {
  font-family: var(--font-title); font-size: clamp(28px, 4vw, 44px);
  font-weight: 700; color: #000; line-height: 1.25; margin-bottom: 14px;
}
.section-head p, .block-sub {
  color: var(--text-2); font-family: var(--font-body);
  font-size: clamp(14px, 1.4vw, 16px); font-weight: 500; line-height: 1.7;
}
.eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-body); font-size: 12px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--brand-hover);
  margin-bottom: 14px;
}

/* ==========================================================================
   能力 / 功能卡（四能力大卡 + 六功能小卡，workbuddy 线框风）
   ========================================================================== */
.cap-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1024px) { .cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .cap-grid { grid-template-columns: 1fr; } }
.cap-card {
  position: relative; padding: 26px 22px; background: #fff;
  border: 1px solid var(--line); border-radius: var(--radius-card);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  display: flex; flex-direction: column;
}
.cap-card:hover { border-color: var(--line-2); box-shadow: 0 4px 16px rgba(0,0,0,.04); transform: translateY(-2px); }
.cap-card .cap-ico {
  width: 46px; height: 46px; border-radius: 10px;
  background: var(--brand-soft); color: var(--brand-hover);
  display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
}
.cap-card .cap-ico svg { width: 22px; height: 22px; }
.cap-card h3 { font-family: var(--font-title); font-size: 17px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; }
.cap-card p { font-family: var(--font-body); font-size: 13.5px; color: var(--text-2); line-height: 1.7; flex: 1; }

/* ==========================================================================
   生态 orbit（同心圆 + 旋转节点）
   ========================================================================== */
.ecosystem-section {
  position: relative; width: 100%; background: #fff;
  padding: clamp(64px, 7vw, 104px) 0; overflow: hidden;
}
.ecosystem-header { text-align: center; margin-bottom: 0; }
.ecosystem-title { margin: 0 0 16px; color: #000; font-family: var(--font-title); font-size: clamp(28px, 4vw, 50px); font-weight: 700; line-height: 1.2; }
.ecosystem-subtitle {
  margin: 0 auto; max-width: 720px; color: var(--text-2);
  font-family: var(--font-body); font-size: clamp(14px, 1.4vw, 16px); font-weight: 500; line-height: 1.6;
}
.ecosystem-orbit {
  --orbit-size: clamp(420px, 50vw, 720px);
  --orbit-radius: calc(var(--orbit-size) / 2);
  --item-distance: calc(var(--orbit-radius) * .86);
  position: relative; width: var(--orbit-size); height: var(--orbit-size); margin: 32px auto 0;
}
.orbit-ring { position: absolute; top: 50%; left: 50%; border-radius: 50%; transform: translate(-50%,-50%); pointer-events: none; z-index: 1; }
.orbit-ring.orbit-ring-inner {
  width: 52%; height: 52%;
  background: linear-gradient(#EEF9F7, #EEF9F7) padding-box,
              linear-gradient(180deg, #28b89400, #28b89414 8%, #28b8941f 12%, #28b89400) border-box;
  border: 4px solid transparent;
}
.orbit-ring-svg { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); pointer-events: none; overflow: visible; z-index: 0; }
.orbit-ring-svg.orbit-ring-outer { width: 100%; height: 100%; }
.orbit-ring-svg.orbit-ring-middle { width: 78%; height: 78%; }
.ecosystem-center {
  position: absolute; top: 50%; left: 50%;
  width: 130px; height: 130px; transform: translate(-50%,-50%);
  display: flex; align-items: center; justify-content: center; z-index: 3;
}
.ecosystem-center .eco-center-badge {
  width: 116px; height: 116px; border-radius: 50%;
  background: var(--brand); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-btn); font-size: 18px; font-weight: 700; letter-spacing: 1px;
  box-shadow: 0 12px 32px rgba(40,184,148,.28);
}
.ecosystem-items-orbit { position: absolute; inset: 0; animation: ecosystem-orbit-spin 60s linear infinite; transform-origin: 50% 50%; will-change: transform; }
.ecosystem-item { position: absolute; top: 50%; left: 50%; width: 0; height: 0; transform: translate(-50%,-50%) rotate(var(--angle)); z-index: 2; }
.ecosystem-item .ecosystem-item-inner {
  position: absolute; top: 0; left: 0;
  transform: translate(-50%,-50%) translateY(calc(var(--item-distance) * -1)) rotate(calc(var(--angle) * -1));
  animation: ecosystem-item-counter-spin 60s linear infinite;
  display: inline-flex; align-items: center; gap: 14px;
  padding: 10px 24px 10px 10px; background: #fff; border-radius: 999px;
  box-shadow: 0 8px 24px rgba(20, 30, 40, .08), 0 2px 6px rgba(20, 30, 40, .04);
  white-space: nowrap; transform-origin: center;
}
.ecosystem-item .ecosystem-item-icon {
  flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; overflow: hidden;
  color: #fff; font-family: var(--font-btn); font-size: 18px; font-weight: 700;
}
.ecosystem-item .ecosystem-item-name { color: var(--ink-2); font-family: var(--font-body); font-size: 16px; font-weight: 600; line-height: 1; }
.ecosystem-orbit:hover .ecosystem-items-orbit,
.ecosystem-orbit:hover .ecosystem-item .ecosystem-item-inner { animation-play-state: paused; }
@keyframes ecosystem-orbit-spin { 0% { transform: rotate(0); } to { transform: rotate(360deg); } }
@keyframes ecosystem-item-counter-spin {
  0% { transform: translate(-50%,-50%) translateY(calc(var(--item-distance) * -1)) rotate(calc(var(--angle) * -1)) rotate(0); }
  to { transform: translate(-50%,-50%) translateY(calc(var(--item-distance) * -1)) rotate(calc(var(--angle) * -1)) rotate(-360deg); }
}
@media (max-width: 768px) {
  .ecosystem-orbit { --orbit-size: 360px; }
  .ecosystem-item .ecosystem-item-inner { padding: 6px 14px 6px 6px; }
  .ecosystem-item .ecosystem-item-icon { width: 30px; height: 30px; font-size: 13px; }
  .ecosystem-item .ecosystem-item-name { font-size: 12px; }
  .ecosystem-center { width: 90px; height: 90px; }
  .ecosystem-center .eco-center-badge { width: 80px; height: 80px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .ecosystem-items-orbit, .ecosystem-item .ecosystem-item-inner { animation: none !important; }
}

/* ==========================================================================
   合作伙伴 marquee（无缝滚动）
   ========================================================================== */
.partners-section { width: 100%; background: #fff; padding: clamp(32px, 4vw, 48px) 0; overflow: hidden; }
.partners-grid { position: relative; }
.partners-row { display: flex; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.partners-track { display: flex; align-items: center; gap: 24px; animation: marquee 40s linear infinite; will-change: transform; }
.partners-section:hover .partners-track { animation-play-state: paused; }
@keyframes marquee { 0% { transform: translateX(0); } to { transform: translateX(-50%); } }
.partner-item {
  display: flex; align-items: center; justify-content: center;
  padding: 10px 26px; flex-shrink: 0; color: var(--ink);
  opacity: .75; transition: opacity .3s ease;
}
.partner-item:hover { opacity: 1; }
.partner-item .partner-name { font-family: var(--font-title); font-size: clamp(20px, 3vw, 30px); font-weight: 700; letter-spacing: 1px; white-space: nowrap; color: var(--ink); }
.partner-item .partner-mark { color: var(--brand); margin-right: 8px; }
.partners-hint { text-align: center; color: var(--text-2); font-family: var(--font-body); font-size: 13px; margin-bottom: 28px; }

/* ==========================================================================
   套餐定价（4 档卡，对齐 home-pricing-card）
   ========================================================================== */
.home-pricing-section { width: 100%; padding: clamp(48px, 6vw, 76px) 0; background: #fff; }
.home-pricing-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.home-pricing-header { text-align: center; margin-bottom: 40px; }
.home-pricing-title { margin: 0 0 16px; color: #000; font-family: var(--font-title); font-size: clamp(28px, 4vw, 44px); font-weight: 700; line-height: 1.2; }
.home-pricing-subtitle { margin: 0 auto; max-width: 720px; color: var(--text-2); font-family: var(--font-body); font-size: clamp(14px, 1.4vw, 16px); font-weight: 500; line-height: 1.6; }
.home-pricing-grid { display: grid; gap: 16px; align-items: stretch; }
.home-pricing-grid > .home-pricing-card { min-width: 0; }
.home-pricing-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-pricing-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-pricing-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1100px) { .home-pricing-grid.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .home-pricing-grid.cols-4, .home-pricing-grid.cols-3, .home-pricing-grid.cols-2 { grid-template-columns: 1fr; } }

.home-pricing-card {
  position: relative; display: flex; flex-direction: column;
  font-family: var(--font-body);
  padding: 24px 20px; background: #fff;
  border: 1px solid var(--line); border-radius: var(--radius-card);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.home-pricing-card:hover { border-color: var(--line-2); box-shadow: 0 4px 16px rgba(0,0,0,.04); }
.home-pricing-card.is-popular { border-color: var(--brand); }
.home-pricing-card.is-popular .home-pricing-card__btn { background: var(--brand); border-color: var(--brand); }
.home-pricing-card.is-popular .home-pricing-card__btn:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.home-pricing-card__tag {
  margin-bottom: 12px; color: var(--text-3);
  font-size: 13px; font-weight: 700; line-height: 20px;
}
/* 四档标签配色（低饱和，沿用 workbuddy 观感） */
.home-pricing-card.is-free .home-pricing-card__tag { color: var(--brand-hover); }
.home-pricing-card.is-standard .home-pricing-card__tag { color: var(--ink-2); }
.home-pricing-card.is-advanced .home-pricing-card__tag { color: var(--brand-hover); }
.home-pricing-card.is-flagship .home-pricing-card__tag { color: var(--brand-hover); }
.home-pricing-card.is-flagship { background: linear-gradient(180deg, var(--brand-soft) 0%, #fff 42%); }
.home-pricing-card__price {
  display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap;
  margin-bottom: 12px; color: var(--ink-2);
}
.price-value { font-family: var(--font-title); font-size: 28px; font-weight: 700; line-height: 1.2; }
.price-unit { font-family: var(--font-title); font-size: 15px; font-weight: 600; color: var(--ink-2); }
.price-min-purchase {
  margin-left: 6px; font-family: var(--font-body); font-size: 12px; color: var(--text-2);
  text-decoration: line-through; opacity: .7;
}
.home-pricing-card__desc { margin-bottom: 16px; color: var(--text-3); font-size: 13px; font-weight: 700; line-height: 20px; min-height: 40px; }
.home-pricing-card__btn {
  width: 100%; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--ink-2); color: #fff;
  border: 1px solid var(--ink-2); border-radius: var(--radius-btn);
  font-family: var(--font-btn); font-size: 14px; font-weight: 500;
  cursor: pointer; transition: background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
.home-pricing-card__btn:hover { background: var(--brand); border-color: var(--brand); transform: translateY(-2px); }
.home-pricing-card__features {
  list-style: none; margin: 24px 0 0; padding: 24px 0 0;
  border-top: 1px solid var(--line-3);
  display: flex; flex-direction: column; gap: 12px;
  color: var(--text-4); font-size: 13px; line-height: 20px;
}
.home-pricing-card__features li { display: flex; align-items: center; gap: 8px; }
.home-pricing-card__features li svg { flex-shrink: 0; }
.home-pricing-card__features li.has-info { position: relative; }
.home-pricing-card__features li.has-info span { flex: 0 0 auto; }
.home-pricing-card__feature-info { display: inline-flex; align-items: center; margin-left: 2px; color: var(--text-2); cursor: help; position: relative; }
.home-pricing-card__feature-info:hover::after {
  content: attr(data-tooltip);
  position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%);
  background: var(--ink-2); color: #fff; font-size: 12px; line-height: 1.5;
  padding: 8px 12px; border-radius: 8px; width: 220px; z-index: 20;
  white-space: normal; text-align: left; box-shadow: 0 8px 24px rgba(0,0,0,.16);
}
.home-pricing-card__feature-info:hover::before {
  content: ''; position: absolute; bottom: calc(100% + 2px); left: 50%; transform: translateX(-50%);
  border: 6px solid transparent; border-top-color: var(--ink-2); z-index: 21;
}

/* ---- 价格卡：价格下方小字（无删除线，用于「一次性付费，永久使用」等说明）---- */
.price-period {
  margin: -6px 0 12px; font-family: var(--font-body);
  font-size: 12.5px; font-weight: 500; color: var(--brand-hover);
}

/* ==========================================================================
   首页「免费 35 天」说明条（价格卡上方，强调试用口径）
   ========================================================================== */
.trial-band {
  display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
  margin: 0 0 28px; padding: 16px 20px;
  background: var(--brand-soft); border: 1px solid #D6E6FF; border-radius: var(--radius-card);
}
.trial-band__badge {
  display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0;
  height: 32px; padding: 0 14px; border-radius: 999px;
  background: var(--brand); color: #fff;
  font-family: var(--font-btn); font-size: 14px; font-weight: 700;
}
.trial-band__list {
  list-style: none; display: flex; align-items: center; gap: 8px 28px; flex-wrap: wrap;
  color: var(--text-4); font-size: 13.5px; line-height: 20px;
}
.trial-band__list li { display: flex; align-items: center; gap: 8px; }
.trial-band__list li svg { flex-shrink: 0; color: var(--brand-hover); }
@media (max-width: 640px) {
  .trial-band { gap: 12px; padding: 14px 16px; }
  .trial-band__list { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ==========================================================================
   首页「移动端小程序」入口（左说明 + 右二维码；未上线时二维码位占位）
   ========================================================================== */
.mp-section { width: 100%; padding: clamp(48px, 6vw, 80px) 0; background: var(--bg-soft); }
.mp-grid {
  display: grid; grid-template-columns: 1.35fr .65fr; gap: 32px; align-items: center;
  max-width: 1200px; margin: 0 auto; padding: 0 24px;
}
.mp-badge {
  display: inline-block; margin-bottom: 14px; padding: 4px 12px; border-radius: 999px;
  background: #FFF4D6; color: #B26A00;
  font-family: var(--font-btn); font-size: 12.5px; font-weight: 700;
}
.mp-intro h2 { font-family: var(--font-title); font-size: clamp(24px, 3.2vw, 36px); font-weight: 700; line-height: 1.25; margin-bottom: 10px; }
.mp-sub { color: var(--text-2); font-size: clamp(14px, 1.5vw, 16px); margin-bottom: 16px; }
.mp-desc { color: var(--text-4); font-size: 14px; line-height: 1.75; margin-bottom: 20px; max-width: 640px; }
.mp-lights { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.mp-lights li { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.mp-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; box-shadow: 0 0 0 3px rgba(0,0,0,.04); }
.mp-lights b { font-family: var(--font-btn); font-weight: 700; color: var(--ink); }
.mp-lights i { font-style: normal; color: var(--text-2); }
.mp-points { list-style: none; display: flex; flex-direction: column; gap: 8px; color: var(--text-4); font-size: 13.5px; }
.mp-points li { display: flex; align-items: center; gap: 8px; }
.mp-points li svg { flex-shrink: 0; color: var(--brand-hover); }
.mp-qr-card {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  padding: 28px 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
}
.mp-qr-card img { width: 180px; height: 180px; object-fit: contain; }
.mp-qr-empty {
  width: 180px; height: 180px; border: 2px dashed var(--line-2); border-radius: 12px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  color: var(--text-2); background: #FCFCFD;
}
.mp-qr-icon { color: var(--line-2); }
.mp-qr-empty b { font-family: var(--font-btn); font-size: 15px; color: var(--ink); }
.mp-qr-empty span:last-child { font-size: 12.5px; }
.mp-qr-hint { font-size: 12.5px; color: var(--text-2); text-align: center; line-height: 1.6; }
@media (max-width: 900px) {
  .mp-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   关于页「9527」品牌故事（大号数字水印 + 竖排叙事 + 收尾引句）
   ========================================================================== */
.story-9527 { background: #fff; }
.story-card {
  position: relative; overflow: hidden;
  padding: clamp(32px, 4vw, 52px) clamp(24px, 4vw, 56px);
  background: linear-gradient(180deg, var(--brand-soft) 0%, #fff 55%);
  border: 1px solid #D6E6FF; border-radius: var(--radius-card);
}
.story-num {
  position: absolute; top: -18px; right: 12px;
  font-family: var(--font-btn); font-size: clamp(96px, 14vw, 168px); font-weight: 700;
  line-height: 1; color: var(--brand); opacity: .10; letter-spacing: .02em;
  pointer-events: none; user-select: none;
}
.story-card .eyebrow { display: block; margin-bottom: 10px; }
.story-card h2 {
  font-family: var(--font-title); font-size: clamp(22px, 3vw, 32px); font-weight: 700;
  margin-bottom: 18px; color: var(--ink);
}
.story-card p {
  position: relative; color: var(--text-4); font-size: 15px; line-height: 1.9;
  margin-bottom: 14px; max-width: 720px;
}
.story-quote {
  position: relative; margin: 22px 0 10px; padding: 14px 0 14px 18px;
  border-left: 3px solid var(--brand);
  font-family: var(--font-btn); font-size: clamp(16px, 2vw, 20px); font-weight: 700;
  color: var(--brand-hover); line-height: 1.6;
}
.story-foot {
  margin: 10px 0 0 !important; font-size: 12.5px !important; color: var(--text-2) !important;
  letter-spacing: .04em;
}

/* ==========================================================================
   CTA 尾段（灰底 + 大标题 + 下载）
   ========================================================================== */
.cta-section { background: var(--bg-cta); color: #000; padding: clamp(64px, 7vw, 96px) 0; overflow: hidden; }
.cta-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; text-align: center; }
.cta-headline {
  font-family: var(--font-title); font-size: clamp(24px, 4vw, 44px);
  font-weight: 700; line-height: 1.3; margin-bottom: 16px; color: #000;
}
.cta-desc { color: var(--text-2); font-family: var(--font-body); font-size: clamp(14px, 1.5vw, 17px); margin-bottom: 32px; max-width: 640px; margin-left: auto; margin-right: auto; }
.cta-actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin-bottom: 32px; }
.cta-platforms { display: flex; justify-content: center; gap: 8px 24px; flex-wrap: wrap; font-family: var(--font-body); font-size: 13.5px; color: var(--text-2); }
.cta-platforms a { transition: color .2s ease; }
.cta-platforms a:hover { color: var(--brand-hover); }
.cta-contacts { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin-top: 40px; }
.cta-contact {
  display: flex; align-items: center; gap: 10px;
  background: #fff; border: 1px solid var(--line); border-radius: 10px;
  padding: 14px 22px; transition: border-color .2s ease, box-shadow .2s ease;
}
.cta-contact:hover { border-color: var(--brand); box-shadow: 0 4px 16px rgba(0,0,0,.06); }
.cta-contact .cc-icon { width: 30px; height: 30px; border-radius: 8px; background: var(--brand-soft); color: var(--brand-hover); display: flex; align-items: center; justify-content: center; }
.cta-contact span { font-family: var(--font-body); font-size: 13px; color: var(--text-2); }
.cta-contact b { font-family: var(--font-title); font-size: 16px; color: var(--ink-2); }

/* ==========================================================================
   页脚（浅灰底 + 4 列卡片 + 底部备案）
   ========================================================================== */
.footer { background: var(--bg-soft); color: #333; padding: 60px 0 24px; margin-top: 0; position: relative; z-index: 999; overflow: hidden; }
.footer .footer-header { display: flex; justify-content: center; align-items: center; margin-bottom: 32px; }
.footer .footer-logo { display: flex; align-items: center; gap: 12px; }
.footer .footer-logo .logo-icon { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; }
.footer .footer-logo .logo-icon img { width: 100%; height: 100%; border-radius: 8px; }
.footer .footer-logo .logo-text { font-size: 22px; font-weight: 700; color: var(--ink); letter-spacing: .5px; font-family: var(--font-btn); }
.footer-content { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding: 30px 0; border-radius: 8px; }
@media (max-width: 900px) { .footer-content { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .footer-content { grid-template-columns: 1fr; } }
.footer-column {
  border-radius: 8px; border: none; background: #F5F5F5;
  display: flex; padding: 24px 28px; flex-direction: column; align-items: flex-start; gap: 16px; flex-shrink: 0;
}
.footer-column .column-title {
  width: 100%; padding-bottom: 12px; border-bottom: 1px solid #E0E0E0;
  color: var(--ink-2); font-family: var(--font-body); font-size: 14px; font-weight: 700;
  line-height: 22px; display: flex; align-items: center; gap: 8px; margin: 0;
}
.footer-column .column-title .title-indicator { width: 6px; height: 6px; background: var(--ink-2); flex-shrink: 0; border-radius: 0; }
.footer-column .column-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.footer-column .column-links li a {
  text-decoration: none; transition: color .2s ease;
  color: #666; font-family: var(--font-body); font-size: 14px; font-weight: 400; line-height: 24px;
  display: inline-block;
}
.footer-column .column-links li a:hover { color: var(--brand-hover); }
.footer-column .column-links .f-contact-line { font-family: var(--font-body); font-size: 14px; color: #666; line-height: 24px; }
.footer-column .column-links .f-contact-line a { color: var(--ink-2); font-weight: 600; }
.footer .footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 16px; padding-top: 24px; border-top: 1px solid var(--line);
}
.footer .footer-bottom .copyright, .footer .footer-bottom .company-address { color: #A0AEC0; font-size: 13px; }
.footer .footer-bottom .filing-info { color: #A0AEC0; font-size: 13px; text-align: right; display: flex; flex-direction: column; gap: 4px; }
.footer .footer-bottom .filing-info a { color: inherit; text-decoration: none; }
.footer .footer-bottom .filing-info a:hover { text-decoration: underline; }

/* ==========================================================================
   子页面通用（page-head / 内容区）
   ========================================================================== */
.page-head { padding: 130px 0 56px; text-align: center; }
.page-head h1 { font-family: var(--font-title); font-size: clamp(28px, 4vw, 44px); font-weight: 700; color: #000; letter-spacing: .5px; margin-bottom: 14px; }
.page-head p { font-family: var(--font-body); font-size: clamp(14px, 1.6vw, 17px); color: var(--text-2); max-width: 640px; margin: 0 auto; line-height: 1.7; }

/* 通用按钮（子页面） */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-btn); font-size: 15px; font-weight: 500;
  padding: 12px 28px; border-radius: var(--radius-btn); cursor: pointer;
  border: 1px solid transparent; transition: all .25s ease; text-decoration: none;
}
.btn-primary { background: var(--brand); color: #fff; border-color: var(--brand); }
.btn-primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(61,139,255,.3); }
.btn-ghost { background: transparent; color: var(--ink-2); border-color: var(--line-2); }
.btn-ghost:hover { border-color: var(--brand); color: var(--brand-hover); background: var(--brand-soft); }
.btn-dark { background: var(--ink-2); color: #fff; border-color: var(--ink-2); }
.btn-dark:hover { background: #333; border-color: #333; transform: translateY(-2px); }
.btn-block { width: 100%; }
.btn-lg { padding: 14px 36px; }
.section.pt-0 { padding-top: 0; }
.mt-28 { margin-top: 28px; }
.mt-22 { margin-top: 22px; }
.mb-18 { margin-bottom: 18px; }

/* ==========================================================================
   功能 Tab（features 页）
   ========================================================================== */
.gallery-tabs, .feat-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.gallery-tabs button, .feat-tab {
  font-family: var(--font-body); font-size: 14px; font-weight: 500; cursor: pointer;
  padding: 9px 20px; border-radius: 999px; border: 1px solid var(--line-2);
  background: #fff; color: var(--ink); transition: all .2s ease;
  display: inline-flex; align-items: center; gap: 7px;
}
.gallery-tabs button:hover, .feat-tab:hover { border-color: var(--brand); color: var(--brand-hover); }
.gallery-tabs button.on, .feat-tab.on { background: var(--ink-2); border-color: var(--ink-2); color: #fff; }

/* 功能六宫格（features 页） */
.mac-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .mac-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .mac-grid { grid-template-columns: 1fr; } }
.mac-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
  padding: 26px 22px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.mac-card:hover { border-color: var(--line-2); box-shadow: 0 4px 16px rgba(0,0,0,.04); transform: translateY(-2px); }
.mac-icon { width: 46px; height: 46px; border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; background: var(--brand-soft); color: var(--brand-hover); }
.mac-card h3 { font-family: var(--font-title); font-size: 16px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; }
.mac-card p { font-size: 13.5px; color: var(--text-2); line-height: 1.7; }

/* about.php 干净布局 */
.about-card { margin-bottom: 24px; }
.about-card p { font-size: 15.5px; color: var(--ink); line-height: 1.8; margin-bottom: 14px; }
.about-card p:last-child { margin-bottom: 0; }
.about-grid { display: grid; gap: 16px; }
.mac-card.horizontal { display: flex; align-items: flex-start; gap: 16px; }
.mac-card.horizontal .mac-icon { margin-bottom: 0; flex-shrink: 0; }
.mac-card.horizontal .mac-body h3 { margin-bottom: 4px; }
.section-head.left { text-align: left; margin: 36px 0 22px; }
.section-head.left h2 { font-size: 24px; }
.qr-card.contact-lead { text-align: left; }
.contact-lead .lead-row { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
.contact-lead .lead-row .ci-icon { width: 48px; height: 48px; border-radius: 14px; background: var(--brand-soft); color: var(--brand-hover); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contact-lead h2 { margin-bottom: 2px; }
.contact-lead .sub { margin-bottom: 0; }
.cta-band.compact { padding: 56px 0; }

/* 能力 Tab 面板 */
.feat-tabs-wrap { max-width: 1000px; margin: 0 auto; }
.feat-tab-panel { display: none; }
.feat-tab-panel.on { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.feat-tab-body h3 { font-family: var(--font-title); font-size: 24px; font-weight: 700; color: var(--ink-2); margin: 14px 0 12px; }
.feat-tab-desc { color: var(--text-2); font-size: 15px; margin-bottom: 18px; line-height: 1.7; }
.feat-tab-points li { display: flex; align-items: flex-start; gap: 9px; font-size: 14.5px; padding: 5px 0; color: var(--ink); }
.feat-tab-points svg { flex-shrink: 0; margin-top: 3px; color: var(--brand); }
.feat-tab-media img { border: 1px solid var(--line); border-radius: var(--radius-card); width: 100%; }
@media (max-width: 860px) {
  .feat-tab-panel.on { grid-template-columns: 1fr; }
  .feat-tab-media { order: -1; }
}

/* 客户案例 / 展示网格 */
.showcase-grid, .case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 900px) { .showcase-grid, .case-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .showcase-grid, .case-grid { grid-template-columns: 1fr; } }
.showcase-card, .case-card {
  display: block; text-align: center; min-width: 0;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
  padding: 10px 10px 14px; transition: border-color .2s ease, transform .2s ease;
}
.showcase-card:hover, .case-card:hover { border-color: var(--line-2); transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,.04); }
.showcase-card img, .case-media img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: 8px; border: 1px solid var(--line); background: var(--bg-soft); }
.showcase-card b { display: block; font-size: 15px; color: var(--ink-2); margin-top: 10px; font-family: var(--font-title); font-weight: 700; }
.case-fallback { width: 64px; height: 64px; border-radius: 16px; background: var(--brand); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; }
.case-name { padding: 16px 18px 4px; font-size: 16px; font-weight: 700; color: var(--ink-2); text-align: center; font-family: var(--font-title); }
.case-desc { padding: 0 18px 18px; font-size: 13.5px; color: var(--text-2); text-align: center; line-height: 1.6; }

/* 下载页 */
.dl-card, .qr-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 32px; }
.dl-top { display: flex; align-items: flex-start; gap: 20px; flex-wrap: wrap; }
.dl-top-body { flex: 1; min-width: 260px; }
.dl-icon { width: 52px; height: 52px; border-radius: 12px; background: var(--brand-soft); color: var(--brand-hover); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dl-card h2 { font-size: 22px; font-weight: 700; color: var(--ink-2); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-family: var(--font-title); }
.ver-badge { font-size: 12.5px; font-weight: 600; padding: 4px 12px; border-radius: 999px; background: var(--brand-soft); color: var(--brand-hover); border: 1px solid #C9EEE4; font-family: var(--font-body); }
.dl-card .sub { color: var(--text-2); font-size: 14px; margin: 8px 0 18px; }
.dl-list { margin-bottom: 24px; }
.dl-list li { display: flex; align-items: center; gap: 9px; font-size: 14px; padding: 5px 0; }
.dl-list svg { color: var(--brand); flex-shrink: 0; }
.dl-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.dl-date { font-size: 13px; color: var(--text-2); }
.dl-notes { margin-top: 28px; border-top: 1px solid var(--line-3); padding-top: 22px; }
.dl-notes h3 { font-size: 15px; font-weight: 700; color: var(--ink-2); margin-bottom: 10px; font-family: var(--font-title); }
.dl-notes p { font-size: 14px; color: var(--text-2); white-space: pre-line; line-height: 1.7; }
.sha-box { margin-top: 20px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 8px; padding: 14px 18px; font-size: 12px; color: var(--text-2); }
.sha-box b { color: var(--ink); font-size: 12.5px; }
.sha-box code { display: block; margin-top: 6px; word-break: break-all; font-family: Consolas, monospace; }
.warn-box { display: flex; align-items: center; gap: 8px; margin-top: 16px; background: #FFF8E6; border: 1px solid #F0DFA8; color: #9A6B00; font-size: 14px; padding: 12px 16px; border-radius: 8px; }
.dl-wide { max-width: 1100px; }
.dl-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
@media (max-width: 960px) { .dl-grid { grid-template-columns: 1fr; } }
.dl-side { padding: 24px; }
.dl-side h2 { font-size: 18px; }
.dl-side .sub { font-size: 13px; margin-bottom: 16px; }
.dl-side img { width: 200px; height: 200px; margin: 0 auto; }
.qr-card { text-align: center; }
.qr-card h2 { font-size: 20px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; font-family: var(--font-title); }
.qr-card .sub { color: var(--text-2); font-size: 14px; margin-bottom: 24px; }
.qr-card img { width: 200px; height: 200px; object-fit: contain; border: 1px solid var(--line); border-radius: 10px; margin: 0 auto; background: var(--bg-soft); }
.qr-card .qr-hint { font-size: 12.5px; color: var(--text-2); margin-top: 14px; }
.qr-empty { color: var(--text-2); font-size: 14px; background: var(--bg-soft); border: 1px dashed var(--line-2); border-radius: 10px; padding: 32px; }
.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 24px; }
@media (max-width: 560px) { .contact-grid { grid-template-columns: 1fr; } }
.contact-item { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: 14px; color: var(--ink); transition: border-color .15s, background .15s; }
.contact-item:hover { border-color: var(--brand); background: var(--brand-soft); }
.contact-item .ci-icon { width: 32px; height: 32px; border-radius: 8px; background: var(--brand-soft); color: var(--brand-hover); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contact-item b { color: var(--ink-2); }

/* 历史版本 / 更新日志 */
.ver-item { display: flex; align-items: flex-start; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--line-3); }
.ver-item:last-child { border-bottom: none; }
.ver-item .v-badge { flex-shrink: 0; font-size: 13px; font-weight: 600; padding: 5px 14px; border-radius: 999px; background: var(--brand-soft); color: var(--brand-hover); font-family: var(--font-body); }
.ver-item .v-body { flex: 1; min-width: 0; }
.ver-item .v-meta { display: flex; gap: 12px; font-size: 12.5px; color: var(--text-2); margin-bottom: 6px; }
.ver-item .v-notes { font-size: 14px; color: var(--ink); white-space: pre-line; }
.ver-item .v-dl { flex-shrink: 0; font-size: 14px; font-weight: 600; color: var(--brand-hover); padding: 6px 14px; border-radius: 6px; background: var(--brand-soft); transition: background .15s; }
.ver-item .v-dl:hover { background: #DCF3EC; }
@media (max-width: 640px) { .ver-item { flex-wrap: wrap; } .ver-item .v-dl { width: 100%; text-align: center; } }

.tl { position: relative; max-width: 720px; margin: 0 auto; padding-left: 28px; }
.tl::before { content: ''; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: var(--line-2); border-radius: 2px; }
.tl-item { position: relative; padding-bottom: 40px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-item::before { content: ''; position: absolute; left: -28px; top: 7px; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 4px solid var(--brand); }
.tl-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.tl-head b { font-size: 18px; font-weight: 700; color: var(--ink-2); font-family: var(--font-title); }
.tl-date { font-size: 13px; color: var(--text-2); }
.tl-head .v-badge { padding: 5px 16px; }
.v-badge.current { background: var(--brand-soft); color: var(--brand-hover); border: 1px solid var(--brand); }
.tl-notes { font-size: 14.5px; color: var(--ink); white-space: pre-line; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 18px 22px; }
/* 下载页：更新日志时间线撑满卡片宽度，并给版本下载按钮补样式（原样式仅覆盖 .ver-item） */
.dl-card .tl { max-width: 100%; margin: 0; }
.tl-item .v-dl {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 10px;
  font-size: 14px; font-weight: 600; color: var(--brand-hover);
  padding: 6px 14px; border-radius: 6px; background: var(--brand-soft); transition: background .15s;
}
.tl-item .v-dl:hover { background: #DCE9FF; }

/* 功能页分组 */
.feat-group { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding: 48px 0; border-bottom: 1px solid var(--line-3); }
.feat-group:last-child { border-bottom: none; }
.feat-group.flip .feat-media { order: 2; }
@media (max-width: 860px) {
  .feat-group { grid-template-columns: 1fr; }
  .feat-group.flip .feat-media { order: 0; }
}
.feat-tag { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; padding: 5px 14px; border-radius: 999px; margin-bottom: 16px; background: var(--brand-soft); color: var(--brand-hover); font-family: var(--font-body); }
.feat-group h3 { font-size: 24px; font-weight: 700; color: var(--ink-2); margin-bottom: 12px; font-family: var(--font-title); }
.feat-group .feat-desc { color: var(--text-2); font-size: 15px; margin-bottom: 18px; line-height: 1.7; }
.feat-points li { display: flex; align-items: flex-start; gap: 9px; font-size: 14.5px; padding: 4.5px 0; }
.feat-points svg { flex-shrink: 0; margin-top: 3px; color: var(--brand); }
.feat-media img { border: 1px solid var(--line); border-radius: var(--radius-card); width: 100%; }

/* 关于页 */
.about-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 760px) { .about-grid { grid-template-columns: 1fr; } }
.about-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 26px; }
.about-card h3 { font-size: 16px; font-weight: 700; color: var(--ink-2); margin-bottom: 10px; display: flex; align-items: center; gap: 10px; font-family: var(--font-title); }
.about-card p { font-size: 14px; color: var(--text-2); line-height: 1.7; }

/* 下载统计面板 */
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.stat-box { background: var(--brand-soft); border: 1px solid #C9EEE4; border-radius: 10px; padding: 20px 16px; text-align: center; }
.stat-box b { display: block; font-size: 28px; font-weight: 700; color: var(--brand-hover); line-height: 1.1; font-family: var(--font-title); }
.stat-box span { font-size: 13px; color: var(--text-2); }
.stats-cols { display: flex; gap: 28px; flex-wrap: wrap; }
.stats-cols > div:first-child { flex: 1; min-width: 200px; }
.stats-cols > div:last-child { flex: 1.6; min-width: 260px; }
.stats-cols h3 { font-size: 14px; margin-bottom: 10px; color: var(--ink); }
.stats-tbl { width: 100%; border-collapse: collapse; font-size: 14px; }
.stats-tbl td { padding: 9px 4px; border-bottom: 1px solid var(--line-3); }
.stats-tbl td:last-child { text-align: right; font-weight: 600; color: var(--ink-2); }

/* 分页 */
.pager { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 44px; }
.pg-btn, .pg-num { display: inline-flex; align-items: center; gap: 5px; min-height: 40px; padding: 0 14px; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; border: 1px solid var(--line); background: #fff; color: var(--ink); transition: all .18s ease; font-family: var(--font-body); }
.pg-btn:hover, .pg-num:hover { border-color: var(--brand); color: var(--brand-hover); }
.pg-num.active { background: var(--ink-2); border-color: var(--ink-2); color: #fff; }
.pg-btn.disabled { opacity: .4; pointer-events: none; }
.pager-info { text-align: center; font-size: 13px; color: var(--text-2); margin-top: 14px; }
.empty-card { max-width: 420px; margin: 30px auto; padding: 46px 24px; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); color: var(--text-2); }
.empty-card svg { color: var(--brand); margin-bottom: 12px; }

/* 步骤卡（about 等页） */
.step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 760px) { .step-grid { grid-template-columns: 1fr; } }
.step-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 26px 22px; }
.step-num { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; margin-bottom: 14px; background: var(--brand-soft); color: var(--brand-hover); font-family: var(--font-title); }
.step-card h3 { font-size: 16px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; font-family: var(--font-title); }
.step-card p { font-size: 14px; color: var(--text-2); line-height: 1.7; }

/* 截图预览（首页 demo 下方的横条） */
.gallery-shot { border: 1px solid var(--line); border-radius: var(--radius-card); overflow: hidden; background: #fff; }
.gallery-shot img { width: 100%; display: block; }
.gallery-desc { text-align: center; color: var(--text-2); font-size: 14px; margin-top: 16px; }

/* 数值条（旧 stats band 兼容） */
.stat-band { background: var(--ink-2); border-radius: 12px; padding: 48px 32px; }
.stat-band .stat-note { text-align: center; color: #B7B0C2; font-size: 15px; margin-bottom: 32px; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.stat-grid b { display: block; font-size: 38px; font-weight: 700; line-height: 1.2; color: var(--brand); font-family: var(--font-title); }
.stat-grid span { font-size: 13px; color: #B7B0C2; }
@media (max-width: 720px) { .stat-grid { grid-template-columns: repeat(2, 1fr); } }

/* ==========================================================================
   兼容段：旧页面残留类（features.php 的 gt-* 彩色 tag 统一收敛为品牌绿；
   cta-band 与 CTA 区对齐）
   ========================================================================== */
.gt-taro .feat-tag, .gt-sky .feat-tag, .gt-lemon .feat-tag,
.gt-mint .feat-tag, .gt-pink .feat-tag, .gt-peach .feat-tag {
  background: var(--brand-soft); color: var(--brand-hover);
}
.gt-taro svg, .gt-sky svg, .gt-lemon svg, .gt-mint svg, .gt-pink svg, .gt-peach svg { color: var(--brand-hover); }
.cta-band { background: var(--bg-cta); text-align: center; padding: 80px 0; }
.cta-band h2 { font-family: var(--font-title); font-size: clamp(26px, 4vw, 40px); font-weight: 700; color: #000; margin-bottom: 12px; }
.cta-band p { color: var(--text-2); margin-bottom: 30px; font-size: 16px; }

/* ==========================================================================
   响应式：导航与移动端
   ========================================================================== */
@media (max-width: 1080px) {
  .nav-content { grid-template-columns: 1fr auto; gap: 16px; padding: 0 20px; }
  .nav-menu.desktop-menu { display: none; }
  .nav-actions { display: none; }
  .mobile-menu-toggle { display: block; justify-self: end; }
  .mobile-menu {
    display: none; position: fixed; inset: 0; z-index: 1300;
    background: #fff; flex-direction: column; padding: 20px 24px; overflow-y: auto;
  }
  .mobile-menu.open { display: flex; }
  .mobile-menu-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
  .mobile-logo img { height: 30px; }
  .mobile-menu-close { background: none; border: none; font-size: 28px; color: var(--ink); cursor: pointer; line-height: 1; }
  .mobile-nav-menu { list-style: none; }
  .mobile-nav-item { border-bottom: 1px solid var(--line-3); }
  .mobile-nav-link { display: flex; justify-content: space-between; align-items: center; padding: 16px 4px; font-family: var(--font-body); font-size: 16px; color: var(--ink); }
  .mobile-nav-link.active { color: var(--brand-hover); font-weight: 600; }
  .mobile-sub-arrow { transition: transform .2s ease; }
  .mobile-sub-menu { display: none; padding: 0 0 12px 12px; }
  .mobile-nav-item--submenu.open .mobile-sub-arrow { transform: rotate(180deg); }
  .mobile-nav-item--submenu.open .mobile-sub-menu { display: block; }
  .mobile-sub-item { padding: 10px 4px; }
  .mobile-sub-item a { font-family: var(--font-body); font-size: 14.5px; color: var(--text-2); }
  .mobile-actions { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }
  .mobile-actions .btn { width: 100%; }
}

/* 演示窗侧边栏在 860px 以下折叠为图标模式（与 .demo-page 的 860px 断点保持一致） */
@media (max-width: 860px) {
  .demo-nav-item .d-label { display: none; }
  .demo-nav-item { justify-content: center; padding: 10px; }
  .brand-lockup b { display: none; }
  .brand-lockup { justify-content: center; }
}

/* ==========================================================================
   兼容段 2：子页面残留类（历史版本彩色徽章、空态、说明卡）
   统一收敛为品牌绿，保持 workbuddy 低饱和观感
   ========================================================================== */
.vb-0, .vb-1, .vb-2, .vb-3, .vb-4, .vb-5 {
  background: var(--brand-soft);
  color: var(--brand-hover);
  border: 1px solid rgba(40, 184, 148, .22);
}
.v-badge.vb-0, .v-badge.vb-1, .v-badge.vb-2,
.v-badge.vb-3, .v-badge.vb-4, .v-badge.vb-5 { border: 0; }

.c-taro, .c-sky, .c-lemon, .c-mint, .c-pink, .c-peach { color: var(--brand-hover); }
.c-taro .mac-icon, .c-sky .mac-icon, .c-lemon .mac-icon,
.c-mint .mac-icon, .c-pink .mac-icon, .c-peach .mac-icon {
  background: var(--brand-soft);
  color: var(--brand-hover);
}

.showcase-empty,
.empty-card {
  background: #fff;
  border: 1px dashed var(--line);
  border-radius: var(--radius-card);
  padding: 48px 24px;
  text-align: center;
  color: var(--text-2);
  font-size: 15px;
}

.note-card {
  background: var(--bg-cta);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  padding: 22px 24px;
  font-size: 15px;
  line-height: 1.85;
  color: var(--text-2);
}
.note-card h3,
.note-card strong {
  font-family: var(--font-title);
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
}
.note-card ol,
.note-card ul { margin: 10px 0 0 20px; }
.note-card li { margin-bottom: 6px; }
.note-card code {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 13.5px;
  color: var(--brand-hover);
}
.resource-trigger { cursor: default; }
.mobile-nav-link--parent { cursor: pointer; }

/* ==========================================================================
   首页新增：核心能力（功能亮点 4 卡）
   ========================================================================== */
.core-features-section { background: #fff; padding: clamp(56px, 6vw, 88px) 0; }
.core-header { text-align: center; max-width: 760px; margin: 0 auto 44px; }
.core-title { font-family: var(--font-title); font-size: clamp(24px, 3.4vw, 36px); font-weight: 700; color: var(--ink-2); margin-bottom: 14px; }
.core-subtitle { font-family: var(--font-body); font-size: clamp(14px, 1.6vw, 16px); color: var(--text-2); line-height: 1.7; }
.core-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (max-width: 1080px) { .core-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .core-grid { grid-template-columns: 1fr; } }
.core-card {
  position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
  padding: 30px 24px 26px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.core-card:hover { border-color: var(--line-2); box-shadow: 0 8px 26px rgba(0,0,0,.06); transform: translateY(-3px); }
.core-index {
  position: absolute; top: 18px; right: 20px; font-family: var(--font-title); font-weight: 700;
  font-size: 26px; line-height: 1; color: var(--line-2); opacity: .55; letter-spacing: -.5px;
}
.core-icon {
  width: 50px; height: 50px; border-radius: 12px; display: flex; align-items: center; justify-content: center;
  color: #fff; margin-bottom: 18px; box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.core-card-title { font-family: var(--font-title); font-size: 17px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; }
.core-card-desc { font-family: var(--font-body); font-size: 13.5px; color: var(--text-2); line-height: 1.7; }
.core-card-points { list-style: none; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px dashed var(--line); display: grid; gap: 9px; }
.core-card-points li { display: flex; align-items: flex-start; gap: 7px; font-family: var(--font-body); font-size: 13px; color: var(--ink); line-height: 1.5; }
.core-card-points li svg { color: var(--brand); flex-shrink: 0; margin-top: 2px; }

/* ==========================================================================
   首页新增：谁在用（客户案例 2 行 × 8 网格）
   ========================================================================== */
.who-using-section { background: var(--bg-soft); padding: clamp(56px, 6vw, 88px) 0; }
.who-using-header { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.who-using-title { font-family: var(--font-title); font-size: clamp(24px, 3.4vw, 36px); font-weight: 700; color: var(--ink-2); margin-bottom: 14px; }
.who-using-subtitle { font-family: var(--font-body); font-size: clamp(14px, 1.6vw, 16px); color: var(--text-2); line-height: 1.7; }
.who-using-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 16px; }
@media (max-width: 1080px) { .who-using-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 560px) { .who-using-grid { grid-template-columns: repeat(2, 1fr); } }
.who-using-cell {
  display: flex; align-items: center; gap: 12px; min-width: 0;
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  padding: 14px 16px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.who-using-cell:hover { border-color: var(--line-2); box-shadow: 0 4px 16px rgba(0,0,0,.05); transform: translateY(-2px); }
.wu-monogram {
  width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-family: var(--font-title); font-weight: 700; font-size: 18px;
}
.wu-name { font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ==========================================================================
   Logo 图片（jpg 标志）健壮性：按高度自适应，避免方形裁切变形
   ========================================================================== */
.nav-logo-img { border-radius: 6px; }
.footer .footer-logo .logo-icon { width: auto; height: 30px; background: transparent; }
.footer .footer-logo .logo-icon img { width: auto; height: 100%; border-radius: 6px; object-fit: contain; }
.brand-lockup .brand-logo { border-radius: 6px; }

/* ==========================================================================
   Hero 信任徽标 / 区块底部「查看更多」引导
   ========================================================================== */
.hero-trust {
  display: flex; flex-wrap: wrap; gap: 12px 22px; justify-content: center;
  list-style: none; margin: 22px 0 0; padding: 0;
}
.hero-trust li { display: flex; align-items: center; gap: 7px; font-size: 13.5px; color: var(--text-2); }
.hero-trust svg { color: var(--brand); flex-shrink: 0; }
.core-more { display: flex; justify-content: center; margin-top: 32px; }
.core-more .btn-ghost { background: #fff; }

/* ==========================================================================
   全站通用：无障碍隐藏 / 滚动入场 / CTA 行内排列
   ========================================================================== */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .5s ease, transform .5s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}
.cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.cta-actions.inline { margin-bottom: 8px; }

/* 移动端导航：主标题 + 说明文字两行 */
.mobile-nav-link .mnl-main { display: flex; flex-direction: column; gap: 2px; }
.mobile-nav-link .mnl-desc { font-size: 12.5px; color: var(--text-2); font-weight: 400; }
.mobile-nav-link.active .mnl-desc { color: var(--brand-hover); }
.f-contact-note { font-size: 12.5px; color: var(--text-2); opacity: .85; }
.section-head.left p.block-sub { max-width: none; margin-top: 6px; }

/* ==========================================================================
   定价页：主推标识 / 说明行 / 功能对比矩阵
   ========================================================================== */
.home-pricing-card__ribbon {
  position: absolute; top: 14px; right: 14px;
  font-family: var(--font-btn); font-size: 12px; font-weight: 600; letter-spacing: .3px;
  padding: 4px 12px; border-radius: 999px;
  background: var(--brand); color: #fff;
}
.pricing-note {
  margin: 28px auto 0; max-width: 760px; text-align: center;
  font-size: 13.5px; color: var(--text-2); line-height: 1.7;
}
.cmp-wrap {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line); border-radius: var(--radius-card); background: #fff;
}
.cmp-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 14px; }
.cmp-table thead th {
  position: sticky; top: 0; z-index: 2; background: #fff;
  font-family: var(--font-title); font-size: 14px; font-weight: 700; color: var(--ink-2);
  padding: 16px 14px; text-align: center; border-bottom: 1px solid var(--line);
  white-space: nowrap;
}
.cmp-table thead th:first-child { text-align: left; min-width: 260px; }
.cmp-table thead th.is-focus,
.cmp-table tbody td.is-focus { background: var(--brand-soft); }
.cmp-table tbody th {
  font-weight: 500; color: var(--ink); text-align: left;
  padding: 13px 14px; border-bottom: 1px solid var(--line-3);
}
.cmp-table tbody td {
  padding: 13px 14px; text-align: center; color: var(--text-2);
  border-bottom: 1px solid var(--line-3); white-space: nowrap;
}
.cmp-table tbody tr:last-child th,
.cmp-table tbody tr:last-child td { border-bottom: none; }
.cmp-table tbody tr:hover th,
.cmp-table tbody tr:hover td { background: #FAFCFB; }
.cmp-table tbody tr:hover td.is-focus { background: var(--brand-soft); }
.cmp-group-row td {
  background: var(--bg-soft); border-bottom: 1px solid var(--line);
  font-family: var(--font-title); font-size: 13px; font-weight: 700; color: var(--ink-2);
  padding: 10px 14px; letter-spacing: .3px;
}
.cmp-group-row:hover td { background: var(--bg-soft); }
.cmp-yes { display: inline-flex; color: var(--brand); }
.cmp-no { color: var(--line-2); }
.cmp-txt { font-size: 13px; color: var(--ink); font-weight: 600; }

/* ==========================================================================
   FAQ 手风琴（定价页 / 关于页 / 下载页复用）
   ========================================================================== */
.faq-list { display: grid; gap: 12px; }
.faq-item {
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius-card); overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.faq-item:hover { border-color: var(--line-2); }
.faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 22px; background: none; border: 0; cursor: pointer; text-align: left;
  font-family: var(--font-title); font-size: 15.5px; font-weight: 700; color: var(--ink-2);
  transition: color .15s ease;
}
.faq-q:hover { color: var(--brand-hover); }
.faq-ico { flex-shrink: 0; display: inline-flex; color: var(--brand); transition: transform .25s ease; }
.faq-q[aria-expanded="true"] .faq-ico { transform: rotate(45deg); }
.faq-a { padding: 0 22px 20px; }
.faq-a p { font-size: 14.5px; color: var(--text-2); line-height: 1.85; }

/* ==========================================================================
   数据条（首页社会证明 / 案例页成效条）
   ========================================================================== */
.highlight-band { background: var(--ink-2); border-radius: 12px; padding: clamp(32px, 4vw, 48px) 32px; }
.highlight-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.highlight-grid .hl-value {
  display: block; font-family: var(--font-title); font-size: clamp(28px, 3.6vw, 40px);
  font-weight: 700; line-height: 1.15; color: var(--brand);
}
.highlight-grid .hl-value .hl-unit { font-size: .5em; margin-left: 2px; color: #7FE3C6; }
.highlight-grid .hl-label { display: block; margin-top: 8px; font-size: 13.5px; color: #B7B0C2; line-height: 1.5; }
.highlight-note { text-align: center; color: #B7B0C2; font-size: 13px; margin-top: 22px; }
@media (max-width: 860px) { .highlight-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 16px; } }

/* ==========================================================================
   价值主张卡（首页「为什么是 AblePMS」）
   ========================================================================== */
.value-section { background: var(--bg-soft); padding: clamp(56px, 6vw, 88px) 0; }
.value-header { text-align: center; max-width: 760px; margin: 0 auto 44px; }
.value-title { font-family: var(--font-title); font-size: clamp(24px, 3.4vw, 36px); font-weight: 700; color: var(--ink-2); margin-bottom: 14px; }
.value-subtitle { font-family: var(--font-body); font-size: clamp(14px, 1.6vw, 16px); color: var(--text-2); line-height: 1.7; }
.value-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media (max-width: 860px) { .value-grid { grid-template-columns: 1fr; } }
.value-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
  padding: 30px 28px; display: flex; gap: 18px; align-items: flex-start;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.value-card:hover { border-color: var(--line-2); box-shadow: 0 8px 26px rgba(0,0,0,.06); transform: translateY(-3px); }
.value-icon {
  width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--brand-soft); color: var(--brand-hover);
}
.value-body h3 { font-family: var(--font-title); font-size: 17px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; }
.value-body > p { font-size: 14px; color: var(--text-2); line-height: 1.75; }
.value-points { list-style: none; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px dashed var(--line); display: grid; gap: 8px; }
.value-points li { display: flex; align-items: flex-start; gap: 7px; font-size: 13px; color: var(--ink); line-height: 1.5; }
.value-points svg { color: var(--brand); flex-shrink: 0; margin-top: 2px; }

/* ==========================================================================
   案例页：业态统计 / 案例研究卡
   ========================================================================== */
.type-chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.type-chip {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line);
  background: #fff; font-size: 13.5px; color: var(--ink);
}
.type-chip b { font-family: var(--font-title); color: var(--brand-hover); }

/* 案例研究卡网格：auto-fill 自适应条目数量（3 条不显稀疏，9 条不显拥挤） */
.case-study-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 18px; }
@media (max-width: 760px) { .case-study-grid { grid-template-columns: 1fr; } }
.sample-note {
  display: flex; align-items: center; gap: 8px; justify-content: center;
  margin-bottom: 20px; padding: 10px 16px;
  background: #FFF8E6; border: 1px solid #F0DFA8; border-radius: 8px;
  font-size: 13px; color: #9A6B00;
}
.sample-note svg { flex-shrink: 0; }
.case-study {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
  padding: 26px 26px 22px; display: flex; flex-direction: column; gap: 14px;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.case-study:hover { border-color: var(--line-2); box-shadow: 0 8px 26px rgba(0,0,0,.06); transform: translateY(-3px); }
.cs-head { display: flex; align-items: center; gap: 13px; }
.cs-monogram {
  width: 46px; height: 46px; border-radius: 12px; flex-shrink: 0; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-title); font-weight: 700; font-size: 20px;
}
img.cs-monogram { object-fit: cover; border: 1px solid var(--line); background: var(--bg-soft); }
.cs-title { min-width: 0; }
.cs-title h3 { font-family: var(--font-title); font-size: 16.5px; font-weight: 700; color: var(--ink-2); margin-bottom: 3px; }
.cs-meta { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12.5px; color: var(--text-2); }
.cs-meta span { display: inline-flex; align-items: center; gap: 4px; }
.cs-meta .cs-type { color: var(--brand-hover); background: var(--brand-soft); border-radius: 999px; padding: 2px 10px; }
.cs-quote {
  margin: 0; padding: 14px 16px; background: var(--bg-soft); border-left: 3px solid var(--brand);
  border-radius: 0 8px 8px 0; font-size: 14.5px; color: var(--ink); line-height: 1.7;
}
.cs-block { font-size: 13.5px; color: var(--text-2); line-height: 1.75; }
.cs-block b { display: block; font-family: var(--font-title); font-size: 13px; color: var(--ink-2); margin-bottom: 3px; }
.cs-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--line); }
.cs-result { text-align: center; }
.cs-result b { display: block; font-family: var(--font-title); font-size: 15px; font-weight: 700; color: var(--brand-hover); line-height: 1.3; }
.cs-result span { font-size: 11.5px; color: var(--text-2); }
@media (max-width: 560px) { .cs-results { grid-template-columns: repeat(2, 1fr); } }

/* 无配图模块（全宽要点区，避免截图复用） */
.feat-wide {
  padding: 40px 0 48px; border-bottom: 1px solid var(--line-3);
}
.feat-wide:last-child { border-bottom: none; }
.feat-wide-head { max-width: 720px; margin-bottom: 22px; }
.feat-wide-head .feat-desc { margin-bottom: 0; }
.feat-wide-points {
  list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 22px 24px;
}
.feat-wide-points li { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; color: var(--ink); }
.feat-wide-points svg { flex-shrink: 0; margin-top: 3px; color: var(--brand); }
@media (max-width: 640px) { .feat-wide-points { grid-template-columns: 1fr; } }

/* ==========================================================================
   功能页：能力矩阵 / 角色价值 / 锚点导航
   ========================================================================== */
.anchor-bar {
  position: sticky; top: 72px; z-index: 20;
  display: flex; gap: 8px; flex-wrap: wrap; justify-content: center;
  padding: 12px; margin-bottom: 8px;
  background: rgba(255,255,255,.92); backdrop-filter: blur(10px);
  border: 1px solid var(--line); border-radius: 999px;
}
.anchor-bar a {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: 999px;
  font-size: 13.5px; color: var(--ink); text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
.anchor-bar a:hover { background: var(--brand-soft); color: var(--brand-hover); }
@media (max-width: 1080px) { .anchor-bar { display: none; } }

.cap-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 960px) { .cap-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .cap-grid { grid-template-columns: 1fr; } }
.cap-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
  padding: 24px 22px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.cap-card:hover { border-color: var(--line-2); box-shadow: 0 6px 20px rgba(0,0,0,.05); transform: translateY(-3px); }
.cap-head { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; }
.cap-head .cap-icon {
  width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--brand-soft); color: var(--brand-hover);
}
.cap-head h3 { font-family: var(--font-title); font-size: 16px; font-weight: 700; color: var(--ink-2); }
.cap-list { list-style: none; display: grid; gap: 8px; }
.cap-list li { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; color: var(--ink); line-height: 1.5; }
.cap-list svg { color: var(--brand); flex-shrink: 0; margin-top: 2px; }

.role-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
@media (max-width: 860px) { .role-grid { grid-template-columns: 1fr; } }
.role-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
  padding: 26px 24px; transition: border-color .2s ease, box-shadow .2s ease;
}
.role-card:hover { border-color: var(--line-2); box-shadow: 0 6px 20px rgba(0,0,0,.05); }
.role-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.role-head .role-icon {
  width: 42px; height: 42px; border-radius: 11px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--brand-soft); color: var(--brand-hover);
}
.role-head h3 { font-family: var(--font-title); font-size: 16.5px; font-weight: 700; color: var(--ink-2); }
.role-pain { font-size: 13.5px; color: var(--text-2); line-height: 1.7; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px dashed var(--line); }
.role-pain b { color: var(--ink-2); font-family: var(--font-title); font-size: 13px; }
.role-gains { list-style: none; display: grid; gap: 8px; }
.role-gains li { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; color: var(--ink); line-height: 1.55; }
.role-gains svg { color: var(--brand); flex-shrink: 0; margin-top: 2px; }

/* 联系卡片：提示列表与操作按钮 */
.contact-tips {
  margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--line);
  display: grid; gap: 9px; text-align: left;
}
.contact-tips p {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 13.5px; color: var(--text-2); line-height: 1.65;
}
.contact-tips svg { color: var(--brand); flex-shrink: 0; margin-top: 2px; }
.contact-actions {
  display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 22px;
}

/* ==========================================================================
   下载页 / 关于页：运行环境要求、里程碑、条款
   ========================================================================== */
.req-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 860px) { .req-grid { grid-template-columns: 1fr; } }
.req-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 22px; }
.req-card h3 { font-family: var(--font-title); font-size: 15px; font-weight: 700; color: var(--ink-2); margin-bottom: 12px; }
.req-rows { display: grid; gap: 0; }
.req-row { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line-3); font-size: 13.5px; }
.req-row:last-child { border-bottom: none; }
.req-row dt { color: var(--text-2); flex-shrink: 0; }
.req-row dd { color: var(--ink); font-weight: 600; text-align: right; }

.milestone-list { display: grid; gap: 0; }
.milestone-item {
  display: grid; grid-template-columns: 110px 1fr; gap: 20px;
  padding: 22px 0; border-bottom: 1px solid var(--line-3);
}
.milestone-item:last-child { border-bottom: none; }
.milestone-when {
  font-family: var(--font-title); font-size: 14px; font-weight: 700; color: var(--brand-hover);
  background: var(--brand-soft); border-radius: 999px; padding: 5px 0; text-align: center; height: fit-content;
}
.milestone-body h3 { font-family: var(--font-title); font-size: 16px; font-weight: 700; color: var(--ink-2); margin-bottom: 6px; }
.milestone-body p { font-size: 14px; color: var(--text-2); line-height: 1.75; }
@media (max-width: 640px) {
  .milestone-item { grid-template-columns: 1fr; gap: 10px; }
  .milestone-when { width: fit-content; padding: 5px 16px; }
}

.legal-block { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 28px 26px; scroll-margin-top: 100px; }
.legal-block h2 { font-family: var(--font-title); font-size: 19px; font-weight: 700; color: var(--ink-2); margin-bottom: 6px; }
.legal-block .legal-meta { font-size: 12.5px; color: var(--text-2); margin-bottom: 16px; }
.legal-block h3 { font-family: var(--font-title); font-size: 14.5px; font-weight: 700; color: var(--ink-2); margin: 18px 0 6px; }
.legal-block p, .legal-block li { font-size: 14px; color: var(--text-2); line-height: 1.85; }
.legal-block ul { margin: 8px 0 0 20px; }
.legal-block li { margin-bottom: 4px; }

/* 步骤卡（三步上手）增强：右侧耗时徽标 */
.step-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.step-head .step-num { margin-bottom: 0; }
.step-time {
  font-size: 12px; font-weight: 600; color: var(--brand-hover);
  background: var(--brand-soft); border-radius: 999px; padding: 4px 12px; white-space: nowrap;
}

/* 场景/模块锚点定位补偿固定导航 */
.anchor-target { scroll-margin-top: 100px; }

/* ==========================================================================
   新版首页区块样式（浅色蓝系 · v2026-09）
   ========================================================================== */

/* 系统核心功能模块（6 卡） */
.modules-section { background: #fff; padding: clamp(56px, 6vw, 88px) 0; }
.modules-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.module-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
  padding: 26px 24px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s;
}
.module-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(61,139,255,.12); border-color: rgba(61,139,255,.4); }
.module-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 12px; color: #fff; margin-bottom: 16px;
}
.module-title { font-family: var(--font-title); font-size: 17px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; }
.module-desc { font-size: 14px; color: var(--text-2); line-height: 1.7; margin-bottom: 14px; }
.module-points { list-style: none; display: grid; gap: 8px; }
.module-points li { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; color: var(--ink); }
.module-points svg { color: var(--brand); flex-shrink: 0; margin-top: 3px; }

/* 部署方案适配（3 卡） */
.deploy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.deploy-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card);
  padding: 28px 24px; transition: transform .2s, box-shadow .2s, border-color .2s;
}
.deploy-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(61,139,255,.12); border-color: rgba(61,139,255,.4); }
.deploy-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; color: #fff; margin-bottom: 16px; }
.deploy-title { font-family: var(--font-title); font-size: 18px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; }
.deploy-desc { font-size: 14px; color: var(--text-2); line-height: 1.7; margin-bottom: 14px; }
.deploy-points { list-style: none; display: grid; gap: 8px; }
.deploy-points li { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; color: var(--ink); }
.deploy-points svg { color: var(--brand); flex-shrink: 0; margin-top: 3px; }

/* 合作客户案例（2 卡） */
.cases-section { background: #fff; padding: clamp(56px, 6vw, 88px) 0; }
.cases-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.case-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 26px 24px; transition: box-shadow .2s, border-color .2s; }
.case-card:hover { box-shadow: 0 10px 30px rgba(61,139,255,.10); border-color: rgba(61,139,255,.4); }
.case-card-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.case-monogram { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; color: #fff; font-family: var(--font-title); font-weight: 700; font-size: 20px; flex-shrink: 0; }
.case-title h3 { font-family: var(--font-title); font-size: 16.5px; font-weight: 700; color: var(--ink-2); }
.case-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; margin-top: 4px; font-size: 12.5px; color: var(--text-2); }
.case-meta .cs-type { color: var(--brand); font-weight: 600; }
.case-quote { font-size: 14px; line-height: 1.8; color: var(--ink); background: var(--brand-soft); border-radius: 10px; padding: 14px 16px; margin-bottom: 14px; }
.case-block { font-size: 13.5px; color: var(--text-2); line-height: 1.75; margin-bottom: 8px; }
.case-block b { color: var(--ink-2); margin-right: 4px; }

/* 专属定制开发服务（4 卡） */
.custom-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.custom-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 24px 22px; transition: transform .2s, box-shadow .2s; }
.custom-card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(61,139,255,.12); }
.custom-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--brand-soft); color: var(--brand); margin-bottom: 14px; }
.custom-card h3 { font-family: var(--font-title); font-size: 16px; font-weight: 700; color: var(--ink-2); margin-bottom: 6px; }
.custom-card p { font-size: 13.5px; color: var(--text-2); line-height: 1.7; }

/* 品牌理念与社会责任（2 卡） */
.brand-values-section { background: #fff; padding: clamp(56px, 6vw, 88px) 0; }
.brand-values-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.brand-value-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 28px 26px; transition: box-shadow .2s; }
.brand-value-card:hover { box-shadow: 0 10px 30px rgba(61,139,255,.10); }
.bv-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; color: #fff; margin-bottom: 16px; }
.brand-value-card h3 { font-family: var(--font-title); font-size: 18px; font-weight: 700; color: var(--ink-2); margin-bottom: 8px; }
.brand-value-card p { font-size: 14px; color: var(--text-2); line-height: 1.8; }

/* 响应式：新版区块网格 */
@media (max-width: 980px) {
  .modules-grid, .deploy-grid, .custom-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .modules-grid, .deploy-grid, .cases-grid, .custom-grid, .brand-values-grid { grid-template-columns: 1fr; }
}
