/* 自适应：设计稿 1920px，最小 1200px
 * 不修改 html font-size，避免影响 header/footer（它们继续用 globals 的 100px rem）
 * 本页间距通过 --page-rem 缩放；字号以 px 为主，窄屏再适度缩小字号
 */
body.index-page {
  --page-rem: clamp(80px, calc(100vw / 19.2), 100px);
  min-width: 1200px;
}

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

.hero {
  margin-top: 72px;
}

.hero .swiper {
  width: 100%;
  height: calc(7 * var(--page-rem));
}
.hero .swiper_banner {
  position: relative;
  overflow: hidden;
}

.hero .swiper_banner .hero-swiper-item1 {
  background: url("../../img/index/swiper-item1.png") no-repeat center center;
  width: 100%;
  height: calc(7 * var(--page-rem));
}
.hero .swiper_banner .hero-swiper-item2 {
  background: url("../../img/index/swiper-item2.png") no-repeat center center;
  width: 100%;
  height: calc(7 * var(--page-rem));
}

.hero .swiper_banner .swiper-slide {
  display: flex;
  align-items: flex-start;
}

.hero .swiper_banner .hero-swiper-item1,
.hero .swiper_banner .hero-swiper-item2 {
  width: 100%;
  background-size: cover;
  box-sizing: border-box;
}

.hero .swiper_banner .hero-swiper-item1 .hero-swiper-box,
.hero .swiper_banner .hero-swiper-item2 .hero-swiper-box {
  /* 1920：保持现有顶部间距（0）；内容顶部对齐，避免在 slide 内垂直居中 */
  padding: 0 0 0 calc(1.6 * var(--page-rem));
  margin: 0;
  box-sizing: border-box;
  line-height: normal;
  align-self: flex-start;
}

.hero .swiper .swiper-pagination {
  bottom: calc(0.63 * var(--page-rem));
  left: 0;
  width: 100%;
  height: calc(0.15 * var(--page-rem));
  line-height: 0;
  font-size: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}

.hero .swiper .swiper-pagination .swiper-pagination-bullet {
  width: calc(0.7 * var(--page-rem));
  height: calc(0.15 * var(--page-rem));
  margin: 0 4px;
  padding: 0;
  display: inline-block;
  vertical-align: top;
  background: #ffffff;
  border-radius: calc(1 * var(--page-rem));
  opacity: 0.5;
  box-sizing: border-box;
  flex-shrink: 0;
}
.hero .swiper .swiper-pagination .swiper-pagination-bullet-active {
  width: calc(0.7 * var(--page-rem));
  height: calc(0.15 * var(--page-rem));
  background: #ffffff;
  border-radius: calc(1 * var(--page-rem));
  opacity: 1;
}

.hero .swiper_banner .hero-swiper-item1 .badge,
.hero .swiper_banner .hero-swiper-item2 .badge {
  width: auto;
  height: calc(0.36 * var(--page-rem));
  padding: 0 12px;
  background: #e5efff;
  border-radius: calc(0.08 * var(--page-rem));
  border: 1px solid #0f62ea;
  font-size: 14px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0f62ea;
  margin-bottom: calc(0.2 * var(--page-rem));
  box-sizing: border-box;
  white-space: nowrap;
}

/* 主标题 */
.hero .swiper_banner .hero-swiper-item1 .main-title-box,
.hero .swiper_banner .hero-swiper-item2 .main-title-box {
  font-size: 0;
}
.hero .swiper_banner .hero-swiper-item1 .main-title,
.hero .swiper_banner .hero-swiper-item1 .sub-title,
.hero .swiper_banner .hero-swiper-item2 .main-title,
.hero .swiper_banner .hero-swiper-item2 .sub-title {
  font-size: 42px;
  line-height: 1.3;
  font-weight: bold;
  color: #1e1e1e;
  letter-spacing: 1px;
  margin: 0;
  padding: 0;
}

/* 标签组 (Tags) */
.hero .swiper_banner .hero-swiper-item1 .tags,
.hero .swiper_banner .hero-swiper-item2 .tags {
  font-size: 0;
  display: flex;
  align-items: center;
  margin-top: calc(0.22 * var(--page-rem));
}

