html {
  font-size: 37.5px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
}

/* ========== Base ========== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: AlibabaPuHuiTi-Regular, PingFangSC-Regular, sans-serif;
  overflow-x: hidden;
  cursor: default;
}

.page {
  width: 100%;
  background: #f5f7fb;
}

/* ========== Navigation ========== */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 2px 0.160rem rgba(0,0,0,0.08);
  height: 2.667rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.280rem;
  z-index: 1000;
}

.nav__logo {
  width: 5.787rem;
  height: 1.493rem;
  cursor: pointer;
}

.nav__menu {
  display: flex;
  gap: 2.133rem;
  list-style: none;
  align-items: center;
}

.nav__menu a,
.nav__menu span {
  color: #1a1a1a;
  font-size: 0.640rem;
  text-decoration: none;
  transition: color 0.3s;
  cursor: pointer;
  white-space: nowrap;
}

.nav__menu a:hover {
  color: #003d72;
}

.nav__dropdown {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.213rem;
}

.nav__active {
  color: #003d72 !important;
  font-weight: 500;
}

.nav__submenu {
  display: none;
  position: absolute;
  top: calc(100% + 0.160rem);
  left: 0;
  background: #fff;
  box-shadow: 0 2px 0.213rem 2px rgba(0,0,0,0.08);
  border-radius: 0.213rem;
  width: 4.267rem;
  padding: 0.427rem 0;
  z-index: 100;
  list-style: none;
}

