/* ============================================================================
   QZCMS 前台重设计 · 极简编辑风（minimalist editorial）
   方案：在 global.css 之后加载，覆盖旧的青/藏蓝渐变科技风。
   原则（Taste / 去 AI 味）：暖中性单色 + 单一克制强调色；编辑衬线标题 + 系统无衬线正文；
   1px 细线、扁平、近乎无阴影；大留白；split / 不对称 bento；禁渐变禁 Emoji；微动效。
   仅视觉层，不改 Go 模板变量与 JS 钩子。Phase 1：设计系统 + 导航/页脚 + 首页。
   ========================================================================== */

/* ---------- 自托管字体 ---------- */
@font-face {
  font-family: "Fraunces";
  src: url("/static/assets/fonts/fraunces-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fraunces";
  src: url("/static/assets/fonts/fraunces-latin-italic.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url("/static/assets/fonts/jetbrains-mono-latin.woff2") format("woff2");
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
}

/* ---------- 设计令牌 ---------- */
:root {
  /* 纯白冷调画布与表面 */
  --rd-bg: #ffffff;          /* 纯白画布 */
  --rd-surface: #ffffff;
  --rd-surface-2: #f6f7f8;   /* 冷浅灰（内嵌块/代码窗） */
  --rd-line: #ebecee;        /* 冷浅灰细线 */
  --rd-line-strong: #dcdee1;
  /* 文本（冷墨，非纯黑） */
  --rd-text: #16171a;
  --rd-text-2: #52555c;
  --rd-muted: #878b92;
  --rd-ink: #141413;         /* 深色装饰面板 / 收尾带 / 侧栏 */
  --rd-cta: #b1542f;         /* 暖陶土：主行动按钮 + 全站暖色点缀 */
  --rd-cta-hover: #9a4527;
  --rd-cta-soft: #f7eae3;    /* 陶土浅底：图标片/标签 */
  /* 单一克制强调色（冷青） */
  --rd-accent: #236a73;
  --rd-accent-soft: #e9f3f4;
  /* muted 点缀（标签/状态） */
  --rd-pale-red-bg: #fdebec;   --rd-pale-red-fg: #9f2f2d;
  --rd-pale-blue-bg: #e6f1f7;  --rd-pale-blue-fg: #1f6c9f;
  --rd-pale-green-bg: #edf3ec; --rd-pale-green-fg: #346538;
  --rd-pale-yellow-bg: #fbf3db;--rd-pale-yellow-fg: #8a5a00;
  /* 字体 */
  --rd-serif: "Fraunces", "Songti SC", "Noto Serif SC", "Source Han Serif SC", Georgia, "Times New Roman", serif;
  --rd-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", system-ui, Arial, sans-serif;
  --rd-mono: "JetBrains Mono", "SF Mono", ui-monospace, "Cascadia Code", Consolas, monospace;
  /* 半径 / 阴影 / 容器 */
  --rd-r: 12px;
  --rd-r-sm: 8px;
  --rd-r-btn: 6px;
  --rd-shadow: 0 1px 2px rgba(20, 20, 19, 0.03);
  --rd-shadow-hover: 0 2px 10px rgba(20, 20, 19, 0.05);
  --rd-container: 1200px;
  --rd-ease: cubic-bezier(0.16, 1, 0.3, 1);

  /* 旧主题 token 重映射到纯白冷调极简调色板：
     令所有沿用 var(--qz-*) 的 CMS 页（login/reg/profile/calendar/tunnel…）自动对齐，
     仅各页字面 teal 渐变需另行覆盖。 */
  --qz-bg: #ffffff;
  --qz-surface: #ffffff;
  --qz-surface-soft: #f6f7f8;
  --qz-line: #ebecee;
  --qz-line-strong: #dcdee1;
  --qz-text: #16171a;
  --qz-muted: #52555c;
  --qz-primary: #236a73;
  --qz-primary-dark: #1b545c;
  --qz-primary-soft: #e9f3f4;
  --qz-accent: #236a73;
  --qz-cyan: #236a73;
  --qz-navy: #16171a;
  --qz-navy-dark: #141413;
  --qz-danger: #9f2f2d;
  --qz-radius: 12px;
  --qz-shadow: 0 1px 2px rgba(20, 20, 19, 0.04);
  --qz-tech-line: rgba(35, 106, 115, 0.08);
}

/* ---------- 基础 ---------- */
body {
  font-family: var(--rd-sans);
  color: var(--rd-text);
  background: var(--rd-bg);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, .rd-serif {
  font-family: var(--rd-serif);
  color: var(--rd-text);
  font-weight: 540;
  letter-spacing: -0.02em;
  line-height: 1.12;
  text-wrap: balance;
}

p { text-wrap: pretty; }

a { color: var(--rd-accent); text-underline-offset: 3px; }
a:hover { color: var(--rd-text); }

/* 容器约束（覆盖 Bootstrap 满宽拉伸） */
.site-main > section,
.site-main > .rd-wrap {
  max-width: var(--rd-container);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 40px);
}

/* 去掉旧的多层网格/斜纹背景，改为干净暖底 + 极淡暖光斑 */
.site-main {
  background: var(--rd-bg);
  overflow: hidden;
}
.site-main::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(60vw 50vh at 82% -8%, rgba(35, 106, 115, 0.05), transparent 60%),
    radial-gradient(50vw 40vh at -6% 12%, rgba(120, 130, 140, 0.03), transparent 55%);
}
.site-main::after { content: none; }

/* ============================================================================
   导航（layout.html .headnav-bg / .navbar）—— 改为亮色细线导航
   ========================================================================== */
.headnav-bg {
  background: rgba(242, 243, 245, 0.88);
  backdrop-filter: saturate(150%) blur(12px);
  -webkit-backdrop-filter: saturate(150%) blur(12px);
  color: var(--rd-text);
  box-shadow: 0 1px 3px rgba(20, 20, 19, 0.05);
  border-bottom: 1px solid var(--rd-line-strong);
  position: sticky;
  top: 0;
  z-index: 1030;
}
.headnav-bg::after { content: none; }
.navbar { min-height: 66px; }
.navbar-brand img { object-fit: contain; }  /* 亮底导航使用深色 logo.svg */

.nav-item a,
.navbarrt a {
  color: var(--rd-text-2);
  font-family: var(--rd-sans);
  font-size: 15px;
  font-weight: 500;
  margin: 0 14px;
  letter-spacing: 0;
}
.nav-item a::after,
.navbarrt a::after { background: var(--rd-text); height: 1px; bottom: -4px; }
.nav-item .nav-link:hover,
.navbarrt a:hover,
.navbar .dropdown:hover > .dropdown-toggle { color: var(--rd-text); }

/* 下拉：扁平细线，无三色渐变条 */
.navbar .dropdown-menu {
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-r-sm);
  background: var(--rd-surface);
  box-shadow: var(--rd-shadow-hover);
  padding: 6px;
}
.navbar .dropdown-menu::before { content: none; }
.navbar .dropdown-item {
  font-family: var(--rd-sans);
  font-weight: 500;
  font-size: 14px;
  color: var(--rd-text-2);
  border-radius: var(--rd-r-btn);
}
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  color: var(--rd-text);
  background: var(--rd-accent-soft);
}

/* 语言切换 */
.lang-switch a { color: var(--rd-muted); font-size: 13px; }
.lang-switch a.active { color: var(--rd-text); font-weight: 600; }
.lang-switch-sep { color: var(--rd-line-strong); }

/* 移动端折叠菜单背景适配亮底 */
@media (max-width: 991.98px) {
  .navbar-collapse {
    background: var(--rd-surface);
    border: 1px solid var(--rd-line);
    border-radius: var(--rd-r-sm);
    padding: 10px 14px;
    margin-top: 8px;
  }
  .nav-item a, .navbarrt a { margin: 6px 0; display: inline-block; }
}

