/* ZClaw 局部修正样式
   独立文件，必须在 zclaw.css 之后引入；避免主样式被整体重写时丢失
   用途：去线条化（分隔线 → 留白 / 浅色块）、首屏右侧方块卡 */

/* ① 首屏：去掉左右分栏之间的竖线 */
.zw-hero-copy,
.zw-page-hero .zw-hero-copy {
  border-right: 0;
}

/* ② 首屏右侧卡片：按内容自适应、圆角方块、四周留白 */
@media (min-width: 961px) {
  .zw-hero-grid {
    align-items: center;
    grid-template-columns: minmax(0, 6.1fr) minmax(0, 5.9fr);
    column-gap: clamp(24px, 4vw, 56px);
  }

  .zw-hero-visual {
    align-self: center;
    justify-self: end;
    width: 100%;
    max-width: 580px;
    min-height: 430px;
    border-radius: 18px;
    margin-block: clamp(12px, 2vw, 28px);
    padding: clamp(20px, 2.2vw, 30px);
  }
}

/* ③ 数据带：去掉上下贯穿线 */
.zw-band,
.zw-band--tint {
  border-top: 0;
  border-bottom: 0;
  background: transparent;
}

/* ④ 四项数据：无描边的浅色方块 */
.zw-proof {
  border-left: 0;
  gap: 16px;
}

