/* ==========================================================
   rem 自适应（对齐 osens px_rem 机制）：1rem = 76.8px
   （= 原 --scale 0.768 下的设计稿 100px，即所有 rem 值在基准下的
   渲染结果与原 px * 0.768 完全一致）
   - 视口 <=1920px：根字号固定 76.8px（观感与原来一致）
   - 视口 >1920px：根字号 = 100vw/25，随屏幕等比变大（2560 屏约 102.4px）
   - wap（<768px）同为固定 76.8px，rem 值换算后等于原 px * 0.768，
     与原 wap 观感一致（wap 的显式 px 覆盖规则不受影响）
   ========================================================== */
html { font-size: 76.8px; }
@media screen and (min-width: 1921px) {
  html { font-size: calc(100vw / 25); }
}

/* ==========================================================
   1. 首屏 index_banner（Swiper 轮播 + banner_text 覆盖左侧 + banner_info 在下方）
   ========================================================== */
.index_banner {
  /* 区块高度 = 内容 640 + Header 留白；fp-tableCell 已按 border-box + height:100% 计算，
     轮播图区域 flex:1 自动伸缩，数据条 flex-shrink:0 始终完整显示 */
  height: calc(6.4rem + var(--header-height));
  background: #ffffff;
  overflow: hidden;
}
.index_banner .container {
  height: 100%;
  flex: 1;                    /* 在 fp-tableCell(flex) 中撑满可用高度 */
  min-height: 0;              /* 允许被压缩，避免撑破一屏 */
  display: flex;              /* 轮播 + 下方信息行纵向排布 */
  flex-direction: column;
}
/* Swiper 轮播：banner 图区域（通栏 = 屏幕宽度，撑破 1320 容器） */
.index_banner .swiper_banner {
  position: relative;
  width: 100vw;                 /* 屏幕宽度 */
  margin-left: calc(50% - 50vw);/* 抵消 container 限宽，通栏铺满 */
  flex: 1;
  min-height: 3.2rem;            /* 压缩下限：保证 banner 可见 */
  overflow: hidden;
}
.index_banner .swiper-slide {
  position: relative;
}
.index_banner .banner_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* banner_text：覆盖在 banner 图片上方，靠左垂直居中 */
.index_banner .banner_text {
  position: absolute;
  left: calc((100vw - 15.2rem) / 2);  /* 与 1520 容器左缘对齐 */
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.index_banner .banner_txt {
  display: block;
  width: calc(5.6rem);
  height: auto;
  margin-bottom: 0.24rem;
}
.index_banner .banner_btn {
  position: relative;          /* 文字与两张按钮图叠放的定位基准 */
  display: flex;
  align-items: center;
  margin-top: 0.4rem;
  width: fit-content;
  cursor: pointer;
  background: #ffffff;
  border-radius: 0.5rem;
  transition: background-color .3s;
  height: calc(0.6rem);
  padding-right:calc(0.06rem);
}
.index_banner .banner_btn-txt {
  position: relative;
  z-index: 1;                  /* 文字在按钮图上层 */
  color: #3172ed;
  font-size: calc(0.16rem);
  white-space: nowrap;
  padding: 0 calc(0.2rem);
}
.index_banner .banner_btn img {
  
  inset: 0;
  height: calc(0.52rem);
  width: auto;
}
.index_banner .banner_btn .btn-hover { display: none; }   /* 默认隐藏 hover 图 */
.index_banner .banner_btn:hover { background: linear-gradient(90deg, #00d1b2, #1677ff); }
.index_banner .banner_btn:hover .btn-default { display: none; }
.index_banner .banner_btn:hover .banner_btn-txt {
  color: #ffffff;
}
.index_banner .banner_btn:hover .btn-hover { display: block; }
/* 分页小圆点 */
.index_banner .swiper-pagination {
  transform: translateY(50px);  /* 在默认位置基础上往下 50px */
}
.index_banner .swiper-pagination-bullet {
  background: #1069f9;
  opacity: .5;
}
.index_banner .swiper-pagination-bullet-active {
  opacity: 1;
}
/* banner_info：banner 图片下方（1520 宽数据行） */
.index_banner .banner_info {
  flex-shrink: 0;
  margin: 0 auto;
}
.index_banner .info_list {
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 0.2rem 0;
}
.index_banner .info_item {
  text-align: center;
}
/* banner_info 入场动效：数据项依次上浮淡入（.animated 时触发）
   默认状态可见，动画从 opacity:0 开始，JS 未生效也不影响展示 */
.index_banner .banner_info.animated .info_item {
  animation: infoItemUp .6s ease backwards;
}
.index_banner .banner_info.animated .info_item:nth-child(1) { animation-delay: .05s; }
.index_banner .banner_info.animated .info_item:nth-child(2) { animation-delay: .15s; }
.index_banner .banner_info.animated .info_item:nth-child(3) { animation-delay: .25s; }
.index_banner .banner_info.animated .info_item:nth-child(4) { animation-delay: .35s; }
.index_banner .banner_info.animated .info_item:nth-child(5) { animation-delay: .45s; }
@keyframes infoItemUp {
  from { opacity: 0; transform: translateY(0.24rem); }
  to   { opacity: 1; transform: translateY(0); }
}
.index_banner .info_num {
  font-size: calc(0.48rem);
  background: linear-gradient(135deg, #00d8d6, #0066ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.index_banner .info_label {
  margin-top: 0.06rem;
  font-size: calc(0.18rem);
  color: #666666;
}

/* ==========================================================
   2. Banner 首屏（通栏背景图）
   ========================================================== */

/* 图片占位说明：banner.jpg —— 首屏通栏背景图，建议尺寸 1920x520，铺满居中 */
.banner-bg {
  width: 100vw;
  height: calc(6rem);
  background: url("../images/banner.jpg") no-repeat center center; /* 切图替换 */
  background-size: cover;
  background-color: #2b3a4a; /* 图片未替换前的占位底色 */
  display: flex;
  align-items: center;       /* 文字区域垂直居中 */
}
.banner-text .title {
  font-size: 0.48rem;
  color: #ffffff;
  margin-bottom: 0.16rem;
}
.banner-text .subtitle {
  font-size: 0.2rem;
  color: #ffffff;
  margin-bottom: 0.32rem;
}
/* 白色描边按钮 */
.btn-ghost {
  display: inline-block;
  padding: 0.12rem 0.4rem;
  border: 1px solid #ffffff;
  color: #ffffff;
  font-size: 0.16rem;
  border-radius: 0.04rem;
  transition: all .3s;
}
.btn-ghost:hover {           /* hover：白底变实 */
  background: #ffffff;
  color: #333333;
}

/* banner 下方：数字统计区，五列居中 */
.banner-below {
  margin-top: 5vh;
  flex: 1;                    /* 撑满剩余屏幕，内容垂直居中 */
  display: flex;
  align-items: center;
  justify-content: center;
}
.stats {
  display: flex;              /* 五列横排 */
  justify-content: center;
  text-align: center;
}
.stats .stat-item {
  padding: 0 0.4rem;            /* 列间距 */
}
/* 数字：0.32rem #0a93e1 */
.stats .stat-num {
  font-size: calc(0.48rem);
  background: linear-gradient(135deg, #00d8d6, #0066ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  margin-bottom: 0.08rem;
}
/* 文字：0.2rem #000000 */
.stats .stat-label {
  font-size: calc(0.28rem);
  color: #000000;
}


/* ==========================================================
   3. 科研创意服务矩阵（通栏）
   ========================================================== */
.matrix-section {
  /* 内容 640 + Header 留白：区块总高（含 padding-top，border-box） */
  height: calc(6.4rem + var(--header-height));
  background: #ffffff;        /* 通栏白底 */
}
.matrix-section .container {
  height: 100%;
  display: flex;              /* 标题 + 矩阵整体垂直居中 */
  flex-direction: column;
  justify-content: center;
}
/* 居中标题：0.4rem #000000 */
.matrix-title {
  font-size: calc(0.4rem);
  color: #000000;
  text-align: center;
  margin-bottom: 0.48rem;
}
/* 矩阵：左右两部分——左侧 1 个通高卡片（1行1列，高度=右侧两行），
   右侧 2 行 3 列；卡片 160x200，间距 0.2rem */
.matrix {
  display: grid;
  grid-template-columns: repeat(4, calc(3.6rem));   /* 左侧占第1列，右侧 3 列 */
  grid-template-rows: repeat(2, minmax(2rem, auto)); /* 行高随内容撑开，最小 2rem */
  gap: 0.2rem;
  justify-content: center;    /* 矩阵整体水平居中 */
}
/* 卡片：内部文字居中，0.2rem #000000，右下角小图片 */
.card {
  position: relative;         /* 小图片定位基准 */
  width: calc(3.6rem);
  min-height: 2rem;           /* 最小高度，文字多时自动撑开 */
  height: auto;
  background: #f3f5fb;        /* 卡片占位底色，切设计后可调整 */
  border-radius: 0.08rem;
  display: flex;
  flex-direction: column;
  padding: 0.16rem;
  padding-bottom: 0.5rem;     /* 底部留白：文字与卡片底边（右下角图标区域）保持距离 */
  box-sizing: border-box;
  transition: transform .3s, box-shadow .3s;
}
/* .card:hover {                 
  transform: translateY(-0.06rem);
  box-shadow: 0 0.08rem 0.2rem rgba(0,0,0,.12);
} */
/* 左侧通高卡片：占第 1 列、纵向跨两行（高 200*2+20=420，与右侧两行齐平） */
.card--tall {
  grid-column: 1;
  grid-row: 1 / span 2;
  height: 100%;
}
/* 卡片主文字 */
.card .card-main {
  font-size: calc(0.29rem);
  color: #313336;
  margin-bottom: 0.08rem;
  cursor: pointer;
}
.card .card-main:hover{
  color: #1069f9;
}
/* 卡片多行副文字 */
.card .card-sub a{
  display: block;
  position: relative;
  z-index: 1;                 /* 文字在小图标上层，撑开后不被右下角图标遮挡 */
  font-size: calc(0.16rem);
  color: #313336;
  line-height: 1.6;
  cursor: pointer;
}
.card .card-sub a:hover{
  color: #1069f9;
}
/* 卡片右下角小图片：切图替换 images/card-icon.png，建议 40x40 */
.card .card-icon {
  position: absolute;
  right: 0.1rem;
  bottom: 0.1rem;
  width: calc(1.1rem);
  height: calc(1.1rem);
  transition: transform .4s ease;   /* 卡片 hover 时图标动效 */
}
/* 卡片浮动时：图标放大 + 轻微上浮 + 旋转一点角度 */
.card:hover .card-icon {
  transform: translateY(-0.06rem) scale(1.15) rotate(-6deg);
}
.card .card-icon[src=""] {    /* src 为空时灰色占位块，切图后可删 */
  background: #d9d9d9;
  border-radius: 0.04rem;
}

/* ==========================================================
   4. 学术PPT（通栏：卡片轮播 + 底部图片列表）
   ========================================================== */
.ppt-section {
  /* 内容较高（卡片 5rem）：含 Header 留白后需加高，避免内容被裁切 */
  height: calc(7.3rem + var(--header-height));
  background: #ffffff;        /* 通栏白底 */
}
.ppt-section .container {
  height: 100%;
  display: flex;              /* 标题 + 轮播 + 图片列表整体垂直居中 */
  flex-direction: column;
  justify-content: center;
}
/* 居中标题：0.4rem #000000 */
.ppt-title {
  font-size: 0.4rem;
  color: #000000;
  text-align: center;
  margin-bottom: 0.48rem;
}

/* --- 卡片轮播区 --- */
.ppt-carousel {
  position: relative;
  margin-bottom: 0.4rem;
}
/* 滚动窗口：初始显示 4 张卡片（4*330 + 3*20 = 1320），溢出隐藏 */
.ppt-window {
  width: 100%;                /* 在 1320 容器内正好放下 4 张卡片 */
  overflow: hidden;
}
/* 右侧渐隐遮挡块：透明 → 白色，提示后面还有卡片 */
.ppt-carousel::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 1rem;
  height: 100%;
  background: linear-gradient(90deg, rgba(255,255,255,0), #ffffff);
  pointer-events: none;       /* 不挡住下方卡片的拖拽/点击 */
  z-index: 2;
}
/* 卡片轨道：Swiper wrapper（间距由 Swiper spaceBetween 控制，不再用 gap） */
.ppt-track {
  display: flex;
}
/* 卡片：宽 1320/4=3.3rem，高 5rem，文字居左，0.2rem #000000 */
.ppt-card {
  flex-shrink: 0;
  width: calc((100% - 4 * 0.2rem) / 4.33);   /* 一屏 4 张 + 1/3 张，间距由 Swiper 控制 */
  height: calc(5rem);
  border: 0.02rem solid #ffffff;
  background: linear-gradient(180deg, #ffffff, #f0f6ff);       /* 卡片占位底色 */
  border-radius: 0.08rem;
  padding: 0.16rem;
  text-align: left;
  display: flex;
  flex-direction: column;
  transition: transform .3s, box-shadow .3s;
}
.ppt-card:hover {             /* hover 效果 */
  transform: translateY(-0.06rem);
  box-shadow: 0 0.08rem 0.2rem rgba(0,0,0,.12);
}
.ppt-card .card-main {
  font-size: calc(0.29rem);
  color: #1069f9;
  margin-bottom: 0.08rem;
}
.ppt-card .card-sub {
  font-size: calc(0.16rem);
  color: #000000;
  line-height: 1.6;
}
/* 卡片底部居中的小图片：切图替换 images/ppt-icon.png，建议 40x40 */
.ppt-card .card-icon {
  width: calc(2.9rem);
  margin: auto auto 0;        /* 底部水平居中 */
}
.ppt-card .card-icon[src=""] { /* src 为空时灰色占位块，切图后可删 */
  background: #d9d9d9;
  border-radius: 0.04rem;
}
/* 左右切换按钮 */
.ppt-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.4rem; height: 0.4rem;
  border: none;
  border-radius: 50%;
  background: #e6e6e6;
  color: #333;
  font-size: 0.18rem;
  cursor: pointer;
  transition: background .3s;
}
.ppt-btn:hover { background: var(--hover-color); color: #fff; }
.ppt-btn:disabled { opacity: .4; cursor: not-allowed; }
.ppt-btn--prev { left: -0.6rem; }               /* 窗口两侧外 */
.ppt-btn--next { right: -0.6rem; }

/* --- 底部图片列表：8 张，高度 0.42rem、宽度自适应，间距 0.2rem（从右往左无缝滚动） --- */
.ppt-gallery {
  overflow: hidden;           /* 超出部分隐藏，形成滚动窗口 */
  width: 100%;
}
.ppt-gallery .marquee-track {
  display: flex;
  flex-wrap: nowrap;          /* 所有图片固定在一行 */
  gap: 0.2rem;
  align-items: center;
  width: max-content;         /* 轨道按内容宽度撑开 */
  animation: pptMarquee 30s linear infinite;
}
/* 鼠标悬停时暂停滚动 */
.ppt-gallery:hover .marquee-track { animation-play-state: paused; }
/* 向左平移自身一半：前半段与后半段内容相同，实现无缝循环 */
@keyframes pptMarquee {
  to { transform: translateX(-50%); }
}
/* 图片占位说明：gallery-1.jpg ~ gallery-8.jpg，高 0.42rem，宽度按图片比例自适应，切图替换 */
.ppt-gallery img {
  width: auto;
  height: calc(0.42rem);
  
  object-fit: contain;
  border-radius: 0.04rem;
  cursor: pointer;
  transition: transform .3s, box-shadow .3s;
}
.ppt-gallery img:hover { transform: scale(1.05); box-shadow: 0 0.06rem 0.16rem rgba(0,0,0,.15); }

/* ==========================================================
   5. 全程陪伴服务体系（通栏：左侧卡片+下方图片，右侧 2行2列）
   ========================================================== */
.svc-section {
  /* 内容 640 + Header 留白：区块总高（含 padding-top，border-box） */
  height: calc(6.4rem + var(--header-height));
  background: #ffffff;        /* 通栏白底 */
}
.svc-section .container {
  height: 100%;
  display: flex;              /* 标题 + 矩阵整体垂直居中 */
  flex-direction: column;
  justify-content: center;
}
/* 居中标题：0.4rem #000000 */
.svc-title {
  font-size: calc(0.4rem);
  color: #000000;
  text-align: center;
  margin-bottom: 0.48rem;
}
/* 矩阵：左右两部分——左侧 1 个卡片（宽 160，高度=右侧两行），
   正下方居中显示图片；右侧 2 行 2 列；卡片 160x200，间距 0.2rem */
.svc-matrix {
  display: grid;
  grid-template-columns: repeat(4, calc(3.64rem));   /* 左侧占前2列，右侧 2 列 */
  grid-template-rows: repeat(2, calc(2.08rem));
  gap: 0.2rem;
  justify-content: center;    /* 矩阵整体水平居中 */
}
/* 左侧卡片：1 行 2 个，各占一列、纵向跨两行（高 200*2+20=420，与右侧两行齐平） */
.svc-card--tall {
  grid-row: 1 / span 2;
  height: 100% !important;
}
.svc-card--tall:nth-of-type(1) { 
  grid-column: 1;
  background: linear-gradient(180deg, #ffffff, #d0f3ee);
 }
.svc-card--tall:nth-of-type(2) { 
  grid-column: 2;
  background: linear-gradient(180deg, #ffffff, #d2e1f9);
}
/* 右侧卡片：内部文字居中，0.2rem #000000，右上角小图片 */
.svc-card {
  position: relative;         /* 小图片定位基准 */
  width: calc(3.64rem);
  height: calc(2.08rem);
  background: #f9f8f8;        /* 卡片占位底色，切设计后可调整 */
  border: 1px solid #ffffff;
  border-radius: 0.08rem;
  display: flex;
  flex-direction: column;
  align-items:start;        /* 文字居中 */
  padding: 0.16rem;
  transition: transform .3s, box-shadow .3s;
  overflow: hidden;
}
.svc-card:hover {             /* hover 效果：上浮 + 阴影 */
  transform: translateY(-0.06rem);
  box-shadow: 0 0.08rem 0.2rem rgba(0,0,0,.12);
}
/* 卡片悬浮遮罩层：默认不展示，鼠标悬浮卡片时淡入 */
.svc-card .card-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 0.24rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s ease-in;
}
.svc-card:hover .card-overlay {
  opacity: 1;
  visibility: visible;
}
.svc-card .card-overlay button {
  padding: 0.08rem 0.32rem;
  border: 1px solid #ffffff;
  border-radius: 0.2rem;
  background: #ffffff;
  color: #1069f9;
  font-size: calc(0.16rem);
  cursor: pointer;
  transition: all .3s;
}
.svc-card .card-overlay button:hover {
  background: transparent;
  color: #ffffff;
}
.svc-card .card-main{
  font-size: calc(0.3rem);
  color: #000000;
}
.svc-card .card-sub{
  font-size: calc(0.2rem);
  color: #919191;
  margin-top: calc(0.46rem);
  line-height: 1.8;
}
/* 卡片右上角小图片：切图替换，建议 40x40 */
.svc-card .card-icon {
  position: absolute;
  right: 0.1rem;
  top: 0.1rem;
  width: calc(0.85rem);
}
.svc-card .card-icon[src=""] { /* src 为空时灰色占位块，切图后可删 */
  background: #d9d9d9;
  border-radius: 0.04rem;
}

.card-ppt-gallery{
  margin-top:calc(0.48rem);
}
/* 科研动画屏：ppt-gallery 下方与屏底保留间距（由 container 的 padding-bottom 保证） */
/* 左侧卡片正下方居中显示图片：切图替换，建议 120x120 */
.svc-card--tall .card-bottom-img {
  position: absolute;         /* 绝对定位：贴卡片底部，作为背景层 */
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);/* 水平居中 */
  width: 80%;
  height: auto;
  display: block;
  z-index: 0;                 /* 压在文字下层，不遮挡主内容 */
}
/* 主/副文字抬高一层，保证始终显示在底部背景图之上 */
.svc-card--tall .card-main,
.svc-card--tall .card-sub {
  position: relative;
  z-index: 1;
}
.svc-card--tall .card-bottom-img[src=""] { /* src 为空时灰色占位块 */
  background: #d9d9d9;
  border-radius: 0.04rem;
}
.w1520{
  width: calc(15.2rem) !important;
  margin: 0 auto !important;
}
.w1314{
  width: calc(13.14rem) !important;
  margin: 0 auto !important;
}
/* 屏11：容器高度由内容决定，配合 JS 等比缩放保证所有元素都能展示 */
.s11 .container {
  height: auto;
  transform-origin: top center;   /* JS 缩放基准点 */
}

/* ==========================================================
   6. 科研动画（通栏：全屏大图 + 底部图片列表）
   ========================================================== */
.anim-section {
  /* 640 内容 + Header 留白 */
  height: calc(6.4rem + var(--header-height));
  background: #ffffff;        /* 通栏白底 */
}
.anim-section .container {
  height: 100%;
  display: flex;              /* 标题 + 大图 + 图片列表整体垂直居中 */
  flex-direction: column;
  justify-content: center;
}
/* 居中标题：0.4rem #000000 */
.anim-title {
  font-size: 0.4rem;
  color: #000000;
  text-align: center;
  margin-bottom: 0.48rem;
}
/* 全屏大图：占满 1320 容器宽度
   图片占位说明：animation-poster.jpg —— 科研动画主图，建议 1320x400，切图替换 */
.anim-poster {
  width: 100%;
  height: 4rem;
  object-fit: cover;
  background: #e0e0e0;        /* 未切图前的占位底色 */
  border-radius: 0.08rem;
  margin-bottom: 0.4rem;
  cursor: pointer;
  transition: transform .3s, box-shadow .3s;
}
.anim-poster:hover { transform: scale(1.01); box-shadow: 0 0.08rem 0.24rem rgba(0,0,0,.15); }

/* ==========================================================
   7. 最新动态（通栏：新闻卡片列表）
   ========================================================== */
.news-section {
  /* 内容 640 + Header 留白：区块总高（含 padding-top，border-box） */
  height: calc(6.4rem + var(--header-height));
  background: #ffffff;        /* 通栏白底 */
}
.news-section .container {
  height: 100%;
  display: flex;              /* 标题 + 新闻列表整体垂直居中 */
  flex-direction: column;
  justify-content: center;
}
/* 居中标题：0.4rem #000000 */
.news-title {
  font-size: calc(0.4rem);
  color: #000000;
  text-align: left;
  margin-bottom: 0.48rem;
}

/* 左中右三栏：轮播图 | 两行新闻列表 | 三行图文新闻 */
.news-layout {
  display: flex;
  gap: 0.2rem;
  align-items: stretch;
}
/* 入场动效：三栏从右往左依次滑入（.animated 时触发）
   默认状态可见，动画从偏移处开始，JS 未生效也不影响展示 */
.news-layout.animated > * {
  animation: slideFromRight .6s ease backwards;
}
.news-layout.animated > :nth-child(1) { animation-delay: .05s; }
.news-layout.animated > :nth-child(2) { animation-delay: .2s; }
.news-layout.animated > :nth-child(3) { animation-delay: .35s; }
@keyframes slideFromRight {
  from { opacity: 0; transform: translateX(0.8rem); }
  to   { opacity: 1; transform: translateX(0); }
}

/* --- 左侧：轮播图 --- */
.news-carousel {
  position: relative;
  flex-shrink: 0;
  width: calc(8rem);
  height: calc(4.5rem);
  border-radius: 0.08rem;
  overflow: hidden;
  background: #d9d9d9;        /* 未切图前的占位底色 */
}
/* 轮播：Swiper 结构（与首屏 banner 一致），图片铺满 */
.news-carousel .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* 分页小圆点 */
.news-carousel .swiper-pagination-bullet {
  background: #1069f9;
  opacity: .5;
}
.news-carousel .swiper-pagination-bullet-active {
  opacity: 1;
}
/* 轮播切换按钮 */
.news-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.36rem; height: 0.36rem;
  border: none;
  border-radius: 50%;
  background: rgba(0,0,0,.35);
  color: #fff;
  font-size: 0.16rem;
  cursor: pointer;
  transition: background .3s;
}
.news-btn:hover { background: rgba(0,0,0,.6); }
.news-btn--prev { left: 0.1rem; }
.news-btn--next { right: 0.1rem; }

/* --- 中间：两行新闻列表（标题 / 两行描述截断 / 日期+更多） --- */
.news-center {
  flex: 1;
  min-width: 0;
  height: calc(4.5rem);   /* 与左侧轮播图等高 */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.2rem;
}
.news-item {
  flex: 1;
  background: #f9f9f9;        /* 卡片占位底色 */
  border: 1px solid #fff;
  border-radius: 0.08rem;
  padding: 0.16rem;
  display: flex;
  flex-direction: column;
  transition: transform .3s, box-shadow .3s;
  /* 底部柔和阴影，就是图里的悬浮阴影效果 */
  box-shadow: 0 0.08rem 0.16rem rgba(0,0,0,0.08);
  cursor: pointer;
}
.news-item:hover {            /* hover 效果：悬浮时内部文字全部变白 */
  background: #999999;
}
/* hover 时子元素文字变白（子元素有自己的 color，需逐个覆盖） */
.news-item:hover .n-title,
.news-item:hover .n-desc,
.news-item:hover .n-date .d-day,
.news-item:hover .n-date .d-ym {
  color: #ffffff;
}
.news-item .n-title {
  font-size: calc(0.2rem);
  color: #000000;
  margin-bottom: 0.08rem;
  /* 单行截断 */
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.news-item .n-desc {
  font-size: calc(0.14rem);
  color: #666666;
  line-height: 1.6;
  margin-bottom: 0.12rem;
  /* 两行截断，超出显示省略号 */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-item .n-foot {
  margin-top: auto;           /* 底部：左日期 右更多 */
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #c7c7c7;
  padding-top: 0.08rem;
}
.news-item .n-date {
  /* 日在上，年月在下，分行显示 */
  text-align: left;
  line-height: 1.2;
}
.news-item .n-date .d-day {
  display: block;             /* 日独占一行 */
  font-size: calc(0.3rem);
  font-weight: bold;
  color: #000;
}
.news-item .n-date .d-ym {
  display: block;             /* 年月独占一行 */
  font-size: calc(0.16rem);
  color: #000;
  margin-top: 0.02rem;
}
.news-item .n-more {
  width: calc(0.3rem);
}
/* more 箭头：默认显示 more-img，悬浮卡片时切换为高亮 _con 图 */
.news-item .more-img_con,
.news-more .more-img_con { display: none; }
.news-item:hover .more-img { display: none; }
.news-item:hover .more-img_con { display: block; }
.news-item .n-more:hover { text-decoration: underline; }

/* --- 右侧：三行图文新闻（左图 + 右侧标题和内容） --- */
.news-side {
  flex: 1;
  min-width: 0;
  height: calc(4.5rem);   /* 与左侧轮播图等高 */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.2rem;
}
.news-side .side-item {
  flex: 1;
  display: flex;              /* 图片左、文字右 */
  gap: 0.16rem;
  align-items: flex-start;
  background: #f9f9f9;        /* 卡片占位底色 */
  border: 1px solid #fff;
  border-radius: 0.08rem;
  padding: 0.16rem;
  transition: transform .3s, box-shadow .3s;
  /* 底部柔和阴影，就是图里的悬浮阴影效果 */
  box-shadow: 0 0.08rem 0.16rem rgba(0,0,0,0.08);
  cursor: pointer;
}
.news-side .side-item:hover { /* hover 效果：悬浮时内部文字全部变白 */
  background: #999999;
}
/* hover 时子元素文字变白（子元素有自己的 color，需逐个覆盖） */
.news-side .side-item:hover .s-title,
.news-side .side-item:hover .s-desc,
.news-side .side-item:hover .side-date .d-day,
.news-side .side-item:hover .side-date .d-ym {
  color: #ffffff;
}
/* 图片占位：images/side-1.jpg ~ side-3.jpg，建议 120x90 */
.news-side .side-img {
  width: calc(1.2rem);
  height: calc(0.9rem);
  flex-shrink: 0;
  object-fit: cover;
  border-radius: 0.04rem;
  background: #d9d9d9;        /* 未切图前的占位底色 */
}
/* 日期块：日（加粗大字）在上，年月（小字）在下，分行显示 */
.news-side .side-date {
  flex-shrink: 0;
  text-align: left;
  line-height: 1.2;
}
.news-side .side-date .d-day {
  display: block;             /* 日独占一行 */
  font-size: calc(0.3rem);
  font-weight: bold;
  color: #000;
}
.news-side .side-date .d-ym {
  display: block;             /* 年月独占一行 */
  font-size: calc(0.16rem);
  color: #000;
  margin-top: 0.04rem;
}
.news-side .s-title {
  font-size: calc(0.18rem);
  color: #000000;
  margin-bottom: 0.08rem;
  /* 单行截断 */
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.news-side .s-desc {
  font-size: calc(0.14rem);
  color: #666666;
  line-height: 1.6;
  /* 两行截断，超出显示省略号 */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ==========================================================
   8. 众多知名高校、研究所选择（通栏：6行5列图片墙，按列轮播）
   ========================================================== */
.school-section {
  /* 内容 640 + Header 留白：区块总高（含 padding-top，border-box） */
  height: calc(6.4rem + var(--header-height));
  background: #ffffff;        /* 通栏白底 */
}
.school-section .container {
  height: 100%;
  display: flex;              /* 标题 + 图片墙整体垂直居中 */
  flex-direction: column;
  justify-content: center;
}
/* 居左显示标题：0.4rem #000000 */
.school-title {
  font-size: calc(0.4rem);
  color: #000000;
  text-align: center;
  margin-bottom: 0.48rem;
}
/* 高校轮播视口：Swiper 轮播，图片铺满等比显示 */
.school-viewport {
  position: relative;
  overflow: hidden;
  padding-bottom: 0.2rem;       /* 底部留白放分页小圆点 */
}
.school-viewport img {
  width: 86%;
  height: auto;
  display: block;
  margin: 0 auto;
}
/* 分页小圆点：#1069f9，贴容器最底部 */
.school-viewport .swiper-pagination {
  bottom: -20px;
}
.school-viewport .swiper-pagination-bullet {
  background: #1069f9;
  opacity: .5;
}
.school-viewport .swiper-pagination-bullet-active {
  opacity: 1;
}

/* ==========================================================
   9. 奖项、人才申报PPT培训（通栏：数据 + 左图右图片墙）
   ========================================================== */
.train-section {
  /* 内容 640 + Header 留白：区块总高（含 padding-top，border-box） */
  height: calc(6.4rem + var(--header-height));
  background: #ffffff;        /* 通栏白底 */
}
.train-section .container {
  height: 100%;
  display: flex;              /* 各部分整体垂直居中 */
  flex-direction: column;
  justify-content: center;
}
/* 居中显示标题：0.4rem #000000 */
.train-title {
  font-size: calc(0.4rem);
  color: #000000;
  text-align: center;
  margin-bottom: 0.4rem;
}

/* --- 上：居中三条数据（加粗数字 + 正常文字） --- */
.train-stats {
  display: flex;              /* 三条数据横排居中 */
  justify-content: center;
  gap: 0.8rem;
  margin-bottom: 0.4rem;
}
.train-stats .ts-item {
  display: flex;
  align-items: center;      /* 数字与文字底部对齐 */
  gap: 0.08rem;
}
/* 加粗数字 */
.train-stats .ts-num {
  font-size: calc(0.41rem);
  font-weight: bold;
  color: #1069f9;
}
/* 数字右上角的 + 号：上标、不加粗 */
.train-stats .ts-num .plus {
  font-size: calc(0.24rem);
  font-weight: bold;
  vertical-align: super;
}
/* 正常文字 */
.train-stats .ts-text {
  font-size: 0.16rem;
  color: rgba(0, 0, 0, 0.7);
}

/* --- 中：左右结构（左一张大图，右 4行5列 图片墙） --- */
.train-main {
  display: flex;
  gap: calc(0.6rem);
}
/* 左侧大图：切图替换 images/train-main.jpg，建议 400x300 */
.train-main .train-big {
  width: calc(3.45rem);
  flex-shrink: 0;
  object-fit: contain;
}
/* 右侧图片墙：4 行 5 列，从下往上无缝滚动 */
.train-grid {
  position: relative;         /* 滚动轨道的定位基准 */
  flex: 1;
  min-width: 0;
  overflow: hidden;           /* 滚动窗口：高度仍由 flex:1 决定，保持不变 */
}
.train-grid .vtrack {
  position: absolute;         /* 轨道脱离文档流，撑高也不影响窗口高度 */
  inset: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);  /* 与原版一致：一行 5 列、按行填充 */
  grid-template-rows: none;   /* 行高由 JS 按窗口高度计算，克隆数据自动排到下方 */
  gap: 0.1rem;
  width: 100%;
  animation: trainMarqueeUp 18s linear infinite;
}
.train-grid:hover .vtrack { animation-play-state: paused; }
/* 向上平移自身一半：前半段与后半段内容相同，实现无缝循环 */
@keyframes trainMarqueeUp {
  to { transform: translateY(-50%); }
}
/* 与 5.PPT培训.html 的 brand-item 保持一致 */
.train-grid .brand-item {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #eeeeee;
  background: #ffffff;
  overflow: hidden;
}
.train-grid .brand-item.brand-item1 {
  grid-row: span 2;           /* 纵向合并两行 */
}
.train-grid .brand-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;          /* logo 不变形 */
}

/* ==========================================================
   10. 科研绘图（通栏：深色底，一行4列列表）
   ========================================================== */
.draw-section {
  /* 内容 640 + Header 留白：区块总高（含 padding-top，border-box） */
  height: calc(6.4rem + var(--header-height));
  background: #1069f9;        /* 整块蓝色底，标题带与列表带之间不留白 */
}
.draw-section .container {
  height: 100%;
  display: flex;              /* 标题 + 列表整体垂直居中 */
  flex-direction: column;
  justify-content: center;
}
/* 居中显示标题：0.4rem #ffffff */
/* 标题与列表公共样式：蓝色背景、宽度撑满屏幕（负 margin 抵消容器限制） */
.draw-list-wrap{
  width: 100vw;
  margin-left: calc(50% - 50vw);               /* 宽度撑满屏幕 */
  background: #1069f9;
  /* 顶到屏幕顶部：抵消每屏顶部为 Header 预留的留白，
     再用等量 padding 让内容仍从 Header 下方开始 */
  margin-top: calc(-1 * var(--header-height));
  padding-top: var(--header-height);
  flex: 1;                     /* 撑满容器剩余高度 */
  display: flex;
  flex-direction: column;
}
.draw-title,
.draw-list {
  /* width: 100vw; */
  /* margin-left: calc(50% - 50vw);   */
  /* 内部左右 padding 模拟 1320 容器，内容不贴边 */
  /* padding-left: max(0.2rem, calc(50vw - var(--content-width) / 2));
  padding-right: max(0.2rem, calc(50vw - var(--content-width) / 2)); */
}
.draw-title {
  font-size: calc(0.4rem);
  color: #ffffff;
  text-align: center;
  margin-bottom: 0.48rem;
  padding-top: 0.16rem;          /* 蓝底上下留白 */
  padding-bottom: 0.16rem;
}
/* 一行 4 列列表 */
.draw-list {
  display: flex;
  gap: 0.2rem;
  justify-content: center;
  padding-top: 0.24rem;          /* 蓝底上下留白 */
  flex: 1;                    /* 撑满剩余高度，卡片随 stretch 等高拉伸 */
}
/* 列表项：主内容 → 渐变横线 → 副内容（换行），右下角小图标 */
.draw-item {
  position: relative;         /* 小图标定位基准 */
  flex: 1 1 0;                /* 宽度自适应：4 项平分一行可用宽度 */
  min-width: 0;
  padding: 0.24rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 0.08rem 0.08rem 0 0;
  background: linear-gradient(180deg, #ffffff 0%, #dae5f8 100%);
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
.draw-item:hover {            /* hover 效果：上浮 + 阴影 + 边框提亮 */
  /* transform: translateY(-0.06rem);
  box-shadow: 0 0.08rem 0.2rem rgba(0,0,0,.3);
  border-color: rgba(255,255,255,.5); */
}
/* 主内容 */
.draw-item .d-main {
  font-size: calc(0.29rem);
  font-weight: bold;
  color: #000000;
  margin-bottom: 0.16rem;
}
/* 渐变横线：位于主副内容之间 */
.draw-item .d-line {
  width: calc(0.93rem);
  height: 0.02rem;
  background: linear-gradient(90deg, #01d4b9, #1069f9);
  margin-bottom: 0.16rem;
}
/* 副内容：换行显示，与主内容分行 */
.draw-item .d-sub {
  position: relative;         /* 提升到小图标上层，避免被遮挡 */
  z-index: 1;
  font-size: calc(0.2rem);
  color: rgba(0, 0, 0, 0.7);
  line-height: 1.8;
}
/* 右下角小图标：位于文字下一层，切图替换 images/draw-icon-1.png ~ 4.png，建议 40x40 */
.draw-item .d-icon {
  position: absolute;
  z-index: 0;
  right: 0.16rem;
  bottom: 0.16rem;
  height: calc(1.22rem);
}
/* hover 时的高亮图标：与默认图标同位置叠放，用透明度+缩放过渡切换 */
.draw-item .d-icon_con {
  position: absolute;
  z-index: 0;
  right: 0.16rem;
  bottom: 0.16rem;
  width: calc(1.4rem);
  opacity: 0;                 /* 默认透明 */
  transform: scale(.6);
  transition: opacity .35s ease, transform .35s ease;
}
.draw-item .d-icon { transition: opacity .25s ease, transform .35s ease; }
/* hover 时图标弹入动画：放大回弹 + 轻微旋转 */
.draw-item:hover .d-icon {
  animation: dIconPop .5s cubic-bezier(.34, 1.56, .64, 1) forwards;
}
@keyframes dIconPop {
  0%   { opacity: 0; transform: scale(.4) rotate(-14deg); }
  60%  { opacity: 1; transform: scale(1.15) rotate(4deg); }
  100% { opacity: 1; transform: scale(1) rotate(0deg); }
}
/* .draw-item:hover .d-icon_con { opacity: 1; transform: scale(1); } 高亮图放大浮入 */
.draw-item .d-icon[src=""] {  /* src 为空时灰色占位块，切图后可删 */
  background: rgba(255,255,255,.3);
  border-radius: 0.04rem;
}


/* 容器，pc主体宽1320 */
.process-section .container {
  display: flex;              /* 各内容块整体垂直居中 */
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
/* 标题始终在最上层显示，避免被相邻屏/背景遮挡 */
.process-section .svc-title {
  position: relative;
  z-index: 3;
}
.process-wrap{ max-width:13.2rem;margin:calc((1.9rem/2) + 0.02rem) auto 0;position:relative;}
.process-line{
  position:absolute;
  top:calc((0.9rem/2) + 0.03rem);
  left:0;
  width:100%;
  height:0.02rem;
  background:#9ecdf6;
  z-index:-1;
  transform:scaleX(0);                /* 入场动画：默认不展开 */
  transform-origin:left center;
  transition:transform 2.7s ease .1s; /* 进入该屏后从左向右展开，与节点逐个浮现同步 */
}
.bubble-flex{
  display: flex;
  justify-content: space-between;
}
.process-list{
  display:flex;
  justify-content:space-between;
  list-style:none;
  position:relative;
  z-index:2;
}
.process-item{
  flex:auto;
  text-align:center;
  padding:0 0.18rem 0 0.24rem;
  opacity:1;                          /* 默认可见：即使 .active 未触发也不会消失 */
}
/* fullPage 给当前屏加 .active：进入流程屏时才从下方淡入，节点依次浮现 */
.process-section.active .process-item{
  opacity:0;
  transform:translateY(0.2rem);
  animation:fadeUp 0.6s ease forwards;
}
/* 连线默认展开，进入该屏再重播展开动画（backwards：延迟期间保持起点） */
.process-line{transform:scaleX(1);}
.process-section.active .process-line{
  animation:lineGrow 2.7s ease .1s backwards;
}
@keyframes lineGrow{
  from{transform:scaleX(0);}
  to{transform:scaleX(1);}
}
/* 从左往右依次接续动画：上一个完成后（0.3s）下一个才开始 */
.process-item:nth-child(1){animation-delay:0.1s;}
.process-item:nth-child(2){animation-delay:0.4s;}
.process-item:nth-child(3){animation-delay:0.7s;}
.process-item:nth-child(4){animation-delay:1.0s;}
.process-item:nth-child(5){animation-delay:1.3s;}
.process-item:nth-child(6){animation-delay:1.6s;}
.process-item:nth-child(7){animation-delay:1.9s;}
.process-item:nth-child(8){animation-delay:2.2s;}
.process-item:nth-child(9){animation-delay:2.5s;}
/* 圆形节点 */
.process-circle{
  width:calc(1rem);
  height:calc(1rem);
  margin:0 auto 0.16rem;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all 0.3s ease;
  position:relative;
}
/* 节点图标：铺满圆形区域 */
.process-circle img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.process-circle1{
  height: calc(1.26rem);
  width: auto;
  margin-top: -0.1rem;
}
/* 并行节点绿色背景 */
.process-circle:hover{
  transform:scale(1.08);
}
/* 箭头 */
.arrow{
  position:absolute;
  top:calc(0.8rem/2);
  right:-0.1rem;
  width:calc(0.2rem);
}
.arrow svg{width:100%;height:100%;fill:#2277ee;}
.arrow img{width:100%;height:100%;object-fit:contain;}
/* 文字 */
.process-title{font-size:calc(0.26rem);color:#000;font-weight:500;margin-bottom:0.12rem;}
/* 合并节点内第二组标题（影棚配音）：与上一组描述拉开间距 */
.process-title--sub{margin-top:0.24rem;}
.process-desc{font-size:calc(0.22rem);color:rgba(0, 0, 0, 0.7);line-height:1.6;}
/* 气泡标签（图片：images/icon_period_tip1.png，切图替换） */
.bubble-tag{
  position:absolute;
  top:-0.8rem;
  left:50%;
  transform:translateX(-50%);
  width:calc(2rem);
  height:auto;
}
.bubble-tag.pay{
  top:-0.65rem;
}
.bubble-tag[src=""]{background:#d9d9d9;border-radius:0.2rem;}
/* 入场动画 */
@keyframes fadeUp{
  to{opacity:1;transform:translateY(0);}
}

/* ==========================================================
   科研动画 index_ad（对齐 osens.cn brand_3 ul：横向手风琴图墙，
   收起项显示竖排标题 + 深色遮罩，hover 展开显示大图 + 了解更多）
   ========================================================== */
/* 容器：不管屏幕多大，内容整体垂直居中；
   底部 padding 保证满屏时 ppt-gallery 距屏底至少 0.48rem 间隙 */
.index_ad .container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  
}
.index_ad_ppt-gallery{
  padding-bottom: calc(0.48rem);
}
.index_ad .ad-list ul {
  display: flex;
  height: calc(5.8rem);      /* 对齐 36.25rem */
  /* margin: calc(0.6rem) 0; */
  /* 屏幕偏矮时优先压缩图墙，保证 ppt-gallery 底部 0.48rem 间隙不被吃掉 */
  flex-shrink: 1;
  min-height: calc(3.2rem);
}
.index_ad .ppt-gallery {
  flex-shrink: 0;               /* 图片行不参与压缩 */
}
.index_ad .ad-list ul li {
  width: calc(0.95rem);
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  padding: calc(0.2rem) 0;    /* 对齐 4.375rem 0 */
  box-shadow: -0.03rem 0 0.19rem rgba(0,0,0,0.2);
  transition: all .5s;
  background-size: cover;
  background-position: center;
  background-color: #1069f9;
}
/* 层级：从左到右依次抬高，展开项压在相邻项之上 */
.index_ad .ad-list ul li:nth-child(1) { z-index: 1; }
.index_ad .ad-list ul li:nth-child(2) { z-index: 2; }
.index_ad .ad-list ul li:nth-child(3) { z-index: 3; }
.index_ad .ad-list ul li:nth-child(4) { z-index: 4; }
.index_ad .ad-list ul li:nth-child(5) { z-index: 5; }
.index_ad .ad-list ul li:nth-child(6) { z-index: 6; }
.index_ad .ad-list ul li:nth-child(7) { z-index: 7; }
.index_ad .ad-list ul li:nth-child(8) { z-index: 8; }
/* 背景图正中央的播放 icon（icon_play_white.png）：默认隐藏，仅展开状态显示 */
.index_ad .ad-list ul li::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(0.8rem);
  height: calc(0.8rem);
  transform: translate(-50%, -50%);
  background: url('../images/icon_play_white.png') no-repeat center / contain;
  z-index: 2;
  pointer-events: none;
  opacity: 0;                     /* 收起态隐藏 */
  transition: opacity .3s;
}
/* 展开态显示播放 icon */
.index_ad .ad-list ul li.active::before {
  opacity: 1;
}
/* 收起态：深色遮罩盖在背景图上 */
.index_ad .ad-list ul li::after {
  content: '';
  width: 100%;
  height: 100%;
  background: #0e63ef;
  position: absolute;
  top: 0;
  left: 0;
  transition: all .3s;
}
/* 展开态：宽度撑开，遮罩与竖排标题隐藏，显示"了解更多" */
.index_ad .ad-list ul li.active { width: 65.5%; }
.index_ad .ad-list ul li.active::after { opacity: 0; pointer-events: none; }
.index_ad .ad-list ul li.active .title { opacity: 0; pointer-events: none; }
.index_ad .ad-list ul li.active .small_more { opacity: 1 !important; pointer-events: auto; }
/* 竖排标题（writing-mode 垂直），届数在上、+ 号在下 */
.index_ad .ad-list ul li .title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 2;
  writing-mode: vertical-rl;
  color: rgba(255, 255, 255, .85);
  letter-spacing: 0.02rem;
  font-size: calc(0.16rem);
  transition: opacity .3s;
  font-weight: bold;
}
.index_ad .ad-list ul li .title span {
  font-size: calc(0.18rem);
  margin-bottom: calc(0.4rem);
}
.index_ad .ad-list ul li .title i {
  margin-top: auto;
  width: calc(0.24rem);
  height: calc(0.24rem);
  display: flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
}
/* i 内的图片 icon（icon_ad_more1.png） */
.index_ad .ad-list ul li .title i img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* 了解更多：右下角，仅展开态可见 */
.index_ad .ad-list ul li .small_more {
  position: absolute;
  right: 5%;
  bottom: 5%;
  z-index: 2;
  pointer-events: none;
  transition: opacity .3s;
}
.index_ad .ad-list ul li .small_more a {
  font-size: 0.14rem;
  color: #ffffff;
}
/* 底部信息条：展示 .title 的文字，贴在背景图底部（与图片底边齐平），
   背景从透明渐变到 #156cf7，右侧带"更多"箭头 icon */
.index_ad .ad-list ul li .bottom_more {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 0.12rem;
  padding: 0.14rem 0.16rem;
  background: linear-gradient(180deg, rgba(21, 108, 247, 0) 0%, rgba(21, 108, 247, .45) 100%);   /* 上下渐变：上透明 → 下 45% 透明度的 #156cf7（更淡） */
  color: #ffffff;
  writing-mode: horizontal-tb;   /* 覆盖竖排标题的继承，横向显示 */
  letter-spacing: normal;
  opacity: 0;                    /* 初始隐藏 */
  transition: opacity .3s;
}
/* 展开态（hover 后的 active 项）显示底部信息条 */
.index_ad .ad-list ul li.active .bottom_more {
  opacity: 1;
}
.index_ad .ad-list ul li .bottom_more .bm_text {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: normal;          /* 默认不加粗 */
}
.index_ad .ad-list ul li .bottom_more .bm_text b {
  font-weight: bold;            /* 标题主词（如"二维动画"）加粗，后面的子项不加粗 */
  margin-right: 0.1rem;
}
/* 更多 icon：CSS 画的 > 箭头 */
.index_ad .ad-list ul li .bottom_more .bm_icon {
  flex-shrink: 0;
  width: 0.18rem;
  height: 0.18rem;
  background: url('../images/icon_ad_more.png') no-repeat center / 100% 100%;

}

/* ==========================================================
   H5 适配（<7.68rem）：普通滚动 + 移动端专属排版
   （只覆盖移动端，PC 端样式不受影响）
   ========================================================== */
@media screen and (max-width: 767px) {
  /* H5 主题色统一为 #1069f9 */
  :root { --hover-color: #1069f9; --main-color: #1069f9; }
  .btn-contact { background: #1069f9; }
  .fullbleed { background: #1069f9; }
  .about-form button { background: #1069f9; }

  /* 通用：区块留白与标题节奏 */
  .section { height: auto; min-height: 0; padding: 0.36rem 0; }
  .container { padding: 0 0.16rem; }
  .w1520, .w1314 { width: 100% !important; }
  .matrix-title, .ppt-title, .svc-title, .draw-title, .news-title,
  .school-title, .train-title { font-size: 0.22rem !important; margin-bottom: 0.18rem !important; }

  /* ---- 屏1 首屏 banner：整屏大图 + 左下角文案 + 数据条 3 列 ---- */
  .index_banner { height: auto; padding: 0; }
  .index_banner .container { height: auto; padding: 0; }
  .index_banner .swiper_banner { width: 100vw; margin-left: calc(50% - 50vw); flex: none; height: 2.4rem; }
  .index_banner .banner_img { height: 2.4rem; object-position: center; }
  .index_banner .banner_text { left: 0.16rem; right: 0.16rem; }
  .index_banner .banner_txt { width: min(64vw, 2.6rem); margin-bottom: 0.08rem; }
  .index_banner .banner_btn { margin-top: 0.1rem; justify-content: flex-start; }
  .index_banner .banner_btn img { height: 0.32rem; }
  .index_banner .banner_info { width: 100%; margin-top: 0.04rem; }
  .index_banner .info_list { flex-wrap: wrap; padding: 0.14rem 0.08rem; row-gap: 0.14rem; }
  .index_banner .info_item { width: 33.33%; }
  .index_banner .info_num { font-size: 0.24rem; }
  .index_banner .info_label { font-size: 0.11rem; margin-top: 0.02rem; }

  /* ---- 屏2 服务矩阵：2 列等宽卡片 ---- */
  .matrix-section { padding: 0.36rem 0; }
  .matrix-section .container { height: auto; padding: 0 0.16rem; }
  .matrix { grid-template-columns: repeat(2, 1fr); grid-template-rows: none; grid-auto-rows: minmax(1.5rem, auto); gap: 0.12rem; }
  .card { width: 100%; height: auto; padding: 0.14rem 0.12rem; }
  .card--tall { grid-row: auto; height: auto; }
  .card .card-main { font-size: 0.17rem; margin-bottom: 0.06rem; }
  .card .card-sub a { font-size: 0.12rem; line-height: 1.8; }
  .card .card-icon { width: 0.48rem; height: 0.48rem; right: 0.08rem; bottom: 0.08rem; opacity: .9; }

  /* ---- 屏4 学术PPT：1.3 张卡片 + 图标列表居中换行 ---- */
  .ppt-section { padding: 0.36rem 0; }
  .ppt-section .container { height: auto; padding: 0 0 0 0.16rem; }
  .ppt-carousel { margin-bottom: 0.18rem; }
  .ppt-carousel::after { display: none; }
  .ppt-card { height: 4.2rem; padding: 0.16rem 0.14rem; }
  .ppt-card .card-main { font-size: 0.16rem; margin-bottom: 0.1rem; }
  .ppt-card .card-sub { font-size: 0.12rem; line-height: 1.9; }
  .ppt-card .card-icon { width: 0.64rem; height: 0.64rem; }
  .ppt-gallery { flex-wrap: wrap; justify-content: center; gap: 0.12rem 0.14rem; padding: 0 0.16rem; }
  .ppt-gallery img { height: 0.22rem; }

  /* ---- 屏7 全周期商务业务闭环：2 列节点，隐藏连线箭头 ---- */
  .process-section { padding: 0.36rem 0 0.1rem; }
  .process-section .container { height: auto; padding: 0 0.16rem; }
  .process-wrap { margin-top: 0.16rem; max-width: 100%; }
  .process-list { flex-wrap: wrap; row-gap: 0.24rem; }
  .process-item { flex: 0 0 50%; padding: 0 0.08rem; }
  .process-item.process-item1 { flex-basis: 100%; }   /* 并行大节点独占一行 */
  .process-line, .arrow { display: none; }
  .process-circle { width: 0.76rem; height: 0.76rem; margin-bottom: 0.08rem; }
  .process-circle1 { width: 100%; max-width: 2rem; }
  .process-circle1 img { object-fit: contain; }
  .process-title { font-size: 0.15rem; margin-bottom: 0.04rem; }
  .process-desc { font-size: 0.12rem; line-height: 1.5; }
  .bubble-tag { width: 1.1rem; top: -0.44rem; }

  /* ---- 屏8 全程陪伴服务体系：2 列网格 ---- */
  .svc-section { padding: 0.36rem 0; }
  .svc-section .container { height: auto; padding: 0 0.16rem; }
  .svc-matrix { width: 100% !important; grid-template-columns: repeat(2, 1fr); grid-template-rows: none; grid-auto-rows: auto; gap: 0.12rem; }
  .svc-card { width: 100%; height: auto; min-height: 1.5rem; padding: 0.14rem 0.12rem; }
  .svc-card--tall { grid-row: auto; height: auto; }
  .svc-card--tall:nth-of-type(1) { grid-column: 1; }
  .svc-card--tall:nth-of-type(2) { grid-column: 2; }
  .svc-card .card-main { font-size: 0.16rem; margin-bottom: 0.06rem; }
  .svc-card .card-sub { font-size: 0.12rem; line-height: 1.7; }
  .svc-card .card-icon { width: 0.36rem; height: 0.36rem; top: 0.08rem; right: 0.08rem; }
  .svc-card .card-overlay button { font-size: 0.13rem; padding: 0.06rem 0.14rem; }
  .svc-card .card-bottom-img { width: 70%; }

  /* ---- 屏9 科研绘图：2 列卡片 ---- */
  .draw-section { padding: 0.36rem 0; }
  .draw-section .container { height: auto; padding: 0; }
  .draw-list-wrap { width: 100%; margin-left: 0; margin-top: 0; padding: 0.2rem 0 0.26rem; }
  .draw-title, .draw-list { width: 100%; margin-left: 0; padding-left: 0.16rem; padding-right: 0.16rem; }
  .draw-list { flex-wrap: wrap; gap: 0.12rem; padding-top: 0.14rem; }
  .draw-item { flex: 1 1 calc(50% - 0.06rem); padding: 0.14rem 0.12rem; }
  .draw-item .d-main { font-size: 0.15rem; margin-bottom: 0.08rem; }
  .draw-item .d-sub { font-size: 0.11rem; line-height: 1.7; }
  .draw-item .d-icon, .draw-item .d-icon_con { width: 0.34rem; height: 0.34rem; }
  .train-grid .vtrack { grid-template-columns: repeat(4, 1fr); }

  /* ---- 屏10 最新动态：单列（轮播 → 新闻列表 → 图文） ---- */
  .news-section { padding: 0.36rem 0; }
  .news-section .container { height: auto; padding: 0 0.16rem; }
  .news-head { margin-bottom: 0.14rem; }
  .news-layout { flex-direction: column; gap: 0.16rem; }
  .news-carousel { width: 100%; height: 2rem; flex: none; }
  .news-center { height: auto; gap: 0.12rem; }
  .news-item { padding: 0.12rem 0.14rem; }
  .news-item .n-title { font-size: 0.15rem; }
  .news-item .n-desc { font-size: 0.12rem; }
  .news-side { height: auto; gap: 0.12rem; }
  .news-side .side-item { padding: 0.12rem; gap: 0.1rem; }
  .news-side .side-img { width: 0.88rem; height: 0.64rem; }

  /* ---- 屏11 高校轮播 ---- */
  .school-section { padding: 0.36rem 0; }
  .school-section .container { height: auto; padding: 0 0.16rem; }
  .school-viewport { padding-bottom: 0.12rem; }

  /* ---- 屏12 PPT培训：上图下墙 ---- */
  .train-section { padding: 0.36rem 0; }
  .train-section .container { height: auto; padding: 0 0.16rem; }
  .train-layout, .train-main { flex-direction: column; gap: 0.14rem; }
  .train-main .train-big { width: 100%; height: 1.9rem; }
  .train-grid { grid-template-columns: repeat(3, 1fr); grid-template-rows: none; grid-auto-rows: 0.74rem; gap: 0.08rem; }

  /* ---- 科研动画手风琴：2 列等宽，保留遮罩标题 ---- */
  .index_ad { padding: 0.36rem 0; }
  .index_ad .container { padding: 0 0.16rem; }
  .index_ad .ad-list ul { height: auto; flex-wrap: wrap; margin: 0.14rem 0; gap: 0; }
  .index_ad .ad-list ul li { width: 50% !important; height: 1.8rem; }

  /* ---- 屏13 尾部（关于我们）：单列 + 蓝色通栏贴边 ---- */
  .about-section { height: auto; padding: 0.36rem 0 0; }
  .about-section .container { height: auto; padding: 0 0.16rem; transform: none !important; }  /* 取消 fitS11 缩放 */
  .about-title { font-size: 0.21rem; margin-bottom: 0.18rem; }
  .about-form { flex-direction: column; gap: 0.12rem; margin-bottom: 0.22rem; }
  .about-form input { width: 100%; }
  .about-form button { width: 100%; }
  .about-main { flex-direction: column; gap: 0.22rem; margin-bottom: 0.24rem; }
  /* 四列信息：横排一行两列，右侧联系我们整行居中 */
  .about-cols { flex-direction: row; flex-wrap: wrap; gap: 0.18rem 0; }
  .about-col { width: 50%; }
  .about-col .col-title { font-size: 0.17rem; margin-bottom: 0.06rem; }
  .about-col .col-text { font-size: 0.13rem; line-height: 1.9; }
  .about-contact { align-items: center; }
  .about-contact .col-title { font-size: 0.17rem; }
  .about-contact .col-text { font-size: 0.18rem; }
  .about-contact .col-tip { font-size: 0.13rem; }
  .qrcode { width: 0.96rem; height: 0.96rem; }
  .about-col .col-title, .about-contact .col-title { font-size: 0.18rem; margin-bottom: 0.08rem; }
  .about-col .col-text { font-size: 0.14rem; }
  .about-contact .col-text { font-size: 0.2rem; }
  .qrcode { width: 0.96rem; height: 0.96rem; }
  .about-gallery { flex-direction: column; gap: 0.14rem; }
  .gallery-item img { width: 0.44rem; height: 0.44rem; }
  .gallery-item .g-title { font-size: 0.14rem; }
  .gallery-item .g-text { font-size: 0.12rem; }
  .about-footer { flex-direction: column; gap: 0.04rem; text-align: center; font-size: 0.12rem; }
  .fullbleed { width: 100vw; margin-left: calc(50% - 50vw); padding-left: 0.16rem; padding-right: 0.16rem; }
}