/* ============================================================================
   通用原语（按钮 / eyebrow 标签 / 区块标题 / 标签）
   ========================================================================== */
.eyebrow,
.home-section-head span,
.home-product-copy > span,
.open-source-copy > span,
.home-contact-band span {
  display: inline-block;
  font-family: var(--rd-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rd-muted);
  background: none;
  padding: 0;
  margin-bottom: 18px;
}

/* 按钮：实心墨色主按钮 + 描边次按钮 + 文本三级 */
.btn,
.hero .btn,
.footerFeedback button {
  font-family: var(--rd-sans);
  font-weight: 600;
  font-size: 15px;
  border-radius: var(--rd-r-btn);
  border: 1px solid var(--rd-cta);
  background: var(--rd-cta);
  color: #fff;
  padding: 12px 22px;
  box-shadow: none;
  transition: background 0.2s var(--rd-ease), transform 0.12s var(--rd-ease), color 0.2s, border-color 0.2s;
}
.btn:hover,
.hero .btn:hover,
.footerFeedback button:hover { background: var(--rd-cta-hover); border-color: var(--rd-cta-hover); color: #fff; }
.btn:active,
.hero .btn:active { transform: scale(0.98); }

.hero .btn.btn-secondary,
.btn.btn-secondary {
  background: transparent;
  color: var(--rd-text);
  border-color: var(--rd-line-strong);
}
.hero .btn.btn-secondary:hover,
.btn.btn-secondary:hover { background: var(--rd-surface); border-color: var(--rd-text); color: var(--rd-text); }

.hero .btn.btn-ghost,
.btn.btn-ghost {
  background: transparent;
  color: var(--rd-text-2);
  border-color: transparent;
  padding-inline: 6px;
}
.hero .btn.btn-ghost:hover,
.btn.btn-ghost:hover { color: var(--rd-text); background: transparent; text-decoration: underline; }

/* 区块标题：统一左对齐、衬线、克制（覆盖 global 的居中，与 hero/产品/开源一致） */
.home-section-head { max-width: 760px; margin: 0 0 36px; text-align: left; }
.home-section-head h2 { font-size: clamp(1.8rem, 3.4vw, 2.7rem); margin: 0 0 14px; }
.home-section-head p { color: var(--rd-text-2); font-size: 1.05rem; max-width: 60ch; }

/* 标签 / 状态 pill（仅用于小标签，符合 minimalist：pill 仅限小字） */
.service-tags span {
  font-family: var(--rd-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 9999px;
  padding: 4px 11px;
  background: var(--rd-accent-soft);
  color: var(--rd-accent);
  border: none;
}

/* ============================================================================
   首页 home.html
   ========================================================================== */
section { position: relative; z-index: 1; }
/* 紧凑间距：整页压到 ~3 屏 */
.home-product-feature, .home-ai-stack, .home-open-source,
.services, .home-process, .home-contact-band {
  padding-top: clamp(22px, 2.4vw, 38px);
  padding-bottom: clamp(22px, 2.4vw, 38px);
}
.hero { padding-top: clamp(24px, 2.8vw, 44px); padding-bottom: clamp(22px, 2.6vw, 38px); }
.home-section-head { margin-bottom: 22px; }

/* Hero：split 不对称，亮底，衬线大标题，暖色环境光 */
.hero {
  position: relative;
  background: transparent;
  color: var(--rd-text);
}
/* 极淡暖色环境光，避免首屏纯白发空 */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(58% 78% at 82% 26%, rgba(177, 84, 47, 0.05), transparent 68%);
}
.hero::after { content: none; }
.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: clamp(36px, 5vw, 76px);
  align-items: center;
}
/* 眉标：等宽小字 + 前导陶土短线 */
.hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--rd-text-2);
  letter-spacing: 0.14em;
  margin-bottom: 20px;
}
.hero .eyebrow::before {
  content: "";
  width: 28px; height: 2px;
  background: var(--rd-cta);
  flex: none;
}
.hero h1 {
  font-size: clamp(2.5rem, 4.7vw, 4rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -0.025em;
  text-wrap: balance;
  margin: 0 0 22px;
  color: var(--rd-text);
}
.hero p {
  color: var(--rd-text-2);
  font-size: 1.1rem;
  line-height: 1.7;
  max-width: 50ch;
  margin: 0 0 28px;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.hero-trust {
  display: flex;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--rd-line);
}
.hero-trust div { display: flex; flex-direction: column; gap: 3px; padding: 0 26px; border-left: 1px solid var(--rd-line); }
.hero-trust div:first-child { padding-left: 0; border-left: none; }
.hero-trust strong {
  font-family: var(--rd-mono);
  font-size: 1.05rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--rd-text);
}
.hero-trust span { color: var(--rd-muted); font-size: 12.5px; letter-spacing: 0.01em; }

.hero-product-shot {
  display: block;
  position: relative;
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-r);
  overflow: hidden;
  background: var(--rd-surface);
  box-shadow: 0 1px 2px rgba(20, 20, 19, 0.04), 0 24px 48px -16px rgba(20, 20, 19, 0.16);
  transition: box-shadow 0.3s var(--rd-ease), transform 0.3s var(--rd-ease);
}
.hero-product-shot:hover { box-shadow: 0 1px 2px rgba(20, 20, 19, 0.04), 0 30px 60px -16px rgba(20, 20, 19, 0.22); transform: translateY(-3px); }
.hero-product-shot img { display: block; width: 100%; height: auto; }
/* 说明栏：像应用状态栏，左产品名 + 右能力标签，前导活动点 */
.hero-shot-caption {
  display: flex; align-items: center; gap: 12px; justify-content: space-between;
  padding: 12px 16px;
  border-top: 1px solid var(--rd-line);
  background: var(--rd-surface-2);
}
.hero-shot-caption strong { display: inline-flex; align-items: center; gap: 8px; font-family: var(--rd-mono); font-size: 13px; color: var(--rd-text); white-space: nowrap; }
.hero-shot-caption strong::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--rd-cta); flex: none; }
.hero-shot-caption span { color: var(--rd-muted); font-size: 11.5px; text-align: right; }

/* 产品特写：split 面板，扁平细线 */
.home-product-feature { background: transparent; }
.home-product-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 3vw, 44px);
  align-items: center;
  background: var(--rd-surface);
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-r);
  padding: clamp(24px, 3vw, 40px);
}
.home-product-copy h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin: 0 0 14px; }
.home-product-copy > p { color: var(--rd-text-2); max-width: 52ch; }
.home-product-points { display: grid; gap: 16px; margin: 20px 0; }
.home-product-points > div { display: grid; grid-template-columns: 28px 1fr; gap: 6px 14px; }
.home-product-points i { grid-row: span 2; font-size: 20px; color: var(--rd-cta); }
.home-product-points strong { color: var(--rd-text); font-weight: 600; }
.home-product-points p { color: var(--rd-text-2); font-size: 0.95rem; margin: 0; }
.home-product-actions { display: flex; flex-wrap: wrap; gap: 20px; }
/* 提升特异度盖过 global 的 .home-product-actions a / a+a 绿色按钮，彻底重置为文本链接 */
.home-product-copy .home-product-actions a,
.home-product-copy .home-product-actions a + a {
  display: inline; min-height: 0; box-shadow: none;
  background: none; border: none; border-radius: 0; padding: 0 0 2px;
  color: var(--rd-text); font-weight: 600; font-size: 15px;
  text-decoration: none; border-bottom: 1px solid var(--rd-line-strong);
}
.home-product-copy .home-product-actions a:hover {
  background: none; color: var(--rd-text); border-color: var(--rd-text);
  transform: none; box-shadow: none;
}
.home-product-media { display: block; border: 1px solid var(--rd-line); border-radius: var(--rd-r-sm); overflow: hidden; background: var(--rd-surface-2); }
.home-product-media img { display: block; width: 100%; height: auto; }

