/* ============================================================
   顶部导航 (page-about: 深色 banner 上白字白 logo, 滚动后白底深字)
   ============================================================ */
body.page-about .site-header { background: transparent; }
body.page-about .site-header .navbar > li > a { color: #fff; }
body.page-about .site-header .navbar > li.active > a { color: #2168E5; }
body.page-about .site-header .navbar > li > a:hover { color: rgba(255, 255, 255, .75); }
body.page-about .site-header .vr-pill { border-color: rgba(255, 255, 255, .6); color: #fff; }
body.page-about .site-header:not(.is-scrolled):not(.dd-open) .icon-btn img { filter: brightness(0) invert(1); }
body.page-about .site-header:not(.is-scrolled):not(.dd-open) .nav-toggle span { background: #fff; }
/* 滚动/打开下拉 后白底深字 (is-scrolled 基础样式在 header.css) */
body.page-about .site-header.is-scrolled,
body.page-about .site-header.dd-open { background: #fff; box-shadow: inset 0 -1px 0 0 #EBEBEB; }
body.page-about .site-header.is-scrolled .navbar > li > a,
body.page-about .site-header.dd-open .navbar > li > a { color: #2E3033; }
body.page-about .site-header.is-scrolled .navbar > li.active > a,
body.page-about .site-header.dd-open .navbar > li.active > a { color: #2168E5; }
body.page-about .site-header.is-scrolled .navbar > li > a:hover,
body.page-about .site-header.dd-open .navbar > li > a:hover { color: #2168E5; }
/* 滚动/下拉白底时 vr-pill 变深色 (否则白字白框在白底不可见) */
body.page-about .site-header.is-scrolled .vr-pill,
body.page-about .site-header.dd-open .vr-pill {
  border-color: #5C6066;
  color: #2E3033;
}

/* ============================================================
   关于我们-公司简介 (设计稿 694:5673, 1920 基准)
   ============================================================ */

/* ---------- 通用标题 ---------- */
.ab-sec-title {
  font-size: 36px;
  font-weight: 749;
  line-height: 40px;          /* 与中文站一致 (原 normal) */
  color: #fff;
  text-align: center;
}
.ab-sec-title-dark {
  color: #232426;
}

/* ============================================================
   区块1: 头部 banner (1920×960)
   ============================================================ */
.ab-banner {
  position: relative;
  min-height: 100vh;          /* 与中文站一致: 首屏占满一屏 (原 960px) */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #101114;
}
.ab-banner-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .55;
}
.ab-banner-inner {
    /* 与中文站一致: 不设 position, 让绝对定位的服务卡以 .ab-banner 为基准 (原 relative) */
    z-index: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    padding: 64px 0;   /* 顶部留白避开固定 header */
}
.ab-banner-title {
  font-size: 48px;
  font-weight: 749;
  line-height: 72px;
  color: #fff;
  text-align: center;
}
.ab-banner-video {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: 48px;
  padding: 0 20px;
  border-radius: 100px;
  background: #fff;
  color: #fff;
  text-decoration: none;
}
.ab-banner-video .ab-play-ic {
  width: 40px;
  height: 40px;
  margin-left: -6px;
}
.ab-banner-video span {
  font-size: 14px;
  font-weight: 513;
  line-height: 24px;
  color: #232426;
}
.ab-banner-services {
  position: absolute;         /* 与中文站一致: 四张服务卡钉在 banner 底部 (原 relative + margin-top:120px) */
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 16px;
  bottom: 24px;               /* 客户要求: 下方留白与左右一致 (原 60px) */
}
.ab-srv-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 348px;
  height: 120px;
  padding: 0 32px;
  border-radius: 8px;
  background: #F5F6FA;
  box-sizing: border-box;
}
.ab-srv-card img {
  width: 56px;
  height: 56px;
  flex: none;
}
.ab-srv-text {
  font-size: 18px;
  font-weight: 666;
  line-height: 28px;
  color: #2E3033;
}

/* ============================================================
   区块2: 走进梦之源 (1920×751)
   ============================================================ */
.ab-intro {
  background: #fff;
  padding: 116px 0 0;
}
.ab-intro .ab-sec-title {
  text-align: left;              /* 设计稿: 标题左对齐 */
}
.ab-intro-text {
  display: flex;
  justify-content: space-between;
  gap: 160px;
  margin-top: 48px;
}
.ab-intro-col {
  width: 640px;
}
.ab-intro-col p {
  font-size: 16px;
  font-weight: 513;
  line-height: 36px;
  color: #2E3033;
}
.ab-intro-col p + p { margin-top: 28px; }
.ab-stats {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 45px;
  padding-bottom: 100px;
  border-bottom: 1px solid #EDF0F5;
}
.ab-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 200px;
}
.ab-stat-icon {
  width: 56px;
  height: 56px;
}
.ab-stat-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 130px;
  margin-top: 12px;
  background: #fff;
}
.ab-stat-label {
  font-size: 14px;
  font-weight: 513;
  line-height: 20px;
  color: #2E3033;
}
.ab-stat-num {
  position: relative;
  margin-top: 8px;
  font-size: 64px;
  font-weight: 700;
  line-height: 72px;
  color: #2168E5;
  white-space: nowrap;
}
/* + 和单位 (年/家/万台/km²/项/位) 都在数字右缘同一条竖线 (同首页写法):
   + 在数字右上角, 单位在数字下部 — 竖着排 */
.ab-stat-num em {
  position: absolute;
  left: 100%;                  /* 数字右边缘 */
  top: 6px;                    /* 数字顶部 */
  white-space: nowrap;
  font-style: normal;
  font-size: 22px;
  font-weight: 700;
  color: #2168E5;
  line-height: 1;
}
.ab-stat-num .ab-count {
  font-size: 64px;
  font-weight: 700;
  line-height: 72px;
  color: #2168E5;
  padding-right: 10px;
}
.ab-stat-num .ab-unit {
    position: absolute;
    left: 100%;
    top: 64%;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 513;
    line-height: 20px;
    color: #2168e5;
}

/* ============================================================
   区块3: 企业文化 (1920×600, 点击切换背景+卡片)
   背景用 background-attachment: fixed, 默认愿景图 (JS 点击切换)
   ============================================================ */
.ab-culture {
  position: relative;
  height: 600px;
  overflow: hidden;
  background-image: url('../img/about-culture-vision.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  transition: background-image .4s ease;
}
/* 背景上的渐变遮罩 (设计稿 Rectangle 164):
   线性渐变, 从上往下: 0% #002873/.25 → 15% #002D81/.21 → 100% #004CD9/.10 */
.ab-culture::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(180deg,
    rgba(0, 40, 115, .25) 0%,
    rgba(0, 45, 129, .21) 15%,
    rgba(0, 76, 217, .10) 100%);
  pointer-events: none;
}
.ab-culture-inner {
  position: relative;
  z-index: 1;
  padding-top: 80px;
}
.ab-culture-title {
  font-size: 36px;
  font-weight: 749;
  line-height: 40px;
  color: #fff;
  text-align: center;
}
.ab-culture-cards {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-top: 70px;
  align-items: center;
}
.ab-culture-card {
    position: relative;
    display: block;
    width: 458px;
    height: 280px;
    padding: 32px;
    border: 0;
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
    opacity: 1;
    transition: opacity .35s ease, min-height .35s ease;
    background: rgb(255 255 255 / 65%);
    border-radius: 12px;
    backdrop-filter: blur(50px);
}
.ab-culture-card h3 {
  font-size: 22px;
  font-weight: 666;
  line-height: 40px;
  color: #2E3033;
}
.ab-culture-line {
  display: block;
  width: 48px;
  height: 2px;
  margin-top: 16px;
  background: #2168E5;
}
.ab-culture-card p {
  margin-top: 20px;
  font-size: 18px;
  font-weight: 513;
  line-height: 44px;
  color: #2E3033;
}
.ab-culture-icon {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 100px;
  height: 100px;
  opacity: .1;
}
/* 激活卡片: 全不透明, 显示完整内容 (标题+线+描述+图标), 内容左对齐 */
.ab-culture-card.is-active {
    opacity: 1;
    min-height: 300px;          /* 原 height:300px —— 固定高度 + column/wrap 会把长文案折到第二列(溢出卡片) */
    background: #ffffff;
    text-align: left;
    display: flex;
    flex-wrap: nowrap;          /* 原 wrap: column 方向下 wrap 会横向折列, 英文长文案必现溢出 */
    justify-content: flex-start;
    flex-direction: column;
}
.ab-culture-card.is-active h3 {
    text-align: left;
    width: 100%;
    line-height: 1;
}
.ab-culture-card.is-active .ab-culture-line {
    margin: 35px 0 20px;
}
.ab-culture-card.is-active p {
    margin-top: 0;
    width: 100%;
}
.ab-culture-card.is-active .ab-culture-icon {
    opacity: 1;
}
/* 未激活时隐藏线/描述/图标, 只留标题 */
.ab-culture-card:not(.is-active) .ab-culture-line,
.ab-culture-card:not(.is-active) p,
.ab-culture-card:not(.is-active) .ab-culture-icon {
  display: none;
}

/* ============================================================
   区块4: 四大基地
   ============================================================ */
.ab-bases {
  background: #fff;
  padding: 100px 0;
}
.ab-bases-grid {
  display: grid;
  grid-template-columns: repeat(2, 704px);
  gap: 24px;
  justify-content: center;
  margin-top: 64px;
}
.ab-base-card {
  border-radius: 12px;
  background: #F5F6FA;
  overflow: hidden;
}
.ab-base-img {
  display: block;
  width: 100%;
  height: 400px;
  object-fit: cover;
}
.ab-base-body {
    padding: 30px 40px;
}
.ab-base-body h3 {
  font-size: 30px;
  font-weight: 666;
  line-height: 38px;
  color: #2E3033;
}
.ab-base-body p {
  margin-top: 16px;
  font-size: 18px;
  font-weight: 513;
  line-height: 30px;
  color: #2E3033;
}
.ab-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  font-size: 16px;
  font-weight: 489;
  color: #2E3033;
  text-decoration: none;
}
.ab-more svg { width: 20px; height: 20px; }

/* ============================================================
   区块5: 知识产权 (设计稿坐标: 标题236/描述x240, 统计块x240/x570)
   ============================================================ */
.ab-ip {
  position: relative;
  background: #fff;
  padding: 100px 0 80px;
}
.ab-ip .ab-sec-title { text-align: left; }   /* 设计稿: 标题左对齐 (x=240) */
.ab-ip-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .25;
}
/* 整个板块背景上的蓝色渐变遮罩 (设计稿 Selection colors):
   0% #A1CEED 100% → 100% #FFFFFF 40% (Linear) */
.ab-ip::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(180deg,
    #C8E0FF 0%,                /* 顶部: 淡蓝全透明 */
    rgba(255, 255, 255, .4) 100%);  /* 底部: 白 40% 透明 */
  pointer-events: none;
}
.ab-ip-inner {
  position: relative;
  z-index: 1;
}
.ab-ip-stats {
  position: relative;            /* 层级高于证书墙图 (图会上移, 避免压到麦穗/数字/标签) */
  z-index: 2;
  display: flex;
  justify-content: flex-start;   /* 设计稿: 统计块左对齐锚定 (x=240) */
  gap: 48px;
  margin-top: 48px;
}
.ab-ip-stat {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  text-align: center;
}
.ab-wheat-l,
.ab-wheat-r {
  position: static;
  width: 70px;
  height: 135px;
  flex: none;
}
.ab-ip-num {
  font-size: 60px;
  font-weight: 700;
  line-height: 72px;
  color: #2168E5;
  white-space: nowrap;
}
.ab-ip-num em { font-style: normal; }
.ab-ip-label {
  font-size: 18px;
  font-weight: 513;
  line-height: 28px;
  color: #2E3033;
  text-align: center;
}
.ab-ip-desc {
  position: relative;             /* 层级高于下方证书墙图 (原来被 -12.5% 上移的图整段盖住) */
  z-index: 2;
  margin: 48px 0 0;
  max-width: 542px;              /* 设计稿: 描述 x=240 w=542 */
  font-size: 16px;
  font-weight: 513;
  line-height: 32px;
  color: rgb(46 48 51 / 85%);
  text-align: left;
}
.ab-ip-wall {
  display: block;
  width: 100%;
  margin-top: -12.5%;         /* 与中文站一致: 证书墙图片上移盖住上一区块 (原 60px) */
  border-radius: 12px;
}

/* ============================================================
   区块6: 研发能力 (同首页)
   ============================================================ */
.rd {
  background: #1B1C1F;
  padding: clamp(56px, 5.5vw, 100px) 0 0;
}
.rd-inner {
  max-width: 1920px;
  margin: 0 auto;
}
.rd-title {
  font-size: clamp(24px, 2.6vw, 40px);
  font-weight: 666;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: -.01em;
  padding: 0 24px;
}
/* 5 等分弹性容器 */
.rd-grid {
  display: flex;
  gap: 0;
  height: clamp(360px, 33.3vw, 640px);
  margin-top: clamp(40px, 4vw, 76px);
}
.rd-card {
  flex: 1 1 0;                   /* 默认 5 等分 */
  min-width: 0;
  height: 100%;
  position: relative;
  overflow: hidden;
  background: var(--rd-base, #9A9A9A);
  cursor: pointer;
  transition: flex-grow .5s var(--ease), flex-basis .5s var(--ease);
}
/* 背景产品图 */
.rd-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s var(--ease);
}
/* 压暗遮罩 (设计稿 #272B34 0→70%) */
.rd-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(39,43,52,0) 0%, rgba(39,43,52,.7) 100%);
  z-index: 1;
}
/* 悬停额外深色遮罩 (#1C1A18 75%) */
.rd-dark {
  position: absolute;
  inset: 0;
  background: rgba(28, 26, 24, .75);
  opacity: 0;
  transition: opacity .4s var(--ease);
  z-index: 1;
}
/* 图标 + 名称 (卡片下部; 悬停上移) */
.rd-info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 65px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  z-index: 2;
  transition: bottom .4s var(--ease);
}
.rd-icon {
  width: 64px;
  height: 64px;
  display: block;
}
.rd-name {
  font-size: 22px;
  font-weight: 513;
  line-height: 28px;
  color: #fff;
  white-space: nowrap;
}
/* 描述 (悬停展开时淡入) */
.rd-desc {
  position: absolute;
  left: 12%;
  right: 12%;
  top: 56%;
  z-index: 2;
  opacity: 0;
  transition: opacity .4s var(--ease);
  text-align: center;
}
.rd-line {
  display: block;
  width: 24px;
  height: 2px;
  margin: 0 auto 20px;
  background: #fff;
  opacity: .85;
}
.rd-desc p {
  font-size: clamp(12px, 0.75vw, 14px);
  font-weight: 489;
  line-height: 1.9;
  color: #fff;
}
/* 悬停交互: 仅 hover 设备生效 */
@media (hover: hover) {
  .rd-card:hover { flex: 0 0 27%; }
  .rd-card:hover .rd-img { transform: scale(1.08); }
  .rd-card:hover .rd-dark { opacity: 1; }
  .rd-card:hover .rd-info { bottom: 50%; }
  .rd-card:hover .rd-desc { opacity: 1; }
}
/* 小屏: 收紧 */
@media (max-width: 900px) {
  .rd-icon { width: 48px; height: 48px; }
  .rd-name { font-size: 18px; line-height: 24px; }
  .rd-info { gap: 8px; }
}
/* 手机 (≤767): 单列堆叠, 全部内容直接显示, 无交互 */
@media (max-width: 767px) {
  .rd { padding: 48px 0 0; }
  .rd-title { font-size: 28px; line-height: 32px; }
  .rd-grid {
    flex-direction: column;
    height: auto;
    gap: 12px;
    margin-top: 44px;
  }
  .rd-card {
    flex: none;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 40px 32px;
    cursor: default;
  }
  .rd-shade {
    background: linear-gradient(180deg,
      rgba(39,43,52,.78) 0%,
      rgba(39,43,52,.36) 50%,
      rgba(39,43,52,.84) 100%);
  }
  .rd-dark { display: none; }
  .rd-info {
    position: relative;
    z-index: 2;
    gap: 10px;
    bottom: 20px;
  }
  .rd-icon { width: 56px; height: 56px; }
  .rd-name { font-size: 20px; line-height: 26px; }
  .rd-desc {
    position: relative;
    z-index: 2;
    opacity: 1;
    display: block;
    margin-top: 22px;
    max-width: 360px;
    text-align: center;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .rd-line { margin: 0 auto 14px; }
  .rd-desc p {
    font-size: 14px;
    line-height: 26px;
    color: rgba(255,255,255,.95);
  }
}

/* ============================================================
   区块7: 合作伙伴 (设计稿 762:7675)
   主体宽度 1440; 大圆直径 = 主体宽度; 只显示圆的上半(半圆), 高度按比例
   ============================================================ */
.ab-partners {
    position: relative;
    overflow: hidden;
    --orbit-scale: 1;
    padding-top: 100px;

}
/* 半圆轨道容器: 宽 = 主体宽度, 高 = 半径(主体宽度一半); 圆心在容器底边中点 */
.ab-partners-orbit {
  position: relative;
  width: calc(1440px * var(--orbit-scale));
  height: calc(720px * var(--orbit-scale));
  margin: calc(152px * var(--orbit-scale)) auto calc(-92px * var(--orbit-scale));
}
/* 两个同心圆环 (虚线 #C1CFE5 1.5px) */
.ab-partners-orbit::before,
.ab-partners-orbit::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 100%;                       /* 圆心 = 容器底边中点 */
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1.5px dashed #C1CFE5;
  pointer-events: none;
}
/* 大圈: 直径 = 主体宽度 1440 */
.ab-partners-orbit::before {
  width: calc(1440px * var(--orbit-scale));
  height: calc(1440px * var(--orbit-scale));
}
/* 小圈: 直径 940 */
.ab-partners-orbit::after {
  width: calc(940px * var(--orbit-scale));
  height: calc(940px * var(--orbit-scale));
}
/* 中心: 服务协同 共谋发展 (598×302 半圆拱形: 上圆弧 + 平底, 文字居中) */
.ab-orbit-center {
  position: absolute;
  left: 50%;
  top: calc(495px * var(--orbit-scale));
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(598px * var(--orbit-scale));
  height: calc(302px * var(--orbit-scale));
  border-radius: calc(302px * var(--orbit-scale)) calc(302px * var(--orbit-scale)) 0 0;
  background: linear-gradient(135deg, #2168E5 0%, #23C1FF 100%);
  box-shadow: 0 10px 30px rgba(33, 104, 229, .25);
  font-size: calc(32px * var(--orbit-scale));
  font-weight: 749;
  line-height: calc(64px * var(--orbit-scale));
  color: #fff;
  text-align: center;
  white-space: nowrap;
}
/* 品牌 logo: --dx/--dy 相对圆心(容器底边中点)的偏移, --size 白圆直径; --orbit-scale 统一缩放 */
.ab-logo {
  position: absolute;
  left: 50%;
  top: 100%;
  width: calc(var(--size, 120px) * var(--orbit-scale));
  height: calc(var(--size, 120px) * var(--orbit-scale));
  object-fit: contain;
  background: #fff;
  border-radius: 50%;
  padding: calc(12px * var(--orbit-scale));
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(33,104,229,.12);
  transform: translate(calc(-50% + var(--dx) * var(--orbit-scale)), calc(-50% + var(--dy) * var(--orbit-scale)));
  z-index: 10;
}

/* ============================================================
   区块8: 客户纪实
   ============================================================ */
.ab-customers {
  background: #fff;
  padding: 100px 0 120px;
}
/* 上下两行走马灯: 容器 + 两行反向滚动 */
.ab-marquee {
  margin-top: 64px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.ab-marquee-row {
  overflow: hidden;
}
.ab-marquee-track {
  display: flex;
  width: max-content;
  will-change: transform;
}
/* 每个 group 是一份完整图片序列, 复制两份实现无缝循环 */
.ab-marquee-group {
  display: flex;
  flex: none;
  gap: 16px;
  padding-right: 16px;
}
.ab-marquee-group img {
  display: block;
  width: 400px;
  height: 240px;
  object-fit: cover;
  border-radius: 12px;
}
/* 第一行向左, 第二行向右 */
.ab-marquee-row--left .ab-marquee-track {
  animation: abMarqueeLeft 44s linear infinite;
}
.ab-marquee-row--right .ab-marquee-track {
  animation: abMarqueeRight 44s linear infinite;
}
/* 悬停暂停, 便于查看 */
.ab-marquee-row:hover .ab-marquee-track {
  animation-play-state: paused;
}
@keyframes abMarqueeLeft {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes abMarqueeRight {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  .ab-marquee-track { animation: none !important; }
}

/* ============================================================
   区块9: 全球客户 (1920×830, 深色地球 + 地图飞线, 同首页 全球触达)
   ============================================================ */
.ab-globe {
  position: relative;
  overflow: hidden;
  background: #101112;
  padding: 100px 0 0;
  text-align: center;
}
/* 星空背景 (设计稿 image 79, opacity .5) */
.ab-globe-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .5;
  pointer-events: none;
}
.ab-globe-text {
  position: relative;
  z-index: 1;
}
.ab-globe-text p {
  margin: 32px auto 0;
  max-width: 760px;
  font-size: 18px;
  font-weight: 513;
  line-height: 30px;
  color: #fff;
}
/* 地球容器 (1440×508, 同首页 gr-map; 设计稿容器顶 y=281) */
.ab-globe-mapbox {
  position: relative;
  z-index: 1;
  width: min(1440px, 100%);
  aspect-ratio: 1440 / 508;
  margin: 79px auto 0;
  overflow: hidden;
}
/* 暗色渐变穹顶 (设计稿椭圆 1362×1300, #060E17→#0A203E, 被容器裁成穹顶) */
.ab-globe-dome {
  position: absolute;
  left: 2.71%;
  top: 0.59%;
  width: 94.58%;
  height: 255.91%;
  background: linear-gradient(to bottom, #0a203e82 0%, rgba(6, 14, 23, 0) 100%);
  border-radius: 50%;
  pointer-events: none;
}
/* 世界地图底图 (设计稿 image 16, opacity .12) */
.ab-globe-map {
  position: absolute;
  left: 10.97%;
  top: 0.20%;
  width: 75.90%;
  height: 98.62%;
  object-fit: fill;
  opacity: 1;
  pointer-events: none;
}
/* 飞线 SVG 铺满地图区 */
.ab-globe-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
/* 中心 logo: 外圈光晕 + 内圆 + 白色花朵, 百分比尺寸随地球容器等比缩放 */
.gl-center {
  position: absolute;
  width: 4.375%;               /* 63/1440 */
  aspect-ratio: 1;
  height: auto;
  border-radius: 50%;
  background: rgba(0, 90, 250, .2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.gl-center-core {
  width: 81%;                  /* 51/63 */
  aspect-ratio: 1;
  height: auto;
  border-radius: 50%;
  background: #3888FC;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gl-center-core img {
  width: 57%;                  /* 36/63 */
  height: auto;
}
/* 国家标记: 圆形国旗 + 名称 (名称以图标中心为基准居中) */
.gl-country {
  position: absolute;
  width: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.gl-flag {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
}
.gl-name {
  font-size: 13px;
  font-weight: 513;
  line-height: 20px;
  color: #fff;
  white-space: nowrap;
}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 1440px) {
  .ab-srv-card { width: calc(25% - 12px); padding: 0 20px; }
  .ab-intro-text p { width: calc(50% - 12px); }
  .ab-bases-grid { grid-template-columns: repeat(2, 1fr); }
  .ab-stat { width: 16.6%; }
}
@media (max-width: 1440px) {
  .ab-partners { --orbit-scale: calc(100vw / 1920px); }
}
@media (max-width: 1100px) {
  
  .ab-banner { min-height: 720px; padding: 48px 0; }
  .ab-banner-inner { padding: 0 24px; gap: 32px; }
  .ab-banner-title { font-size: 40px; line-height: 56px; }
  .ab-banner-services { flex-wrap: wrap; position: relative; bottom: auto; margin-top: 80px !important; }
  .ab-srv-card { width: calc(50% - 8px); }
  /* 走进梦之源: 文案改单列, 数据统计 3 个一行 */
  .ab-intro { padding: 72px 0 0; }
  .ab-intro-text { flex-direction: column; gap: 32px; margin-top: 32px; }
  .ab-intro-col { width: 100%; }
.ab-intro-col p {
        line-height: 32px;
        width: 100%;
    }
  .ab-intro-col p + p { margin-top: 20px; }
  .ab-stats { flex-wrap: wrap; gap: 20px; row-gap: 40px; }
  .ab-stat { width: calc(33.333% - 14px); }
  .ab-stat-box { height: 104px; }
  .ab-stat-num { font-size: 44px; line-height: 52px; }
  .ab-stat-num .ab-count { font-size: 44px; line-height: 52px; }
  .ab-stat-num em { font-size: 18px; }
  .ab-stat-num .ab-unit { font-size: 13px; line-height: 18px; }
  .ab-culture-cards { flex-wrap: wrap; gap: 24px 20px; }
  .ab-culture-card { width: calc(50% - 10px); }
  .ab-culture { height: auto; padding: 64px 0; }
  .ab-bases-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .ab-base-img { height: 280px; }
  .ab-base-body { padding: 24px 28px; }
  .ab-base-body h3 { font-size: 26px; line-height: 34px; }
  .ab-base-body p { font-size: 16px; line-height: 28px; }
  /* 知识产权: 平板下统计块/麦穗缩小 */
  .ab-ip-stats { gap: 40px; margin-top: 40px; }
  .ab-wheat-l, .ab-wheat-r { width: 56px; height: 108px; }
  .ab-ip-num { font-size: 52px; line-height: 62px; }
  .ab-partners { --orbit-scale: .72; padding-top: 80px; }
  .ab-marquee-group img { width: 340px; height: 200px; }
  .ab-globe { padding: 80px 0 0; }   /* 平板区间: 同样去掉底部 30px 空白 */
  .ab-globe-mapbox { margin-top: 48px; }
}
@media (max-width: 767px) {
  .ab-sec-title {
    font-size: 28px;
    padding: 0 10px;   /* 客户指定 (移动端) */
  }
  /* About hero 移动端适配: 顶部留出固定头部高度(64px)+余量, 标题不再被 header 压住;
     文案/卡片尺寸收紧, 4 张服务卡回归「一卡两行」的清爽版式 */
  .ab-banner { min-height: 0; padding: 0; align-items: flex-start; }
  .ab-banner-inner { padding: 88px 16px 16px; gap: 20px; }   /* 底部与左右一致 16px (原 40px) */
  .ab-banner-title { font-size: 24px; line-height: 34px; }
  .ab-banner-services { margin-top: 0; gap: 10px; padding: 0; bottom: auto; }
  .ab-srv-card { width: calc(50% - 5px); min-height: 96px; height: auto; padding: 12px 10px; gap: 6px;
                 flex-direction: column-reverse; align-items: center; justify-content: center; text-align: center; }
  .ab-srv-card img { width: 26px; height: 26px; }
  .ab-srv-text { font-size: 13px; line-height: 19px; }
  .ab-intro { padding: 56px 0 0; }
  .ab-intro-text { flex-direction: column; gap: 32px; margin-top: 32px; }
  .ab-intro-col { width: 100%; }
  .ab-intro-col p { line-height: 30px;         width: 100%;}
  .ab-intro-col p + p { margin-top: 20px; }
  .ab-culture-inner {
    padding-top: 0;
}
.ab-culture-title {
    font-size: 28px;
    line-height: 1;
}
.ab-stats {
        flex-wrap: wrap;
        gap: 24px 10px;
        row-gap: 24px;
        margin: 30px auto 0;
        padding-bottom: 45px;
    }
  .ab-stat { width: calc(50% - 5px); min-height: 140px; text-align: center; }
  .ab-stat-icon { width: 40px; height: 40px; }
  .ab-stat-box { height: auto; margin-top: 8px; }
  /* 标题固定占两行高度并居中 → 6 项高度一致、数字上下对齐 (图标/标题/数字全部水平居中) */
  .ab-stat-label { min-height: 38px; display: flex; align-items: center; justify-content: center; font-size: 13px; line-height: 19px; }
  .ab-stat-num { font-size: 34px; line-height: 42px; }
  .ab-stat-num .ab-count { font-size: 34px; line-height: 42px; padding-right: 2px; }
  .ab-stat-num em { position: static; font-size: 15px; top: auto; }
  .ab-stat-num .ab-unit {
        position: static;
        font-size: 12px;
        line-height: 16px;
        top: auto;
    }
  .ab-culture { height: auto; padding: 56px 0; }
  .ab-culture-cards { flex-direction: column; align-items: center; }
  /* DreamSource Culture: 移动端标题/描述的字号与行高优化
     (原来 标题 28px/行高1、卡片标题 22px/行高40、描述 16px/行高44 —— 行高都过于松散) */
  .ab-culture-title { font-size: 22px; line-height: 30px; }
  .ab-culture-card {
        width: 100%;
        height: 200px;
    }
  .ab-culture-card h3 { font-size: 17px; line-height: 24px; }          /* 未激活卡片也统一 */
  .ab-culture-card.is-active h3 { font-size: 17px; line-height: 24px; }
  .ab-culture-card.is-active p { font-size: 14px; line-height: 22px; margin-top: 0; }
  .ab-culture-card.is-active .ab-culture-line { margin: 18px 0 12px; }
  .ab-culture-card.is-active {
    min-height: 210px;          /* 字号收紧后卡片同步收紧 (原 250px) */
  }
  .ab-bases { padding: 56px 0; }
  .ab-bases-grid { grid-template-columns: 1fr; margin-top: 32px; }
  .ab-base-img { height: 220px; }
  .ab-base-body { padding: 20px 24px; }
  .ab-base-body h3 { font-size: 24px; line-height: 32px; }
  .ab-base-body p { font-size: 15px; line-height: 26px; }
  .ab-ip { padding: 56px 0 20px; }   /* 客户要求: 底部间距减半 (40 → 20px) */
  /* 两个数据项强制一行; 文字与麦穗等比缩小, 比例协调 */
  .ab-ip-stats { flex-wrap: nowrap; justify-content: space-between; gap: 8px; margin-top: 32px; }
  .ab-ip-stat { gap: 6px; flex: 1 1 0; justify-content: center; min-width: 0; }
  .ab-wheat-l, .ab-wheat-r { width: 26px; height: 50px; }   /* 放大 ~30%: 20×39 → 26×50 */
  .ab-ip-num { font-size: 32px; line-height: 40px; }   /* 数字放大: 24 → 32px */
  .ab-ip-num em { font-size: 17px; }
  .ab-ip-label { min-height: 40px; font-size: 14px; line-height: 20px; }   /* 标签放大: 11 → 14px, 两行留位 */
  /* IP 证书墙: 取消 -12.5% 上移 (原上移会压住描述文字 43px), 描述字号/行高收紧 */
  .ab-ip-desc { max-width: 100%; margin-top: 24px; font-size: 14px; line-height: 22px; }
  .ab-ip-wall { border-radius: 8px; margin-top: 0%; margin-bottom: -4%; }   /* 客户指定 (移动端) */
  .ab-partners { --orbit-scale: calc(92vw / 1440px); padding-top: 56px; }
  .ab-customers { padding: 56px 0 64px; }
  .ab-marquee-group img { width: 240px; height: 150px; }
  .ab-marquee { gap: 16px; }
  .ab-globe { padding: 56px 0 0; }   /* 客户要求: 去掉底部空白 (原 30px) */
  .ab-globe-text p { font-size: 15px; line-height: 24px; margin-top: 24px; }
  .ab-globe-mapbox { margin-top: 32px; }
  /* 移动端: 国家名称隐藏只留国旗点, logo/国旗缩小, 飞线动画保留 */
  .gl-name { display: none; }
  .gl-country { width: 14px; gap: 0; }
  .gl-flag { width: 14px; height: 14px; }
}

/* ============================================================
   区块1 banner: 视频背景 + 播放按钮 + 弹窗 (同产品详情)
   ============================================================ */
.ab-banner-video-bg,
.ab-banner-img-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ab-banner-img-bg {
  background-size: cover;
  background-position: center;
  opacity: .55;
}
.dt-video-mask {
  position: absolute;
  inset: 0;
  /* 设计稿 Rectangle 159: 遮罩 #141F33 / 0.5 覆盖整个 banner */
  background: rgba(20, 31, 51, .5);
  z-index: 1;
}
/* 播放按钮: 玻璃拟态 (banner 内, 标题下方) */
.ab-banner .dt-video-btn {
  position: static;
  transform: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 48px;
  padding: 0 12px 0 6px;
  border: 0;
  border-radius: 100px;
  background: rgba(255, 255, 255, .2);
  outline: 1px rgba(255, 255, 255, .5) solid;
  outline-offset: -.5px;
  backdrop-filter: blur(10px);
  color: #fff;
  font-size: 14px;
  font-weight: 513;
  line-height: 24px;
  white-space: nowrap;
  cursor: pointer;
  z-index: 2;
  transition: background .3s var(--ease);
}
.ab-banner .dt-video-btn:hover { background: rgba(255, 255, 255, .32); }
.ab-banner .dt-video-btn .play-ic {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.ab-banner .dt-video-btn .play-ic svg { width: 36px; height: 36px; }

/* 弹窗 (同产品详情) */
.dt-video-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.dt-video-modal.open { display: flex; }
.dt-video-modal-mask {
  position: absolute;
  inset: 0;
  background: #171717;
  cursor: pointer;
}
.dt-video-modal-body {
  position: relative;
  z-index: 2;
  width: min(1280px, 100%, calc((100vh - 48px) * 16 / 9));
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .5);
}
.dt-video-modal-video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.dt-video-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  width: 32px;
  height: 32px;
  padding: 6px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .5);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dt-video-modal-close svg { width: 100%; height: 100%; }
.dt-video-modal .plyr {
  width: 100%;
  height: 100%;
  --plyr-color-main: #2168E5;
}


/* ============================================================
   区块7 合作伙伴 · 视频 (替换原 logo 轨道) — 去除任何边框/描边痕迹
   ============================================================ */
.ab-partners-video {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
  -webkit-tap-highlight-color: transparent;
  vertical-align: bottom;
}
@media (max-width: 767px) {
  .ab-partners { padding-bottom: 0; padding-top: 30px; }   /* 客户指定 (移动端) */
  .ab-partners-video { width: 100vw; max-width: 100%; margin-left: calc(50% - 50vw); }
}

/* ============================================================
   移动端 (≤767) 尾部覆盖: 必须放在文件末尾
   —— .ab-banner .dt-video-btn 的基础规则在本文件下方(约1092行),
      放在前面会被源码顺序覆盖, 故在此重写
   ============================================================ */
@media (max-width: 767px) {
  .ab-banner .dt-video-btn {
    height: 40px;
    font-size: 13px;
    padding: 0 14px 0 6px;
    gap: 6px;
  }
  .ab-banner .dt-video-btn .play-ic,
  .ab-banner .dt-video-btn .play-ic svg { width: 28px; height: 28px; }
}
