/* =========================================================
   首页：竖向 Swiper 整屏切换
   PC（≥1200）头部叠在第一屏上；≤1199 整屏容器从头部下方开始
   ========================================================= */
body.page-home { overflow: hidden; overscroll-behavior: none; }
html:has(> body.page-home) { overflow: hidden; }
body.page-home .back-top { z-index: 90; }

.home-full { --home-pad: var(--header-h); position: fixed; z-index: 1; left: 0; right: 0; top: 0; bottom: 0; background: #fff; }
.home-full > .swiper-wrapper > .home-slide { position: relative; height: 100%; overflow: hidden; }
.home-full > .swiper-wrapper > .home-s-footer { height: auto; overflow: visible; }
.home-s-footer .footer { border-top: 0; }

/* 整屏背景图（PC / 手机两套） */
.home-bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.home-bg img { width: 100%; height: 100%; object-fit: cover; }

/* 切到该屏时文字从下往上淡入（home.js 给当前屏加 .on） */
.home-ani { opacity: 0; transform: translateY(.6rem); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.home-slide.on .home-ani { opacity: 1; transform: none; transition-delay: .3s; }
.home-slide.on .home-ani + .home-ani { transition-delay: .45s; }
.home-full:not(.swiper-initialized) .home-ani { opacity: 1; transform: none; }

/* ---------- ① Banner 轮播 ---------- */
.home-s-banner { background: var(--c-bg-gray); }
.home-banner { height: 100%; }
.home-banner-item { position: relative; overflow: hidden; }
.home-banner-link { display: block; width: 100%; height: 100%; }
.home-banner-text { position: absolute; z-index: 2; left: 0; right: 0; top: var(--home-pad); bottom: 0; display: flex; align-items: center; pointer-events: none; }
.home-banner-text .container { color: var(--c-text); }
.home-banner-text.theme-light .container { color: #fff; }
.home-banner-text .container > * { max-width: 7.2rem; opacity: 0; transform: translateY(.4rem); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.home-banner-item.swiper-slide-active .home-banner-text .container > * { opacity: 1; transform: none; }
.home-banner-item.swiper-slide-active .home-banner-text .container > :nth-child(2) { transition-delay: .15s; }
.home-banner-item.swiper-slide-active .home-banner-text .container > :nth-child(3) { transition-delay: .3s; }
.home-banner-sub { font-size: .24rem; letter-spacing: .02rem; opacity: .8; }
.home-banner-title { margin-top: .16rem; font-size: .72rem; font-weight: 700; line-height: 1.2; }
.home-banner-desc { margin-top: .24rem; font-size: .22rem; line-height: 1.7; }
.home-banner-text.theme-dark .home-banner-desc { color: var(--c-text-2); }

/* 底部圆点：半透明胶囊 */
.home-banner-dots { position: absolute; z-index: 5; left: 50%; bottom: .4rem; transform: translateX(-50%); padding: .1rem .16rem; border-radius: .4rem; background: rgba(0, 0, 0, .3); line-height: 0; }
.home-banner-dots .swiper-pagination.swiper-pagination-horizontal { position: static; width: auto; display: flex; align-items: center; gap: .12rem; transform: none; }
.home-banner-dots .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { margin: 0; width: .1rem; height: .1rem; border-radius: .1rem; background: #fff; opacity: .5; transition: width .3s, opacity .3s; }
.home-banner-dots .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active { width: .28rem; opacity: 1; }

/* ---------- ② 核心科技：视频 Tab ---------- */
.home-s-tech { background: #111; color: #fff; }
.home-tech-swiper { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.home-tech-item { position: relative; overflow: hidden; background: #111; }
.home-tech-video { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .5s; }
.home-tech-video.playing { opacity: 1; }
/* 文字都是白色、直接压在图片 / 视频上：左下（标题）、右侧（Tab）压暗，背景图偏亮时也看得清 */
.home-s-tech::after { content: ""; position: absolute; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none;
  background: linear-gradient(90deg, rgba(0, 0, 0, .55) 0, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .55) 100%), linear-gradient(0deg, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, 0) 45%); }
.home-tech-layer { position: absolute; z-index: 2; left: 0; top: var(--home-pad); right: 0; bottom: 0; pointer-events: none; text-shadow: 0 1px .1rem rgba(0, 0, 0, .35); }
.home-tech-wrap { position: relative; height: 100%; }
.home-tech-head { position: absolute; left: 0; bottom: 1.3rem; max-width: 8rem; }
.home-tech-title { font-size: .72rem; font-weight: 700; line-height: 1.2; letter-spacing: .02rem; }
.home-tech-descs { position: relative; margin-top: .24rem; }
.home-tech-desc { position: absolute; left: 0; top: 0; width: 100%; font-size: .2rem; line-height: 1.8; color: rgba(255, 255, 255, .92); opacity: 0; transition: opacity .5s; }
.home-tech-desc.on { position: relative; opacity: 1; }
.home-tech-tabs { position: absolute; right: 0; top: 0; bottom: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: .44rem; pointer-events: auto; }
.home-tech-tab { position: relative; padding: .04rem .32rem .04rem 0; font-size: .26rem; line-height: 1.4; color: #fff; text-align: right; opacity: .75; transition: opacity .3s;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 0 .14rem rgba(0, 0, 0, .45); } /* 背景再亮也托得住字 */
.home-tech-tab::before { content: ""; position: absolute; right: 0; top: -.22rem; bottom: -.22rem; width: 1px; background: rgba(255, 255, 255, .45); }
.home-tech-tab::after { content: ""; position: absolute; right: 0; top: 50%; width: 2px; height: 0; background: #fff; transform: translate(.5px, -50%); transition: height .4s var(--ease); }
.home-tech-tab:first-child::before { top: 0; }
.home-tech-tab:last-child::before { bottom: 0; }
.home-tech-tab:hover { opacity: .9; }
.home-tech-tab.on { opacity: 1; font-weight: 600; }
.home-tech-tab.on::after { height: 100%; }

/* 向下滚动提示 */
.home-scroll-tip { position: absolute; z-index: 3; left: 50%; bottom: .3rem; width: .5rem; height: .5rem; margin-left: -.25rem; display: flex; align-items: center; justify-content: center; font-size: .34rem; color: #fff; animation: homeTip 1.8s ease-in-out infinite; }
@keyframes homeTip { 0%, 100% { transform: translateY(0); opacity: .5; } 50% { transform: translateY(.1rem); opacity: 1; } }

/* ---------- ③ 主推产品 / ⑤ 招商加盟：文字区 ---------- */
.home-con { position: absolute; z-index: 2; top: 0; bottom: 0; width: 50%; padding: var(--home-pad) .6rem 0; display: flex; align-items: center; justify-content: center; color: var(--c-text); }
.home-con.align-left { left: 0; }
.home-con.align-right { right: 0; }
.home-con-inner { max-width: 6.6rem; }
.home-con-name { font-size: .24rem; color: var(--c-text-2); margin-bottom: .14rem; }
.home-con-title { font-size: .64rem; font-weight: 700; line-height: 1.25; letter-spacing: .01rem; }
.home-con-sub { margin-top: .24rem; font-size: .26rem; color: var(--c-text-2); }
.home-con-desc { margin-top: .2rem; font-size: .2rem; line-height: 1.8; color: var(--c-text-2); }
.home-con-btn { margin-top: .5rem; font-size: .2rem; }
.home-con.theme-light { color: #fff; }
.home-con.theme-light .home-con-name, .home-con.theme-light .home-con-sub, .home-con.theme-light .home-con-desc { color: rgba(255, 255, 255, .82); }
.home-con.theme-light .home-con-btn { color: #fff; }

/* ---------- ④ 新闻动态 ---------- */
.home-s-news { display: flex; align-items: center; padding-top: var(--home-pad); background: #fff; }
.home-news { width: 14.4rem; min-width: 0; }
.home-news-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: .5rem; }
.home-news-title { font-size: .48rem; font-weight: 700; line-height: 1.2; }
.home-news-more { font-size: .18rem; }
.home-news-card { display: block; position: relative; border-radius: .16rem; overflow: hidden; background: var(--c-bg-gray); }
.home-news-cover { aspect-ratio: 16 / 9; overflow: hidden; }
.home-news-cover .pic, .home-news-cover img { width: 100%; height: 100%; object-fit: cover; }
.home-news-cover img { transition: transform .6s var(--ease); }
.home-news-info { padding: .3rem .32rem .32rem; transition: background .3s, color .3s; }
.home-news-name { font-size: .22rem; font-weight: 600; line-height: 1.5; height: 3em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.home-news-date { margin-top: .2rem; font-size: .16rem; color: var(--c-text-3); transition: color .3s; }
.home-news-card:hover .home-news-info { background: var(--c-primary); color: #fff; }
.home-news-card:hover .home-news-date { color: rgba(255, 255, 255, .6); }
.home-news-card:hover .home-news-cover img { transform: scale(1.1); }
.home-news-foot { display: flex; align-items: center; gap: .4rem; margin-top: .5rem; }
.home-news-progress { flex: 1; }
.home-news-progress i { width: 0; transition: left .5s var(--ease), width .5s var(--ease); }
.home-news-btns { display: flex; gap: .16rem; }
.home-news-body.is-static .home-news-foot { display: none; }

/* =========================================================
   ≤1199：手机导航（头部白底常显），整屏容器从头部下方开始
   ========================================================= */
@media (max-width: 1199px) {
  body.page-home { padding-top: 0; }
  .home-full { --home-pad: 0px; top: var(--header-h); }
}

/* =========================================================
   ≤760：手机内容
   ========================================================= */
@media (max-width: 760px) {
  .home-ani { transform: translateY(.5rem); }
  body.page-home .back-top { display: none; } /* 手机端上下滑动即可回到第一屏，避免遮挡内容 */

  /* Banner */
  .home-banner-text { align-items: flex-start; padding-top: 1rem; text-align: center; }
  .home-banner-text .container { flex: 1; min-width: 0; }
  .home-banner-text .container > * { max-width: none; }
  .home-banner-sub { font-size: .26rem; }
  .home-banner-title { margin-top: .12rem; font-size: .56rem; }
  .home-banner-desc { margin-top: .16rem; font-size: .26rem; }
  .home-banner-dots { bottom: .36rem; padding: .12rem .2rem; }
  .home-banner-dots .swiper-pagination.swiper-pagination-horizontal { gap: .14rem; }
  .home-banner-dots .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { width: .12rem; height: .12rem; }
  .home-banner-dots .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active { width: .36rem; }

  /* 核心科技：标题在顶部，Tab 横排 */
  .home-s-tech::after { background: linear-gradient(180deg, rgba(0, 0, 0, .6) 0, rgba(0, 0, 0, .3) 30%, rgba(0, 0, 0, 0) 50%), linear-gradient(0deg, rgba(0, 0, 0, .55) 0, rgba(0, 0, 0, 0) 38%); }
  .home-tech-wrap { position: static; display: flex; flex-direction: column; align-items: center; padding-top: .7rem; }
  .home-tech-head { position: static; max-width: none; text-align: center; }
  .home-tech-title { font-size: .56rem; }
  .home-tech-descs { position: absolute; left: .4rem; right: .4rem; bottom: 1.1rem; margin: 0; text-align: center; }
  .home-tech-desc { font-size: .26rem; line-height: 1.7; }
  .home-tech-tabs { position: static; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: .16rem 0; margin-top: .36rem; }
  .home-tech-tab { padding: 0 .24rem; font-size: .26rem; line-height: 1; text-align: center; }
  .home-tech-tab::before, .home-tech-tab::after { display: none; }
  .home-tech-tab + .home-tech-tab { border-left: 1px solid rgba(255, 255, 255, .5); }
  .home-scroll-tip { bottom: .3rem; width: .6rem; height: .6rem; margin-left: -.3rem; font-size: .44rem; }

  /* 产品 / 招商：文字在顶部居中，“了解更多”黑色胶囊 */
  .home-con { left: 0; right: 0; bottom: auto; width: 100%; padding: .9rem .4rem 0; display: block; text-align: center; }
  .home-con-inner { max-width: none; }
  .home-con-name { font-size: .26rem; margin-bottom: .1rem; }
  .home-con-title { font-size: .52rem; }
  .home-con-sub { margin-top: .16rem; font-size: .26rem; }
  .home-con-desc { margin-top: .14rem; font-size: .26rem; }
  .home-con-btn { margin-top: .4rem; height: .66rem; padding: 0 .36rem 0 .44rem; border-radius: .66rem; justify-content: center; background: var(--c-primary); color: #fff; font-size: .26rem; }
  .home-con-btn span::after { display: none; }
  .home-con.theme-light .home-con-btn { background: #fff; color: var(--c-text); }

  /* 新闻：一屏约 1.12 张竖版大图，标题日期叠在图上 */
  .home-news { width: auto; flex: 1; min-width: 0; }
  .home-news-head { justify-content: center; margin-bottom: .4rem; }
  .home-news-title { font-size: .44rem; }
  .home-news-more, .home-news-btns { display: none; }
  .home-news-swiper { margin: 0 -.3rem; }
  .home-news-card { border-radius: .2rem; }
  .home-news-cover { aspect-ratio: auto; height: 8.8rem; max-height: 58vh; }
  .home-news-info { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.2rem .36rem .36rem; background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .7)); color: #fff; }
  .home-news-name { font-size: .3rem; height: auto; }
  .home-news-date { margin-top: .12rem; font-size: .24rem; color: rgba(255, 255, 255, .75); }
  .home-news-card:hover .home-news-info { background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .7)); }
  .home-news-card:hover .home-news-cover img { transform: none; }
  .home-news-foot { margin-top: .44rem; }
}

/* ---------- 版式调整：右侧屏幕导航 / Banner 分页条 / 产品文字卡片 ---------- */
.home-pager { position: fixed; z-index: 20; right: .36rem; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: .16rem; }
.home-pager-dot { position: relative; width: .14rem; height: .14rem; border-radius: 50%; border: 2px solid rgba(29, 39, 51, .35); background: transparent; transition: all .3s; }
.home-pager-dot span { position: absolute; right: .26rem; top: 50%; transform: translate(.1rem, -50%); white-space: nowrap; font-size: .13rem; padding: .04rem .12rem; border-radius: .06rem; background: var(--c-ink); color: #fff; opacity: 0; pointer-events: none; transition: all .25s; }
.home-pager-dot:hover span { opacity: 1; transform: translate(0, -50%); }
.home-pager-dot.on { height: .36rem; border-radius: .14rem; border-color: var(--c-primary); background: var(--c-primary); }
.home-pager.is-light .home-pager-dot:not(.on) { border-color: rgba(255, 255, 255, .7); }

.home-banner-dots { left: auto; right: 1.2rem; bottom: .56rem; transform: none; padding: 0; border-radius: 0; background: none; }
.home-banner-dots .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { width: .36rem; height: .05rem; border-radius: .05rem; opacity: .6; }
.home-banner-dots .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active { width: .64rem; opacity: 1; background: var(--c-primary); }

.home-con-inner { padding: .5rem .56rem; border-radius: var(--radius-lg); background: rgba(255, 255, 255, .78); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: var(--shadow); }
.home-con.theme-light .home-con-inner { background: rgba(19, 40, 59, .5); box-shadow: none; }
.home-con-name { display: inline-block; padding: .04rem .16rem; border-radius: .4rem; background: var(--c-primary-soft); color: var(--c-primary); font-size: .18rem; }
.home-con.theme-light .home-con-name { background: rgba(255, 255, 255, .16); color: #fff; }

@media (max-width: 1199px) {
  .home-pager { display: none; }
}
@media (max-width: 760px) {
  .home-banner-dots { left: 50%; right: auto; bottom: .4rem; transform: translateX(-50%); }
  .home-con-inner { margin: 0 .3rem; padding: .4rem .36rem; border-radius: .28rem; }
  .home-con-name { font-size: .24rem; }
}