/* AI 能力栈：不对称 bento（2 大 2 小） */
.home-ai-stack { background: transparent; }
.ai-stack-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.ai-stack-item {
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-r-sm);
  background: var(--rd-surface);
  padding: 20px 18px;
  transition: box-shadow 0.2s var(--rd-ease);
}
.ai-stack-item:hover { box-shadow: var(--rd-shadow-hover); }
.ai-stack-item::before { content: none; }  /* 去掉青→金渐变条 */
.ai-stack-item:nth-child(n) { grid-column: span 1; }  /* 单行四列紧凑卡 */
.ai-stack-item i { font-size: 22px; color: var(--rd-cta); }
.ai-stack-item strong { display: block; margin: 12px 0 6px; font-size: 1.1rem; color: var(--rd-text); }
.ai-stack-item p { color: var(--rd-text-2); font-size: 0.95rem; margin: 0; }

/* 开源 / 代码窗：split，极简窗口 chrome（macOS 三圆点） */
.home-open-source {
  background: transparent;   /* 回归米底，与全站一致（去掉 1200 宽白条 + 上下边框的违和感） */
  color: var(--rd-text);     /* 覆盖 global 旧深底设计的白字 */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4vw, 64px);
  align-items: center;       /* 代码窗较矮，居中对齐与较高的文案列协调 */
}
/* 强制开源区标题深色（global 给整段设了白字，会让标题在白底隐形） */
.home-open-source .open-source-copy h2 { color: var(--rd-text); }
.code-window {
  border: 1px solid var(--rd-line-strong);
  border-radius: var(--rd-r);
  overflow: hidden;
  background: var(--rd-surface-2);
  box-shadow: 0 10px 30px rgba(20, 20, 19, 0.08);  /* 更明确的投影，加重左侧分量 */
}
.code-window-bar { display: flex; gap: 8px; padding: 13px 16px; background: var(--rd-surface); border-bottom: 1px solid var(--rd-line); }
.code-window-bar span { width: 11px; height: 11px; border-radius: 9999px; background: var(--rd-line-strong); }
.code-window-bar span:nth-child(1) { background: #e06c5a; }  /* macOS 三色点细节 */
.code-window-bar span:nth-child(2) { background: #e3b341; }
.code-window-bar span:nth-child(3) { background: #57b87a; }
.code-window-title { display: flex; flex-direction: column; padding: 16px 20px 2px; }
.code-window-title strong { font-family: var(--rd-serif); font-size: 1.15rem; color: var(--rd-text); }
.code-window-title span { color: var(--rd-muted); font-size: 12px; }
.code-window pre { margin: 0; padding: 16px 20px 22px; }
/* 代码文字加深加大，左侧内容更有分量、对比更清晰 */
.code-window code { font-family: var(--rd-mono); font-size: 13px; line-height: 1.75; color: var(--rd-text); white-space: pre; }
.open-source-copy h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin: 0 0 14px; }
.open-source-copy > p { color: var(--rd-text-2); max-width: 52ch; }
.trigix-metrics { display: flex; gap: 32px; margin: 18px 0; padding: 16px 0; border-block: 1px solid var(--rd-line); }
.trigix-metrics strong { display: block; font-family: var(--rd-mono); font-size: 1.7rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--rd-cta); }
.trigix-metrics span { color: var(--rd-muted); font-size: 13px; }
.open-source-list { display: grid; gap: 12px; margin-bottom: 18px; }
.open-source-list strong { color: var(--rd-text); font-weight: 600; }
.open-source-list p { color: var(--rd-text-2); font-size: 0.95rem; margin: 2px 0 0; }
.open-source-actions { display: flex; flex-wrap: wrap; gap: 20px; }
.open-source-copy .open-source-actions a,
.open-source-copy .open-source-actions a + a {
  display: inline; min-height: 0; box-shadow: none;
  background: none; border: none; border-radius: 0; padding: 0 0 2px;
  color: var(--rd-text); font-weight: 600; font-size: 15px;
  text-decoration: none; border-bottom: 1px solid var(--rd-line-strong);
}
.open-source-copy .open-source-actions a:hover,
.open-source-copy .open-source-actions a + a:hover {
  background: none; color: var(--rd-text); border-color: var(--rd-text);
  transform: none; box-shadow: none;
}

/* 服务：不对称 bento，扁平卡（首张大图占双列） */
.services { background: transparent; }
/* 统一对齐的三列扁平网格（去掉空荡的大主卡，行内等高对齐） */
.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.service-card,
.service-card.service-card-primary {
  grid-column: auto;
  grid-row: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-r-sm);
  background: var(--rd-surface);
  overflow: hidden;
  transition: box-shadow 0.2s var(--rd-ease), transform 0.2s var(--rd-ease);
}
.service-card:hover { box-shadow: var(--rd-shadow-hover); transform: translateY(-2px); }
.service-card img,
.service-card.service-card-primary img { width: 100%; height: 184px; object-fit: cover; filter: grayscale(0.3) contrast(0.97); }
.service-index { position: absolute; top: 14px; left: 16px; font-family: var(--rd-mono); font-size: 12px; color: #fff; background: rgba(20,20,19,0.55); padding: 2px 8px; border-radius: var(--rd-r-btn); backdrop-filter: blur(2px); }
.service-card h3 { font-family: var(--rd-serif); font-size: 1.2rem; margin: 20px 22px 8px; }
.service-card > p { color: var(--rd-text-2); font-size: 0.94rem; margin: 0 22px; flex: 1; }
.service-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 22px 22px; }
/* 咨询卡：去掉不搭的蓝色图，用强调色底，作为末位 CTA 卡，行内等高自动拉伸 */
.service-card.message-card { cursor: pointer; background: var(--rd-accent-soft); border-color: transparent; }
.service-card.message-card img { display: none; }
.service-card.message-card .service-index { position: static; align-self: flex-start; margin: 22px 0 0 22px; background: rgba(20,20,19,0.35); }
.service-card.message-card h3 { margin-top: 16px; }
.service-card.message-card:hover { box-shadow: var(--rd-shadow-hover); transform: translateY(-2px); }

/* 流程：水平步骤（细线分隔，序号 mono） */
.home-process { background: transparent; color: var(--rd-text); }
.home-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.home-process-item {
  /* 工程清单式：顶部细线 + 大号 mono 序号，去掉旧卡片框/阴影/圆角与渐变条 */
  border: none;
  border-top: 2px solid var(--rd-text);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  min-height: 0;
  overflow: visible;
  padding: 18px 0 4px;
}
.home-process-item::before { content: none; }  /* 去掉青→金渐变条 */
.home-process-item span {
  display: block;
  width: auto; height: auto; padding: 0; margin: 0;
  background: none; border: none; border-radius: 0;
  font-family: var(--rd-mono); font-size: 1.5rem; font-weight: 600; line-height: 1;
  color: var(--rd-cta); font-variant-numeric: tabular-nums;
}
.home-process-item strong { display: block; margin: 14px 0 8px; font-size: 1.1rem; color: var(--rd-text); }
.home-process-item p { color: var(--rd-text-2); font-size: 0.92rem; margin: 0; }