.zw-proof > div,
.zw-proof > div:first-child,
.zw-proof > div:nth-child(n + 3) {
  border: 0;
  border-radius: 14px;
  background: var(--surface, #f3f4f6);
  padding: 26px clamp(18px, 2vw, 26px);
}

@media (max-width: 960px) {
  .zw-proof {
    gap: 12px;
  }
}

@media (max-width: 720px) {
  .zw-hero-visual {
    border-radius: 14px;
  }

  .zw-proof > div {
    padding-inline: 18px;
  }
}

/* ===== 六大能力：静态倾斜 + 近大远小的 3D 卡片堆（替换公转圆环） ===== */
.zw-orbit {
  min-height: auto;
  padding: clamp(28px, 4.5vw, 64px) 0 clamp(20px, 3vw, 40px);
  perspective: 1600px;
  perspective-origin: 50% 46%;
}
/* 隐藏圆环地面与中心球，只留卡片堆 */
.zw-orbit-plane,
.zw-orbit-core { display: none; }

/* 轨道改成静态横向排布，整体倾斜 */
.zw-orbit-track {
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateX(-8px) rotateX(10deg) rotateY(-11deg) rotateZ(2deg) scale(0.78);
  transform-style: preserve-3d;
  animation: none;
}

/* 每张卡按顺序给不同的缩放 / 深度 / 垂直位移，形成近大远小 */
.zw-orbit-node {
  position: relative;
  left: auto;
  top: auto;
  width: auto;
  height: auto;
  transform-style: preserve-3d;
  transform: translateY(var(--ty, 0)) translateZ(var(--tz, 0)) scale(var(--sc, 1));
  margin-inline: -10px;
  z-index: var(--z, 1);
  transition: transform 0.25s var(--ease, ease), z-index 0s;
}
.zw-orbit-node:nth-child(1) { --sc: 0.70; --tz: -180px; --ty: 34px; --z: 1; }
.zw-orbit-node:nth-child(2) { --sc: 0.82; --tz: -95px;  --ty: 16px; --z: 2; }
.zw-orbit-node:nth-child(3) { --sc: 0.95; --tz: 0;      --ty: 2px;  --z: 3; }
.zw-orbit-node:nth-child(4) { --sc: 1.08; --tz: 70px;   --ty: -10px; --z: 5; }
.zw-orbit-node:nth-child(5) { --sc: 0.90; --tz: 20px;   --ty: 10px;  --z: 4; }
.zw-orbit-node:nth-child(6) { --sc: 0.78; --tz: -85px;  --ty: 20px; --z: 2; }

/* 悬停放大并置顶 */
.zw-orbit-node:hover,
.zw-orbit-node:focus-visible {
  --sc: 1.14;
  --ty: -14px;
  --tz: 90px;
  z-index: 9;
}

.zw-orbit-holder { position: static; transform: none; }
.zw-orbit-card {
  width: clamp(118px, 12vw, 148px);
  height: clamp(94px, 9.4vw, 116px);
}
/* 取消反向自转，文字不再需要抵消 */
.zw-orbit-face { animation: none; }

@media (max-width: 720px) {
  .zw-orbit-track { transform: rotateX(8deg) rotateY(-10deg) scale(0.82); }
  .zw-orbit-node { margin-inline: -18px; }
  .zw-orbit-node:nth-child(2) { --tz: -80px; --sc: 0.8; }
  .zw-orbit-node:nth-child(5) { --tz: 0; --sc: 0.86; }
  .zw-orbit-node:nth-child(6) { --tz: -80px; --sc: 0.74; }
}
/* ===== 2026-11-13 第二轮：logo 图标 / 数据带去线条与下留白 ===== */
/* 首屏展示卡头部：用 logo 替代四宫格图标 */
.zw-show-logo {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border-radius: 8px;
  object-fit: contain;
  background: #fff;
  padding: 3px;
}

/* 数据带：去掉贯穿线，方块与下方留出距离 */
.zw-band,
.zw-band--tint {
  border: 0 !important;
  background: transparent;
}
.zw-band .zw-wrap {
  padding-block: clamp(10px, 1.2vw, 18px) clamp(34px, 4vw, 56px);
}
.zw-band + .zw-sec {
  border-top: 0 !important;
}
.zw-proof {
  margin-bottom: 0;
}
/* 全站去掉区块之间的横线（首屏底边、数据带、通用区块） */
.zw-hero,
.zw-band,
.zw-band--tint,
.zw-sec {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
/* 下拉菜单：选中项文字与底色高亮 */
.zw-sub a.on {
  background: var(--accent-soft, #e8eef7);
  color: var(--accent, #185fa5);
  font-weight: 600;
}
.zw-sub a.on em { color: var(--accent, #185fa5); opacity: 0.75; }
.zw-sub a.on::after {
  content: "";
  float: right;
  width: 6px;
  height: 6px;
  margin-top: 6px;
  border-radius: 50%;
  background: var(--accent, #185fa5);
}
.zw-mobile a.on,
.zw-mobile .zw-sub a.on { color: var(--accent, #185fa5); font-weight: 600; }
/* 下拉菜单：hover 与当前项都要高亮文字（覆盖 zclaw.css 里 "hover 只换底色" 的规则） */
.zw-sub a:hover,
.zw-sub a:focus-visible {
  background: var(--surface-2, #edf1f5);
  color: #0b57a4;
  font-weight: 600;
}
.zw-sub a.on,
.zw-sub a.on:hover {
  background: #e8f0fa;
  color: #0b57a4;
  font-weight: 600;
  box-shadow: inset 3px 0 0 #0b57a4;
}
.zw-sub a:hover em,
.zw-sub a.on em {
  color: #0b57a4;
  opacity: 0.78;
}
.zw-mobile a:hover,
.zw-mobile a.on {
  color: #0b57a4;
  font-weight: 600;
}
/* 信息列表：移除英文小标后，中文标题不换行；英文标题更长（Data & knowledge governance），
   必须允许换行，否则会溢出到右侧说明列把文字压住 */
html[lang="zh-cn"] .zw-layer > b { white-space: nowrap; }

/* 去掉英文小标后：zw-layer 少一列，收掉 44px 的空列，避免标题与内容重叠 */
.zw-layer:not(:has(.zw-lvl)) {
  grid-template-columns: minmax(0, 9em) minmax(0, 1fr);
}
/* ===== 六大业务能力 · 能力矩阵（替换原 3D 卡片堆） ===== */
.zw-cap {
  background: var(--white, #fff);
  border-radius: 18px;
  padding: clamp(20px, 2.2vw, 30px);
  min-width: 0;
}
.zw-cap-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 10px;
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(10, 42, 74, 0.09);
}
.zw-cap-head b {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--ink, #0a2a4a);
  letter-spacing: 0;
}
.zw-cap-head span {
  font-size: 0.75rem;
  color: var(--dim, #8a97a6);
  letter-spacing: 0.02em;
}
.zw-cap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.zw-cap-grid li {
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--surface, #f6f8fa);
  transition: background-color 0.18s ease, transform 0.18s ease;
}
.zw-cap-grid li:hover {
  background: #eef3f9;
  transform: translateY(-1px);
}
.zw-cap-grid li b {
  display: block;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ink, #0a2a4a);
}
.zw-cap-grid li span {
  display: block;
  margin-top: 3px;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--mute, #5b6b7c);
}

@media (max-width: 1080px) {
  .zw-cap-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .zw-cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .zw-cap { padding: 18px; border-radius: 14px; }
  .zw-cap-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .zw-cap-grid li { padding: 12px 14px; }
}
/* ===== 内容区加宽：1280 → 1400（大屏更饱满，小屏不变） ===== */
:root { --container: 1400px; }
/* ===== 卡片首图：解除全局 img{max-width:100%} 限制，做满宽出血并左右对称 ===== */
.zw-tile > .zw-tile-img,
.zw-tile-img {
  max-width: none;
  width: calc(100% + 2 * clamp(18px, 2vw, 26px));
  margin: calc(-1 * clamp(20px, 2.2vw, 30px)) calc(-1 * clamp(18px, 2vw, 26px)) 20px;
  border-radius: var(--radius-panel) var(--radius-panel) 0 0;
  object-fit: cover;
}
/* ===== 行业方案：横向滚动卡片条（撑满内容区宽度，可拖拽 / 滚轮横滑） ===== */
.zw-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(230px, 25vw, 320px);
  gap: clamp(14px, 1.4vw, 22px);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--pad);
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 2px var(--pad) 14px;
  margin-inline: calc(-1 * var(--pad));
  cursor: grab;
  overscroll-behavior-x: contain;
}
.zw-rail::-webkit-scrollbar { display: none; }
.zw-rail.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.zw-rail > * { scroll-snap-align: start; }
.zw-rail:focus-visible { outline: 2px solid var(--blue, #185fa5); outline-offset: 4px; }
.zw-rail .zw-tile { min-width: 0; }

@media (max-width: 720px) {
  .zw-rail { grid-auto-columns: 78vw; }
}
/* 滚动条内卡片：等高对齐，底部链接压到底 */
.zw-rail { align-items: stretch; }
.zw-rail > .zw-tile { height: 100%; }
.zw-rail > .zw-tile > .zw-link:last-child { margin-top: auto; }
/* 自动轮播：关闭 scroll-snap，避免与匀速滚动互相拉扯 */
.zw-rail--auto { scroll-snap-type: none; cursor: default; }
.zw-rail--auto > * { scroll-snap-align: none; }
/* ===== CTA 区块：被塞进正文容器时，正文的字色会盖掉深底上的浅字，这里兜住 ===== */
.zw-cta h2,
.zw-cta h3,
.zw-cta h4 { color: #fff !important; }
.zw-cta p,
.zw-cta li,
.zw-cta dt { color: rgba(226, 235, 245, 0.85) !important; }
.zw-cta dd,
.zw-cta b,
.zw-cta strong { color: #fff !important; }
.zw-cta .zw-btn--primary {
  background: #fff !important;
  border-color: #fff !important;
  color: #0a2a4a !important;
}
.zw-cta .zw-btn--primary:hover { background: #eef3f9 !important; }
.zw-cta .zw-spec-row { border-bottom-color: rgba(255, 255, 255, 0.14); }
.zw-cta .zw-spec-status { color: rgba(226, 235, 245, 0.72) !important; }
/* ===== 知识中心文章详情：标题区与正文统一 860px 居中 ===== */
.zw-article-head,
.zw-article-body .zw-wrap {
  max-width: 860px;
}

.zw-article-head h1 {
  margin: 12px 0 16px;
  font-size: clamp(1.75rem, 3.2vw, 2.6rem);
  line-height: 1.28;
}

.zw-article-lead {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.72;
  color: var(--mute);
}

/* 正文自带 zw-sec，压掉多余上下留白并去掉分隔线 */
.zw-article-body .zw-sec {
  padding-block: 28px 0;
  border-bottom: 0;
}

/* 正文 section 底 padding 是 0，这里补一段留白，避免最后一行文字贴住下方深色 CTA */
.zw-article-body {
  padding-bottom: clamp(48px, 5vw, 80px);
}

.zw-article-body .zw-prose {
  max-width: none;
}

.zw-article-body .zw-prose h2 {
  margin-top: 34px;
}

.zw-article-body .zw-prose p,
.zw-article-body .zw-prose li {
  color: var(--text, #2b3440);
}

.zw-article-body .zw-prose p { font-size: 1.0625rem; }
/* 深色 CTA 里的描边按钮：默认是深字深边，在深底上等于看不见 */
.zw-cta .zw-btn--ghost {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: transparent !important;
}
.zw-cta .zw-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
}
/* ===== 表单：必填红星 / 校验红框 / 标签与间距优化 ===== */
.zw-form { gap: 18px; }
.zw-field { gap: 7px; }
.zw-field > span {
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--ink-soft, #173f66);
}
.zw-field .zw-req {
  margin-left: 3px;
  font-style: normal;
  font-weight: 600;
  color: #d92d20;
}
.zw-field input,
.zw-field textarea {
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}
.zw-field input:hover,
.zw-field textarea:hover { border-color: #b9c6d4; }
.zw-field.is-invalid input,
.zw-field.is-invalid textarea {
  border-color: #d92d20 !important;
  background: #fff8f7 !important;
}
.zw-field.is-invalid input:focus,
.zw-field.is-invalid textarea:focus {
  border-color: #d92d20 !important;
  box-shadow: 0 0 0 3px rgba(217, 45, 32, 0.14) !important;
}
.zw-field-err {
  display: block;
  margin-top: -2px;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #d92d20;
}
.zw-form > .zw-btn,
.zw-form > button[type="submit"] { margin-top: 4px; }
@media (max-width: 720px) {
  .zw-field input,
  .zw-field textarea { min-height: 44px; font-size: 1rem; }
}
/* ===== 导航：菜单在整条导航里居中（品牌左、操作右） ===== */
@media (min-width: 1041px) {
  .zw-nav-in {
    position: relative;
    display: flex;
  }
  .zw-nav-in > .zw-logo { white-space: nowrap; }
  .zw-nav-in > .zw-menu {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin-left: 0;
  }
  .zw-nav-in > .zw-nav-act { margin-left: auto; }
}

/* ===== 英文站导航：菜单项比中文长（AI Knowledge Center / Industry Solutions），
   绝对居中的菜单会压到右侧 Book a Demo 按钮。这里改成 logo 与操作区之间的
   流式居中并收紧间距；再窄的宽度直接切移动菜单，避免重叠 ===== */
@media (min-width: 1041px) {
  html[lang="en"] .zw-nav-in {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 24px;
  }
  html[lang="en"] .zw-nav-in > .zw-menu {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    justify-self: center;
    gap: 16px;
  }
  html[lang="en"] .zw-nav-in > .zw-nav-act { justify-self: end; margin-left: 0; }
}

@media (min-width: 1041px) and (max-width: 1399px) {
  html[lang="en"] .zw-menu,
  html[lang="en"] .zw-nav-act { display: none; }
  html[lang="en"] .zw-mobile { display: block; position: relative; }
  html[lang="en"] .zw-mobile > details > summary {
    position: absolute;
    right: var(--pad);
    top: -47px;
    padding: 6px 10px;
    font-size: 0.8125rem;
    color: var(--ink);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-control);
  }
}

/* 1041–1180 之间菜单较宽，收一点间距避免和左右两侧贴住 */
@media (min-width: 1041px) and (max-width: 1180px) {
  .zw-nav-in > .zw-menu { gap: 14px; }
  .zw-nav-in > .zw-menu > li > a { font-size: 0.8125rem; }
}
/* ===== 客户案例：2 列网格 → 可鼠标拖动的横向滑动列表（复用 zclaw-rail.js） ===== */
.zw-cases.zw-rail {
  grid-template-columns: none;
  grid-auto-columns: clamp(280px, 30%, 400px);
  gap: clamp(16px, 1.6vw, 24px);
  padding: 2px 0 14px;
  margin-inline: 0;
  scroll-padding-inline: 0;
}
.zw-cases.zw-rail > .zw-case { height: 100%; }

@media (max-width: 720px) {
  .zw-cases.zw-rail { grid-auto-columns: 78vw; }
}

/* ===== 横向滚动条铺满视口：--rail-bleed 由 JS 按容器左边距实时写入 ===== */
.zw-rail--bleed {
  margin-inline: calc(-1 * var(--rail-bleed, 0px));
  padding-inline: var(--rail-bleed, var(--pad));
}