.nav__dropdown:hover .nav__submenu {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.nav__submenu li {
  width: 100%;
  text-align: center;
  padding: 0.213rem 0;
}

.nav__submenu a {
  font-size: 0.533rem;
  color: #5a5a5a;
}

.nav__submenu a:hover,
.nav__submenu-active {
  color: #003d72 !important;
}

.nav__btn {
  background: linear-gradient(135deg, #003d72, #4874cb);
  color: #fff !important;
  padding: 0.320rem 0.747rem;
  border-radius: 0.747rem;
  display: inline-block;
}

/* ========== Hero Section ========== */
/* 设计稿: hero背景660px高, nav 100px, 标题区560px */
.hero {
  height: 17.600rem; /* 660px */
  background: url(../../assets/images/data/source/765ada11a2d541b2afa9012a56e7dc8e_mergeImage.png) center/cover no-repeat;
  padding-top: 2.667rem;
}

.hero__overlay {
  width: 100%;
  height: 100%;
  background: linear-gradient(
    rgba(0, 61, 114, 0.18),
    rgba(63, 109, 192, 0.24)
  );
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.hero__title {
  font-size: 1.707rem; /* 64px */
  font-weight: 700;
  color: #fff;
  line-height: 1.920rem; /* 72px */
  text-shadow: 0 0.107rem 0.213rem rgba(0,0,0,0.32);
  margin-bottom: 0.853rem; /* 32px */
  margin-top: -0.3rem;
}

.hero__subtitle {
  font-size: 0.85333rem; /* 32px */
  color: #fff;
  line-height: 1.067rem; /* 40px */
  text-shadow: 0 0.107rem 0.213rem rgba(0,0,0,0.32);
}

/* ========== Section Title ========== */
.section-title {
  font-size: 1.707rem; /* 64px */
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.920rem; /* 72px */
  text-align: center;
}

/* ========== 高德地图数据源 ========== */
/* 设计稿: group_3 整体1244px高, 背景图全宽 */
.gaode-section {
  background: url(../../assets/images/data/source/9e353c5eb053480e970580fcd81185b2_mergeImage.png) center top / 100% auto no-repeat;
  padding-top: 3.413rem; /* 128px */
}

/* 统计卡片: 1700px宽, 200px高, bg #edf4ff, 圆角16px */
.gaode-stats {
  background: rgba(237, 244, 255, 1);
  border-radius: 0.427rem; /* 16px */
  width: 90%;
  max-width: 45.333rem; /* 1700px */
  height: 5.333rem; /* 200px */
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.400rem; /* 90px */
  margin: 2.133rem auto 0; /* 80px from title */
}

.gaode-stats__item {
  text-align: center;
  height: 100%;
  padding-top: 1rem;
  box-sizing: border-box;
}

.gaode-stats__number {
  background-image: linear-gradient(180deg, rgba(72, 116, 203, 1) 0%, rgba(0, 61, 114, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.920rem; /* 72px */
  white-space: nowrap;
}

.gaode-stats__num {
  font-size: 1.707rem; /* 64px */
  font-weight: 500;
  font-family: AlibabaPuHuiTi-Medium, sans-serif;
}

.gaode-stats__unit {
  font-size: 1.067rem; /* 40px */
  font-weight: 500;
  font-family: AlibabaPuHuiTi-Medium, sans-serif;
}

.gaode-stats__desc {
  font-size: 0.533rem; /* 20px */
  color: #1a1a1a;
  line-height: 0.747rem; /* 28px */
  margin-top: 0;
  text-align: center;
}

/* Logo背景区: block_3, 683px高, 背景图, margin-top 81px */
.gaode-logos {
  width: 100%;
  height: 18.213rem; /* 683px */
  background: url(../../assets/images/data/source/data-source.png) center/100% 100% no-repeat;
  margin-top: 2.160rem; /* 81px */
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 流程图: 1700px宽, 100px高, 顶部对齐 */
.gaode-logos__flow {
  width: 45.333rem; /* 1700px */
  height: 2.667rem; /* 100px */
  display: block;
  margin-top: -0.027rem; /* -1px 微调 */
}

/* Logo第一行: 5个logo, 1410px宽, 间距均匀, margin-top 40px */
.gaode-logos__row {
  display: flex;
  align-items: center;
  gap: 1.013rem; /* ~38px */
  margin-top: 1.067rem; /* 40px */
}

.gaode-logos__row--top {
  width: 37.600rem; /* 1410px */
  justify-content: center;
}

.gaode-logos__row img {
  width: 6.667rem; /* 250px */
  height: 2.667rem; /* 100px */
  object-fit: contain;
}

/* 带边框的logo */
.gaode-logos__bordered {
  width: 6.773rem; /* 254px */
  height: 2.773rem; /* 104px */
  border: 2px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.gaode-logos__bordered img {
  width: 6.053rem; /* 227px */
  height: 1.093rem; /* 41px */
}

/* Logo第二行: 4个logo, 1120px宽, 居中偏右 */
.gaode-logos__row--bottom {
  width: 29.867rem; /* 1120px */
  justify-content: space-between;
  margin-top: 1.067rem; /* 40px */
}

/* ========== 蚂蚁集团数据源 ========== */
/* 设计稿: group_20, 889px高 */
.ant-section {
  padding: 3.413rem 2.933rem 3.440rem; /* 128px top, 129px bottom */
}

.ant-content {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 2.133rem; /* 80px */
  width: 90%;
  max-width: 45.333rem; /* 1700px */
  margin-left: auto;
  margin-right: auto;
}

.ant-content__images {
  display: flex;
  gap: 1.067rem; /* 40px */
  flex-shrink: 0;
}

.ant-content__images img {
  width: 6.347rem; /* 238px */
  height: 12.800rem; /* 480px */
  object-fit: cover;
  border-radius: 0.213rem;
}

.ant-content__right {
  display: flex;
  gap: 1.067rem; /* 40px */
  margin-left: 1.760rem; /* 66px */
  margin-top: 0.533rem; /* 20px offset like design */
}

.ant-content__cards-col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 11.733rem; /* 440px */
}

.ant-card {
  background: #fff;
  border-radius: 0.427rem; /* 16px */
  width: 10.667rem; /* 400px */
  height: 4.800rem; /* 180px */
  padding: 0.853rem; /* 32px */
}

.ant-card__label {
  font-size: 0.533rem; /* 20px */
  color: #1a1a1a;
  line-height: 0.747rem; /* 28px */
}

.ant-card__divider {
  background: #d8d8d8;
  height: 1px;
  margin-top: 0.320rem; /* 12px */
  position: relative;
}

.ant-card__divider-accent {
  display: block;
  width: 2.347rem; /* 88px */
  height: 2px;
  background: linear-gradient(90deg, #4874cb, #003d72);
  position: absolute;
  top: -1px;
  left: 0;
}

.ant-card__number {
  background-image: linear-gradient(180deg, rgba(72, 116, 203, 1) 0%, rgba(0, 61, 114, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.920rem; /* 72px */
  margin-top: 0.320rem; /* 12px */
  white-space: nowrap;
}

.ant-card__num {
  font-size: 1.707rem; /* 64px */
  font-weight: 500;
  font-family: AlibabaPuHuiTi-Medium, sans-serif;
}

.ant-card__unit {
  font-size: 1.067rem; /* 40px */
  font-weight: 500;
  font-family: AlibabaPuHuiTi-Medium, sans-serif;
}

/* ========== Footer ========== */
.footer {
  background: #003d72;
  padding: 1.067rem 2.933rem 1.093rem; /* 40px top */
}

.footer__nav {
  display: flex;
  gap: 3.973rem;
  margin-bottom: 0.320rem; /* 12px */
}

.footer__nav-title {
  font-size: 0.427rem; /* 16px */
  font-weight: 500;
  color: #fff;
  cursor: pointer;
}

.footer__content {
  display: flex;
  gap: 3.973rem;
}

.footer__col {
  display: flex;
  flex-direction: column;
  gap: 0.320rem; /* 12px */
}

.footer__col span {
  font-size: 0.373rem; /* 14px */
  color: #ccc;
  cursor: pointer;
}

.footer__col--contact {
  max-width: 7.653rem;
}

.footer__col--qr {
  align-items: flex-start;
}

.footer__qr {
  width: 2.667rem; /* 100px */
  height: 2.667rem;
  margin-bottom: 0.240rem; /* 9px */
}

.footer__divider {
  height: 1px;
  background: #8d8d8d;
  margin: 1.333rem 0 1.067rem; /* 50px / 40px */
}

.footer__copyright {
  font-size: 0.373rem; /* 14px */
  color: #ccc;
  text-align: center;
}
.cooperation {
  display: flex;
  gap: 4.800rem;
  width: 100%;
  padding: 3.413rem 2.933rem;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url('../../assets/images/data/source/9e353c5eb053480e970580fcd81185b2_mergeImage.png');
}
.cooperation-left{
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 21.333rem;
  height: 100%;
  margin: auto 0;
}
.cooperation-left .title{
  font-weight: bold;
  font-size: 1.493rem;
  color: #1A1A1A;
  margin-bottom: 1.067rem;
}
.cooperation-left p{
  font-size: 0.587rem;
  color: #5A5A5A;
  line-height: 1.067rem;
}
.cooperation-right{
  width: 19.200rem;
  height: 16.320rem;
}
.cooperation-right img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ========== Animations ========== */
.animate-item {
  opacity: 0;
  transform: translateY(0.800rem);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.animate-item.animate-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ========== Responsive ========== */
@media (max-width: 1440px) {
  .gaode-stats {
    width: 90%;
    padding: 0.960rem 1.600rem;
  }
  .gaode-logos__flow {
    width: 90%;
    height: auto;
  }
  .gaode-logos__row--top {
    width: auto;
  }
  .gaode-logos__row--bottom {
    width: auto;
  }
  .ant-content {
    width: 90%;
  }
  .cooperation {
    gap: 3.200rem;
    padding: 2.667rem 2.133rem;
  }
}

@media (max-width: 1024px) {
  .nav { padding: 0 1.067rem; }
  .nav__menu { gap: 1.067rem; }

  .gaode-section,
  .ant-section,
  .footer {
    padding-left: 1.600rem;
    padding-right: 1.600rem;
  }

  .gaode-logos__row { flex-wrap: wrap; gap: 0.533rem; }

  .ant-content {
    flex-wrap: wrap;
    justify-content: center;
  }

  .ant-content__images {
    width: 100%;
    justify-content: center;
  }

  .ant-content__right {
    margin-left: 0;
    margin-top: 1.067rem;
    width: 100%;
    justify-content: center;
  }
  .cooperation {
    gap: 2.667rem;
    padding: 2.133rem 1.600rem;
  }
  .cooperation-left,
  .cooperation-right {
    flex: 1;
  }
}

@media (max-width: 768px) {
  .nav { height: 2.133rem; padding: 0 0.640rem; }
  .nav__logo { width: 4.000rem; height: 1.040rem; }
  .nav__menu { gap: 0.800rem; }
  .nav__menu a,
  .nav__menu span,
  .nav__active { font-size: 0.480rem; }
  .hero { height: 13.333rem; margin-top: 2.133rem; }
  .hero__title { font-size: 1.280rem; line-height: 1.707rem; }
  .hero__subtitle { font-size: 0.640rem; line-height: 0.853rem; }
  .section-title { font-size: 1.280rem; line-height: 1.707rem; }

  .gaode-section,
  .ant-section,
  .etc-section,
  .footer {
    padding: 1.600rem 0.640rem;
  }

  .gaode-stats {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.067rem;
    height: auto;
    padding: 0.800rem;
  }

  .gaode-logos {
    height: auto;
    padding: 1.600rem 0;
    background-size: cover;
  }

  .gaode-logos__flow { width: 100%; height: auto; }
  .gaode-logos__row { flex-wrap: wrap; gap: 0.533rem; }
  .gaode-logos__row img { width: 5.333rem; height: 2.133rem; }

  .ant-content__images { flex-wrap: wrap; }
  .ant-content__images img { width: 5.333rem; height: 10.667rem; }
  .ant-content__right { flex-direction: column; }
  .ant-content__cards-col { height: auto; gap: 1.067rem; }
  .ant-card { width: 100%; max-width: 13.333rem; }

  .footer__nav, .footer__content { flex-wrap: wrap; gap: 1.067rem; }

  .cooperation {
    flex-direction: column;
    padding: 1.600rem 0.640rem;
    gap: 1.067rem;
  }
  .cooperation-left,
  .cooperation-right {
    width: 100%;
  }
  .cooperation-right {
    height: auto;
  }
  .cooperation-right img {
    height: auto;
  }
}