/* CTA 带：墨色实底（唯一深色块，克制） */
.home-contact-band {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  background: var(--rd-ink);
  border-radius: var(--rd-r);
  padding: clamp(40px, 5vw, 68px) clamp(28px, 4vw, 60px);
  color: #fff;
}
/* 极淡角落光晕增加层次（minimalist 允许的 subtle radial，低透明度） */
.home-contact-band::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(42vw 32vh at 102% -10%, rgba(114, 199, 189, 0.12), transparent 60%);
}
.home-contact-band > div { position: relative; z-index: 1; max-width: 62%; }
.home-contact-band span { color: #8fc6bd; }  /* 淡青强调 eyebrow */
.home-contact-band h2 { color: #fff; font-size: clamp(1.7rem, 3.2vw, 2.6rem); margin: 0 0 12px; }
.home-contact-band p { color: rgba(255,255,255,0.72); margin: 0; max-width: 52ch; }
.home-contact-band button {
  position: relative; z-index: 1;
  font-family: var(--rd-sans); font-weight: 600; font-size: 15px;
  background: var(--rd-cta); color: #fff;
  border: 1px solid var(--rd-cta); border-radius: var(--rd-r-btn);
  padding: 15px 30px; white-space: nowrap;
  transition: transform 0.12s var(--rd-ease), background 0.2s, padding 0.2s;
}
.home-contact-band button::after { content: " \2192"; }  /* 箭头 → */
.home-contact-band button:hover { background: var(--rd-cta-hover); padding-inline: 34px 26px; }
.home-contact-band button:active { transform: scale(0.98); }
@media (max-width: 760px) {
  .home-contact-band > div { max-width: 100%; }
}

/* ============================================================================
   页脚
   ========================================================================== */
/* 整条页脚带：满宽冷浅灰底，与头部呼应；内容仍居中 */
.footer-band {
  background: #f2f3f5;
  border-top: 1px solid var(--rd-line-strong);
}
.footer {
  max-width: var(--rd-container);
  margin: 0 auto;
  /* 覆盖 global.css 的藏蓝深底，改为浅灰带内的居中内容。
     用普通块流（不要 flex column），否则备案的内联 img/a/span 会被拆成竖排。 */
  background: transparent;
  color: var(--rd-muted);
  text-align: left;
  padding: 44px clamp(20px, 5vw, 40px) 56px;
  font-size: 13px;
  line-height: 2;
}
/* 顶部：品牌 + 导航，细线分隔 */
.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px 28px;
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--rd-line);
}
.footer-brand { display: inline-flex; align-items: center; border: none; }
.footer-brand img { height: 30px; opacity: 0.9; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.footer-nav a {
  color: var(--rd-text-2); font-size: 14px; font-weight: 500;
  text-decoration: none; border-bottom: 1px solid transparent;
}
.footer-nav a:hover { color: var(--rd-text); border-color: var(--rd-line-strong); }
/* 法律信息（版权/联系/备案） */
/* 版权信息条：左=版权+联系（一行）, 右=备案（一行）, 窄屏自动换行 */
.footer-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px 28px;
}
.footer-copy { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; }
.footer-copy p { margin: 0; }
.footer-copy p:first-child { color: var(--rd-text-2); }
.footer-beian { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; color: var(--rd-muted); }
.footer-beian img { margin: 0 !important; }
.footer-beian > span { margin-left: 0 !important; }
.footer a { color: var(--rd-text-2); text-decoration: none; border-bottom: 1px solid transparent; }
.footer a:hover { color: var(--rd-text); border-color: var(--rd-line-strong); }
.footer-brand:hover { border: none; }
.footer img { vertical-align: -3px; opacity: 0.75; }
.footer-brand img { vertical-align: middle; }

/* ============================================================================
   滚动入场微动效（配合 reveal.js 的 .rd-reveal / .rd-in）
   ========================================================================== */
.rd-reveal { opacity: 0; transform: translateY(12px); transition: opacity 0.6s var(--rd-ease), transform 0.6s var(--rd-ease); }
.rd-reveal.rd-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .rd-reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

/* ============================================================================
   响应式
   ========================================================================== */
@media (max-width: 900px) {
  .hero-grid,
  .home-product-panel,
  .home-open-source { grid-template-columns: 1fr; }
  .ai-stack-grid { grid-template-columns: 1fr 1fr; }
  .ai-stack-item:nth-child(n) { grid-column: span 1; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .service-card,
  .service-card.service-card-primary { grid-column: span 1; grid-row: auto; }
  .service-card.service-card-primary img { height: 200px; }
  .home-process-grid { grid-template-columns: 1fr 1fr; }
  .home-process-item { border-left: none; padding-left: 0; }
  .hero-trust { flex-wrap: wrap; gap: 22px; }
}
@media (max-width: 560px) {
  .ai-stack-grid,
  .service-grid,
  .home-process-grid { grid-template-columns: 1fr; }
  .trigix-metrics { gap: 22px; }
}

/* ============================================================================
   交互细节优化：按钮 / 内容链接的 hover、active、focus 微动效
   ========================================================================== */
/* 焦点可见环（键盘可达，accessibility） */
.btn:focus-visible,
.hero .btn:focus-visible,
.home-contact-band button:focus-visible,
.home-product-copy .home-product-actions a:focus-visible,
.open-source-copy .open-source-actions a:focus-visible,
.footer a:focus-visible,
.footer-nav a:focus-visible,
.nav-item a:focus-visible,
.navbarrt a:focus-visible {
  outline: 2px solid var(--rd-accent);
  outline-offset: 3px;
  border-radius: 3px;
}

/* 实心主按钮：hover 微抬升 + 轻投影，active 回落；箭头右滑 */
.btn, .hero .btn, .home-contact-band button {
  transition: background .2s var(--rd-ease), transform .18s var(--rd-ease),
              color .2s, border-color .2s, box-shadow .2s;
}
.hero .btn:not(.btn-secondary):not(.btn-ghost):hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(20, 20, 19, .14);
}
.hero .btn:not(.btn-secondary):not(.btn-ghost):active {
  transform: translateY(0) scale(.99);
  box-shadow: none;
}
.hero .btn:not(.btn-secondary):not(.btn-ghost)::after {
  content: "\2192";
  display: inline-block;
  margin-left: 8px;
  transition: transform .2s var(--rd-ease);
}
.hero .btn:not(.btn-secondary):not(.btn-ghost):hover::after { transform: translateX(4px); }

/* 次按钮（描边）：hover 边框转深 + 极淡冷底 + 微抬升 */
.hero .btn.btn-secondary:hover,
.btn.btn-secondary:hover {
  background: var(--rd-surface-2);
  border-color: var(--rd-text);
  color: var(--rd-text);
  transform: translateY(-1px);
}
.hero .btn.btn-secondary:active,
.btn.btn-secondary:active { transform: translateY(0); }

/* 文本按钮（ghost 咨询方案）：hover 文字转深 + 下划线 */
.hero .btn.btn-ghost:hover,
.btn.btn-ghost:hover { color: var(--rd-text); text-decoration: underline; text-underline-offset: 4px; }

/* 中间内容区文本动作链接：箭头滑动 + 下划线由弱转深 */
.home-product-copy .home-product-actions a,
.home-product-copy .home-product-actions a + a,
.open-source-copy .open-source-actions a,
.open-source-copy .open-source-actions a + a {
  display: inline-flex;
  align-items: center;
  transition: color .2s var(--rd-ease), border-color .2s var(--rd-ease);
}
.home-product-copy .home-product-actions a::after,
.open-source-copy .open-source-actions a::after {
  content: "\2192";
  margin-left: 6px;
  font-weight: 500;
  transition: transform .2s var(--rd-ease);
}
.home-product-copy .home-product-actions a:hover::after,
.open-source-copy .open-source-actions a:hover::after { transform: translateX(4px); }

/* 页脚导航链接：hover 文字转深（下划线已有），平滑过渡 */
.footer-nav a { transition: color .2s var(--rd-ease), border-color .2s var(--rd-ease); }

/* ============================================================================
   内容页（about / contact）· .info-page 骨架 —— 覆盖旧青/藏蓝渐变 banner，统一极简
   ========================================================================== */
.info-page { padding-top: clamp(10px, 1.5vw, 22px); padding-bottom: clamp(48px, 6vw, 88px); }
.info-page-shell { max-width: 100%; margin: 0; padding: 0; background: none; border: none; box-shadow: none; }