.hero .swiper_banner .hero-swiper-item1 .tag-item,
.hero .swiper_banner .hero-swiper-item2 .tag-item {
  width: calc(1.2 * var(--page-rem));
  height: calc(0.36 * var(--page-rem));
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: calc(0.2 * var(--page-rem));
  z-index: 1;
  margin-right: calc(0.2 * var(--page-rem));
  box-sizing: border-box;
}
.hero .swiper_banner .hero-swiper-item1 .tag-item span,
.hero .swiper_banner .hero-swiper-item2 .tag-item span {
  position: relative;
  z-index: 2;
  color: #1e1e1e;
  font-size: 14px;
  font-weight: 500;
}
.hero .swiper_banner .hero-swiper-item1 .tag-item::before,
.hero .swiper_banner .hero-swiper-item2 .tag-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f4f6f9;
  opacity: 0.5;
  border-radius: calc(0.2 * var(--page-rem));
  z-index: 1;
}

/* 数据统计 (Stats) */
.hero .swiper_banner .hero-swiper-item1 .stats,
.hero .swiper_banner .hero-swiper-item2 .stats {
  font-size: 0;
  padding: calc(0.17 * var(--page-rem)) 0;
  position: relative;
  margin-top: calc(0.25 * var(--page-rem));
}

.hero .swiper_banner .hero-swiper-item1 .status-line-top,
.hero .swiper_banner .hero-swiper-item2 .status-line-top {
  width: calc(6.55 * var(--page-rem));
  height: calc(0.01 * var(--page-rem));
  background: #ffffff;
  opacity: 0.5;
  position: absolute;
  top: 0;
}
.hero .swiper_banner .hero-swiper-item1 .status-line-bottom,
.hero .swiper_banner .hero-swiper-item2 .status-line-bottom {
  width: calc(6.55 * var(--page-rem));
  height: calc(0.01 * var(--page-rem));
  background: #ffffff;
  opacity: 0.5;
  position: absolute;
  bottom: 0;
}

.hero .swiper_banner .hero-swiper-item1 .stat-item-box,
.hero .swiper_banner .hero-swiper-item2 .stat-item-box {
  display: flex;
  align-items: center;
}

.hero .swiper_banner .hero-swiper-item1 .stat-item,
.hero .swiper_banner .hero-swiper-item2 .stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: calc(0.65 * var(--page-rem));
}

.hero .swiper_banner .hero-swiper-item1 .stat-item .number,
.hero .swiper_banner .hero-swiper-item2 .stat-item .number {
  font-size: 24px;
  font-weight: bold;
  color: #0059eb;
  margin-bottom: calc(0.04 * var(--page-rem));
}

.hero .swiper_banner .hero-swiper-item1 .stat-item .desc,
.hero .swiper_banner .hero-swiper-item2 .stat-item .desc {
  font-size: 18px;
  color: #1e1e1e;
}

