/* ============================================================
   响应式适配 (Responsive) — 手机 / 平板 / 电脑
   原则：保持现有视觉风格与全部图片资源不变，仅做布局重排，
   并将导航重构为移动端汉堡抽屉菜单（含扫码下载二维码模块）。

   字体修复核心思路：
   原站所有文字用 rem，且按桌面 62.5%（1rem≈10px）调校。
   移动端根字号与桌面保持一致（62.5% => 10px），让 rem 文本
   直接恢复成设计原本的可读尺寸（正文 14~16px、导航 16px、
   footer 标题 18px），层级一致、不再“一团糟”；
   仅把 banner / hero 等“展示型超大标题”降级为固定 px。
   ============================================================ */

/* ---------- 汉堡按钮（桌面端隐藏） ---------- */
.hamburger {
  display: none;
  margin-left: auto;
  width: 44px;
  height: 44px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}

/* 桌面端隐藏 banner 内用于移动端的 slogan */
.banner-slogan-mobile { display: none; }
.hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #1c213e;
  border-radius: 2px;
  transition: transform .3s, opacity .3s;
}
.hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- 移动端抽屉 & 遮罩 ---------- */
.mobile-nav-mask {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .45);
  z-index: 998;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease;
}
.mobile-nav-mask.open { opacity: 1; visibility: visible; }

.mobile-nav-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 84%;
  max-width: 380px;
  height: 100%;
  background: #fff;
  z-index: 999;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform .3s ease;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-top: var(--nav-height, 60px);
  box-shadow: -6px 0 24px rgba(0, 0, 0, .12);
}
.mobile-nav-drawer.open {
  transform: translateX(0);
  visibility: visible;
}

.drawer-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
  color: #1c213e;
  cursor: pointer;
}
.mobile-drawer-inner { padding: 8px 0 36px; }