/* 页头：去渐变/边框/阴影，细线 + 衬线大标题 */
.info-page-hero {
  background: none; border: none; border-radius: 0; box-shadow: none; overflow: visible;
  padding: clamp(20px, 2.5vw, 40px) 0 clamp(20px, 2.5vw, 32px);
  margin-bottom: clamp(28px, 3vw, 44px);
  border-bottom: 1px solid var(--rd-line);
}
.info-page-hero h1 { font-family: var(--rd-serif); font-size: clamp(2rem, 4vw, 3rem); color: var(--rd-text); margin: 14px 0; letter-spacing: -0.02em; }
.info-page-hero p { color: var(--rd-text-2); font-size: 1.05rem; max-width: 64ch; margin: 0; }

/* 双栏：正文 + 侧栏 */
.info-page-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(32px, 4vw, 64px); align-items: start; }

/* 正文富文本 */
.info-page-content { background: none; border: none; padding: 0; color: var(--rd-text-2); }
.info-page-content > p, .contextbox > p { color: var(--rd-text-2); line-height: 1.85; }
.info-page-content h2, .contextbox h2 { font-family: var(--rd-serif); color: var(--rd-text); font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin: 0 0 14px; letter-spacing: -0.01em; }
.info-page-content h3, .contextbox h3 { font-family: var(--rd-serif); color: var(--rd-text); }
.info-page-content a, .contextbox a { color: var(--rd-accent); }

/* 侧栏卡 */
.info-page-aside { display: grid; gap: 14px; }
.info-aside-card {
  border: 1px solid var(--rd-line); border-radius: var(--rd-r-sm);
  background: var(--rd-surface); padding: 18px 20px; box-shadow: none;
}
.info-aside-card span {
  display: inline-block; font-family: var(--rd-mono); font-size: 12px; letter-spacing: .04em;
  color: var(--rd-accent); background: none; padding: 0; margin-bottom: 8px;
}
.info-aside-card strong { display: block; color: var(--rd-text); font-size: 1rem; margin-bottom: 4px; }
.info-aside-card p { color: var(--rd-text-2); font-size: .92rem; margin: 0; line-height: 1.7; }

/* about 区块 */
.about-service-section { margin-top: clamp(28px, 3vw, 48px); }
.about-section-title { margin-bottom: 18px; }
.about-section-title h2 { font-family: var(--rd-serif); color: var(--rd-text); font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin: 8px 0 0; letter-spacing: -0.01em; }
.about-position-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.about-service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.about-position-grid > div, .about-service-item {
  border: 1px solid var(--rd-line); border-radius: var(--rd-r-sm); background: var(--rd-surface);
  padding: 20px; box-shadow: none;
}
.about-position-grid strong, .about-service-item strong { display: block; color: var(--rd-text); margin-bottom: 6px; }
.about-position-grid p, .about-service-item p { color: var(--rd-text-2); font-size: .94rem; margin: 0; line-height: 1.7; }
.about-principle-list { display: grid; gap: 0; }
.about-principle-list > div { border-top: 1px solid var(--rd-line); padding: 14px 0; }
.about-principle-list strong { color: var(--rd-text); }
.about-principle-list p { color: var(--rd-text-2); font-size: .94rem; margin: 4px 0 0; }

/* contact 区块 */
.contact-content-head h2 { font-family: var(--rd-serif); color: var(--rd-text); font-size: clamp(1.5rem, 2.6vw, 2rem); margin: 8px 0 12px; letter-spacing: -0.01em; }
.contact-content-head > p, .contact-copy, .contact-copy p { color: var(--rd-text-2); line-height: 1.85; }
.contact-action-panel {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  margin-top: 28px; padding: 24px 28px;
  background: var(--rd-accent-soft); border: none; border-radius: var(--rd-r);
}
.contact-action-panel strong { display: block; color: var(--rd-text); font-size: 1.1rem; }
.contact-action-panel p { color: var(--rd-text-2); margin: 4px 0 0; }
.contact-action-panel button {
  font-family: var(--rd-sans); font-weight: 600; font-size: 15px;
  background: var(--rd-cta); color: #fff; border: 1px solid var(--rd-cta); border-radius: var(--rd-r-btn);
  padding: 13px 26px; white-space: nowrap; cursor: pointer; box-shadow: none;
  transition: background .2s var(--rd-ease), transform .12s var(--rd-ease);
}
.contact-action-panel button:hover { background: var(--rd-cta-hover); }
.contact-action-panel button:active { transform: scale(.98); }

/* 内容页 eyebrow 小标签（去旧 pill） */
.info-page-hero > span,
.about-section-title > span,
.contact-content-head > span {
  display: inline-block; font-family: var(--rd-sans); font-size: 12px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--rd-muted);
  background: none; border: none; padding: 0; min-height: 0;
}

@media (max-width: 860px) {
  .info-page-layout { grid-template-columns: 1fr; }
  .about-position-grid, .about-service-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .about-position-grid, .about-service-grid { grid-template-columns: 1fr; }
}

/* contact 联系方式列表项：去青色渐变底，改扁平细线卡 + 小强调点 */
.contact-copy > p,
.contact-copy > div > p {
  background: var(--rd-surface);
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-r-sm);
  color: var(--rd-text-2);
  padding: 14px 16px 14px 40px;
}
.contact-copy > p::before,
.contact-copy > div > p::before {
  background: var(--rd-accent);
  box-shadow: none;
  width: 7px; height: 7px; top: 20px; left: 18px;
}

/* ============================================================================
   专家资源页（experts）· .experts-public-* —— 覆盖旧渐变 banner，统一极简
   ========================================================================== */
.experts-public-page { padding-top: clamp(10px,1.5vw,22px); padding-bottom: clamp(48px,6vw,88px); }
.experts-public-shell { max-width: 100%; margin: 0; padding: 0; background: none; border: none; box-shadow: none; }

/* Hero：去渐变，split（文案 + 指标），细线收尾 */
.experts-public-hero {
  display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
  gap: clamp(28px,4vw,56px); align-items: center;
  background: none; border: none; border-radius: 0; box-shadow: none; overflow: visible;
  padding: clamp(22px,3vw,42px) 0 clamp(26px,3vw,40px);
  border-bottom: 1px solid var(--rd-line); margin-bottom: clamp(30px,4vw,52px);
}
.experts-public-hero h1 { font-family: var(--rd-serif); font-size: clamp(2rem,4vw,3rem); color: var(--rd-text); margin: 14px 0; letter-spacing:-0.02em; }
.experts-public-hero-copy p { color: var(--rd-text-2); font-size: 1.05rem; max-width: 56ch; margin: 0; }
/* 去除 hero 底部 teal→amber 渐变条等装饰 */
.experts-public-hero::after, .experts-resource-hero::after, .experts-public-hero::before, .experts-resource-hero::before { display: none !important; }
.experts-public-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.experts-public-metrics { display: grid; gap: 12px; }
.experts-public-metrics div { border: 1px solid var(--rd-line); border-radius: var(--rd-r-sm); padding: 16px 20px; background: var(--rd-surface); }
.experts-public-metrics strong { display: block; font-family: var(--rd-serif); font-size: 1.2rem; color: var(--rd-text); }
.experts-public-metrics span { color: var(--rd-muted); font-size: 13px; }