.hero .swiper_banner .hero-swiper-item1 .button,
.hero .swiper_banner .hero-swiper-item2 .button {
  width: 250px;
  height: 66px;
  background: #0059eb;
  border-radius: calc(0.16 * var(--page-rem));
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: calc(0.6 * var(--page-rem));
  cursor: pointer;
  box-sizing: border-box;
  white-space: nowrap;
  flex-shrink: 0;
}
.hero .swiper_banner .hero-swiper-item1 .button:hover,
.hero .swiper_banner .hero-swiper-item2 .button:hover {
  background: #337aef;
}
/* PPT企业服务，让演示文档生产提速100倍 */
.services {
  font-size: 0;
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: calc(8.88 * var(--page-rem));
  height: auto;
  background: linear-gradient(0deg, #f5f9ff 0%, #ffffff 100%);
  box-shadow: 0px calc(-0.1 * var(--page-rem)) calc(0.15 * var(--page-rem)) calc(0.01 * var(--page-rem)) rgba(99, 140, 255, 0.1);
  border-radius: calc(0.4 * var(--page-rem)) calc(0.4 * var(--page-rem)) calc(0.4 * var(--page-rem)) calc(0.4 * var(--page-rem));
  margin-top: calc(-0.4 * var(--page-rem));
  padding: calc(1 * var(--page-rem)) 8.3333% calc(0.6 * var(--page-rem));
}
.services .services-tag {
  width: auto;
  min-width: calc(1 * var(--page-rem));
  min-height: calc(0.36 * var(--page-rem));
  height: auto;
  background: #e5efff;
  border-radius: calc(0.18 * var(--page-rem));
  color: #0f62ea;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 calc(0.08 * var(--page-rem));
  box-sizing: border-box;
}
.services .services-title {
  font-weight: bold;
  font-size: 36px;
  color: #1e1e1e;
  text-align: left;
  margin: calc(0.2 * var(--page-rem)) 0 calc(0.4 * var(--page-rem));
}
.services .services-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.services .services-list .service-card {
  width: 31.25%;
  min-height: calc(2.56 * var(--page-rem));
  height: auto;
  background: linear-gradient(0deg, #ffffff 0%, #eef8ff 100%);
  border-radius: calc(0.2 * var(--page-rem));
  border: 1px solid #eeeeee;
  padding: calc(0.42 * var(--page-rem)) calc(0.28 * var(--page-rem)) calc(0.24 * var(--page-rem));
  font-size: 0;
  cursor: pointer;
}
.services .services-list .service-card:hover {
  box-shadow: 0px 0px calc(0.16 * var(--page-rem)) calc(0.1 * var(--page-rem)) #d5e5ef;
}
.services .services-list .service-card img {
  width: calc(0.42 * var(--page-rem));
  height: calc(0.42 * var(--page-rem));
}
.services .services-list .service-card h3 {
  color: #1e1e1e;
  font-size: 20px;
  font-weight: bold;
  margin: calc(0.32 * var(--page-rem)) 0 calc(0.24 * var(--page-rem));
}
.services .services-list .service-card p {
  color: #6c717a;
  font-size: 16px;
  line-height: 1.5;
  word-break: break-word;
}
.services .services-bottom-cta {
  margin-top: calc(0.55 * var(--page-rem));
  padding-top: calc(0.17 * var(--page-rem));
}
.services .services-bottom-cta .services-bottom-cta-content {
  /*max-width: calc(16 * var(--page-rem));*/
  width: 100%;
  min-height: calc(1.15 * var(--page-rem));
  height: auto;
  background: #ffffff;
  border-radius: calc(0.2 * var(--page-rem));
  border: 1px solid #eeeeee;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding: calc(0.28 * var(--page-rem)) calc(0.2 * var(--page-rem)) calc(0.2 * var(--page-rem));
  box-sizing: border-box;
  gap: calc(0.16 * var(--page-rem));
  overflow: visible;
}
.services .services-bottom-cta .services-bottom-cta-content .services-bottom-cta-title {
  width: auto;
  min-width: calc(1.04 * var(--page-rem));
  height: calc(0.34 * var(--page-rem));
  padding: 0 calc(0.12 * var(--page-rem));
  background: #e5efff;
  border-radius: calc(0.17 * var(--page-rem));
  color: #1e1e1e;
  font-size: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: calc(-0.17 * var(--page-rem));
  left: calc(0.28 * var(--page-rem));
  font-weight: bold;
  box-sizing: border-box;
  white-space: nowrap;
  z-index: 2;
}
.services .services-bottom-cta .services-bottom-cta-item {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
  padding: 0 calc(0.08 * var(--page-rem));
  margin: 0;
}
.services .services-bottom-cta .services-bottom-cta-item h5 {
  color: #1e1e1e;
  font-size: 16px;
  font-weight: bold;
  margin-left: calc(0.12 * var(--page-rem));
  margin-right: calc(0.04 * var(--page-rem));
  flex-shrink: 0;
  white-space: nowrap;
  line-height: 1.4;
}
.services .services-bottom-cta .services-bottom-cta-item p {
  color: #1e1e1e;
  font-size: 16px;
  line-height: 1.4;
  word-break: break-word;
  overflow-wrap: anywhere;
  min-width: 0;
  flex: 1 1 auto;
}
.services .button {
  width: 260px;
  height: 60px;
  background: #1e1e1e;
  border-radius: calc(0.16 * var(--page-rem));
  font-size: 18px;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: calc(0.6 * var(--page-rem)) auto;
  cursor: pointer;
  box-sizing: border-box;
  flex-shrink: 0;
  white-space: nowrap;
}
.services .button:hover {
  background: #2b2b2b;
}

/* 即发内容定制 让内容生产不再拖累运营节奏 */
.workflow .workflow-container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  padding: calc(1 * var(--page-rem)) calc(1.6 * var(--page-rem));
  box-sizing: border-box;
}
.workflow .workflow-container .workflow-left {
  flex: 1 1 auto;
  min-width: 0;
  max-width: calc(100% - calc(6.88 * var(--page-rem)) - calc(0.4 * var(--page-rem)));
  margin-right: calc(0.4 * var(--page-rem));
  box-sizing: border-box;
}
.workflow .workflow-container .workflow-left h3 {
  color: #1e1e1e;
  font-size: 36px;
  font-weight: bold;
  margin-bottom: calc(0.4 * var(--page-rem));
  line-height: 1.3;
  word-break: break-word;
}

.workflow .workflow-container .workflow-left .workflow-features li {
  display: flex;
  flex-direction: column;
  margin-bottom: calc(0.4 * var(--page-rem));
}
.workflow .workflow-container .workflow-left .workflow-features li img {
  width: calc(0.2 * var(--page-rem));
  height: calc(0.2 * var(--page-rem));
  margin-right: calc(0.15 * var(--page-rem));
  flex-shrink: 0;
}
.workflow .workflow-container .workflow-left .workflow-features-content {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.workflow .workflow-container .workflow-left .workflow-features-content-title {
  display: flex;
  align-items: center;
  margin-bottom: calc(0.2 * var(--page-rem));
}
.workflow .workflow-container .workflow-left .workflow-features-content h5 {
  color: #1e1e1e;
  font-size: 20px;
  font-weight: bold;
  word-break: break-word;
}
.workflow .workflow-container .workflow-left .workflow-features-content p {
  color: #6c717a;
  font-size: 16px;
  line-height: 1.5;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
}

.workflow .workflow-container .workflow-left .button {
  width: 260px;
  height: 60px;
  background: #1e1e1e;
  border-radius: calc(0.16 * var(--page-rem));
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  box-sizing: border-box;
  flex-shrink: 0;
  white-space: nowrap;
}
.workflow .workflow-container .workflow-left .button:hover {
  background: #2b2b2b;
}

.workflow-right {
  width: calc(6.88 * var(--page-rem));
  flex: 0 0 calc(6.88 * var(--page-rem));
  min-height: calc(5.4 * var(--page-rem));
  height: auto;
  background: linear-gradient(0deg, #ffffff 0%, #eef8ff 100%);
  box-shadow: 0px 0px calc(0.16 * var(--page-rem)) calc(0.01 * var(--page-rem)) #d5e5ef;
  border: calc(0.01 * var(--page-rem)) solid #eeeeee;
  padding: calc(0.5 * var(--page-rem)) calc(0.6 * var(--page-rem));
  font-size: 0;
  box-sizing: border-box;
  border-radius: 20px;
}
.workflow-right h4 {
  color: #1e1e1e;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: calc(0.22 * var(--page-rem));
}
.workflow-right .steps-list {
  padding: calc(0.2 * var(--page-rem)) 0;
  position: relative;
}
.workflow-right .steps-list:after {
  content: "";
  display: block;
  width: 0px;
  height: calc(2.27 * var(--page-rem));
  border: calc(0.01 * var(--page-rem)) dashed #dddddd;
  position: absolute;
  top: 0;
  left: calc(0.06 * var(--page-rem));
}
.workflow-right .steps-list .step-icon {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(0.15 * var(--page-rem));
  height: calc(0.15 * var(--page-rem));
  background: #ffffff;
  border: calc(0.01 * var(--page-rem)) solid #0059eb;
  border-radius: 50%;
  position: relative;
  margin-right: calc(0.16 * var(--page-rem));
}
.workflow-right .steps-list .step-icon:before {
  content: "";
  display: inline-block;
  width: calc(0.09 * var(--page-rem));
  height: calc(0.09 * var(--page-rem));
  background: #0059eb;
  border-radius: 50%;
}
.workflow-right .steps-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: calc(0.42 * var(--page-rem));
  position: relative;
  z-index: 2;
}
.workflow-right .steps-list li h5 {
  font-size: 16px;
  color: #1e1e1e;
  font-weight: bold;
  flex-shrink: 0;
  white-space: nowrap;
  margin-right: calc(0.08 * var(--page-rem));
}
.workflow-right .steps-list li p {
  font-size: 16px;
  color: #1e1e1e;
  word-break: break-word;
  overflow-wrap: anywhere;
  min-width: 0;
  line-height: 1.4;
}

.workflow-right .coverage-platform h4 {
  color: #1e1e1e;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: calc(0.2 * var(--page-rem));
}
.workflow-right .coverage-platform ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.workflow-right .coverage-platform ul li {
  width: auto;
  min-width: calc(1.2 * var(--page-rem));
  min-height: calc(0.34 * var(--page-rem));
  height: auto;
  background: #f6f6f6;
  border-radius: calc(0.18 * var(--page-rem));
  color: #1e1e1e;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: calc(0.2 * var(--page-rem));
  padding: calc(0.04 * var(--page-rem)) calc(0.1 * var(--page-rem));
  box-sizing: border-box;
  word-break: break-word;
  text-align: center;
}
/* 3000+ 企业客户信赖之选 */
.clients {
  background: url("../../img/index/clients-bg.png") no-repeat center center;
  background-size: 100% 100%;
  min-height: calc(10.47 * var(--page-rem));
  height: auto;
}
.clients .container {
  padding: calc(1 * var(--page-rem)) 8.3333%;
}
.clients .container > h3 {
  font-weight: bold;
  font-size: 36px;
  text-align: center;
  margin-bottom: calc(0.2 * var(--page-rem));
}
.clients .container > p {
  font-size: 18px;
  color: #1e1e1e;
  text-align: center;
}
.clients .container .logos-flex {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: clamp(12px, 1.25vw, 48px);
  row-gap: calc(0.2 * var(--page-rem));
  margin-top: calc(0.6 * var(--page-rem));
}
.clients .container .logos-flex .logo-item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.clients .container .logos-flex .logo-item img {
  width: 100%;
  max-width: none;
  height: auto;
  display: block;
  object-fit: contain;
}
.clients .container .section-title {
  margin: calc(1.27 * var(--page-rem)) 0 calc(0.6 * var(--page-rem));
}
.clients .container .stats-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.clients .container .stat-item {
  width: 24.95%;
  min-height: calc(1.4 * var(--page-rem));
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: calc(0.01 * var(--page-rem)) solid #ffffff;
}
.clients .container .stat-item-border-top {
  border-top: none;
}
.clients .container .stat-item-border-bottom {
  border-bottom: none;
}
.clients .container .stat-item-border-left {
  border-left: none;
}
.clients .container .stat-item-border-right {
  border-right: none;
}
.clients .container .stat-item-border-none {
  border: none;
}

.clients .container .stat-item h4 {
  font-size: 36px;
  color: #1e1e1e;
  font-weight: bold;
  margin-bottom: calc(0.16 * var(--page-rem));
}
.clients .container .stat-item p {
  color: #6c717a;
  font-size: 16px;
}
/* 真实案例 · 看得见的效果 */
.case-studies {
  background: url("../../img/index/case-studies-bg.png") no-repeat center center;
  background-size: 100% 100%;
  height: calc(9.14 * var(--page-rem));
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: calc(1 * var(--page-rem)) calc(1.6 * var(--page-rem));
  box-sizing: border-box;
  overflow: hidden;
  gap: calc(0.4 * var(--page-rem));
}
.case-studies .case-left {
  margin-top: calc(0.2 * var(--page-rem));
  margin-right: 0;
  flex: 1 1 0;
  min-width: 0;
  box-sizing: border-box;
}
.case-studies .case-left .section-title {
  font-weight: bold;
  font-size: 36px;
  color: #1e1e1e;
  margin-bottom: calc(0.56 * var(--page-rem));
  word-break: break-word;
}
.case-studies .case-left .case-studies-banner {
  width: 100%;
  max-width: calc(8.54 * var(--page-rem));
  height: auto;
  display: block;
  position: relative;
}
.case-studies .case-left .case-studies-banner img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  position: absolute;
  top: 0;
  left: -3.5%;
}

.case-studies .case-right {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-height: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.case-studies .case-right .case-card {
  font-size: 0;
  width: 100%;
  border-bottom: #eeeeee calc(0.01 * var(--page-rem)) solid;
  padding: calc(0.24 * var(--page-rem)) 0;
  box-sizing: border-box;
}
.case-studies .case-right .case-card .case-tag {
  width: auto;
  min-width: calc(0.6 * var(--page-rem));
  height: calc(0.28 * var(--page-rem));
  padding: 0 calc(0.1 * var(--page-rem));
  background: #e5efff;
  border-radius: calc(0.18 * var(--page-rem));
  color: #0f62ea;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: calc(0.14 * var(--page-rem));
  box-sizing: border-box;
  white-space: nowrap;
}
.case-studies .case-right .case-card .case-content {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  margin-bottom: calc(0.18 * var(--page-rem));
  min-width: 0;
  gap: calc(0.08 * var(--page-rem));
}
.case-studies .case-right .case-card .case-description {
  color: #6c717a;
  font-size: 16px;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.case-studies .case-right .case-card .case-content h5 {
  color: #1e1e1e;
  font-size: 20px;
  font-weight: bold;
  margin-right: 0;
  white-space: nowrap;
  flex-shrink: 0;
}
.case-studies .case-right .case-card .case-content p {
  color: #6c717a;
  font-size: 16px;
  padding: calc(0.04 * var(--page-rem)) calc(0.09 * var(--page-rem));
  background: linear-gradient(90deg, #f1f0ff 0%, #e5f2fe 100%);
  border-radius: calc(0.04 * var(--page-rem));
  white-space: nowrap;
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 让企业的每一次表达与传播，都更高效、更有力 */
.footer-cta {
  background: url("../../img/index/footer-cta-bg.png") no-repeat center center;
  background-size: 100% 100%;
  padding: calc(1 * var(--page-rem)) 8.3333%;
  text-align: center;
}
.footer-cta h2 {
  font-weight: bold;
  font-size: 36px;
  color: #ffffff;
  margin-bottom: calc(0.56 * var(--page-rem));
}
.footer-cta p {
  font-size: 24px;
  color: #b3bccc;
}
.footer-cta .button-group {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  margin-top: calc(0.5 * var(--page-rem));
}
.footer-cta .button {
  width: 220px;
  height: 60px;
  font-size: 18px;
  border-radius: calc(0.16 * var(--page-rem));
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-sizing: border-box;
  flex-shrink: 0;
  white-space: nowrap;
}
.button-primary {
  background: #0f62ea;
  color: #ffffff;
  margin-right: calc(0.2 * var(--page-rem));
}
.button-primary:hover {
  background: #337aef;
}
.button-outline {
  color: #1e1e1e;
  background: #ffffff;
}
.button-outline:hover {
  background: #eeeeee;
}

/* 二维码弹窗 */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.modal-box {
  width: 360px;
  height: 380px;
  background-color: #ffffff;
  border-radius: 12px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px 20px 20px;
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
}

/* 关闭按钮 */
.modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 22px;
  color: #cccccc;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s ease;
}
.modal-close:hover {
  color: #888888;
}

/* 标题 */
.modal-title {
  font-size: 20px;
  font-weight: 600;
  color: #333333;
  white-space: nowrap;
}

.qr-container {
  width: 200px;
  height: 200px;
  margin: 30px 0 20px;
  border-radius: 4px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

.qr-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.modal-footer-text {
  padding-bottom: 10px;
  font-size: 14px;
  color: #666666;
  text-align: center;
  line-height: 1.5;
}

.none{
  display: none !important;
}
.hidden{
  overflow: hidden !important;
}

/* 文本放不下时换行；小图可缩小 */
.services .services-title,
.services .services-list .service-card h3,
.services .services-bottom-cta .services-bottom-cta-item h5,
.services .services-bottom-cta .services-bottom-cta-item p,
.workflow .workflow-container .workflow-left h3,
.workflow .workflow-container .workflow-left .workflow-features-content h5,
.workflow .workflow-container .workflow-left .workflow-features-content p,
.workflow-right h4,
.workflow-right .steps-list li h5,
.workflow-right .steps-list li p,
.clients .container > h3,
.clients .container > p,
.clients .container .stat-item h4,
.clients .container .stat-item p,
.case-studies .case-left .section-title,
.case-studies .case-right .case-card .case-content h5,
.case-studies .case-right .case-card .case-content p,
.footer-cta h2,
.footer-cta p,
.modal-title,
.modal-footer-text {
  word-break: break-word;
}

.services .services-list .service-card img,
.workflow .workflow-container .workflow-left .workflow-features li img {
  max-width: 100%;
  height: auto;
}

/* ===== 窄屏：保持 1920 排版结构，仅适度缩小字号 ===== */
@media (max-width: 1600px) {
  .hero .swiper_banner .hero-swiper-item1 .main-title,
  .hero .swiper_banner .hero-swiper-item1 .sub-title,
  .hero .swiper_banner .hero-swiper-item2 .main-title,
  .hero .swiper_banner .hero-swiper-item2 .sub-title {
    font-size: 36px;
  }
  .hero .swiper_banner .hero-swiper-item1 .badge,
  .hero .swiper_banner .hero-swiper-item2 .badge,
  .hero .swiper_banner .hero-swiper-item1 .tag-item span,
  .hero .swiper_banner .hero-swiper-item2 .tag-item span {
    font-size: 13px;
  }
  .hero .swiper_banner .hero-swiper-item1 .stat-item .number,
  .hero .swiper_banner .hero-swiper-item2 .stat-item .number {
    font-size: 22px;
  }
  .hero .swiper_banner .hero-swiper-item1 .stat-item .desc,
  .hero .swiper_banner .hero-swiper-item2 .stat-item .desc {
    font-size: 16px;
  }
  .hero .swiper_banner .hero-swiper-item1 .button,
  .hero .swiper_banner .hero-swiper-item2 .button {
    font-size: 16px;
  }

  .case-studies .case-right .case-card .case-content h5 {
    font-size: 18px;
  }
  .case-studies .case-right .case-card .case-content p,
  .case-studies .case-right .case-card .case-description {
    font-size: 14px;
  }
  .case-studies .case-left .section-title {
    font-size: 32px;
  }
}

@media (max-width: 1400px) {
  .hero .swiper_banner .hero-swiper-item1 .main-title,
  .hero .swiper_banner .hero-swiper-item1 .sub-title,
  .hero .swiper_banner .hero-swiper-item2 .main-title,
  .hero .swiper_banner .hero-swiper-item2 .sub-title {
    font-size: 34px;
  }
  .hero .swiper_banner .hero-swiper-item1 .stat-item .number,
  .hero .swiper_banner .hero-swiper-item2 .stat-item .number {
    font-size: 20px;
  }
  .hero .swiper_banner .hero-swiper-item1 .stat-item .desc,
  .hero .swiper_banner .hero-swiper-item2 .stat-item .desc {
    font-size: 15px;
  }
  .hero .swiper_banner .hero-swiper-item1 .button,
  .hero .swiper_banner .hero-swiper-item2 .button {
    font-size: 16px;
    width: 230px;
    height: 60px;
  }

  .case-studies .case-right .case-card {
    padding: calc(0.22 * var(--page-rem)) 0;
  }
  .case-studies .case-right .case-card .case-content h5 {
    font-size: 17px;
  }
  .case-studies .case-right .case-card .case-content p,
  .case-studies .case-right .case-card .case-description {
    font-size: 13px;
  }
  .case-studies .case-left .section-title {
    font-size: 30px;
  }
}

@media (max-width: 1200px) {
  .case-studies .case-right .case-card {
    padding: calc(0.18 * var(--page-rem)) 0;
  }
  .case-studies .case-right .case-card .case-content h5 {
    font-size: 16px;
  }
  .case-studies .case-right .case-card .case-content p,
  .case-studies .case-right .case-card .case-description {
    font-size: 13px;
  }
  .case-studies .case-right .case-card .case-tag {
    font-size: 12px;
  }
  .case-studies .case-left .section-title {
    font-size: 28px;
  }

  .services .services-bottom-cta .services-bottom-cta-content {
    flex-wrap: nowrap;
  }
}

/* ===== 滚动进入视口：淡入 + 错落延迟（仅一次） ===== */
/* 无错落备份见 backup/reveal_* */
.js-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.45s ease, transform 0.45s ease;
  transition-delay: 0ms; /* JS 会按序号写入错落 delay */
  will-change: opacity, transform;
}
.js-reveal.is-revealed {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .js-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}