.drawer-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 22px;
  font-size: 16px;
  color: #1c213e;
  border-bottom: 1px solid #f2f3f5;
  text-decoration: none;
}
.drawer-link:active { background: #f6f7f8; }
.drawer-link .arrow { color: #c4c7cf; font-size: 18px; }

.drawer-group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 22px;
  font-size: 16px;
  font-weight: 600;
  color: #1c213e;
  background: #f6f7f8;
  cursor: pointer;
  border-bottom: 1px solid #eef0f2;
}
.drawer-group-title .angle {
  transition: transform .3s;
  color: #c4c7cf;
  font-size: 18px;
}
.drawer-group-title.open .angle { transform: rotate(90deg); }

.drawer-sub { display: none; background: #fff; }
.drawer-sub.open { display: block; }

/* 产品服务下的二级分组（行业洞察PC端 / 移动端 / 产业大数据服务 / 产业智库） */
.drawer-subsection { padding: 6px 0 10px; border-bottom: 1px solid #f6f8f8; }
.drawer-subhead {
  display: block;
  padding: 10px 22px 6px 34px;
  font-size: 13px;
  font-weight: 600;
  color: #3062f6;
}
.drawer-subhead.empty-head { padding: 4px 22px 2px 22px; }
.drawer-subhead-link {
  text-decoration: none;
  position: relative;
}
.drawer-subhead-link::after {
  content: '\203A';
  margin-left: 6px;
  color: #c4c7cf;
}
.drawer-subhead-link:active { background: #f6f7f8; }

.drawer-sublink {
  display: block;
  padding: 11px 22px 11px 40px;
  font-size: 14px;
  color: #727687;
  border-bottom: 1px solid #fafbfc;
  text-decoration: none;
}
.drawer-sublink:active { background: #f6f7f8; }

/* 菜单内集成的扫码下载应用二维码模块 */
.drawer-qr {
  margin: 18px 22px 4px;
  padding: 16px;
  border-radius: 12px;
  background: linear-gradient(135deg, #eef3ff, #f3f0ff);
  display: flex;
  align-items: center;
  gap: 16px;
}
.drawer-qr .qr-title {
  font-size: 14px;
  font-weight: 600;
  color: #1c213e;
  margin-bottom: 4px;
}
.drawer-qr .qr-tip { font-size: 12px; color: #727687; line-height: 1.6; }
.drawer-qr .qr-text { flex: 1; min-width: 0; }
.drawer-qr .qr-imgs { display: flex; gap: 10px; flex-shrink: 0; }
.drawer-qr .qr-imgs img {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  border: 1px solid #d7dbe1;
  background: #fff;
}
.drawer-app-qr {
  margin: 8px 22px 0;
  padding: 14px;
  border: 1px dashed #c9d4ff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.drawer-app-qr img {
  width: 72px;
  height: 72px;
  border-radius: 8px;
  border: 1px solid #d7dbe1;
  background: #fff;
  flex-shrink: 0;
}
.drawer-app-qr .qr-title { font-size: 14px; font-weight: 600; color: #1c213e; }
.drawer-app-qr .qr-tip { font-size: 12px; color: #727687; margin-top: 2px; }

.drawer-contact {
  margin: 22px 22px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 46px;
  border-radius: 4px;
  color: #fff;
  font-size: 16px;
  background: linear-gradient(90deg, #3062f6, #6c66f5);
  cursor: pointer;
}

/* ============================================================
   桌面端（≥1000px）：仅给内页 Banner 统一最小高度
   （资讯页原本无 Banner 高度，此处补齐，保证视觉一致）
   ============================================================ */
@media (min-width: 1000px) {
  .banner { min-height: 360px; }
}

/* ============================================================
   移动端 / 平板（< 1000px）
   根字号对齐桌面 62.5% => 1rem = 10px，rem 文本恢复设计尺寸
   ============================================================ */
@media (max-width: 999px) {
  /* 关键：根字号回到 62.5%（与桌面一致），rem 文本不再被 vw 缩成蚂蚁 */
  html { font-size: 62.5%; }
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .hamburger { display: inline-flex; }

  /* 移动端首屏布局会在响应式样式加载后重排；AOS 若按旧位置计算，
     data-aos 区块可能偶发保持透明，直接保证内容可见。 */
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  nav .nav-container .nav-menu { display: none !important; }
  nav .nav-container .menu-spread-btn { display: none !important; }

  nav,
  nav:hover,
  nav.scrolled {
    background-color: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
  }

  /* ---------- 统一 Banner：所有页面一致的高度/比例 ---------- */
  .banner {
    height: auto !important;
    min-height: 210px;
    aspect-ratio: 16 / 9;
    display: flex;
    align-items: center;
  }
  .banner .header-content {
    align-items: center;
    text-align: center;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: var(--nav-height);
  }
  /* 展示型超大标题降级为固定 px（rem 下 6.4rem=64px 在手机上过大） */
  .banner .header-content h1 {
    font-size: 26px !important;
    line-height: 1.3 !important;
    margin: 0 0 8px !important;
  }
  .banner .header-content h2 {
    font-size: 14px;
    margin: 0 0 18px;
  }
  .banner .header-content .header-description {
    width: 100% !important;
    max-width: 92%;
    font-size: 14px;
    line-height: 1.7;
    margin: 0 auto 16px;
  }
  .data-service-banner,
  .solution-banner {
    min-height: 330px;
    aspect-ratio: auto;
    background-position: center top;
  }
  .data-service-banner .header-content,
  .solution-banner .header-content {
    justify-content: center;
    gap: 12px;
    padding-top: calc(var(--nav-height) + 20px);
    padding-bottom: 24px;
  }
  .data-service-banner .header-content .header-description,
  .solution-banner .header-content .header-description {
    max-width: min(92%, 560px);
    margin-bottom: 4px;
  }
  .banner .header-content .pull-down { display: none; }
  .banner .gray-gradient-mask1 { display: none; }

  /* ---------- 通用区块标题（保持可读、不喧宾夺主） ---------- */
  h3 { font-size: 24px !important; line-height: 1.35 !important; }
  .introduction .container-safe h3,
  .content-section h3 { font-size: 24px !important; }
  .content-section .sub-title { font-size: 14px; }
  h4 { font-size: 18px !important; }

  /* ---------- 通用卡片：压缩过大的 rem 内边距/最小高度 ---------- */
  .card-type-1,
  .card-type-2,
  .card-type-4,
  .card-type-5,
  .section-3 .content .card,
  .section-3 .content .card .database-cards .database-card,
  .section-3 .content .card .scenarios .scenario-card,
  .section-5 .data-model-content .data-model-card,
  .section-6 .serve-method .card,
  .advisory-card,
  .service-card,
  .std-report-card,
  .advantage-card .content,
  .why-us-card .card-content,
  .salon-card .card-content,
  .report-card,
  .label-card {
    padding: 20px !important;
  }
  .card-type-4,
  .card-type-5 { min-height: auto !important; }
  .section-3 .content .card .database-cards .database-card,
  .section-3 .content .card .scenarios .scenario-card,
  .section-6 .serve-method .card,
  .service-card { min-height: auto !important; }

  /* ---------- 多列网格降为双列（平板/大屏手机） ---------- */
  .cards-wrapper-4col,
  .cards-wrapper-3col,
  .cards-wrapper-2col,
  .product-wrapper-3col,
  .section-3 .content .card .database-cards,
  .section-3 .content .card .scenarios,
  .section-5 .data-model-content,
  .advisory-service,
  .data-analyse-service,
  .std-report-service,
  .thinktank-advantages,
  .why-us,
  .reports,
  .serve-method {
    grid-template-columns: 1fr 1fr !important;
  }

  /* 关于我们 / 数字政府 等页面的专属网格（无通用类，单独适配） */
  .section-2 .client-cards { grid-template-columns: repeat(3, 1fr) !important; }
  .section-4 .bg-wrapper .cards-wrapper .card .content .mini-cards {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* 首页 PC 端/移动端左右分栏改为竖向堆叠 */
  .card-type-1 .content { flex-direction: column; }
  .card-type-1 .content .left,
  .card-type-1 .content .right { width: 100%; }
  .section-2-content-wrapper { flex-direction: column; }

  /* 平板/大屏手机：版本下载卡片文字区放宽，避免与右侧插图/渐变重叠 */
  .section-1 .card-type-1 .content .right { gap: 12px; }
  .section-1 .card-type-1 .content .right > a {
    min-height: 100px;
    background-size: 56px 56px;
    background-position: right 20px center;
    border-radius: 10px;
    overflow: hidden;
  }
  .section-1 .card-type-1 .content .right > a.gov-version {
    background-image: url(/index/icon-gov.svg);
  }
  .section-1 .card-type-1 .content .right > a.fin-version {
    background-image: url(/index/icon-fin.svg);
  }
  .section-1 .card-type-1 .content .right > a.com-version {
    background-image: url(/index/icon-ent.svg);
  }
  .section-1 .card-type-1 .content .right > a.pro-version {
    background-image: url(/index/icon-pro.svg);
  }
  .section-1 .card-type-1 .content .right .card-type-3 {
    padding: 18px 140px 18px 20px;
    min-height: 100px;
    height: auto;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(90deg, #fefefe 55%, #fefefe00 88%);
  }
  .section-1 .card-type-1 .content .right .card-type-3 .item-title {
    font-size: 18px;
    font-weight: 600;
  }
  .section-1 .card-type-1 .content .right .card-type-3 .item-below {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    max-height: none;
  }
  .section-1 .card-type-1 .content .right .card-type-3 .item-description {
    width: 100%;
    height: auto;
    font-size: 13px;
    line-height: 1.7;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
  }
  .section-1 .card-type-1 .content .right .card-type-3 .pc-button { display: none; }

  /* 产品服务三列卡片内的二维码区自适应 */
  .product-wrapper-3col .mobile-introduction .blue-mask .qrcode-wrapper {
    flex-direction: column;
    gap: 10px;
    padding-top: 8%;
    text-align: center;
  }
  .product-wrapper-3col .mobile-introduction .blue-mask .qrcode-wrapper img {
    width: 90px;
    height: 90px;
  }

  /* 行业数据页：统计卡片内的图片不要超过容器 */
  .section-2 .statistics > img,
  .section-1 .big-model-chain img,
  .section-5 .big-model-industry-title svg,
  .report-card img {
    width: 100%;
    max-width: 320px;
    height: auto;
  }
  .section-2 { height: auto !important; padding-bottom: 40px; }

  /* 平板/大屏手机：我们的优势卡片改为横向长方形，文字在左、小图在右 */
  .section-2 .section-2-content-wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px;
  }
  .section-2 .card-type-4 {
    min-height: auto !important;
    padding: 20px 24px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
  .section-2 .card-type-4 .header {
    flex: 1;
    min-width: 0;
  }
  .section-2 .card-type-4 .header h4 { font-size: 18px; }
  .section-2 .card-type-4 .header div {
    font-size: 13px;
    line-height: 1.7;
    margin-top: 6px;
  }
  .section-2 .card-type-4 .sprite-animation,
  .section-2 .card-type-4 .detailed-animation {
    position: relative;
    right: auto;
    bottom: auto;
    flex: none;
    width: 200px;
    height: auto;
    aspect-ratio: 345 / 216;
    margin: 0;
    background-repeat: no-repeat;
    animation: none !important;
  }
  .section-2 .card-type-4 .sprite-animation {
    background-size: 100% auto;
    background-position: center top;
  }
  .section-2 .card-type-4 .detailed-animation {
    background-size: contain;
    background-position: center;
  }
  .section-2 .card-type-4:hover .sprite-animation,
  .section-2 .card-type-4:hover .detailed-animation .capsule-1,
  .section-2 .card-type-4:hover .detailed-animation .capsule-2,
  .section-2 .card-type-4:hover .detailed-animation .capsule-3 {
    animation: none !important;
  }
  .section-2 .card-type-4 .detailed-animation .capsule { display: none; }
  /* 移除底部渐变遮罩，避免盖住横向布局中的文字和小图 */
  .section-2 .card-type-4.gradient-blue:after,
  .section-2 .card-type-4.gradient-green:after,
  .section-2 .card-type-4.gradient-lightblue:after,
  .section-2 .card-type-4.gradient-purple:after { display: none; }

  /* 重置桌面端跨行/跨列的网格占位（避免单列时空白） */
  .big-card-style,
  .data-model-card1,
  .std-report-card1,
  .advisory-card1,
  [class*="card"] {
    grid-row: auto !important;
    grid-column: auto !important;
  }

  /* 资讯/案例的分类切换 tab 横向滚动，避免溢出 */
  .tabs-nav {
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    justify-content: flex-start;
    gap: 12px;
    padding: 8px 12px;
  }
  .tabs-nav .tab-item { height: 34px; padding: 0 16px; font-size: 14px; }

  /* 数据服务、产业智库、解决方案等页面的锚点导航条在移动端隐藏 */
  .tabs-nav:has(.smooth-scroll-link) {
    display: none !important;
  }

  /* ---------- Footer 移动端重构：可用、不溢出 ---------- */
  footer .contact-us-img {
    height: 160px;
    background-size: cover;
    background-position: center;
  }
  footer .contact-us-img .gradient-mask { display: none !important; }
  footer .contact-us-img .info-wrapper { padding: 0 16px; }
  footer .contact-us-img .info-wrapper .slogan {
    font-size: 20px;
    margin-bottom: 12px;
  }
  footer .contact-us-img .info-wrapper .footer-contactus-btn {
    width: 180px;
    min-width: 0;
    max-width: none;
  }
  footer .contact-us-img .info-wrapper .footer-contactus-btn:hover {
    width: 180px;
  }
  footer .footer-content {
    height: auto !important;
    padding: 32px 0;
  }
  footer .footer-content .footer-info { flex-direction: column; }
  footer .footer-content .footer-info .footer-list-wrapper {
    flex-wrap: wrap;
    gap: 24px 0;
  }
  footer .footer-content .footer-info .footer-list-wrapper .footer-list {
    width: 50% !important;
  }
  footer .footer-content .footer-info .footer-list-wrapper .footer-list .title {
    font-size: 16px;
    margin-bottom: 14px;
  }
  footer .footer-content .footer-info .footer-list-wrapper .footer-list ul {
    font-size: 14px;
    gap: 14px;
  }
  footer .footer-content .footer-info .footer-list-wrapper .contact-info {
    width: 100% !important;
    margin-left: 0 !important;
    margin-top: 24px;
  }
  /* 平板/手机端隐藏导航条，仅保留联系我们与二维码 */
  footer .footer-content .footer-info .footer-list-wrapper .footer-list {
    display: none !important;
  }
  footer .footer-bottom { font-size: 12px; padding: 12px 16px; }

  /* 联系我们弹窗全屏化 */
  .contact-us-popup .popup-content {
    width: 94% !important;
    height: auto;
    max-height: 92vh;
    flex-direction: column;
    overflow-y: auto;
  }
  .contact-us-popup .popup-content .left-form { width: 100% !important; }
  .contact-us-popup .popup-content .right-content { padding: 16px; }

  /* 返回顶部按钮缩小 */
  .back-to-top { right: 12px; bottom: 12px; }
}

/* ============================================================
   手机（< 768px）：全面单列堆叠 + 字号排版细化
   ============================================================ */
@media (max-width: 767px) {
  /* 手机根字号等比放大到 11px（1rem=11px），所有 rem 文本同步放大，
     层级与平板一致、整体更舒适，不会破坏统一比例 */
  html { font-size: 68.75%; }

  /* 多列网格统一为单列 */
  .cards-wrapper-4col,
  .cards-wrapper-3col,
  .cards-wrapper-2col,
  .product-wrapper-3col,
  .section-3 .content .card .database-cards,
  .section-3 .content .card .scenarios,
  .section-5 .data-model-content,
  .advisory-service,
  .data-analyse-service,
  .std-report-service,
  .thinktank-advantages,
  .why-us,
  .reports,
  .serve-method {
    grid-template-columns: 1fr !important;
  }

  /* 取消客户案例、资讯动态区块的固定最小高度，避免底部留白 */
  .section-4,
  .section-5 {
    min-height: auto !important;
  }
  /* 平板端：案例卡片固定高度，避免 aspect-ratio 下图片被压缩（与首页一致） */
  .cases-list .case-card-style {
    height: 34rem;
    aspect-ratio: auto;
  }

  .banner { min-height: 240px; aspect-ratio: 16 / 10; }
  .data-service-banner,
  .solution-banner {
    min-height: 360px;
    aspect-ratio: auto;
  }
  .banner .header-content {
    justify-content: center;
    gap: 18px;
  }
  .data-service-banner .header-content,
  .solution-banner .header-content {
    gap: 12px;
    padding-top: calc(var(--nav-height) + 18px);
    padding-bottom: 24px;
  }
  .banner .header-content h1 {
    font-size: 23px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    position: relative;
    z-index: 2;
  }
  /* 移动端隐藏 banner 副标题，避免与底部 slogan 胶囊重复 */
  .banner .header-content h2 { display: none !important; }

  /* banner 图片区域上的 slogan 胶囊 */
  .banner-slogan-mobile {
    display: block;
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 11px 22px;
    text-align: center;
    font-size: 14px !important;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 1.5;
    color: #fff;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .28);
    background: rgba(28, 33, 62, .32);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 30px;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
    z-index: 3;
  }

  /* 手机端所有三级标题统一收口，避免 4rem 大标题失控 */
  h3 { font-size: 22px !important; }

  /* section-1 的 slogan 已上提到 banner，隐藏原标题 */
  .section-1 .container-safe > h3 { display: none; }

  /* 统一各区块顶部间隔：容器负责 32px 上间距，标题只保留底部间距 */
  .introduction .container-safe { padding-top: 32px; }
  .introduction .container-safe h3 {
    padding-top: 0;
    padding-bottom: 18px;
  }

  /* 关于我们客户 logo 墙：手机端两列；数字政府 mini-cards 单列 */
  .section-2 .client-cards { grid-template-columns: repeat(2, 1fr) !important; }
  .section-1 .content-container .card-left .datas {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px;
  }
  .section-4 .bg-wrapper .cards-wrapper .card .content .mini-cards {
    grid-template-columns: 1fr !important;
  }

  /* ---------- 资讯列表页：字号与排版修复 ---------- */
  .news-list.cards-wrapper-4col,
  .cases-list.cards-wrapper-3col {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
  .news-list,
  .cases-list {
    margin-bottom: 32px;
  }
  .button-contactus-below,
  .buttons-below,
  .contact-us-below,
  .load-more,
  .load-more-btn,
  .more-button {
    margin-bottom: 32px;
  }
  .news-list .big-card-style {
    grid-row: auto !important;
    grid-column: auto !important;
  }
  .news-card-style .content { padding: 14px 14px 18px; gap: 8px; }
  .news-card-style .content .title {
    font-size: 16px;
    line-height: 1.5;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .big-card-style .content .title { font-size: 18px; line-height: 1.5; }
  .news-card-style .content .abstract,
  .big-card-style .content .abstract {
    display: -webkit-box;
    font-size: 13px;
    line-height: 1.7;
    color: #727687;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
  }
  .news-card-style .content .date,
  .big-card-style .content .date { font-size: 12px; margin-top: 4px; }

  /* ---------- 客户案例：移动端完全复用平板端样式（图片在上、悬停文字上移覆盖图片） ---------- */
  /* 首页客户案例跑马灯 */
  .marquee-cases { height: 34rem; }
  .marquee-cases .case-card-style {
    width: 46.6rem;
    height: 34rem;
    aspect-ratio: auto;
  }
  .marquee-cases .case-card-style .category svg {
    width: 10.8rem;
    height: 3.2rem;
  }
  .marquee-cases .case-card-style .content {
    height: 20rem;
    padding: 3.6rem;
    position: absolute;
    bottom: 0;
    background-color: #fff;
    transition: height .5s;
  }
  .marquee-cases .case-card-style .content .title { font-size: 2.4rem; }
  .marquee-cases .case-card-style:hover .content {
    height: 34rem;
    background-image: url(/index/case-card-bg.svg);
    background-size: cover;
  }
  .marquee-cases .case-card-style:hover .content .arrow { display: none; }
  .marquee-cases .case-card-style:hover .content .description {
    display: block;
    animation: fadeInUp .8s;
  }

  /* ::before 独立承载背景图（固定比例），卡片本体高度自适应 */
  .cases-list .case-card-style {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    padding-top: 0;
    display: block;
    position: relative;
    background-image: none !important;
  }
  .cases-list .case-card-style::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 55%;
    background-image: var(--card-bg);
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
  }
  .cases-list .case-card-style .content {
    position: relative;
    height: auto;
    min-height: auto;
    padding: 2.0rem;
    background-color: #fff;
  }
  .cases-list .case-card-style .content .title { font-size: 2.0rem; }
  .cases-list .case-card-style .content .tags { margin-top: 1.0rem; }
  .cases-list .case-card-style .content .tags span {
    height: auto;
    min-height: 2.8rem;
    padding: 0.6rem 1.0rem;
    font-size: 1.3rem;
  }
  .cases-list .case-card-style .content .arrow {
    position: relative;
    bottom: auto;
    margin-top: 1.2rem;
  }
  .cases-list .case-card-style .content .arrow svg {
    width: 2.0rem;
    height: 2.0rem;
  }

  /* 移动端：点击卡片展开详情（用 .active 类，不再依赖 hover） */
  .cases-list .case-card-style:hover .content .description { display: none; }
  .cases-list .case-card-style.active .content {
    background-image: url(/index/case-card-bg.svg);
    background-size: cover;
  }
  .cases-list .case-card-style.active .content .arrow { display: none; }
  .cases-list .case-card-style.active .content .description {
    display: block;
    animation: fadeInUp .8s;
  }

  /* Footer 在手机端单列 */
  footer .footer-content .footer-info .footer-list-wrapper .footer-list {
    width: 100% !important;
  }
  footer .footer-content .footer-info .footer-list-wrapper .contact-info .foot-qrcodes {
    justify-content: flex-start;
    gap: 28px;
  }

  /* 按钮在窄屏不溢出 */
  .banner .header-content .click-now,
  .button-width-200,
  .half-transparent-btn,
  .contact-us-below {
    width: auto;
    max-width: 100%;
  }
}

/* ============================================================
   首页（index）移动端深度重写 —— 针对产品展示卡片的彻底重构
   ============================================================ */
@media (max-width: 767px) {
  /* Banner：清除 main.css 在 <999px 加的 48px 左偏移 */
  .banner .header-content h1,
  .banner .header-content h2 { margin-left: 0 !important; }

  /* ---------- Section-1：行业洞察 PC 端产品卡 ---------- */
  .section-1 .card-type-1 { padding: 18px; }
  .section-1 .card-type-1 .header { margin-bottom: 4px; }
  .section-1 .card-type-1 .header h4 {
    font-size: 19px;
    margin-bottom: 6px;
  }
  .section-1 .card-type-1 .header div {
    font-size: 13px;
    line-height: 1.7;
  }

  /* 左（tab+截图）与右（版本卡）纵向堆叠 */
  .section-1 .card-type-1 .content {
    flex-direction: column !important;
    gap: 14px;
    margin-top: 14px;
  }
  .section-1 .card-type-1 .content .left,
  .section-1 .card-type-1 .content .right {
    width: 100% !important;
    flex: none !important;
    aspect-ratio: auto !important;
  }
  /* 左区必须纵向堆叠：tab 在上，截图在下 */
  .section-1 .card-type-1 .content .left {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden;
    border-radius: 10px;
  }

  /* Tab 改为顶部横向标签 */
  .section-1 .card-type-1 .content .left .tabs {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    flex: none !important;
    border-right: none !important;
    border-bottom: 1px solid #e1e5e8;
    background: #fefefe;
  }
  .section-1 .card-type-1 .content .left .tabs .tab {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    padding: 12px 4px;
    border-left: none !important;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
  }
  .section-1 .card-type-1 .content .left .tabs .tab.active {
    border-left: none !important;
    border-bottom-color: #3062f6;
    background: linear-gradient(180deg, #fefefe 18.5%, #ecf5ff 99.89%);
    color: #3062f6;
  }

  /* 截图区：垂直 Swiper 容器，固定高度逐张切换（每 tab 对应一张图） */
  .section-1 .card-type-1 .content .left .tab-content {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
    flex: none !important;
    overflow: hidden;
  }
  .section-1 .card-type-1 .content .left .tab-content:after { display: none; }
  /* 让 Swiper 自己管理 wrapper 的 flex 方向（column）与 transform */
  .section-1 .card-type-1 .content .left .tab-content .swiper-wrapper {
    width: 100% !important;
    height: 100% !important;
  }
  .section-1 .card-type-1 .content .left .tab-content .swiper-slide {
    width: 100% !important;
    height: 100% !important;
    flex-shrink: 0 !important;
  }
  .section-1 .card-type-1 .content .left .tab-content .insight-prod-pics {
    width: 100% !important;
    height: 100% !important;
    line-height: 0;
  }
  .section-1 .card-type-1 .content .left .tab-content .insight-prod-pics img,
  .section-1 .card-type-1 .content .left .tab-content .insight-prod-pics svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: contain;
  }

  /* 右侧 政府/金融/企业/旗舰 版本卡纵向堆叠 */
  .section-1 .card-type-1 .content .right { gap: 12px; }
  .section-1 .card-type-1 .content .right > a {
    min-height: 102px;
    background-size: 48px 48px;
    background-repeat: no-repeat;
    background-position: right 16px center;
    border-radius: 10px;
    overflow: hidden;
  }
  .section-1 .card-type-1 .content .right > a.gov-version {
    background-image: url(/index/icon-gov.svg);
  }
  .section-1 .card-type-1 .content .right > a.fin-version {
    background-image: url(/index/icon-fin.svg);
  }
  .section-1 .card-type-1 .content .right > a.com-version {
    background-image: url(/index/icon-ent.svg);
  }
  .section-1 .card-type-1 .content .right > a.pro-version {
    background-image: url(/index/icon-pro.svg);
  }
  .section-1 .card-type-1 .content .right .card-type-3 {
    padding: 18px 110px 18px 18px;
    min-height: 102px;
    height: auto;
    justify-content: center;
    gap: 8px;
  }
  .section-1 .card-type-1 .content .right .card-type-3 .item-title {
    font-size: 17px;
    font-weight: 600;
  }
  .section-1 .card-type-1 .content .right .card-type-3 .item-below {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    max-height: none;
  }
  .section-1 .card-type-1 .content .right .card-type-3 .item-description {
    width: 100%;
    height: auto;
    font-size: 13px;
    line-height: 1.7;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
  }
  .section-1 .card-type-1 .content .right .card-type-3 .pc-button { display: none; }

  /* ---------- 产品服务三列卡：移动端单列堆叠 ---------- */
  .product-wrapper-3col {
    grid-template-columns: 1fr !important;
    gap: 14px;
    margin-top: 14px;
  }
  .product-wrapper-3col .card-type-2 {
    padding: 18px;
    gap: 14px;
    min-height: auto !important;
    overflow: visible;
  }
  .product-wrapper-3col .card-type-2 .header h4 {
    font-size: 17px;
    margin-bottom: 4px;
  }
  .product-wrapper-3col .card-type-2 .header div {
    font-size: 12px;
    line-height: 1.6;
  }
  .product-wrapper-3col .card-type-2 > img {
    width: calc(100% - 36px);
    max-width: none;
    margin: 0 18px;
    display: block;
  }

  /* 底部渐变遮罩改为静态按钮区 */
  .product-wrapper-3col .card-type-2 .gradient-mask {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    height: auto;
    padding: 0;
    background: none !important;
    display: block;
    margin-top: 8px;
    opacity: 1;
  }
  .product-wrapper-3col .card-type-2 .white-mask {
    align-items: flex-start;
  }
  .product-wrapper-3col .card-type-2 .button-width-200 {
    width: 100%;
    max-width: 200px;
    height: 40px;
  }

  /* 移动端二维码卡：二维码与文案横向并排 */
  .product-wrapper-3col .card-type-2.mobile-introduction {
    background-size: 160px auto;
    background-position: right bottom;
  }
  .product-wrapper-3col .card-type-2.mobile-introduction .blue-mask {
    justify-content: flex-start;
    padding-top: 0;
  }
  .product-wrapper-3col .mobile-introduction .blue-mask .qrcode-wrapper {
    flex-direction: row !important;
    justify-content: flex-start;
    align-items: center;
    gap: 14px;
    padding-top: 0;
    text-align: left;
  }
  .product-wrapper-3col .mobile-introduction .blue-mask .qrcode-wrapper img {
    width: 72px;
    height: 72px;
    border-radius: 8px;
  }
  .product-wrapper-3col .mobile-introduction .blue-mask .qrcode-wrapper .qrcode-description .description-title {
    font-size: 15px;
    margin-bottom: 4px;
  }
  .product-wrapper-3col .mobile-introduction .blue-mask .qrcode-wrapper .qrcode-description {
    font-size: 12px;
    line-height: 1.6;
  }

  /* ---------- Section-2：我们的优势 ---------- */
  .section-2 .section-2-content-wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px;
  }
  .section-2 .card-type-4 {
    min-height: auto !important;
    padding: 16px 18px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
  }
  .section-2 .card-type-4 .header {
    flex: 1;
    min-width: 0;
  }
  .section-2 .card-type-4 .header h4 { font-size: 16px; }
  .section-2 .card-type-4 .header div {
    font-size: 12px;
    line-height: 1.6;
    margin-top: 4px;
  }
  .section-2 .card-type-4 .sprite-animation,
  .section-2 .card-type-4 .detailed-animation {
    position: relative;
    right: auto;
    bottom: auto;
    flex: none;
    width: 130px;
    height: auto;
    aspect-ratio: 345 / 216;
    margin: 0;
    background-repeat: no-repeat;
    animation: none !important;
  }
  .section-2 .card-type-4 .sprite-animation {
    background-size: 100% auto;
    background-position: center top;
  }
  .section-2 .card-type-4 .detailed-animation {
    background-size: contain;
    background-position: center;
  }
  .section-2 .card-type-4:hover .sprite-animation,
  .section-2 .card-type-4:hover .detailed-animation .capsule-1,
  .section-2 .card-type-4:hover .detailed-animation .capsule-2,
  .section-2 .card-type-4:hover .detailed-animation .capsule-3 {
    animation: none !important;
  }
  .section-2 .card-type-4 .detailed-animation .capsule { display: none; }
  .section-2 .card-type-4.gradient-blue:after,
  .section-2 .card-type-4.gradient-green:after,
  .section-2 .card-type-4.gradient-lightblue:after,
  .section-2 .card-type-4.gradient-purple:after { display: none; }

  /* ---------- Section-3：解决方案 ---------- */
  .section-3 .content-wrapper.cards-wrapper-2col { gap: 14px; }
  .section-3 .card-type-5 {
    min-height: auto !important;
    padding: 18px;
    background-size: cover;
    background-position: center;
  }
  .section-3 .card-type-5 .header h4 { font-size: 17px; }
  .section-3 .card-type-5 .header .item-description {
    width: 100% !important;
    font-size: 12px;
    line-height: 1.7;
  }
  .section-3 .card-type-5 .dynamic-arrow {
    margin-top: 14px;
    font-size: 14px;
  }
  .section-3 .card-type-5 .cards-bottom {
    flex-direction: column;
    gap: 10px;
    margin-top: 14px;
  }
  .section-3 .card-type-5 .cards-bottom .card-bottom {
    min-height: auto;
    padding: 12px;
  }
  .section-3 .card-type-5 .cards-bottom .card-bottom-title { font-size: 14px; }
  .section-3 .card-type-5 .cards-bottom .card-bottom-description { font-size: 12px; }
}

/* ============================================================
   平板（768px - 999px）：解决方案卡片与手机端一致；取消 section-4/5 固定高度，避免底部留白
   ============================================================ */
@media (min-width: 768px) and (max-width: 999px) {
  .section-3 .content-wrapper.cards-wrapper-2col {
    grid-template-columns: 1fr !important;
  }
  .section-3 .card-type-5 {
    min-height: auto !important;
    padding: 18px;
    background-size: cover;
    background-position: center;
  }
  .section-4,
  .section-5 {
    min-height: auto !important;
  }
  /* 平板端：案例卡片固定高度，避免 aspect-ratio 下图片被压缩（与首页一致） */
  .cases-list .case-card-style {
    height: 34rem;
    aspect-ratio: auto;
  }
  /* 平板端：底部联系区空间有限，改为分行排布，避免文字和二维码互相挤压 */
  footer .footer-content .footer-info .footer-list-wrapper .contact-info {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    margin-left: 0 !important;
    width: 100% !important;
  }
  footer .footer-content .footer-info .footer-list-wrapper .contact-info .title {
    width: 100%;
    margin-bottom: 2px;
  }
  footer .footer-content .footer-info .footer-list-wrapper .contact-info .icon-pair {
    width: 100%;
    margin-top: 0;
    font-size: 13px;
  }
  footer .footer-content .footer-info .footer-list-wrapper .contact-info .icon-pair span {
    min-width: 0;
    word-break: break-word;
  }
  footer .footer-content .footer-info .footer-list-wrapper .contact-info .foot-qrcodes {
    margin-top: 4px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 18px 28px;
  }

  /* ---------- 产业大数据服务 / 产业智库：与移动端一致 ---------- */
  .product-wrapper-3col .card-type-2 {
    padding: 20px;
    gap: 14px;
    min-height: auto !important;
    overflow: visible;
  }
  .product-wrapper-3col .card-type-2 .header h4 {
    font-size: 17px;
    margin-bottom: 4px;
  }
  .product-wrapper-3col .card-type-2 .header div {
    font-size: 12px;
    line-height: 1.6;
  }
  .product-wrapper-3col .card-type-2 > img {
    width: calc(100% - 40px);
    max-width: none;
    margin: 0 20px;
    display: block;
  }
  .product-wrapper-3col .card-type-2 .gradient-mask {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    height: auto;
    padding: 0;
    background: none !important;
    display: block;
    margin-top: 8px;
    opacity: 1;
  }
  .product-wrapper-3col .card-type-2 .white-mask {
    align-items: flex-start;
  }
  .product-wrapper-3col .card-type-2 .button-width-200 {
    width: 100%;
    max-width: 200px;
    height: 40px;
  }
}

/* 大模型产业链图谱响应式：平板保持 3 列，移动端 1 列，避免 2+1 换行 */
@media (max-width: 999px) {
  .section-1 .big-model-chain{grid-template-columns:repeat(3,1fr);gap:1.2rem}
}
@media (max-width: 767px) {
  .section-1 .big-model-chain{grid-template-columns:1fr;gap:1.2rem;justify-items:center}
  .section-1 .big-model-chain img{width:100%;max-width:100%}
}

/* 修复：产业链统计区在移动端被大 padding+不收缩 flex 项撑出视口 */
@media (max-width: 767px) {
  .section-1 .data-statistics .data-statistics-detail{padding:0 1rem;flex-wrap:wrap;gap:.8rem;justify-content:space-around}
  .section-1 .data-statistics .data-statistics-detail .item{flex:0 0 auto;min-width:0;max-width:100%}
  .section-1 .data-statistics .data-statistics-detail .item .number{font-size:2.4rem;line-height:3rem}
}

/* 数据服务页：平板/移动端全部网格改为单列 */
@media (max-width: 999px) {
  .section-1 .data-description,
  .section-1 .data-category,
  .section-3 .content,
  .section-3 .database-cards,
  .section-3 .scenarios,
  .section-4 .content,
  .section-4 .label-content,
  .section-5 .data-model-content,
  .section-6 .serve-method {
    grid-template-columns: 1fr !important;
  }
}

/* 关于我们页：平板/移动端全部改为单列 */
@media (max-width: 999px) {
  .section-1 .content-container{flex-direction:column;gap:2rem}
  .section-1 .content-container .card-left,
  .section-1 .content-container .cards-right{flex:auto;width:100%}
  .section-1 .content-container .card-left .datas{grid-template-columns:1fr 1fr !important}
  .section-2 .client-cards{grid-template-columns:1fr 1fr !important}
}
@media (max-width: 767px) {
  .section-1 .content-container .card-left .datas{grid-template-columns:1fr !important}
  .section-2 .client-cards{grid-template-columns:1fr !important}
}


@media screen and (max-width: 600px) {
  /* 修复导航栏遮挡标题：增加 banner 最小高度和顶部间距 */
  .banner {
    min-height: 360px !important;
  }
  .banner .header-content {
    padding-top: calc(var(--nav-height) + 1.6rem) !important;
    padding-bottom: 2rem;
    gap: 1.2rem;
  }
  /* 修复"联系我们"按钮被压扁 */
  .banner .header-content .click-now {
    width: 200px;
    min-width: 160px;
    min-height: 40px;
    max-width: 100%;
    flex-shrink: 0;
  }
  /* 修复 banner 和 tabs-nav 间距 */
  .tabs-nav {
    margin-top: 1.6rem;
  }
}