/* Hero 按钮：submit=实心主按钮，apply=描边 */
.experts-public-btn {
  display: inline-flex; align-items: center; font-family: var(--rd-sans); font-weight: 600; font-size: 15px;
  border-radius: var(--rd-r-btn); padding: 12px 22px; text-decoration: none; cursor: pointer;
  transition: background .2s var(--rd-ease), color .2s, border-color .2s, transform .12s var(--rd-ease);
}
.experts-public-btn-secondary { background: var(--rd-cta); color: #fff; border: 1px solid var(--rd-cta); }
.experts-public-btn-secondary:hover { background: var(--rd-cta-hover); color: #fff; transform: translateY(-1px); }
.experts-public-btn-ghost { background: transparent; color: var(--rd-text); border: 1px solid var(--rd-line-strong); }
.experts-public-btn-ghost:hover { border-color: var(--rd-text); background: var(--rd-surface-2); }
.experts-public-btn:active { transform: scale(.98); }

/* 介绍面板：扁平，内部用细线卡 */
.experts-intro-panel { background: none; border: none; border-radius: 0; box-shadow: none; padding: 0; }
.experts-intro-head h2 { font-family: var(--rd-serif); color: var(--rd-text); font-size: clamp(1.6rem,2.8vw,2.2rem); margin: 10px 0 12px; letter-spacing:-0.01em; }
.experts-intro-head p { color: var(--rd-text-2); max-width: 64ch; font-size: 1.02rem; }
.experts-intro-section { margin-top: clamp(28px,3vw,46px); }
.experts-intro-section-head { margin-bottom: 16px; }
.experts-intro-section-head h3 { font-family: var(--rd-serif); color: var(--rd-text); font-size: 1.3rem; margin: 8px 0 0; }

/* Spotlight：split 细线面板 */
.experts-intro-spotlight {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,3vw,48px); align-items: center;
  border: 1px solid var(--rd-line); border-radius: var(--rd-r); background: var(--rd-surface);
  padding: clamp(24px,3vw,40px); margin: 24px 0;
}
.experts-intro-spotlight h3 { font-family: var(--rd-serif); color: var(--rd-text); font-size: 1.5rem; margin: 8px 0 10px; }
.experts-intro-spotlight > div > p { color: var(--rd-text-2); margin: 0; }
.experts-intro-spotlight dl { display: grid; gap: 0; margin: 0; }
.experts-intro-spotlight dl > div { border-top: 1px solid var(--rd-line); padding: 12px 0; }
.experts-intro-spotlight dl > div:first-child { border-top: none; padding-top: 0; }
.experts-intro-spotlight dt { font-weight: 600; color: var(--rd-text); }
.experts-intro-spotlight dd { margin: 4px 0 0; color: var(--rd-text-2); font-size: .94rem; }

/* 能力网格：4 扁平卡，mono 序号 */
.experts-capability-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.experts-capability-grid article { border: 1px solid var(--rd-line); border-radius: var(--rd-r-sm); padding: 22px 20px; background: var(--rd-surface); transition: box-shadow .2s var(--rd-ease); }
.experts-capability-grid article:hover { box-shadow: var(--rd-shadow-hover); }
.experts-capability-grid strong { font-family: var(--rd-mono); font-size: 1.3rem; font-weight: 600; color: var(--rd-cta); }
.experts-capability-grid h4 { font-family: var(--rd-serif); color: var(--rd-text); margin: 10px 0 6px; font-size: 1.05rem; }
.experts-capability-grid p { color: var(--rd-text-2); font-size: .92rem; margin: 0; line-height: 1.7; }

/* 受众 + 流程 两卡 */
.experts-intro-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 24px; }
.experts-audience-card, .experts-process-card { border: 1px solid var(--rd-line); border-radius: var(--rd-r-sm); padding: 26px; background: var(--rd-surface); }
.experts-intro-audience { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.experts-intro-audience span { font-size: 12px; font-weight: 600; color: var(--rd-accent); background: var(--rd-accent-soft); border-radius: 9999px; padding: 4px 12px; }
.experts-audience-card > p { color: var(--rd-text-2); font-size: .94rem; margin: 0; }
.experts-process-card ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.experts-process-card li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; }
.experts-process-card li span { font-family: var(--rd-mono); color: var(--rd-cta); font-weight: 600; }
.experts-process-card li p { margin: 0; color: var(--rd-text-2); font-size: .94rem; }

/* 需求表单 */
.experts-demand-panel { margin-top: clamp(40px,5vw,72px); border-top: 1px solid var(--rd-line); padding-top: clamp(32px,4vw,56px); }
.experts-demand-head h2 { font-family: var(--rd-serif); color: var(--rd-text); font-size: clamp(1.5rem,2.6vw,2rem); margin: 10px 0 10px; letter-spacing:-0.01em; }
.experts-demand-head p { color: var(--rd-text-2); max-width: 64ch; }
.experts-demand-form { margin-top: 24px; }
.experts-demand-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.experts-demand-field { display: flex; flex-direction: column; gap: 6px; }
.experts-demand-field-full { grid-column: 1 / -1; }
.experts-demand-field > span { font-size: 13px; font-weight: 600; color: var(--rd-text-2); }
.experts-demand-field.is-required > span::after { content: " *"; color: var(--rd-accent); }
.experts-demand-field input,
.experts-demand-field select,
.experts-demand-field textarea {
  font-family: var(--rd-sans); font-size: 15px; color: var(--rd-text);
  background: var(--rd-surface); border: 1px solid var(--rd-line-strong); border-radius: var(--rd-r-btn);
  padding: 11px 13px; width: 100%; outline: none;
  transition: border-color .2s var(--rd-ease), box-shadow .2s var(--rd-ease);
}
.experts-demand-field input:focus,
.experts-demand-field select:focus,
.experts-demand-field textarea:focus { border-color: var(--rd-accent); box-shadow: 0 0 0 3px var(--rd-accent-soft); }
.experts-demand-field textarea { resize: vertical; min-height: 96px; }
.experts-demand-privacy { display: flex; gap: 8px; align-items: flex-start; margin: 18px 0; color: var(--rd-text-2); font-size: .9rem; }
.experts-demand-privacy a { color: var(--rd-accent); }
.experts-demand-actions { display: flex; align-items: center; gap: 14px; }
.experts-demand-actions button {
  font-family: var(--rd-sans); font-weight: 600; font-size: 15px; cursor: pointer;
  background: var(--rd-cta); color: #fff; border: 1px solid var(--rd-cta); border-radius: var(--rd-r-btn);
  padding: 13px 28px; box-shadow: none;
  transition: background .2s var(--rd-ease), transform .12s var(--rd-ease);
}
.experts-demand-actions button:hover { background: var(--rd-cta-hover); }
.experts-demand-actions button:active { transform: scale(.98); }
.experts-demand-actions span { color: var(--rd-muted); font-size: 14px; }
.experts-demand-captcha { margin: 14px 0; }
.experts-demand-captcha button { font-family: var(--rd-sans); font-weight:600; background: var(--rd-surface-2); color: var(--rd-text); border: 1px solid var(--rd-line-strong); border-radius: var(--rd-r-btn); padding: 10px 18px; cursor: pointer; }

/* 专家页所有 eyebrow */
.experts-public-hero .eyebrow,
.experts-intro-head > span,
.experts-intro-section-head > span,
.experts-intro-spotlight > div > span,
.experts-demand-head > span {
  display: inline-block; font-family: var(--rd-sans); font-size: 12px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--rd-muted);
  background: none; border: none; padding: 0; min-height: 0; margin-bottom: 0;
}

@media (max-width: 860px) {
  .experts-public-hero, .experts-intro-spotlight, .experts-intro-bottom { grid-template-columns: 1fr; }
  .experts-capability-grid { grid-template-columns: 1fr 1fr; }
  .experts-demand-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) { .experts-capability-grid { grid-template-columns: 1fr; } }

/* experts 流程序号：去掉 experts.css 的青色实心圆，改 mono 数字 */
.experts-process-card li > span {
  width: auto; height: auto; min-width: 0; padding: 0; margin: 0;
  background: none; border: none; border-radius: 0;
  display: inline; font-family: var(--rd-mono); font-size: 1rem; font-weight: 600; color: var(--rd-accent);
}

/* 导航容器对齐到内容容器（1200 + 同侧内距），消除导航与正文/页脚左右边缘不对齐 */
.headnav-bg > .container {
  max-width: var(--rd-container);
  padding-inline: clamp(20px, 5vw, 40px);
}

/* 清理 about/contact 残留的青色装饰（色条/弧线/底线/渐变底），统一扁平细线卡 */
.about-position-grid div::before,
.about-service-item::before,
.about-service-item::after,
.contact-aside-card::after,
.info-aside-card::after { content: none !important; }
.about-service-item,
.about-position-grid > div,
.info-aside-card,
.contact-aside-card { background: var(--rd-surface) !important; }
/* 去掉富文本/区块标题 h2 下的青色短下划线，改纯净标题 */
.info-page-content h2::after,
.contact-content-head h2::after,
.contact-copy h2::after,
.about-section-title h2::after { content: none !important; }

/* 清理内容页残留：contextbox 卡片边框+顶部青条、hero 斜线装饰、h2 青下划线 */
.contextbox::before,
.info-page-hero::before,
.info-page-hero::after,
.info-page-content h1::after,
.info-page-content h2::after,
.contextbox h2::after { content: none !important; }
.info-page-content,
.info-page-content.contextbox,
.contact-content.contextbox,
.contextbox {
  background: none !important; border: none !important; padding: 0 !important; box-shadow: none !important;
}
/* single 内容页标题：居中改左对齐 + 衬线 */
.contextbox h1 { text-align: left !important; font-family: var(--rd-serif); font-weight: 560; color: var(--rd-text); letter-spacing: -0.02em; }

/* about 交付原则项：去青色左竖条 + 青边框/渐变底，改顶部细线扁平条目 */
.about-principle-list div::before { content: none !important; }
.about-principle-list > div {
  border: none !important; border-top: 1px solid var(--rd-line) !important;
  border-radius: 0 !important; background: none !important; box-shadow: none !important;
  padding: 14px 0 !important;
}
.about-principle-list > div strong { color: var(--rd-text); }
.about-principle-list > div p { color: var(--rd-text-2); }

/* ============================================================
   CMS 前台模板页（登录 / 注册 / 日历 等）——覆盖各页字面 teal 渐变与装饰
   token 已在上方 :root 重映射，此处仅清理渐变/装饰/深色块
   ============================================================ */

/* ---------- 登录 login.css ---------- */
.login-container {
  background: var(--rd-surface) !important;
  border: 1px solid var(--rd-line) !important;
  border-radius: var(--rd-r) !important;
  box-shadow: none !important;
}
.login-container::before { display: none !important; }   /* teal 顶条 */
.login-container::after { display: none !important; }    /* 网格/斜纹装饰 */
.login-visual {
  background: var(--rd-surface-2) !important;
  border: 1px solid var(--rd-line) !important;
  box-shadow: none !important;
}
.login-visual span { color: var(--rd-accent); }
.login-container h1 { font-family: var(--rd-serif); font-weight: 560; letter-spacing: -0.02em; }
/* 登录方式 tab：实心 teal 块 → 下划线指示（去掉与陶土主按钮抢色） */
.tab-menu { gap: 2px; margin-bottom: 22px; }
.tab-menu button {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: var(--rd-muted) !important;
  padding: 8px 10px !important;
  margin: 0 8px !important;
  font-weight: 600;
  transition: color .2s, border-color .2s;
}
.tab-menu button:hover { color: var(--rd-text) !important; }
.tab-menu button.active {
  background: transparent !important;
  color: var(--rd-text) !important;
  border-bottom: 2px solid var(--rd-cta) !important;
}
.form-group input:focus {
  border-color: var(--rd-text) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(20, 20, 19, 0.08) !important;
}
/* 陶土主按钮 / 次按钮 */
.submit-btn, .refresh-btn {
  background: var(--rd-cta) !important;
  color: #fff !important;
  border: 1px solid var(--rd-cta) !important;
  box-shadow: none !important;
}
.submit-btn:hover, .refresh-btn:hover {
  background: var(--rd-cta-hover) !important;
  box-shadow: none !important;
  transform: none !important;
}
.button-container button {   /* 生成验证码 = 次按钮 */
  color: var(--rd-text) !important;
  background: var(--rd-surface) !important;
  border: 1px solid var(--rd-line-strong) !important;
}
.button-container button:hover {
  border-color: var(--rd-text) !important;
  background: var(--rd-surface-2) !important;
}

/* ---------- 注册 reg.css（reg / experts_reg） ---------- */
.expert-reg-intro {
  color: #f4f4f2 !important;
  background: var(--rd-ink) !important;   /* 深色 teal 渐变 → 实心 ink 侧栏 */
  border-radius: var(--rd-r) !important;
}
.expert-reg-intro::after { display: none !important; }   /* 圆弧装饰 */
.expert-reg-intro::before { display: none !important; }  /* 网格装饰 */
.expert-reg-kicker { color: #b9c6c6 !important; letter-spacing: 0.1em; }
.expert-reg-intro h1 { color: #fff !important; font-family: var(--rd-serif); font-weight: 560; }
.expert-reg-intro > p { color: #c9cbce !important; }
.expert-reg-steps span {
  color: #141413 !important;
  background: #fff !important;
  font-family: var(--rd-mono); font-weight: 500;
}

/* ---------- 日历 calendar（字面绿色 #18a058 → teal/ink） ---------- */
.wnl-ctrl button:hover, .wnl-ctrl select:hover { border-color: var(--rd-accent) !important; color: var(--rd-accent) !important; }
.wnl-today { background: var(--rd-cta) !important; border-color: var(--rd-cta) !important; color: #fff !important; }
.wnl-today:hover { background: var(--rd-cta-hover) !important; border-color: var(--rd-cta-hover) !important; color: #fff !important; }
.wnl-cell.today { background: var(--rd-accent-soft) !important; }
.wnl-cell.today .wnl-d { color: var(--rd-accent) !important; }
.wnl-cell.sel { box-shadow: inset 0 0 0 2px var(--rd-accent) !important; }
.wnl-sub.term { color: var(--rd-accent) !important; }
.wnl-detail .dt-gz { color: var(--rd-accent) !important; }
.wnl-add-cell { background: var(--rd-cta) !important; }
.wnl-add-cell:hover { background: var(--rd-cta-hover) !important; }
.wnl-detail .dt-add button { border-color: var(--rd-accent) !important; color: var(--rd-accent) !important; }
.wnl-detail .dt-add button:hover { background: var(--rd-accent) !important; color: #fff !important; }
.wnl-mrow .mt.t1 { background: var(--rd-accent) !important; }
.wnl-field input:focus, .wnl-field select:focus, .wnl-field textarea:focus { border-color: var(--rd-accent) !important; outline: none; }

/* ---------- 个人中心 profile（API 令牌 UI 的绿色 #18a058 → ink/teal） ---------- */
.api-btn { background: var(--rd-cta) !important; border-color: var(--rd-cta) !important; color: #fff !important; }
.api-btn:hover { background: var(--rd-cta-hover) !important; }
.api-trow .api-tstat.on { background: var(--rd-accent-soft) !important; color: var(--rd-accent) !important; }
.api-tacts button:hover, .api-tval button:hover { border-color: var(--rd-accent) !important; color: var(--rd-accent) !important; }

/* ---------- 内网穿透 tunnel_product.css（深色 hero/CTA → 纯白冷调） ---------- */
.tunnel-hero { color: var(--rd-text) !important; background: var(--rd-bg) !important; border-bottom: 1px solid var(--rd-line); min-height: auto !important; }
.tunnel-hero-media { display: none !important; }   /* 深色背景图 */
.tunnel-hero-inner { min-height: auto !important; padding: 96px 18px 72px; }
.tunnel-hero-copy span, .tunnel-section-head span, .tunnel-flow > div span, .tunnel-cta span { color: var(--rd-accent) !important; letter-spacing: 0.1em; font-weight: 600; }
.tunnel-hero-copy h1 { color: var(--rd-text) !important; font-family: var(--rd-serif); font-weight: 580; letter-spacing: -0.02em; font-size: clamp(40px, 5.4vw, 60px); }
.tunnel-hero-copy p { color: var(--rd-text-2) !important; }
/* 按钮：次按钮基底 + ink 主按钮 */
.tunnel-hero-actions a, .tunnel-cta-actions a {
  color: var(--rd-text) !important; background: var(--rd-surface) !important;
  border: 1px solid var(--rd-line-strong) !important; font-weight: 600;
}
.tunnel-hero-actions a:first-child, .tunnel-cta-actions a:first-child {
  color: #fff !important; background: var(--rd-cta) !important; border-color: var(--rd-cta) !important;
}
.tunnel-hero-actions a:hover, .tunnel-cta-actions a:hover { background: var(--rd-surface-2) !important; border-color: var(--rd-text) !important; color: var(--rd-text) !important; }
.tunnel-hero-actions a:first-child:hover, .tunnel-cta-actions a:first-child:hover { background: var(--rd-cta-hover) !important; border-color: var(--rd-cta-hover) !important; color: #fff !important; }
/* 右侧控制台面板：浅色 faux-window */
.tunnel-console { background: var(--rd-surface) !important; border: 1px solid var(--rd-line) !important; box-shadow: var(--rd-shadow) !important; backdrop-filter: none !important; }
.tunnel-console-head { border-bottom: 1px solid var(--rd-line) !important; }
.tunnel-console-head strong { color: var(--rd-text) !important; }
.tunnel-console-head span { background: var(--rd-accent-soft) !important; color: var(--rd-accent) !important; }
.tunnel-console dt { color: var(--rd-muted) !important; }
.tunnel-console dd { color: var(--rd-text) !important; font-family: var(--rd-mono); }
/* 统计条：深色 → 浅灰 */
.tunnel-strip { background: var(--rd-surface-2) !important; border-top: 1px solid var(--rd-line); border-bottom: 1px solid var(--rd-line); }
.tunnel-strip span { color: var(--rd-text-2) !important; }
.tunnel-strip i { color: var(--rd-cta) !important; }
/* 提示条：对齐 redesign 黄色 pastel */
.tunnel-notice { background: var(--rd-pale-yellow-bg) !important; border-color: #f0e3bf !important; }
.tunnel-notice-inner { color: var(--rd-pale-yellow-fg) !important; }
.tunnel-notice i { color: var(--rd-pale-yellow-fg) !important; }
/* 区块 */
.tunnel-band { background: var(--rd-surface-2) !important; }
.tunnel-section-head h2, .tunnel-flow h2, .tunnel-cta h2 { color: var(--rd-text); font-family: var(--rd-serif); font-weight: 560; letter-spacing: -0.02em; }
.tunnel-scenario-grid article, .tunnel-feature-grid article, .tunnel-flow li { border: 1px solid var(--rd-line) !important; background: var(--rd-surface) !important; }
.tunnel-scenario-grid i, .tunnel-feature-grid i { color: var(--rd-cta) !important; }
.tunnel-scenario-grid h3, .tunnel-feature-grid h3, .tunnel-flow strong { color: var(--rd-text) !important; }
.tunnel-scenario-grid p, .tunnel-feature-grid p, .tunnel-flow p { color: var(--rd-text-2) !important; }
.tunnel-flow li::before { background: var(--rd-surface-2) !important; color: var(--rd-text) !important; font-family: var(--rd-mono); font-weight: 500; }
/* 底部 CTA：实心 ink 收尾带 */
.tunnel-cta { background: var(--rd-ink) !important; }
.tunnel-cta h2 { color: #fff !important; }
.tunnel-cta span { color: #b9c6c6 !important; }
.tunnel-cta .tunnel-cta-actions a:first-child { background: var(--rd-cta) !important; color: #fff !important; border-color: var(--rd-cta) !important; }
.tunnel-cta .tunnel-cta-actions a:first-child:hover { background: var(--rd-cta-hover) !important; border-color: var(--rd-cta-hover) !important; }
.tunnel-cta .tunnel-cta-actions a:not(:first-child) { color: #fff !important; background: transparent !important; border-color: rgba(255,255,255,.4) !important; }

/* ============================================================
   弹窗 / 弹层（合作留言 modal · layer.js 弹层 · 遮罩）
   ============================================================ */
/* 遮罩：中性墨色 scrim（原为偏蓝） */
.overlay { background-color: rgba(20, 20, 19, 0.42); }

/* 合作留言 modal */
.contact-form {
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-r);
  box-shadow: 0 24px 60px rgba(20, 20, 19, 0.18);
}
.contact-form h2 { font-family: var(--rd-serif); font-weight: 560; letter-spacing: -0.01em; color: var(--rd-text); }
.contact-form input, .contact-form textarea {
  background: var(--rd-surface); border: 1px solid var(--rd-line-strong); border-radius: var(--rd-r-btn);
}
.contact-form input:focus, .contact-form textarea:focus {
  border-color: var(--rd-text); box-shadow: 0 0 0 3px rgba(20, 20, 19, 0.08);
}
/* 提交 = 陶土主按钮；生成验证码 = 次按钮 */
.contact-form button[type="submit"] {
  background: var(--rd-cta); border: 1px solid var(--rd-cta); box-shadow: none;
}
.contact-form button[type="submit"]:hover { background: var(--rd-cta-hover); box-shadow: none; transform: none; }
.contact-form .button-container button {
  color: var(--rd-text); background: var(--rd-surface); border: 1px solid var(--rd-line-strong); box-shadow: none;
}
.contact-form .button-container button:hover { border-color: var(--rd-text); background: var(--rd-surface-2); transform: none; box-shadow: none; }
.contact-form .close-btn:hover { color: var(--rd-text); }

/* layer.js 弹层：确认按钮蓝(#1E9FFF) → 陶土；标题栏/圆角中性化（用 !important 兜住运行时注入的皮肤） */
.layui-layer { border-radius: var(--rd-r-sm) !important; box-shadow: 0 24px 60px rgba(20, 20, 19, 0.18) !important; }
.layui-layer-title { background: var(--rd-surface-2) !important; color: var(--rd-text) !important; border-bottom: 1px solid var(--rd-line) !important; font-weight: 600; }
.layui-layer-btn .layui-layer-btn0 { background-color: var(--rd-cta) !important; border-color: var(--rd-cta) !important; color: #fff !important; }
.layui-layer-btn .layui-layer-btn1 { border-color: var(--rd-line-strong) !important; color: var(--rd-text) !important; background: var(--rd-surface) !important; }
.layui-layer-setwin .layui-layer-close2, .layui-layer-page .layui-layer-close1 { color: var(--rd-muted); }

/* ---------- 滑块验证码 captcha.css（teal → 主题：滑块=陶土，框/轨道中性） ---------- */
.captcha-box { border-color: var(--rd-line); box-shadow: var(--rd-shadow); background: var(--rd-surface); }
.cap-header { color: var(--rd-text); }
.cap-body { background: var(--rd-surface-2); border-color: var(--rd-line); }
.cap-drag-line { background: var(--rd-surface-2); border-color: var(--rd-line); }
.cap-icon-block { color: var(--rd-text-2); border-color: var(--rd-line-strong); }
.cap-icon-block:hover { color: var(--rd-cta); border-color: var(--rd-cta); background: var(--rd-cta-soft); }
.cap-loading svg { color: var(--rd-cta); fill: var(--rd-cta); }
.cap-drag-block { background: var(--rd-cta); box-shadow: 0 8px 18px rgba(177, 84, 47, 0.28); }
.cap-drag-block:hover { box-shadow: 0 10px 22px rgba(177, 84, 47, 0.32); }
.cap-drag-block.disabled { background: #cdb6ac; border-color: #cdb6ac; box-shadow: none; }
