:root {
  --head: 5.625vw;
  --color: #0b3125;
  --green: #0b3125;
  --green2: #4d8e7a;
  --white: #fdfdfd;
  --tt: #333;
  --tt2: #666;
  --tt3: #999;
}

body {
  color: var(--tt);
}

a {
  color: inherit;
}

.C-wrap {
  width: 87.5vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto;
}

/* ========== 通用按钮 ========== */
.C-btn1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.187vw;
  padding: 0 1.666vw;
  background: var(--green);
  color: #fff;
  border-radius: 5.208vw;
  white-space: nowrap;
  transition: all .35s ease;
}

.C-btn1:hover {
  background: white;
  color: #003429;
}

.info .C-btn2 {
  width: 8.958vw;
}

.C-btn2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.604vw;
  padding: 0 1.666vw;
  border: 0.052vw solid var(--green);
  color: var(--green);
  border-radius: 52.031vw;
  transition: all .35s ease;
}

.C-btn2:hover {
  background: var(--green);
  color: #fff;
}

/* ========== 顶部导航 ========== */
.head1 {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 50;
  width: 100%;
  height: var(--head);
  background: #fff;
  backdrop-filter: blur(0.52vw);
  transition: all ease .6s;
}

.isback .head1 {
  transform: translateY(-100%);
}

body.is-home56-sequence .head1 {
  transform: translateY(-100%);
}

.head1 .C-wrap {
  height: 100%;
}

.head1 .logo {
  width: 10.625vw;
  height: 3.125vw;
}

.head1 .logo img {
  height: 100%;
  width: auto;
}

.head1 .menu {
  gap: 3.229vw;
}

.head1 .menu .link a {
  color: var(--tt3);
  position: relative;
  transition: color .3s ease;
}

.head1 .menu .link a:hover,
.head1 .menu .link.on a {
  color: var(--color);
}

.head1 .menu .link a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.416vw;
  width: 0;
  height: 0.104vw;
  background: var(--color);
  transition: all .35s ease;
  transform: translateX(-50%);
}

.head1 .menu .link a:hover::after,
.head1 .menu .link.on a::after {
  width: 100%;
}

.head1 .m-dropdown-toggle {
  display: none;
}

/* ===== 关于我们 下拉菜单（挂在 .head1 下，位于顶部 C-wrap 下方 10px） ===== */
.head1>.dropdown {
  position: absolute;
  top: calc(var(--head) + 0.52vw);
  left: var(--dd-left, 50%);
  transform: translateX(-50%) translateY(-0.312vw);
  background: #fff;
  border-radius: 0.312vw;
  padding: 0.52vw;
  min-width: 8.75vw;
  box-shadow: 0 0.625vw 1.666vw rgba(0, 0, 0, .08);
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  z-index: 60;
}

.head1>.dropdown.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.head1>.dropdown .ditem {
  display: flex;
  align-items: center;
  height: 2.187vw;
  padding: 0 0.625vw;
  color: var(--tt3);
  border-radius: 0.208vw;
  white-space: nowrap;
  transition: background .25s ease, color .25s ease;
}

/* 下拉项不显示下划线（覆盖通用 .head1 .menu .link a::after 等可能影响） */
.head1>.dropdown .ditem::after {
  display: none;
  content: none;
}

.head1>.dropdown .ditem:hover,
.head1>.dropdown .ditem.on {
  background: var(--green);
  color: #fff;
}

.head1 .right {
  gap: 1.666vw;
}

/* PC 默认隐藏汉堡按钮（仅手机端显示） */
.head1 .navbar-toggle {
  display: none;
}

.head1 .right .tools {
  gap: 0.833vw;
}

.head1 .right .icon {
  width: 1.25vw;
  height: 1.25vw;
  cursor: pointer;
}

.head1 .right .icon img {
  width: 100%;
  height: 100%;
}

.head1 .right .lang {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.head1 .right .lang-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25vw;
  height: 1.25vw;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.head1 .right .lang-dd {
  position: absolute;
  top: calc(100% + 0.625vw);
  min-width: 6.25vw;
  padding: 0.52vw;
  background: #fff;
  border: 0.052vw solid rgba(11, 49, 37, .16);
  border-radius: 0.625vw;
  box-shadow: 0 0.625vw 1.562vw rgba(11, 49, 37, .14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.312vw);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index: 80;
}

.head1 .right .lang.open .lang-dd {
  opacity: 1;
  visibility: visible;
  transform: translaX(40px);
}

.head1 .right .lang-dd .lang-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.083vw;
  border-radius: 0.416vw;
  color: var(--tt);
  font-size: 0.833vw;
  transition: background .2s ease, color .2s ease;
}

.head1 .right .lang-dd .lang-item:hover,
.head1 .right .lang-dd .lang-item.on {
  background: var(--green);
  color: #fff;
}

.head1 .right .search-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 1.25vw;
  height: 2.083vw;
  overflow: hidden;
  z-index: 3;
  border-radius: 52.031vw;
  transition: width .3s ease, border-color .25s ease, box-shadow .25s ease;
}

.head1 .right .search-input {
  flex: 1 1 0;
  min-width: 0;
  width: 0;
  height: 2.083vw;
  padding: 0 0 0 0.52vw;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--tt);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.head1 .right .search-input::placeholder {
  color: var(--tt3);
}

.head1 .right .search-input:focus {
  outline: none;
}

.head1 .right .search-trigger {
  order: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25vw;
  height: 1.25vw;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
}

.head1 .right .search-box.open .search-input,
.head1 .right .search-box:hover .search-input,
.head1 .right .search-box:focus-within .search-input {
  opacity: 1;
  pointer-events: auto;
}

.head1 .right .search-box.open,
.head1 .right .search-box:hover,
.head1 .right .search-box:focus-within {
  width: 9.739vw;
  background: #fff;
  border: 0.052vw solid rgba(11, 49, 37, .16);
  padding: 0 0.729vw;
  gap: 0.52vw;
}

.head1 .right .search-box .search-input {
  order: 1;
}

/* ========== Home12 ========== */
.home12 {
  padding: 4.427vw 0 9.375vw 0;
  background: #fff;
}

.home12 .top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3.125vw;
  margin-top: 0.781vw;
}

.home12 .top .tt {
  font-weight: 700;
  color: var(--green);
  line-height: 1.4;
  width: 30.2083vw;
}

.home12 .top .info {
  width: 48.333vw;
  display: flex;
  flex-direction: column;
  gap: 2.083vw;
}

.home12 .top .info .desc {
  line-height: 1.5;
  color: var(--tt2);
}

.home12 .cards {
  margin-top: 5.833vw;
  display: flex;
  justify-content: flex-end;
  gap: 1.145vw;
}

.home12-card {
  width: 15.312vw;
  height: 16.51vw;
  background: #f3f3f3;
  border-radius: 0.781vw;
  padding: 1.666vw;
  position: relative;
  display: block;
  transition: all .4s ease;
  overflow: hidden;
}

.home12-card .icon {
  width: 2.5vw;
  height: 2.5vw;
}

.home12-card .icon img {
  width: 100%;
  height: 100%;
  transition: all .4s ease;
}

.home12-card .text {
  position: absolute;
  right: 1.666vw;
  bottom: 1.666vw;
  text-align: right;
}

.home12-card .text .sub {
  color: var(--tt2);
  line-height: 1.5;
  transition: color .4s ease;
}

.home12-card .text .num {
  font-weight: 700;
  color: #003429;
  line-height: 1.5;
  transition: color .4s ease;
}

.home12-card:hover {
  background: var(--green);
  transform: translateY(-0.52vw);
}

.home12-card:hover .text .sub,
.home12-card:hover .text .num {
  color: #fff;
}

.home12-card:hover .icon img {
  filter: brightness(0) invert(1);
}

/* ========== Home13 ========== */
.home13 {
  position: relative;
  width: 100%;
  height: 50vw;
  overflow: hidden;
  background: #0b3125;
}

.home13 .bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home13 .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home13 .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .2) 0%, rgba(0, 0, 0, .86) 100%), rgba(0, 0, 0, .5);
}

.home13 .inner {
  position: relative;
  z-index: 2;
  padding: 6.51vw 0 0;
}

.home13 .tt {
  width: 50%;
  color: #fff;
  margin-bottom: 3.125vw;
}

.home13 .card {
  width: 32.708vw;
  height: 21.822vw;
  margin-left: auto;
  padding: 2.5vw;
  border-radius: 0.833vw;
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 0 0.104vw 0 0 rgba(255, 255, 255, .5);
  display: flex;
  flex-direction: column;
  margin-top: -10.937vw;
}

.home13 .card .row {
  display: flex;
  align-items: center;
  gap: 0.625vw;
  padding-bottom: 2.76vw;
}

.home13 .card .row .ic {
  width: 1.875vw;
  height: 1.875vw;
}

.home13 .card .row .ic img {
  width: 100%;
  height: 100%;
}

.home13 .card .row .name {
  color: #fff;
  font-weight: 500;
}

.home13 .card .desc {
  line-height: 1.5;
  color: rgba(255, 255, 255, .68);
}

.home13 .slides {
  margin-top: 9.895vw;
  display: flex;
  gap: 2.5vw;
}

.home13-slide {
  width: 20vw;
  cursor: pointer;
  opacity: .5;
  transition: opacity .35s ease;
  display: flex;
  flex-direction: column;
}

.home13-slide.on,
.home13-slide:hover {
  opacity: 1;
}

.home13-slide .top-bar {
  display: flex;
  align-items: center;
  gap: 0.625vw;
  margin-bottom: 1.25vw;
}

.home13-slide .top-bar .ic {
  width: 1.875vw;
  height: 1.875vw;
}

.home13-slide .top-bar .ic img {
  width: 100%;
  height: 100%;
}

.home13-slide .top-bar .name {
  color: #fff;
  font-weight: 500;
}

.home13-slide .line {
  width: 100%;
  height: 0.104vw;
  background: rgba(255, 255, 255, .3);
  position: relative;
  overflow: hidden;
  margin: auto 0 0;
}

.home13-slide .line::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: #fff;
  transition: width .5s ease;
}

.home13-slide.on .line::after,
.home13-slide:hover .line::after {
  width: 100%;
}

/* ========== Home14 ========== */
.home14 {
  padding: 7.708vw 0 9.895vw 0;
  background: #fff;
}

.home14 .tabs {
  display: flex;
  justify-content: center;
  gap: 1.197vw;
  margin-bottom: 8.333vw;
}

.home14-btn {
  height: 4.114vw;
  min-width: 13.02vw;
  padding: 0 2.343vw;
  background: #fff;
  border-radius: 3.802vw;
  display: flex;
  align-items: center;
  gap: 0.833vw;
  cursor: pointer;
  transition: all .35s ease;
  box-shadow: 0 0.208vw 0.625vw rgba(0, 0, 0, .06);
}

.home14-btn .ic {
  width: 1.458vw;
  height: 1.458vw;
  flex-shrink: 0;
}

.home14-btn .ic img {
  width: 100%;
  height: 100%;
  transition: all .35s ease;
}

.home14-btn .t {
  color: var(--tt3);
  transition: all .35s ease;
}

.home14-btn:hover,
.home14-btn.on {
  background: var(--green);
  box-shadow: 0 0.729vw 1.093vw -0.208vw rgba(0, 0, 0, .1);
}

.home14-btn:hover .t,
.home14-btn.on .t {
  color: #fff;
}

.home14-btn:hover .ic img,
.home14-btn.on .ic img {
  filter: brightness(0) invert(1);
}

.home14 .main {
  display: flex;
  gap: 3.541vw;
  align-items: stretch;
}

/* 多 tab 内容面板：默认隐藏，只显示当前 on */
.home14 .home14-pane {
  display: none;
}

.home14 .home14-pane.on {
  display: flex;
}

.home14 .main .pic {
  width: 35.729vw;
  height: 39.218vw;
  border-radius: 0.52vw;
  overflow: hidden;
  flex-shrink: 0;
  background: #f5f5f5;
}

.home14 .main .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home14 .main .you {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.home14 .main .you .head {
  padding-bottom: 0;
}

.home14 .main .you .head .tt {
  font-weight: 700;
  color: var(--tt);
  margin-bottom: 1.25vw;
}

.home14 .main .you .head .desc {
  line-height: 1.458vw;
  color: var(--tt3);
}

.home14 .main .you .list {
  display: flex;
  flex-direction: column-reverse;
  gap: 2.343vw;
}

.home14-item {
  border-top: 0.104vw solid #6c6c6c;
  padding-top: 1.25vw;
}

.home14-item .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.041vw;
  cursor: pointer;
}

.home14-item .row .left {
  display: flex;
  align-items: center;
  gap: 0.989vw;
}

.home14-item .row .left .num {
  color: #000;
  font-family: var(--family-num);
}

.home14-item .row .left .q {
  color: #111;
  font-weight: 500;
}

.home14-item .row .toggle {
  width: 1.979vw;
  height: 1.979vw;
  border-radius: 0.104vw;
  background: var(--green2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition: all .35s ease;
}

.home14-item .row .toggle::before,
.home14-item .row .toggle::after {
  content: "";
  position: absolute;
  background: #fff;
  border-radius: 0.052vw;
}

.home14-item .row .toggle::before {
  width: 0.833vw;
  height: 0.104vw;
}

.home14-item .row .toggle::after {
  width: 0.104vw;
  height: 0.833vw;
  transition: all .35s ease;
}

.home14-item.on .row .toggle {
  background: var(--green);
}

.home14-item.on .row .toggle::after {
  transform: rotate(90deg);
  opacity: 0;
}

.home14-item .answer {
  display: none;
  padding-top: 0.833vw;
  line-height: 1.7;
  color: var(--tt2);
}

/* ========== Home15 ========== */
.home15 {
  position: relative;
  width: 100%;
  height: 50vw;
  overflow: hidden;
  background: var(--green);
}

.home15 .bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.home15 .bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(226deg, #0b3125 33%, rgba(11, 49, 37, .64) 84%, #0b3125 118%);
}

.home15 .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .4;
}

.home15 .deco {
  position: absolute;
  left: 8.697vw;
  top: 5.729vw;
  width: 20vw;
  height: 20vw;
  border-radius: 50%;
  z-index: 1;
  border-radius: 20vw;
  background: var(--green2);
  filter: blur(13.177vw);
}

.home15 .inner {
  position: relative;
  z-index: 2;
  padding-top: 6.25vw;
}

.home15 .tt {
  color: #fff;
  font-weight: 700;
  margin-bottom: 4.843vw;
}

.home15 .main {
  display: flex;
  align-items: center;
  gap: 4.427vw;
}

.home15 .main .info {
  width: 19.218vw;
  flex-shrink: 0;
  padding-bottom: 1.562vw;
}

.home15 .main .info .name {
  color: #fff;
  font-weight: 500;
  margin-bottom: 2.5vw;
  text-transform: uppercase;
}

.home15 .main .info .desc {
  line-height: 1.5;
  color: rgba(255, 255, 255, .8);
  width: 19.2188vw;
  letter-spacing: 0.96px;
}

.home15 .pics {
  display: flex;
  gap: 1.25vw;
}

.home15-pic {
  width: 20.416vw;
  height: 27.916vw;
  border-radius: 0.416vw;
  overflow: hidden;
  position: relative;
  display: block;
  cursor: pointer;
  transition: transform .45s ease, box-shadow .45s ease;
}

.home15-pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.home15-pic::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 53%, rgba(0, 0, 0, .8) 100%);
}

.home15-pic .intr {
  position: absolute;
  left: 2.5vw;
  bottom: 2.5vw;
  color: #fff;
  z-index: 2;
}

.home15-pic .label {
  font-weight: 500;
}

.home15-pic .t2 {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-height: 0;
  overflow: hidden;
  transition: all 1s;
}

.home15-pic:hover .t2 {
  max-height: 100px;
}

.home15-pic .t2 img {
  width: 14px;
  margin-left: 8px;
  filter: brightness(0) invert(1);
}

.home15-pic:hover {
  transform: translateY(-0.625vw);
  box-shadow: 0 1.041vw 2.083vw rgba(0, 0, 0, .35);
}

.home15-pic:hover img {
  transform: scale(1.06);
}

/* ========== Home16 ========== */
.home16 {
  position: relative;
  width: 100%;
  min-height: 54.479vw;
  padding: 13.333vw 0 10.416vw;
  background: #fff;
  overflow: hidden;
}

/* 背景光晕 */
.home16-deco {
  position: absolute;
  width: 20.052vw;
  height: 20vw;
  border-radius: 20.052vw;
  opacity: 0.5;
  background: #4D8E7A;
  filter: blur(13.177vw);
  z-index: 0;
  pointer-events: none;
}

.home16-deco1 {
  left: calc(50% - 41.927vw);
  top: 30.364vw;
}

.home16-deco2 {
  left: calc(50% + 0.416vw);
  top: 21.093vw;
}

.home16-deco3 {
  left: calc(50% + 29.375vw);
  top: 28.177vw;
}

.home16 .C-wrap {
  position: relative;
  z-index: 2;
}

.home16-tt {
  font-weight: 700;
  color: var(--tt);
  text-align: center;
  line-height: 1.2;
  margin-bottom: 6.6667vw;
}

.home16-slider-wrap {
  position: relative;
  z-index: 2;
  max-width: 100vw;
  margin: 0 auto;
  padding: 0 6.25vw;
}

.home16-swiper {
  overflow: hidden;
  width: 78.6458vw;
  padding-top: 10px;
}

.home16-swiper .swiper-wrapper {
}

.home16-swiper .swiper-slide {
  width: 33%;
  height: auto;
}

/* 卡片：白底气泡 + 底部小三角 */
.home16-card {
  height: 100%;
  position: relative;
  padding-bottom: 0.937vw;
  cursor: pointer;
  transition: all ease .6s;
}

.home16-card:hover {
  transform: translateY(-0.3125vw);
}

.home16-card-inner {
  height: 100%;
  min-height: 18.645vw;
  padding: 2.604vw;
  background: #fff;
  border-radius: 0.677vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2.083vw;
  transition: all .6s ease;
}

.home16-card-tail {
  position: absolute;
  left: 50%;
  bottom: 0.416vw;
  width: 1.3542vw;
  height: 1.3542vw;
  background: #fff;
  border-radius: 0.208vw;
  transform: translateX(-50%) rotate(45deg);
  transition: all .6s ease;
}

.home16-card .quote {
  line-height: 1.5;
  color: var(--tt2);
  transition: color .4s ease;
}

.home16-card .person {
  display: flex;
  align-items: center;
  gap: 0.625vw;
}

.home16-card .person .avatar {
  flex-shrink: 0;
  width: 2.5vw;
  height: 2.5vw;
  background: var(--green);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: background .4s ease, color .4s ease;
}

.home16-card .person .avatar svg {
  width: 100%;
  height: 100%;
  display: block;
}

.home16-card .person .avatar svg [stroke] {
  transition: stroke .4s ease;
}

.home16-card .person .info .name {
  color: var(--tt);
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 0.312vw;
  transition: color .4s ease;
}

.home16-card .person .info .pos {
  color: var(--tt2);
  line-height: 1.2;
  transition: color .4s ease;
}

/* 卡片 hover：深绿底 + 白字 + 白头像圈 */
.home16-card:hover .home16-card-inner,
.home16-card:hover .home16-card-tail {
  background: var(--green);
}

.home16-card:hover .quote,
.home16-card:hover .person .info .name,
.home16-card:hover .person .info .pos {
  color: #fff;
}

/* hover：与默认互换 —— 白底圆 + 深绿图标 */
.home16-card:hover .person .avatar {
  background: #fff;
  color: var(--green);
}

/* 圆形描边箭头 */
.home16-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.604vw;
  height: 2.604vw;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 3;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .35s ease;
}

.home16-arrow img {
  width: 100%;
  height: 100%;
  display: block;
  transition: filter .35s ease;
}

.home16-arrow.prev {
  left: 6.25vw;
}

.home16-arrow.next {
  right: 6.25vw;
}

.home16-arrow:hover {
  background: var(--green);
}

.home16-arrow:hover img {
  filter: brightness(0) invert(1);
}

.home16-arrow.swiper-button-disabled {
  opacity: .35;
  cursor: not-allowed;
  pointer-events: none;
}

/* ========== Home17 ========== */
.home17 {
  position: relative;
  width: 100%;
  padding: 10.52vw 0 8.02vw 0;
  background: #fff;
  overflow: hidden;
}

.home17 .deco {
  position: absolute;
  left: 3.489vw;
  bottom: 0.572vw;
  width: 20.052vw;
  height: 20vw;
  z-index: 0;
  pointer-events: none;
  border-radius: 20.052vw;
  opacity: 0.5;
  background: #4D8E7A;
  filter: blur(13.177vw);
}

.home17 .inner {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4.166vw;
}

.home17 .zuo {
  width: 23.437vw;
  padding-top: 4.479vw;
  flex-shrink: 0;
}

.home54 .zuo {
  width: 26.25vw;
  padding-top: 4.479vw;
  flex-shrink: 0;
}

.home17 .zuo .tt {
  font-weight: 600;
  color: var(--tt);
  line-height: 1.2;
  margin-bottom: 1.354vw;
}

.home17 .zuo .desc {
  line-height: 1.5;
  color: var(--tt2);
  letter-spacing: .1.666vw;
  margin-bottom: 2.5vw;
}

.home17 .zuo .contact {
  display: flex;
  flex-direction: column;
  gap: 1.041vw;
}

.home17 .zuo .contact .label {
  color: var(--tt2);
  line-height: 1.458vw;
  margin-bottom: 0.208vw;
}

.home17 .zuo .contact .val {
  font-weight: 600;
  color: var(--green);
  font-family: var(--family-en);
}

.home17 .you {
  flex: 1;
  max-width: 49.375vw;
}

.home17 .form-row {
  display: flex;
  gap: 1.25vw;
  margin-bottom: 0.833vw;
}

.home17 .form-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.208vw;
}

.home17 .form-item .ftt {
  color: var(--tt);
  line-height: 1.5;
}

.home17 .form-item input,
.home17 .form-item textarea {
  width: 100%;
  height: 3.125vw;
  border: 0.052vw solid var(--tt3);
  border-radius: 0.208vw;
  padding: 0.625vw 0.989vw;
  color: var(--tt);
  background: #fff;
  transition: border-color .3s ease;
  font-family: var(--family);
}

.home17 .form-item textarea {
  height: 8.281vw;
  resize: none;
  border-radius: 0.625vw;
  line-height: 1.5;
}

.home17 .form-item input::placeholder,
.home17 .form-item textarea::placeholder {
  color: var(--tt2);
}

.home17 .form-item input:focus,
.home17 .form-item textarea:focus {
  border-color: var(--green);
}

.home17 .form-item.error input,
.home17 .form-item.error textarea {
  border-color: #e44;
}

.home17 .form-item .err-tip {
  display: none;
  color: #e44;
  margin-top: 0.208vw;
}

.home17 .form-item.error .err-tip {
  display: block;
}

.home17 .submit {
  width: 100%;
  height: 4.843vw;
  border: 0;
  border-radius: 0.885vw;
  background: var(--green);
  color: #fff;
  font-weight: 500;
  margin-top: 1.666vw;
  cursor: pointer;
  transition: all .35s ease;
  font-family: var(--family);
}

.home17 .submit:hover {
  opacity: 0.8;
  color: #fff;
}

/* ========== Footer ========== */
.footer {
  position: relative;
  width: 100%;
  padding: 3.541vw 0 2.916vw;
  color: #fff;
  overflow: visible;
  background: var(--green);
  height: 35.729vw;
}

.footer .bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.footer .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .8;
}

.footer .bg::after {
  content: "";
  position: absolute;
  inset: 0;
}

.footer .inner {
  position: relative;
  z-index: 2;
}

.footer .top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3.125vw;
  margin-bottom: 7.708vw;
}

.footer .top .col-logo {
  display: flex;
  flex-direction: column;
  gap: 1.875vw;
  flex-shrink: 0;
}

.footer .top .col-logo .logo {
  width: 13.437vw;
  height: 3.958vw;
}

.footer .top .col-logo .logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.footer .contact {
  display: flex;
  flex-direction: column;
  gap: 1.041vw;
  overflow: visible;
}

.footer .contact .item .label {
  line-height: 1.458vw;
  color: rgba(255, 255, 255, .6);
  margin-bottom: 0.625vw;
}

.footer .contact .item .val {
  font-weight: 400;
  color: #fff;
  font-family: var(--family-en);
}

.footer .social {
  display: flex;
  align-items: center;
  gap: 1.25vw;
  overflow: visible;
}

.footer .social-btn {
  position: relative;
  width: 2.5vw;
  height: 2.5vw;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: transparent;
  transition: background-color .35s ease;
}

.footer .social-btn:hover {
  background-color: #fff;
}

.footer .social-btn .social-ic {
  width: 2.5vw;
  height: 2.5vw;
  display: block;
  transition: filter .35s ease;
}

.footer .social-btn:hover .social-ic {
  filter: brightness(0) saturate(100%) invert(11%) sepia(32%) saturate(1200%) hue-rotate(118deg) brightness(92%) contrast(101%);
}

.footer .social-qr {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.625vw);
  transform: translateX(-50%);
  width: 6.25vw;
  height: 6.25vw;
  padding: 0;
  background: #fff;
  border-radius: 0.416vw;
  box-shadow: 0 0.416vw 1.25vw rgba(0, 0, 0, .18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s ease;
  z-index: 10;
  overflow: hidden;
}

.footer .social-qr img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.footer .social-btn:hover .social-qr {
  opacity: 1;
  visibility: visible;
}

.footer .nav-cols {
  display: flex;
  gap: 2.5vw;
  flex-shrink: 0;
}

.footer .nav-cols .col {
  width: 4.166vw;
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
}

.footer .nav-cols .col:nth-child(5) {
  width: 4.271vw;
}

.footer .nav-cols .col .ctt {
  font-weight: 300;
  color: var(--white);
  white-space: nowrap;
}

.footer .nav-cols .col .links {
  display: flex;
  flex-direction: column;
  gap: 0.7292vw;
  font-weight: 300;
}

.footer .nav-cols .col .links a {
  color: rgba(253, 253, 253, .6);
  white-space: nowrap;
  transition: color .3s ease;
}

.footer .nav-cols .col .links a:hover {
  color: #fff;
}

.footer .slogan {
  width: 17.76vw;
  font-weight: 900;
  color: #fff;
  line-height: 1.5;
  flex-shrink: 0;
  text-align: left;
}

.footer .bot {
  padding-top: 1.875vw;
  border-top: 0.052vw solid rgba(255, 255, 255, .2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.041vw;
  color: rgba(255, 255, 255, .6);
}

.footer .bot .right {
  display: flex;
  gap: 1.666vw;
}

.footer .bot a {
  transition: color .3s ease;
}

.footer .bot a:hover {
  color: #fff;
}

/* ========== Home7 公共首屏 banner（home1/home10/home22/home50 共用） ========== */
.home7 {
  position: relative;
  width: 100%;
  margin-top: var(--head);
  height: 42.447vw;
  overflow: hidden;
  background: #fff;
}

.home7 .bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: #fff;
}

.home7 .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  border-radius: 2.083vw;
  height: 37.5vw;
  width: 96%;
  margin: 0 auto;
}

.home7.dark-mask .bg::after {
  background: rgba(0, 0, 0, 0.2);
}

.home7 .bg img {
  display: block;
  width: 96%;
  height: 37.5vw;
  object-fit: cover;
  border-radius: 1.25vw;
  margin: 0 auto;
}

.home7 .wrap {
  position: absolute;
  left: 6.25vw;
  bottom: 8.072vw;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  gap: 0.52vw;
}

.home7 .tt {
  color: #fff;
  line-height: 1.5;
  font-weight: 500;
  text-shadow: 0.26vw 0.208vw 0.416vw rgba(0, 0, 0, .2);
}

.home7 .ico {
  width: 5.104vw;
  height: 7.187vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home7 .ico img {
  width: 5.104vw;
  height: 5.104vw;
}

/* ---------- 各内页 banner 在 home11 基础上的单独覆盖 ---------- */
/* 产品 product.html */
.home18 .wrap {
  bottom: 8.072vw;
}

.home18 .ico {
  width: 5.104vw;
  height: 7.187vw;
}

.home18 .ico img {
  width: 5.104vw;
  height: 5.104vw;
}

.home18 .tt {
  line-height: 1.5;
  font-weight: 500;
}

/* 关于我们 aboutus.html */
.home35 .wrap {
  bottom: 8.072vw;
}

.home35 .ico {
  width: 5.104vw;
  height: 7.187vw;
}

.home35 .ico img {
  width: 5.104vw;
  height: 5.104vw;
}

.home35 .tt {
  line-height: 1.5;
  font-weight: 500;
}

/* 新闻 news.html */
.home31 .bg img {
  display: block;
  width: 96%;
  height: 37.5vw;
  object-fit: cover;
  border-radius: 1.25vw;
  margin: 0 auto;
}

.home42 {
  height: 42.447vw;
}

/* ESG esg.html */
.home42 .bg img {
  display: block;
  width: 96%;
  height: 37.5vw;
  object-fit: cover;
  border-radius: 1.25vw;
  margin: 0 auto;
}

.home42 .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2.083vw;
  height: 37.5vw;
  width: 96%;
  margin: 0 auto;
}

/* 新闻 news.html */
.home31 .wrap {
  position: absolute;
  left: 6.25vw;
  bottom: 8.177vw;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  gap: 0.52vw;
}

/* 招贤纳士 joinus.html */
.home50 .wrap {
  position: absolute;
  left: 6.25vw;
  bottom: 7.812vw;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  gap: 0.52vw;
}

/* ESG esg.html */
.home42 .wrap {
  position: absolute;
  left: 6.25vw;
  bottom: 8.072vw;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  gap: 0.52vw;
}

/* ========== Home19 核心产品体系手风琴 ========== */
.home19 {
  padding: 3.75vw 0 5vw;
  background: #fff;
}

.home19-tt {
  font-weight: 600;
  color: var(--tt);
  text-align: center;
  line-height: 1.2;
  margin-bottom: 3.125vw;
}

.home19-systems {
  display: flex;
  gap: 1.25vw;
  height: 36.354vw;
  margin: 0 auto;
  padding: 0 2.083vw;
}

.home19-system {
  position: relative;
  flex: 0 0 10.416vw;
  height: 36.354vw;
  border-radius: 1.25vw;
  overflow: hidden;
  cursor: pointer;
  transition: flex .55s cubic-bezier(.4, 0, .2, 1);
}

.home19-system.active {
  flex: 1 1 0;
  min-width: 0;
}

.home19-system .bg {
  position: absolute;
  inset: 0;
}

.home19-system .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home19-system .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 197%);
  border-radius: 1.25vw;
}

.home19-system:not(.active) .bg::after {
  background: rgba(0, 0, 0, .45);
}

.home19-system .label {
  position: absolute;
  color: #fff;
  font-weight: 400;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 2.541vw;
  text-align: center;
  transition: opacity .35s ease;
}

.home19-system.active .label {
  opacity: 0;
  pointer-events: none;
}

.home19-system .expand {
  position: absolute;
  left: 2.5vw;
  right: 2.5vw;
  bottom: 2.5vw;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s ease, visibility .4s ease;
}

.home19-system.active .expand {
  opacity: 1;
  visibility: visible;
}

.home19-system .expand .name {
  color: #fff;
  font-weight: 300;
  line-height: 1.2;
}

.home19-system .expand .desc {
  color: rgba(255, 255, 255, .6);
  line-height: 1.5;
  max-width: 26.6vw;
  font-weight: 300;
}

.home19-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.833vw;
  padding: 1.041vw 2.5vw;
  border: 0.052vw solid rgba(255, 255, 255, .2);
  border-radius: 52.031vw;
  color: #fff;
  background: rgba(255, 255, 255, .2);
  box-shadow: inset 0 0.104vw 0 rgba(255, 255, 255, .5);
  transition: all .35s ease;
  width: fit-content;
  font-weight: 300;
}

.home19-btn:hover {
  background: rgba(255, 255, 255, .35);
}

.home19-btn .arrow {
  display: inline-block;
  width: 0.833vw;
  height: 0.833vw;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4' stroke='white' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ========== Home20 产品列表 ========== */
.home20 {
  padding: 3.958vw 0 6.25vw;
  background: #fff;
}

.home20-head {
  height: 3.906vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3.541vw;
  border-bottom: 0.052vw solid #e8e8e8;
}

.home20-head .tt {
  font-weight: 700;
  color: #111;
  line-height: 1.6;
}

.home20-nav {
  display: flex;
  align-items: center;
  gap: 1.875vw;
  height: 100%;
}

.home20-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 100%;
  color: var(--tt3);
  font-weight: 500;
  padding: 0 0.625vw;
  letter-spacing: .3.437vw;
  transition: color .3s ease;
}

.home20-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.104vw;
  background: var(--green);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .4s ease;
}

.home20-nav a.on::after,
.home20-nav a:hover::after {
  transform: scaleX(1);
}

.home20-nav a.on,
.home20-nav a:hover {
  color: var(--green);
}

.home20-filters {
  display: flex;
  align-items: center;
  gap: 2.5vw;
  margin-bottom: 2.5vw;
}

.home20-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.604vw;
  min-width: 8.958vw;
  padding: 0.625vw 1.666vw;
  border-radius: 52.031vw;
  border: 0.052vw solid var(--green);
  color: var(--green);
  text-align: center;
  transition: all .35s ease;
  cursor: pointer;
}

.home20-filter.on,
.home20-filter:hover {
  background: var(--green);
  color: #fff;
}

.home20-grid.is-loading {
  opacity: .4;
  pointer-events: none;
  transition: opacity .25s ease;
}

.home20-main {
  display: flex;
  gap: 3.541vw;
  align-items: flex-start;
}

.home20-feature {
  flex: 0 0 15.833vw;
  width: 15.833vw;
  height: 29.583vw;
  padding: 4.479vw 1.875vw;
  border-radius: 0.625vw;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 2.604vw;
}

.home20-feature .bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.home20-feature .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home20-feature .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .4);
}

.home20-feature .name,
.home20-feature .desc {
  position: relative;
  z-index: 1;
  color: #fff;
}

.home20-feature .name {
  line-height: 1.2;
  font-weight: 300;
}

.home20-feature .desc {
  line-height: 1.5;
  max-width: 100%;
  font-weight: 300;
}

.home20-grid-wrap {
  flex-shrink: 0;
  width: 68.125vw;
  display: flex;
  flex-direction: column;
  gap: 1.875vw;
}

.home20-grid {
  display: flex;
  flex-direction: column;
  gap: 1.875vw;
}

.home20-row {
  display: flex;
  gap: 1.875vw;
}

.home20-card {
  position: relative;
  width: 21.458vw;
  height: 25.312vw;
  border-radius: 0.625vw;
  overflow: hidden;
  background: #efefef;
  display: block;
  transition: background .4s ease;
}

.home20-card .default {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 1.875vw 2.5vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: opacity .35s ease, visibility .35s ease;
}

.home20-card:hover .default {
  opacity: 0;
  visibility: hidden;
}

.home20-card .pic {
  height: 13.906vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home20-card .pic img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.home20-card .info {
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
}

.home20-card .info .name {
  color: #000;
  line-height: 1.666vw;
}

.home20-card .info .tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.666vw;
  padding: 0 0.833vw;
  border: 0.052vw solid var(--green);
  border-radius: 3.697vw;
  color: var(--green);
  width: fit-content;
}

/* hover 链接样式 */
.home20-card .hover-panel {
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1.875vw 2.5vw;
  background: var(--green);
  display: flex;
  flex-direction: column;
  gap: 1.875vw;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s ease, visibility .4s ease;
}

.home20-card:hover {
  background: var(--green);
}

.home20-card:hover .hover-panel {
  opacity: 1;
  visibility: visible;
}

.home20-card .hover-head {
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
}

.home20-card .hover-head .name {
  color: #fff;
  line-height: 1.666vw;
}

.home20-card .hover-head .tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.666vw;
  padding: 0 0.833vw;
  border: 0.052vw solid #fff;
  border-radius: 3.697vw;
  color: #fff;
  width: fit-content;
}

.home20-card .hover-body {
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
}

.home20-card .spec-row {
  display: flex;
  align-items: flex-start;
  gap: 1.822vw;
}

.home20-card .spec-row .label {
  flex: 0 0 4.8em;
  width: 4.8em;
  color: rgba(255, 255, 255, .6);
  line-height: 1.875vw;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-all;
}

.home20-card .spec-row .val {
  flex: 1;
  min-width: 0;
  color: #fff;
  line-height: 1.875vw;
  overflow-wrap: anywhere;
  word-break: break-word;
  border-bottom: 0.052vw solid #fff;
  padding-bottom: 0.104vw;
}

.home20-card .link-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.416vw;
  width: 100%;
  height: 2.916vw;
  padding: 0.416vw 1.041vw;
  background: #fff;
  border: 0.052vw solid #1d2b59;
  border-radius: 0.416vw;
  color: var(--green);
  line-height: 1.5;
  transition: background .3s ease, color .3s ease;
}

.home20-card:hover .link-btn {
  background: #fff;
}

.home20-card .link-btn .arrow {
  flex-shrink: 0;
  width: 1.25vw;
  height: 1.25vw;
  object-fit: contain;
}

.home20-card .hover-pic {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 16.458vw;
  max-width: calc(100% - 2.5vw);
  height: auto;
  pointer-events: none;
}

.home20-card .hover-head,
.home20-card .hover-body {
  position: relative;
  z-index: 1;
}

.home20-page,
.home32-page {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.875vw;
}

.home32-page {
  justify-content: center;
}

.home20-page .pg-btn,
.home32-page .pg-btn {
  width: 2.083vw;
  height: 2.083vw;
  border-radius: 50%;
  border: 0.052vw solid var(--green);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .35s ease;
  color: var(--green);
  font-size: 0.937vw;
  line-height: 1;
}

.home20-page .pg-btn img,
.home32-page .pg-btn img {
  width: 0.833vw;
  height: 0.833vw;
  filter: brightness(0) saturate(100%) invert(13%) sepia(38%) saturate(1066%) hue-rotate(118deg) brightness(95%) contrast(96%);
  transition: filter .35s ease;
}

.home20-page .pg-btn:hover:not(:disabled),
.home32-page .pg-btn:hover:not(:disabled) {
  background: var(--green);
  color: #fff;
}

.home20-page .pg-btn:hover:not(:disabled) img,
.home32-page .pg-btn:hover:not(:disabled) img {
  filter: brightness(0) invert(1);
}

.home20-page .pg-btn:disabled,
.home32-page .pg-btn:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.home20-page .nums,
.home32-page .nums {
  display: flex;
  align-items: center;
  gap: 1.875vw;
}

.home20-page .nums a,
.home20-page .nums span,
.home32-page .nums a,
.home32-page .nums span {
  color: rgba(0, 0, 0, .6);
  line-height: 1.5;
  transition: color .3s ease;
}

.home20-page .nums a.on,
.home32-page .nums a.on {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.083vw;
  height: 2.083vw;
  border-radius: 2.604vw;
  background: var(--green);
  color: #fff;
}

.home20-page .nums .dots,
.home32-page .nums .dots {
  font-weight: 500;
}

/* ========== Home21 CTA ========== */
.home21 {
  position: relative;
  width: 100%;
  height: 41.666vw;
  overflow: hidden;
}

.home21 .bg {
  position: absolute;
  inset: 0;
}

.home21 .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home21 .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .5);
}

.home21 .inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 3.125vw;
  padding: 0 6.25vw;
}

.home21 .tt {
  color: #fff;
  font-weight: 500;
  line-height: 1.5;
  padding-bottom: 2.916vw;
}

.home21 .desc {
  color: #fff;
  line-height: 1.5;
  letter-spacing: .2.5vw;
  margin-top: -1.875vw;
}

.home21-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.604vw;
  padding: 0.625vw 1.666vw;
  border: 0.052vw solid #fff;
  border-radius: 52.031vw;
  color: #fff;
  font-weight: 500;
  transition: all .35s ease;
}

.home21-cta:hover {
  background: #fff;
  color: var(--green);
}

/* ========== Home22 产品详情首屏 banner（home7 变体） ========== */
.home7.home22,
.home22 {
  height: auto;
  overflow: visible;
  margin-top: var(--head);
  padding: 0;
  background-color: #fff;
}

.home22-banner {
  position: relative;
  width: 95.833vw;
  max-width: calc(100% - 4.166vw);
  height: 37.5vw;
  margin: 0 auto;
  border-radius: 1.25vw;
  overflow: hidden;
}

.home22-banner .bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.home22-banner .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home22-info {
  position: absolute;
  left: 4.166vw;
  bottom: 4.8958vw;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1.302vw;
  width: 38.906vw;
}

.home22-info .title {
  color: #fff;
  font-weight: 600;
  line-height: normal;
  text-shadow: 0.26vw 0.208vw 0.416vw rgba(0, 0, 0, 0.2);
}

.home22-tags {
  display: flex;
  gap: 2.187vw;
  align-items: center;
}

.home22-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.416vw;
  height: 1.666vw;
  padding: 0.208vw 0.833vw;
  border-radius: 0.416vw;
  white-space: nowrap;
}

.home22-tag img {
  width: 0.937vw;
  height: 0.937vw;
}

.home22-tag.green {
  background: #f1f5f9;
  border: 0.052vw solid #d0fae5;
  color: #007a55;
}

.home22-tag.blue {
  background: #eff6ff;
  border: 0.052vw solid #dbeafe;
  color: #1447e6;
}

.home22-spec {
  display: flex;
  gap: 0.625vw;
}

.home22-spec .labels {
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
}

.home22-spec .labels .row {
  display: flex;
  align-items: center;
  gap: 0.312vw;
  height: 1.666vw;
  color: #fff;
}

.home22-spec .labels .row .ic {
  width: 1.666vw;
  height: 1.666vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home22-spec .labels .row .ic img {
  width: 1.666vw;
  height: 1.666vw;
}

.home22-spec .values {
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
}

.home22-spec .values .row {
  height: 1.666vw;
  display: flex;
  align-items: center;
  color: #fff;
}

.home22-btns {
  display: flex;
  gap: 1.875vw;
  align-items: center;
}

.home22-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.625vw;
  padding: 0.625vw 1.666vw;
  border-radius: 52.031vw;
  border: 0.052vw solid #fff;
  background: transparent;
  color: #fff;
  font-weight: 500;
  transition: all .35s ease;
}

.home22-btn img {
  width: 1.25vw;
}

.home22-btn:hover {
  background: var(--green);
  color: #fff;
  border: 0.052vw solid var(--green);
}

.home22-btn:hover img {
  filter: brightness(0) invert(1);
}

/* ========== Home23 产品特点 / 演示 / 参数（锚点 + 滚动叠层） ========== */
.home23 {
  position: relative;
  background: #fff;
  padding-top: 3.333vw;
}

.home23-nav {
  position: static;
  top: var(--head);
  z-index: 30;
  background: #fff;
  margin-bottom: 4.479vw;
}

.home23-nav .inner {
  position: relative;
  display: flex;
  gap: 1.875vw;
  align-items: center;
  height: 3.02vw;
  border-bottom: 0.052vw solid #e5e7eb;
}

.home23-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 100%;
  color: var(--tt3);
  font-weight: 500;
  transition: color .3s ease;
}

.home23-nav a.on,
.home23-nav a:hover {
  color: var(--green);
}

.home23-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.052vw;
  width: 100%;
  height: 0.104vw;
  background: var(--green);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s ease;
}

.home23-nav a.on::after,
.home23-nav a:hover::after {
  transform: scaleX(1);
}

.home23-panel {
  position: static;
  top: calc(var(--head) + 3.02vw);
  width: 95.833vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto;
  background: #f5f5f4;
  border-radius: 1.25vw;
  overflow: hidden;
}

#anchorFeature {
  margin: 0 auto 86px;
}

.home23-panel .panel-inner {
  width: 75vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto;
  min-height: 45.833vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 7.708vw;
  padding: 4.166vw 0;
}

.home23-feature .zuo {
  width: 25.625vw;
  flex-shrink: 0;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  gap: 2.968vw;
  margin-top: 0;
  padding-top: 2.031vw;
}

.home23-feature .zuo .tt,
.home23-demo .zuo .tt {
  color: #212121;
  font-weight: 700;
  margin-bottom: 2.5vw;
}

.home23-feature .zuo .desc,
.home23-demo .zuo .desc {
  color: #757d8e;
  line-height: 1.5;
}

.home23-btns {
  display: flex;
  gap: 2.5vw;
  align-items: center;
  padding-top: 2.708vw;
  ;
}

.home23-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.625vw;
  padding: 0.625vw 1.666vw;
  border: 0.052vw solid var(--green);
  border-radius: 52.031vw;
  color: var(--green);
  font-weight: 500;
  transition: all .35s ease;
}

.home23-pill img {
  width: 1.25vw;
  height: 1.25vw;
}

.home23-pill:hover {
  background: var(--green);
  color: #fff;
}

.home23-pill:hover img {
  filter: brightness(0) invert(1);
}

.home23-cards {
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
  flex-shrink: 0;
}

.home23-card {
  position: relative;
  width: 41.666vw;
  min-height: 9.687vw;
  height: auto;
  background: #fff;
  border-radius: 0.52vw;
  overflow: hidden;
  padding: 2.031vw 9.5vw 2.031vw 2.083vw;
  transition: background .35s ease;
}

.home23-card:hover {
  background: var(--green);
}

.home23-card:hover .head .name,
.home23-card:hover .ctext {
  color: #fff;
}

.home23-card:hover .head .ic img {
  filter: brightness(0) invert(1);
}

.home23-card:hover .num {
  color: #fff;
}

/* ========== Home31 新闻首屏（banner 见上方 home11 / .home31 覆盖） ========== */

/* ========== Home32 新闻列表（Figma 10294:9606） ========== */
.home32 {
  position: relative;
  background: #fff;
  padding: 4.27vw 0 9.739vw;
}

.home32 .deco {
  width: 689px;
  height: 689px;
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 100%;
  opacity: 0.12;
  background: #4D8E7A;
  filter: blur(308px);
}

.home32 .C-wrap {
  width: 83.333vw;
  position: relative;
  z-index: 1;
}

/* 顶部分类 tabs（圆角胶囊） */
.home32-tabs {
  display: flex;
  gap: 1.25vw;
  align-items: center;
  justify-content: center;
  margin-bottom: 3.541vw;
}

.home32-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 9.114vw;
  max-width: 17.7083vw;
  padding: 0.625vw 1.666vw;
  border-radius: 52.031vw;
  color: var(--tt2);
  font-weight: 500;
  text-align: center;
  transition: background-color .35s ease, color .35s ease;
}

.home32-tab.on,
.home32-tab:hover {
  background: var(--green);
  color: #fff;
}

/* 通用：分类标签 / 时间 / 了解更多 */
.home32 .cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 0.26vw 0.677vw;
  border: 0.052vw solid rgba(153, 153, 153, .2);
  border-radius: 0.156vw;
  color: var(--tt3);
  line-height: 1.5;
  font-weight: 400;
}

/* 新闻多标签胶囊（图片角标） */
.news-tag-pill {
  position: absolute;
  left: 0.833vw;
  top: 0.833vw;
  width: max-content;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 1.666vw);
  padding: 0.312vw 0.833vw;
  border-radius: 999px;
  background: rgba(0, 0, 0, .5);
  border: 0.052vw solid rgba(255, 255, 255, .18);
  color: #fff;
  backdrop-filter: blur(0.625vw);
  -webkit-backdrop-filter: blur(0.625vw);
  line-height: 1.45;
  font-weight: 400;
  white-space: nowrap;
  display: -webkit-box;
  display: box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  pointer-events: none;
}

.news-tag-pill--detail,
.news-tag-pill--inline {
  position: static;
  max-width: 100%;
  pointer-events: auto;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: rgba(0, 0, 0, .06);
  border-color: rgba(0, 0, 0, .08);
  color: var(--tt2);
}

.home32-feature .pic,
.home32-card .pic,
.home8-news-card .pic {
  position: relative;
}

.home8-news-card .news-tag-pill {
  left: 1.041vw;
  top: 1.041vw;
}

.home32 .meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.home32 .meta .date {
  color: #686d7a;
  line-height: 1.145vw;
}

.home32 .meta .more {
  display: inline-flex;
  align-items: center;
  gap: 0.416vw;
  color: var(--tt2);
  line-height: 1.5;
  transition: color .3s ease;
}

.home32 .meta .more img {
  width: 0.729vw;
  height: 0.729vw;
  transition: transform .3s ease, filter .3s ease;
}

.home32-feature:hover .meta .more,
.home32-card:hover .meta .more {
  color: var(--green);
}

.home32-feature:hover .meta .more img,
.home32-card:hover .meta .more img {
  transform: translateX(0.156vw);
}

/* 头条 feature：items-end + 左图 self-stretch + 右 545.33px 信息块（内容撑高） */
.home32-feature {
  display: flex;
  align-items: flex-end;
  width: 100%;
  margin-bottom: 4.479vw;
  background: #fff;
}

.home32-feature .pic {
  position: relative;
  flex: 1 1 0;
  height: 21.1458vw;
  min-width: 0;
  align-self: stretch;
  border-radius: 0.625vw;
  overflow: hidden;
}

.home32-feature .pic img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.home32-feature .pic::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .5);
  border-radius: 0.625vw;
  pointer-events: none;
}

.home32-feature:hover .pic img {
  transform: scale(1.08);
}

.home32-feature .info {
  flex-shrink: 0;
  width: 28.402vw;
  padding: 2.5vw;
  display: flex;
  flex-direction: column;
  gap: 6.51vw;
  align-items: flex-start;
}

.home32-feature .info .top {
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
  width: 100%;
}

.home32-feature .info .tt {
  color: var(--green);
  line-height: 1.5;
  font-weight: 400;
}

/* 列表 9 卡片：3 行 × 3 列（前两张固定 509.333px，第 3 张 flex 占满） */
.home32-grid {
  display: flex;
  flex-direction: column;
  gap: 1.875vw;
  margin-bottom: 3.541vw;
}

.home32-row {
  display: flex;
  gap: 1.875vw;
  align-items: center;
  height: 25.312vw;
}

.home32-card {
  display: flex;
  flex-direction: column;
  flex: 0 0 26.527vw;
  width: 26.527vw;
  min-width: 0;
  height: 100%;
  border-radius: 0.416vw;
  overflow: hidden;
  background: #fff;
}

.home32-card:nth-child(3n) {
  flex: 1 1 0;
  width: auto;
}

.home32-card .pic {
  position: relative;
  height: 13.8542vw;
  min-height: 0;
  overflow: hidden;
}

.home32-card .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.home32-card .pic::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .4);
  pointer-events: none;
}

.home32-card:hover .pic img {
  transform: scale(1.08);
}

.home32-card .info {
  flex-shrink: 0;
  padding: 0.833vw 1.25vw 1.25vw;
  display: flex;
  flex-direction: column;
  gap: 3.02vw;
}

.home32-card .info .top {
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
}

.home32-card .info .tt {
  color: var(--green);
  line-height: 1.5;
  font-weight: 400;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ========== 新闻详情 newsdetail / home34 ========== */
.newsdetail {
  position: relative;
  margin-top: var(--head);
  padding: 7.812vw 0 8.229vw;
  background: #fff;
  overflow: hidden;
}

.newsdetail .deco {
  position: absolute;
  left: -20.26vw;
  top: 43.854vw;
  width: 35.885vw;
  height: 35.885vw;
  border-radius: 50%;
  background: var(--green2);
  opacity: .14;
  filter: blur(8.333vw);
  z-index: 0;
  pointer-events: none;
}

.newsdetail-inner {
  position: relative;
  z-index: 1;
  width: 62.604vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto;
  display: flex;
  gap: 4.479vw;
  align-items: flex-start;
}

.newsdetail-main {
  width: 44.791vw;
  flex-shrink: 0;
}

/* 标题区 */
.newsdetail-head {
  margin-bottom: 3.541vw;
}

.newsdetail-head .tt {
  color: #000;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 2.5vw;
}

.newsdetail-head .meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.625vw;
}

.newsdetail-head .tags {
  display: flex;
  gap: 0.312vw;
  align-items: center;
  flex-wrap: wrap;
}

.newsdetail .cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.26vw 0.677vw;
  border: 0.052vw solid rgba(153, 153, 153, .2);
  border-radius: 0.156vw;
  color: var(--tt3);
  width: fit-content;
  max-width: 20em;
}

.newsdetail-head .date {
  color: var(--tt2);
  letter-spacing: .0.26vw;
}

.newsdetail-head .line {
  height: 0.052vw;
  width: 100%;
  background: rgba(0, 0, 0, .8);
}

/* 正文：图片与段落同一父元素 */
.newsdetail-content {
  display: flex;
  flex-direction: column;
}

.newsdetail-content h3 {
  color: var(--tt);
  font-weight: 500;
  font-size: 1.041vw;
  line-height: 1.5;
  margin-top: 1.041vw;
}

.newsdetail-content p {
  color: var(--tt2);
  line-height: 1.5;
  font-size: 0.833vw;
}
.newsdetail-content p a {
    overflow-wrap: break-word;
    /*display: block;*/
    display: contents;
}
.newsdetail-content img {
  display: block;
  width: max-content;
  height: auto !important;
  margin: 1.041vw 0;
  border-radius: 0.416vw;
}

/* 底部分享 + 切换按钮 */
.newsdetail-foot {
  margin-top: 1.875vw;
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
}

.newsdetail-foot .line {
  height: 0.052vw;
  width: 100%;
  background: #000;
}

.newsdetail-foot .bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.newsdetail-foot .share {
  display: flex;
  align-items: center;
  gap: 1.041vw;
}

.newsdetail-foot .share .lb {
  color: var(--tt3);
}

.newsdetail-foot .share .icons {
  display: flex;
  align-items: center;
  gap: 0.52vw;
}

.newsdetail-foot .share .ic {
  width: 2.083vw;
  height: 2.083vw;
  border-radius: 1.041vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(13, 13, 33, .04);
  transition: all .3s ease;
}

.newsdetail-foot .share .ic img {
  width: 2.083vw;
  height: 2.083vw;
}

.newsdetail-foot .share .ic:hover {
  background: linear-gradient(-45deg, #003429 0%, #08a483 100%);
}

.newsdetail-foot .share .ic:hover img {
  filter: brightness(0) invert(1);
}

.newsdetail-foot .acts {
  display: flex;
  align-items: center;
  gap: 0.52vw;
}

.newsdetail-foot .act {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.083vw;
  padding: 0 1.25vw;
  border-radius: 0.416vw;
  background: rgba(13, 13, 33, .08);
  color: var(--tt2);
  transition: all .3s ease;
}

.newsdetail-foot .act:hover {
  background: var(--green);
  color: #fff;
}

.newsdetail-foot .act.disabled {
  opacity: .4;
  cursor: not-allowed;
}

.newsdetail-foot .act.disabled:hover {
  background: rgba(13, 13, 33, .08);
  color: var(--tt2);
}

/* 侧边栏 */
.newsdetail-side {
  width: 13.333vw;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.937vw;
}

.newsdetail-side .side-tt {
  color: var(--tt);
  line-height: 1.458vw;
}

.newsdetail-side .side-list {
  display: flex;
  flex-direction: column;
  gap: 1.666vw;
}

.newsdetail-side .side-card {
  display: flex;
  flex-direction: column;
  border-radius: 0.416vw;
  overflow: hidden;
  background: #fff;
}

.newsdetail-side .side-card .pic {
  position: relative;
  height: 8.333vw;
  overflow: hidden;
}

.newsdetail-side .side-card .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.newsdetail-side .side-card:hover .pic img {
  transform: scale(1.2);
}

.newsdetail-side .side-card .info {
  padding: 0.833vw 0.833vw 1.25vw;
  display: flex;
  flex-direction: column;
  gap: 3.02vw;
}

.newsdetail-side .side-card .top {
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
}

.newsdetail-side .side-card .t {
  color: var(--green);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.newsdetail-side .side-card .meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.newsdetail-side .side-card .date {
  color: #686d7a;
}

.newsdetail-side .side-card .more {
  display: inline-flex;
  align-items: center;
  gap: 0.416vw;
  color: var(--tt2);
}

.newsdetail-side .side-card .more img {
  width: 0.729vw;
  height: 0.729vw;
}

.newsdetail-side .side-card:hover .more {
  color: var(--green);
}

.newsdetail-side .side-more {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.604vw;
  border: 0.052vw solid #e5e6eb;
  border-radius: 0.416vw;
  color: #414960;
  transition: all .3s ease;
}

.newsdetail-side .side-more:hover {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}

.home23-card:hover {
  background: var(--green);
  color: #fff;
}

.home23-card:hover .head .ic img {
  filter: brightness(0) invert(1);
}



.home23-card .head {
  display: flex;
  align-items: center;
  gap: 0.572vw;
  margin-bottom: 0.833vw;
}

.home23-card .head .ic {
  width: 2.5vw;
  height: 2.5vw;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home23-card .head .ic img {
  width: 2.5vw;
  height: 2.5vw;
}

.home23-card .head .name {
  color: var(--tt);
  font-weight: 500;
  line-height: 1.5;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.home23-card .ctext {
  color: var(--tt2);
  line-height: 1.5;
  max-width: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.home23-card .num {
  position: absolute;
  right: 2.5vw;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--family-num);
  font-weight: 700;
  font-size: 5.208vw;
  line-height: 6.25vw;
  letter-spacing: 0.156vw;
  color: var(--green);
}

.home23-demo .you {
  width: 41.666vw;
  height: 27.395vw;
  flex-shrink: 0;
  border-radius: 1.145vw;
  overflow: hidden;
  background: #e8eae9;
}

.home23-demo .you video,
.home23-demo .you img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home23-params {
  position: static;
  top: calc(var(--head) + 3.02vw);
  background-color: #fff;
}

.home23-params .params-inner {
  width: 75vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto;
  padding: 6.25vw 0;
  display: flex;
  flex-direction: column;
  gap: 3.541vw;
}

.home23-params .tt {
  color: #212121;
  font-weight: 700;
  line-height: 1.5;
}

.home23-table {
  display: flex;
  gap: 1.25vw;
  align-items: flex-start;
}

.home23-col {
  flex: 1;
  min-width: 0;
  border: 0.052vw solid #f1f5f9;
  border-radius: 0.416vw;
  overflow: hidden;
}

.home23-row {
  display: flex;
  align-items: center;
  gap: 1.666vw;
  height: 3.541vw;
  padding: 1.041vw;
  background: #fff;
}

.home23-row:nth-child(odd) {
  background: #f2f5f5;
}

.home23-row .k {
  width: 10.291vw;
  flex-shrink: 0;
  color: var(--tt3);
}

.home23-row .v {
  flex: 1;
  color: var(--tt);
}

/* ========== Home24 应用场景（复用 home15，标题字号微调）========== */
.home24 .tt {
  margin-bottom: 4.166vw;
}

/* ========== Home25 资料下载 + 关联产品 ========== */
.home25 {
  background: #fff;
  padding: 4.479vw 0 0;
}

.home25 .tt {
  color: #212121;
  font-weight: 700;
  line-height: normal;
}

.home25 .gdt::-webkit-scrollbar{
  display: none;
}
.home25-downloads {
  width: max-content;
  display: flex;
  gap: 2.5vw;
  margin: 3.541vw 0 4.4792vw;
}

.home25-doc {
  width: 20.1042vw;
  min-width: 0;
  height: 16.458vw;
  background: #fafaf9;
  border: 0.052vw solid #f5f5f4;
  border-radius: 0.625vw;
  padding: 2.031vw;
  display: flex;
  flex-direction: column;
  gap: 1.562vw;
  align-items: flex-start;
}

.home25-doc .doc-ic {
  width: 2.083vw;
  height: 2.083vw;
}

.home25-doc .doc-ic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home25-doc .doc-name {
  color: #1c1917;
  font-weight: 700;
  line-height: 1.458vw;
}

.home25-doc .doc-size {
  color: #a6a09b;
  line-height: 1.041vw;
  margin-top: 0.677vw;
}

.home25-doc .doc-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.416vw;
  padding: 0.572vw 0.937vw;
  border: 0.052vw solid #0a2e26;
  border-radius: 2.031vw;
  color: #0a2e26;
  transition: all .3s ease;
}

.home25-doc .doc-btn img {
  width: 0.833vw;
  height: 0.833vw;
}

.home25-doc .doc-btn:hover {
  background: #0a2e26;
  color: #fff;
}

.home25-doc .doc-btn:hover img {
  filter: brightness(0) invert(1);
}

.home25-related .tt {
  margin-bottom: 4.479vw;
}

.home25-row-wrap {
  overflow: hidden;
  cursor: grab;
}

.home25-row-wrap.grabbing {
  cursor: grabbing;
}

.home25-card-row {
  display: flex;
  gap: 1.875vw;
  align-items: stretch;
  width: max-content;
  will-change: transform;
}

.home25-card-row.no-anim {
  transition: none;
}

.home25-card-row .home20-card {
  flex-shrink: 0;
}

.home25-card-row.dragging .home20-card {
  pointer-events: none;
}

/* ========== Home36 走进光诚 ========== */
.home36 {
  padding: 4.687vw 0 5.208vw 0;
  background: #fff;
}

.home36 .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3.125vw;
  padding-top: 5.729vw;
  padding-bottom: 8.333vw;
}

.home36 .zuo {
  width: 35vw;
  flex-shrink: 0;
}

.home36 .zuo .tt {
  font-weight: 600;
  color: var(--tt);
  line-height: 1.5;
  margin-bottom: 1.354vw;
}

.home36 .zuo .desc {
  color: var(--tt2);
  line-height: 1.5;
}

.home36 .zuo .desc p:last-child {
  margin-bottom: 0;
}

.home36 .you {
  position: relative;
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.home36-bg {
  position: absolute;
  right: 4.427vw;
  top: 50%;
  transform: translateY(-50%);
  width: 33.437vw;
  height: 33.437vw;
  pointer-events: none;
}

.home36-bg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home36-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 20.572vw);
  gap: 1.041vw;
}

.home36-card {
  position: relative;
  width: 20.572vw;
  height: 11.458vw;
  border-radius: 0.625vw;
  background: rgba(255, 255, 255, .7);
  backdrop-filter: blur(1.562vw);
  -webkit-backdrop-filter: blur(1.562vw);
  transition: background .35s ease, box-shadow .35s ease;
}

.home36-card .ic {
  position: absolute;
  left: 2.083vw;
  top: 2.083vw;
  width: 2.187vw;
  height: 2.187vw;
}

.home36-card .ic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: filter .35s ease;
}

.home36-card .name {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.25vw;
  text-align: end;
  color: var(--green);
  line-height: 1.5;
  padding-right: 1.666vw;
  transition: color .35s ease;
  font-weight: 500;
}

.home36-card:hover {
  background: var(--green);
  box-shadow: 0 0.833vw 2.291vw rgba(11, 49, 37, .2);
}

.home36-card:hover .name {
  color: #fff;
}

.home36-card:hover .ic img {
  filter: brightness(0) invert(1);
}

/* ========== Home37 专注高端耗材与技术落地服务 ========== */
.home37 {
  position: relative;
  padding: 5.208vw 0 0;
  background: #fff;
  overflow: hidden;
}

.home37 .tt {
  padding: 0 12%;
  text-align: center;
  font-weight: 600;
  color: var(--tt);
  line-height: 1.5;
  margin-bottom: 2.5vw;
}

.home37-stats {
  width: 62.5vw;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.home37-stat {
  display: flex;
  align-items: center;
  gap: 1.562vw;
}

.home37-stat .line {
  width: 0.109vw;
  height: 2.656vw;
  background: #000;
}

.home37-stat .num {
  color: var(--green2);
  font-weight: 500;
  line-height: 1.5;
}

.home37-stat .lb {
  color: var(--tt2);
  line-height: 1.5;
  opacity: 0.8;
}

.home37-pic {
  position: relative;
  margin-top: 4.427vw;
  height: 34.01vw;
}

.home37-pic img {
  display: block;
  width: 64.531vw;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  margin: 0 auto;
  -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
}

/* ========== Home38 时间轴 ========== */
.home38 {
  position: relative;
  padding: 3.645vw 0 4.6875vw;
  background: #fff;
  overflow: hidden;
}

.home38-tt {
  text-align: center;
  font-weight: 600;
  color: var(--tt);
  line-height: 1.5;
  margin-bottom: 3.541vw;
}

.home38-track-wrap {
  position: relative;
  overflow: hidden;
  cursor: grab;
  padding-top: 1.041vw;
}

.home38-track-wrap.grabbing {
  cursor: grabbing;
}

/* 固定在正中间的绿色三角标记，指向当前年份 */
.home38-marker {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 1.77vw;
  z-index: 5;
  pointer-events: none;
}

.home38-marker img {
  display: block;
  width: 100%;
}

.home38-bg {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 70.416vw;
  max-width: 90%;
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}

.home38-bg img {
  width: 100%;
}

.home38-track {
  position: relative;
  display: flex;
  width: max-content;
  will-change: transform;
}

.home38-col {
  position: relative;
  width: 20.781vw;
  flex-shrink: 0;
  padding: 7.76vw 0 0 3.958vw;
}

.home38-col .yr {
  position: absolute;
  left: 0;
  top: 0;
  height: 2.864vw;
  line-height: 2.864vw;
  color: var(--tt);
  transition: color .3s ease;
}

.home38-col.active .yr {
  color: var(--green2);
  font-weight: 500;
}

/* 区块左侧竖向分隔线 */
.home38-col .divider {
  position: absolute;
  left: 1.875vw;
  top: 3.697vw;
  width: 0.052vw;
  height: 19.166vw;
  background: linear-gradient(180deg, #0B3125 0%, rgba(11, 49, 37, 0.00) 100%);
}

/* 年份下方刻度尺：9 根刻度，间隔 40px，一短一长（短 32 / 长 40），底部对齐 */
.home38-col .ruler {
  position: absolute;
  left: 3.958vw;
  top: 4.062vw;
  width: 16.77vw;
  height: 2.083vw;
}

.home38-col .ruler::before,
.home38-col .ruler::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background: linear-gradient(90deg, #4D8E7A 0%, rgba(77, 142, 122, 0.50) 100%);
}

/* 短刻度：32px，位于 0/80/160/240/320 */
.home38-col .ruler::before {
  height: 1.666vw;
  -webkit-mask-image: repeating-linear-gradient(90deg, #000 0, #000 0.104vw, transparent 0.104vw, transparent 4.166vw);
  mask-image: repeating-linear-gradient(90deg, #000 0, #000 0.104vw, transparent 0.104vw, transparent 4.166vw);
}

/* 长刻度：40px，位于 40/120/200/280 */
.home38-col .ruler::after {
  height: 2.083vw;
  -webkit-mask-image: repeating-linear-gradient(90deg, transparent 0, transparent 2.083vw, #000 2.083vw, #000 2.187vw, transparent 2.187vw, transparent 4.166vw);
  mask-image: repeating-linear-gradient(90deg, transparent 0, transparent 2.083vw, #000 2.083vw, #000 2.187vw, transparent 2.187vw, transparent 4.166vw);
}

.home38-col .evs {
  display: flex;
  flex-direction: column;
  gap: 1.875vw;
}

.home38-col .ev .d {
  color: var(--tt);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 0.625vw;
  transition: color .3s ease;
}

.home38-col.active .ev .d {
  color: var(--green);
}

.home38-col .ev ul {
  list-style: disc;
  padding-left: 1.25vw;
}

.home38-col .ev li {
  color: var(--tt);
  line-height: 1.5;
  transition: color .3s ease;
  font-weight: 300;
}

.home38-col .ev li::marker {
  font-size: 0.7em;
}

.home38-col.active .ev li {
  color: var(--tt);
}

/* ========== Home39 行业权威认证 ========== */
.home39 {
  position: relative;
  padding: 16.093vw 0 15.937vw;
  background: #fff;
  overflow: hidden;
}

.home39-tt {
  text-align: center;
  font-weight: 700;
  color: var(--tt);
  line-height: 1.5;
  margin-bottom: 5.208vw;
}

.home39-main {
  width: 71.666vw;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3.645vw;
  margin-top: 1.041vw;
}

.home39-zuo {
  position: relative;
  width: 33.333vw;
  flex-shrink: 0;
}

.home39-line {
  position: absolute;
  left: 1.145vw;
  top: -4.166vw;
  height: 28.177vw;
  width: 1.041vw;
}

.home39-line img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: 0.2;
}

.home39-list {
  position: relative;
  margin-top: 0.52vw;
  display: flex;
  flex-direction: column;
  gap: 2.541vw;
  padding: 0 0 1.041vw;
  height: 17.291vw;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.home39-list::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.home39-award {
  display: flex;
  align-items: flex-start;
  gap: 1.666vw;
  transition: transform .3s ease;
}

.home39-award .ic {
  position: relative;
  flex-shrink: 0;
  width: 3.229vw;
  height: 3.229vw;
  border-radius: 50%;
  background: #4d8e7a;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s ease;
  opacity: 0.8;
}

.home39-award .ic::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2.395vw;
  height: 2.395vw;
  border-radius: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
}

.home39-award .ic img {
  position: relative;
  z-index: 1;
  width: 1.25vw;
  height: 1.25vw;
}

.home39-award:hover .ic,
.home39-award.on .ic {
  background: var(--green);
}

.home39-award .txt .yr {
  display: none;
  color: var(--green2);
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 0.208vw;
}

.home39-award.on .txt .yr {
  display: block;
}

.home39-award .txt .name {
  font-weight: 500;
  color: #000;
  line-height: 1.5;
}

.home39-you {
  display: flex;
  align-items: center;
  gap: 4.479vw;
  flex-shrink: 0;
}

.home39-arrow {
  width: 2.5vw;
  height: 2.5vw;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  border: 0.104vw solid var(--green);
  box-sizing: border-box;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease, opacity .25s ease;
}

.home39-arrow img {
  width: 0.989vw;
  height: 0.833vw;
}

.home39-arrow:hover {
  background: var(--green);
  transform: scale(1.05);
}

.home39-arrow:hover img {
  filter: brightness(0) invert(1);
}

.home39-cert {
  position: relative;
  width: 18.125vw;
  height: 26.145vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.home39-cert img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0,-50%);
  width: 100%;
  height: auto;
  max-height: 100%;
  opacity: 0;
  transition: opacity .4s ease;
}

.home39-cert img.on {
  opacity: 1;
}

.home39-cert .yr-tag {
  position: absolute;
  left: 1.041vw;
  top: 1.041vw;
  z-index: 2;
  color: var(--green2);
  font-weight: 500;
  line-height: 1.2;
  pointer-events: none;
}

/* ========== Home40 以信任相连的合作关系 ========== */
.home40 {
  background: #fafafa;
  padding: 5.208vw 0 15.781vw;
}

.home40 .tt {
  text-align: center;
  font-weight: 700;
  color: var(--tt);
  line-height: 1.5;
  margin-bottom: 4.479vw;
}

.home40-stage {
  position: relative;
  width: 87.5vw;
  max-width: 100%;
  height: 29.218vw;
  margin: 0 auto;
}

.home40-tile {
  position: absolute;
  background: #fafafa;
  border: 0.052vw solid #e8e8e8;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.937vw;
  cursor: pointer;
  transition: box-shadow .3s ease, border-color .3s ease;
}

.home40-tile img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.home40-tile.on {
  border-color: var(--green2);
  box-shadow: inset 0 0 0 0.104vw var(--green2);
}

.home40-tile.t1 {
  left: -2.3vw;
  top: 7.291vw;
  width: 10.5vw;
  height: 10.5vw;
}

.home40-tile.t2 {
  left: 8.2vw;
  top: 17.791vw;
  width: 10.5vw;
  height: 10.5vw;
}

.home40-tile.t5 {
  left: 18.7vw;
  top: 7.291vw;
  width: 10.5vw;
  height: 10.5vw;
}

.home40-tile.t6 {
  left: 58.2vw;
  top: 7.291vw;
  width: 10.5vw;
  height: 10.5vw;
}

.home40-tile.t3 {
  left: 68.7vw;
  top: 17.791vw;
  width: 10.5vw;
  height: 10.5vw;
}

.home40-tile.t4 {
  left: 79.2vw;
  top: 7.291vw;
  width: 10.5vw;
  height: 10.5vw;
}

.home40-detail-card {
  position: absolute;
  left: 29.2vw;
  top: 0;
  width: 29.04vw;
  height: 29.218vw;
  border: 0.052vw solid #e8e8e8;
  background: #f9f9f9;
  padding: 4.479vw 1.875vw;
}

.home40-detail {
  display: none;
  flex-direction: column;
}

.home40-detail.on {
  display: flex;
}

.home40-detail .logos {
  display: flex;
  align-items: center;
  gap: 0.52vw;
  margin-bottom: 1.875vw;
}

.home40-detail .logos .lg {
  height: 2.917vw;
  padding: 0.677vw;
  border: 0.052vw solid #000;
  border-radius: 0.417vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home40-detail .logos .lg img {
  height: 1.563vw;
  width: auto;
  object-fit: contain;
}

.home40-detail .logos .x {
  color: #183028;
}

.home40-detail .cname {
  color: #000;
  line-height: 1.5;
  margin-bottom: 1.25vw;
}

.home40-detail .cdesc {
  color: var(--tt2);
  line-height: 1.5;
  letter-spacing: .1.666vw;
}

/* ========== Home41 底部 CTA ========== */
.home41 {
  position: relative;
  height: 41.666vw;
  overflow: hidden;
}

.home41 .bg {
  position: absolute;
  inset: 0;
}

.home41 .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home41 .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .5);
}

.home41-inner {
  position: relative;
  z-index: 2;
  height: 100%;
  width: 65.364vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.604vw;
  text-align: center;
}

.home41 .tt {
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
}

.home41 .btns {
  display: flex;
  gap: 0.833vw;
}

.home41 .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8.958vw;
  padding: 0.625vw 1.666vw;
  border-radius: 52.031vw;
  border: 0.052vw solid #fff;
  transition: all .3s ease;
}

.home41 .btn.solid {
  background: #fff;
  color: var(--green);
}

.home41 .btn.ghost {
  color: #fff;
}

.home41 .btn.solid:hover {
  background: transparent;
  color: #fff;
}

.home41 .btn.ghost:hover {
  background: #fff;
  color: var(--green);
}

/* ========== Home43 光诚与社会公益（按 1920 坐标系绝对定位） ========== */
.home43 {
  position: relative;
  background: #fff;
  overflow: hidden;
}

.home43-inner {
  position: relative;
  width: 100vw;
  max-width: 100%;
  height: 49.531vw;
  margin: 0 auto;
}

/* 左上：标题 + 描述 */
.home43-info {
  position: absolute;
  left: 6.25vw;
  top: 2.76vw;
  width: 48.489vw;
  display: flex;
  flex-direction: column;
  gap: 2.5vw;
}

.home43-info .tt {
  color: #222;
  font-weight: 600;
  line-height: 2.875vw;
}

.home43-info .desc {
  color: var(--tt2);
  line-height: 1.666vw;
}

/* 左下：光诚字标，与图片有重叠 */
.home43-zuo {
  position: absolute;
  left: 6.25vw;
  top: 21.614vw;
  width: 16.302vw;
  height: 15.781vw;
  pointer-events: none;
  z-index: 1;
}

.home43-zuo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* 大图：贴右侧 */
.home43-you {
  position: absolute;
  left: 40.885vw;
  top: 18.697vw;
  width: 52.864vw;
  height: 18.697vw;
  border-radius: 0.416vw;
  overflow: hidden;
  z-index: 2;
}

.home43-you img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ========== Home44 光诚致远 传递公益温度 ========== */
.home44 {
  position: relative;
  width: 100%;
  height: 50vw;
  overflow: hidden;
}

.home44 .bg {
  position: absolute;
  inset: 0;
}

.home44 .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home44 .mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .0);
}

/* 内容区按 Figma 1920 坐标系定位 */
.home44-inner {
  position: relative;
  z-index: 2;
  width: 100vw;
  max-width: 100%;
  height: 100%;
  margin: 0 auto;
}

.home44 .tt {
  position: absolute;
  left: 6.25vw;
  top: 5.781vw;
  width: 21.666vw;
  color: #fff;
  font-weight: 500;
  line-height: 1.5;
}

/* 分隔线：贯穿模块的十字 + 右半区上排再分一根短竖 */
.home44-line {
  position: absolute;
  background: rgba(255, 255, 255, .25);
  z-index: 2;
}

/* 竖中线（左右分半） */
.home44 .vline {
  left: 50vw;
  top: 0;
  width: 0.052vw;
  height: 100%;
}

/* 横中线（仅右半区） */
.home44 .hline {
  left: 50vw;
  top: 25vw;
  width: 50vw;
  height: 0.052vw;
}

/* 右半区上排的短竖线（把上排再分两个卡片） */
.home44 .vline-short {
  left: 75vw;
  top: 0;
  width: 0.052vw;
  height: 25vw;
}

/* 三个卡片定位（左上为标题，左下空） */
.home44-cell {
  position: absolute;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
  color: #fff;
}

.home44-cell.c1 {
  left: 53.541vw;
  top: 6.979vw;
}

.home44-cell.c2 {
  left: 78.541vw;
  top: 6.979vw;
}

.home44-cell.c3 {
  left: 53.541vw;
  top: 32.031vw;
}

.home44-cell .ic {
  display: inline-block;
  width: 3.333vw;
  height: 3.333vw;
  margin-bottom: 0.625vw;
}

.home44-cell .ic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home44-cell .lb {
  color: #fff;
  line-height: 1.5;
}

.home44-cell .nm {
  color: #fff;
  line-height: 1.5;
}

/* ========== Home45 肩负责任感和使命感（轮播） ========== */
.home45 {
  padding: 9.583vw 0;
  background: #fff;
}

.home45-tt {
  font-weight: 600;
  color: #000;
  line-height: 1.06;
  margin-bottom: 3.541vw;
}

.home45-stage {
  position: relative;
}

.home45-track-wrap {
  overflow: hidden;
  cursor: grab;
  padding-bottom: 5.833vw;
}

.home45-track-wrap.grabbing {
  cursor: grabbing;
}

.home45-track {
  display: flex;
  gap: 7.708vw;
  width: max-content;
  will-change: transform;
}

.home45-card {
  display: flex;
  align-items: center;
  gap: 7.708vw;
  width: 73.541vw;
  flex-shrink: 0;
}

.home45-card .info {
  width: 20.625vw;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1.666vw;
}

.home45-card .info .cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  height: 1.666vw;
  padding: 0 0.833vw;
  border-radius: 7.447vw;
  background: var(--green);
  color: #fff;
  line-height: 1;
}

.home45-card .info .nm {
  color: #222;
  font-weight: 500;
  line-height: 1.5;
}

.home45-card .info .more {
  display: inline-flex;
  align-items: center;
  gap: 0.572vw;
  color: var(--tt2);
  font-weight: 500;
  line-height: 1.5;
  transition: color .25s ease;
  margin-top: 3.385vw;
}

.home45-card .info .more img {
  width: 0.729vw;
  height: 0.729vw;
  transition: transform .25s ease;
}

.home45-card:hover .info .more {
  color: var(--green);
}

.home45-card:hover .info .more img {
  transform: translateX(0.208vw);
}

.home45-card .pic {
  width: 45.208vw;
  height: 24.687vw;
  border-radius: 0.625vw;
  overflow: hidden;
  flex-shrink: 0;
}

.home45-card .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s ease;
}

.home45-card:hover .pic img {
  transform: scale(1.04);
}

.home45-progress {
  position: relative;
  height: 0.104vw;
  background: rgba(0, 0, 0, .1);
  margin: 0 20.52vw 0 20.52vw;
}

.home45-progress .bar {
  position: absolute;
  left: 0;
  top: -0.156vw;
  height: 0.312vw;
  width: 0;
  background: #4d8e7a;
  transition: width .15s linear;
}

/* ========== Home46 驱动未来 的可持续发展 ========== */
.home46 {
  padding: 5.208vw 0;
  background: #fff;
}

.home46 .inner {
  display: flex;
  align-items: center;
  gap: 7.708vw;
}

.home46 .zuo {
  position: relative;
  width: 38.541vw;
  height: 26.041vw;
  flex-shrink: 0;
  border-radius: 0.833vw;
  overflow: hidden;
  box-shadow: 0 1.302vw 2.604vw -0.625vw rgba(0, 0, 0, .25);
}

.home46 .zuo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home46 .zuo .quote {
  position: absolute;
  right: 1.666vw;
  bottom: 1.666vw;
  max-width: 16.666vw;
  padding: 1.302vw 1.822vw 1.302vw 1.302vw;
  background: rgba(255, 255, 255, .6);
  backdrop-filter: blur(0.52vw);
  -webkit-backdrop-filter: blur(0.52vw);
  border: 0.052vw solid rgba(255, 255, 255, .2);
  border-radius: 0.625vw;
  color: #00342b;
  line-height: 1.041vw;
}

.home46 .you {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.875vw;
}

.home46 .you .tt {
  color: var(--tt);
  font-weight: 600;
  line-height: 1.5;
}

.home46 .you .desc {
  color: var(--tt2);
  line-height: 1.666vw;
  margin-bottom: 1.666vw;
}

.home46-stats {
  display: flex;
  gap: 1.25vw;
}

.home46-stats .stat {
  width: 13.541vw;
  padding: 0.833vw 0 0.833vw 0.833vw;
  border-left: 0.052vw solid rgba(77, 142, 122, .36);
}

.home46-stats .num {
  color: #00342b;
  font-weight: 400;
  line-height: 1.666vw;
  margin-bottom: 0.625vw;
}

.home46-stats .lb {
  color: #3f4945;
  line-height: 1.4;
  text-transform: uppercase;
}

/* ========== Home47 2024 ESG 年度报告 ========== */
.home47 {
  padding: 8.906vw 0 4.375vw;
  background: #fff;
}

.home47 .home47-bg {
  position: relative;
  width: 87.5vw;
  max-width: calc(100% - 4.166vw);
  height: 27.031vw;
  margin: 0 auto;
  border-radius: 0.416vw;
  overflow: hidden;
}

.home47 .home47-bg>img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home47-inner {
  position: absolute;
  left: 4.687vw;
  top: 4.218vw;
  width: 27.135vw;
  display: flex;
  flex-direction: column;
  gap: 2.5vw;
  z-index: 2;
}

.home47-inner .tt {
  color: var(--green);
  font-weight: 700;
  line-height: 1.06;
}

.home47-inner .acts {
  display: flex;
  flex-direction: column;
  gap: 2.1875vw;
}

.home47-inner .act {
  display: inline-flex;
  align-items: center;
  gap: 0.937vw;
  color: #000;
  line-height: 1.2;
  transition: color .25s ease;
}

.home47-inner .act .bt {
  width: 1.979vw;
  height: 1.979vw;
  border-radius: 50%;
  background: var(--green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .25s ease;
}

.home47-inner .act .bt img {
  width: 1.041vw;
  height: 1.041vw;
  transition: filter .25s ease;
}

.home47-inner .act:hover {
  color: var(--green);
}

.home47-inner .act:hover .bt {
  background: #fff;
}

.home47-inner .act:hover .bt img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(38%) saturate(1066%) hue-rotate(118deg) brightness(95%) contrast(96%);
}

/* ========== Home48 往期报告 ========== */
.home48 {
  padding: 1.77vw 0 10.776vw;
  background: #fff;
}

.home48 .tt {
  color: #222;
  font-weight: 600;
  line-height: 1.06;
  margin-bottom: 2.656vw;
}
.home48 .gdt::-webkit-scrollbar{
  display: none;
}
.home48-grid {
  width: max-content;
  display: flex;
  gap: 3.072vw;
}

.home48-card {
  width: 27.0438vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25vw;
  padding: 1.51vw 1.927vw;
  border-radius: 1.041vw;
  background: #f8fafa;
  transition: box-shadow .25s ease, transform .25s ease;
}

.home48-card:hover {
  box-shadow: 0 0.625vw 1.458vw rgba(11, 49, 37, .08);
  transform: translateY(-0.104vw);
}

.home48-card .head {
  display: flex;
  align-items: center;
  gap: 1.25vw;
}

.home48-card .ic {
  width: 3.333vw;
  height: 3.333vw;
  border-radius: 0.572vw;
  background: #fff;
  box-shadow: 0 0.067vw 0.208vw rgba(0, 0, 0, .1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.home48-card .ic img {
  width: 1.666vw;
  height: 1.666vw;
}

.home48-card .txt {
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
}

.home48-card .nm {
  color: var(--tt);
  font-weight: 700;
  line-height: 1.05;
}

.home48-card .size {
  color: var(--tt3);
  line-height: 1;
}

.home48-card .btn {
  width: 3.541vw;
  height: 3.541vw;
  border-radius: 50%;
  background: var(--green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform .25s ease, background .25s ease;
}

.home48-card .btn img {
  width: 1.875vw;
  height: 1.875vw;
  transition: filter .25s ease;
}

.home48-card .btn:hover {
  background: #fff;
  transform: scale(1.06);
}

.home48-card .btn:hover img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(38%) saturate(1066%) hue-rotate(118deg) brightness(95%) contrast(96%);
}

/* =====================================================================
 * joinus 招贤纳士页：home50（banner 见 home7 / .home50 覆盖）
 *                   home51 在光诚 遇到更好的自己
 *                   home52 与光诚同行（卡片 + tab + 两侧箭头，不轮播）
 *                   home53 以才为基 光诚聚力前行（3 张大图 + 浮卡）
 *                   home54 欢迎加入（同 home26，已复用 home17/home26）
 * ===================================================================== */

/* ---------- home51 在光诚 遇到更好的自己 ---------- */
.home51 {
  position: relative;
  padding: 11.927vw 0 10.416vw;
  background: linear-gradient(180deg, #fff 0%, #fff 36.7%, rgba(255, 255, 255, 0) 100%);
  overflow: hidden;
}

.home51 .inner {
  display: flex;
  gap: 5.468vw;
  align-items: flex-start;
}

.home51 .zuo {
  flex: 1 1 auto;
  max-width: 38.281vw;
  padding-top: 1.666vw;
}

.home51 .zuo .tt {
  color: #222;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 3.541vw;
}

.home51 .zuo .desc {
  color: #666;
  line-height: 1.666vw;
}

.home51 .zuo .desc p {
  margin-bottom: 0;
}

.home51 .you {
  flex-shrink: 0;
}

.home51-grid {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2.5vw;
}

.home51-grid .deco {
  position: absolute;
  left: 60%;
  top: 68%;
  transform: translate(-50%, -50%);
  width: 52.083vw;
  height: 52.083vw;
  border-radius: 50%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(77, 142, 122, .28) 40%, rgba(77, 142, 122, 0) 100%);
  filter: blur(2.083vw);
  pointer-events: none;
  z-index: 0;
}

.home51-col {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 2.5vw;
  width: 18.125vw;
  flex-shrink: 0;
}

.home51-card {
  position: relative;
  width: 18.125vw;
  height: 15.416vw;
  padding: 1.666vw;
  border-radius: 0.625vw;
  background: rgba(255, 255, 255, .2);
  box-shadow: inset 0.052vw 0.104vw 0vw 0vw rgba(255, 255, 255, .5);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.home51-card .ic {
  width: 2.5vw;
  height: 2.5vw;
  padding: 0.52vw;
  box-sizing: content-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
}

.home51-card .ic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .35s ease;
}

.home51-card .nm {
  color: var(--green);
  font-weight: 500;
  line-height: 1.5;
  text-align: right;
  padding: 0.52vw;
  align-self: stretch;
}

.home51-card:hover {
  background: rgba(77, 142, 122, .12);
  transform: translateY(-0.208vw);
}

.home51-card:hover .ic img {
  transform: scale(1.08);
}

/* ---------- home52 与光诚同行，赴理想新程 ---------- */
.home52 {
  padding: 8.125vw 0 7.604vw;
  background: #fff;
}

.home52 .C-wrap {
  width: 93.489vw;
}

.home52-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5vw;
  margin-bottom: 3.541vw;
}

.home52-head .tt {
  color: #222;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.home52-tabs {
  display: inline-flex;
  align-items: center;
  background: rgba(77, 142, 122, .04);
  border-radius: 3.645vw;
  padding: 0.416vw;
  gap: 0.208vw;
}

.home52-tab {
  min-width: 7.083vw;
  padding: 0.468vw 1.875vw;
  border-radius: 1.979vw;
  text-align: center;
  color: #333;
  line-height: 1.5;
  transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}

.home52-tab.on {
  background: var(--green);
  color: #fff;
  filter: drop-shadow(0.208vw 0.104vw 0.208vw rgba(0, 0, 0, .1));
}

.home52-tab:hover:not(.on) {
  color: var(--green);
}

.home52-stage {
  position: relative;
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 1.041vw;
}

.home52-arrow {
  flex-shrink: 0;
  width: 0.885vw;
  height: 1.77vw;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .25s ease, opacity .25s ease;
}

.home52-arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

.home52-arrow:hover {
  opacity: .7;
}

.home52-arrow.prev:hover {
  transform: translateX(-0.156vw);
}

.home52-arrow.next:hover {
  transform: translateX(0.156vw);
}

.home52-viewport {
  flex: 1 1 auto;
  overflow: hidden;
}

.home52-track {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 1.041vw;
}

.home52-card {
  flex-shrink: 0;
  width: 21.562vw;
  min-height: 30.52vw;
  padding: 1.875vw;
  border-radius: 1.041vw;
  background: #f8fafa;
  display: flex;
  flex-direction: column;
  gap: 1.875vw;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.home52-card:hover {
  transform: translateY(-0.312vw);
  background: #f8fafa;
  box-shadow: 0 0.833vw 1.875vw rgba(11, 49, 37, .08);
}

.home52-card .head {
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
}

.home52-card .head .nm {
  color: var(--green);
  font-weight: 500;
  line-height: 1.5;
}

.home52-card .head .meta {
  color: #666;
  line-height: 1.5;
  opacity: 0.8;
}

.home52-card .line {
  height: 0.052vw;
  background: rgba(0, 0, 0, .08);
}

.home52-card .body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
}

.home52-card .body .lb {
  color: #070707;
  font-weight: 500;
  line-height: 1.67;
}

.home52-card .body .duty {
  color: #666;
  line-height: 1.67;
}

.home52-card .body .duty p {
  margin: 0;
}

.home52-card .go {
  align-self: flex-start;
  width: 3.802vw;
  height: 3.802vw;
  border-radius: 50%;
  background: rgba(77, 142, 122, .1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .25s ease, transform .25s ease;
}

.home52-card .go img {
  width: 1.25vw;
  height: 1.25vw;
  transition: filter .25s ease;
}

.home52-card:hover .go {
  background: var(--green);
  transform: translateX(0.208vw);
}

.home52-card:hover .go img {
  filter: brightness(0) invert(1);
}

/* ---------- home53 以才为基 光诚聚力前行 ---------- */
.home53 {
  position: relative;
  padding: 5.468vw 0 5.468vw;
  background: #fff;
  overflow: hidden;
}

.home53-deco {
  position: absolute;
  bottom: 2.083vw;
  width: 52.083vw;
  height: 52.083vw;
  border-radius: 50%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(77, 142, 122, .28) 40%, rgba(77, 142, 122, 0) 100%);
  filter: blur(24.479vw);
  pointer-events: none;
  z-index: 0;
}

.home53-deco.left {
  left: -8.333vw;
}

.home53-deco.right {
  right: -8.333vw;
}

.home53 .C-wrap {
  max-width: calc(100% - 4.166vw);
  position: relative;
  z-index: 2;
}

.home53-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3.125vw;
  margin-bottom: 4.479vw;
}

.home53-head .tt {
  flex-shrink: 0;
  color: #222;
  font-weight: 600;
  line-height: 1.5;
}

.home53-head .desc {
  flex: 0 0 36.093vw;
  max-width: 36.093vw;
  color: #666;
  line-height: 1.666vw;
}

.home53-grid {
  display: flex;
  gap: 1.875vw;
  align-items: flex-start;
}

.home53-cell {
  flex: 1 1 0;
  position: relative;
  padding-bottom: 7.291vw;
}

.home53-cell .pic {
  width: 100%;
  height: 19.166vw;
  border-radius: 0.833vw;
  overflow: hidden;
  background: #d9d9d9;
}

.home53-cell .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.home53-cell:hover .pic img {
  transform: scale(1.06);
}

.home53-cell .info {
  position: absolute;
  left: 2.5vw;
  right: 0;
  bottom: 0;
  width: 22.083vw;
  padding: 1.666vw;
  border-radius: 0.625vw;
  background: #fff;
  box-shadow: 0 0.625vw 1.666vw rgba(0, 0, 0, .06);
  display: flex;
  flex-direction: column;
}

.home53-cell .info .nm {
  color: #333;
  font-weight: 500;
  line-height: 1.5;
}

.home53-cell .info .bar {
  display: block;
  width: 3.489vw;
  height: 0.208vw;
  background: #4d8e7a;
  margin-top: 0.625vw;
  margin-bottom: 1.875vw;
}

.home53-cell .info .ctext {
  color: #666;
  line-height: 1.7;
  height: calc(1.7 * 5em);
  overflow: auto;
  margin: 0;
}

/* ---------- home54 招聘表单（继承 home17，仅做差异化覆盖） ---------- */
.home54 {
  padding: 8.02vw 0 8.02vw;
}

.home54 .deco {
  left: -5.208vw;
  bottom: -4.166vw;
}

.home54 .zuo .desc {
  margin-bottom: 2.5vw;
}

/* 上传简历：自定义触发器（label 包裹隐藏 input） */
.home54 .home54-upload {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 3.125vw;
  padding: 0.625vw 0.989vw;
  border: 0.052vw solid var(--tt3);
  border-radius: 0.208vw;
  background: #fff;
  cursor: pointer;
  transition: border-color .3s ease;
  gap: 0.625vw;
}

.home54 .home54-upload:hover {
  border-color: var(--green);
}

.home54 .home54-upload .ph {
  flex: 1;
  min-width: 0;
  color: var(--tt2);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.home54 .home54-upload.has-file .ph {
  color: var(--tt);
}

.home54 .home54-upload .ic {
  flex-shrink: 0;
  width: 1.666vw;
  height: 1.666vw;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.home54 .home54-upload .ic img {
  width: 1.25vw;
  height: 1.25vw;
}

.home54 .home54-upload input[type="file"] {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.home54 .home54-upload-item.error .home54-upload {
  border-color: #e44;
}

/* =====================================================================
 * 404 页面：home59 页面丢失
 * ===================================================================== */
.home59 {
  position: relative;
  width: 100%;
  min-height: calc(100vh - var(--head));
  padding: 3.229vw 0 3.645vw;
  background: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.home59-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11.25vw;
}

.home59-pic {
  flex-shrink: 0;
  width: 42.812vw;
  height: 42.812vw;
  max-width: 50vw;
}

.home59-pic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home59-info {
  flex-shrink: 0;
  width: 30vw;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.home59-info .tag {
  display: inline-flex;
  align-items: center;
  padding: 0.13vw 0.625vw;
  border-radius: 0.625vw;
  background: var(--green2);
  color: #fff;
  font-family: var(--family-en);
  font-weight: 600;
  font-size: 0.52vw;
  line-height: 0.781vw;
  letter-spacing: 0.052vw;
  text-transform: uppercase;
}

.home59-info .tt {
  color: var(--green);
  font-weight: 700;
  line-height: 3.75vw;
  letter-spacing: -0.187vw;
  margin: 0.729vw 0 1.25vw;
}

.home59-info .desc {
  color: var(--tt2);
  line-height: 1.458vw;
  opacity: 0.8;
}

.home59-info .acts {
  display: flex;
  align-items: center;
  gap: 0.833vw;
  margin-top: 1.25vw;
}

.home59-info .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.833vw 2.083vw;
  border-radius: 0.625vw;
  line-height: 1.041vw;
  letter-spacing: 0.072vw;
  text-transform: uppercase;
  transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}

/* 默认态 */
.home59-info .btn.primary {
  background: var(--green);
  color: #fff;
  box-shadow: 0 0.625vw 1.666vw -0.208vw rgba(0, 32, 26, .08);
}

.home59-info .btn.ghost {
  background: #e1e3e3;
  color: var(--green);
  box-shadow: none;
}

/* 自身 hover：深绿底 白字 */
.home59-info .btn:hover,
.home59-info .btn.is-hover {
  background: var(--green);
  color: #fff;
  box-shadow: 0 0.625vw 1.666vw -0.208vw rgba(0, 32, 26, .18);
}

/* 兄弟按钮被 hover 时，自身退化为灰底绿字（用 :has() 控制兄弟联动） */
.home59-info .acts:has(.btn.ghost:hover) .btn.primary,
.home59-info .acts:has(.btn.primary:hover) .btn.ghost,
.home59-info .acts.has-hover .btn:not(.is-hover) {
  background: #e1e3e3;
  color: var(--green);
  box-shadow: none;
}

/* =====================================================================
 * service 全球服务页：home27 首屏 banner（home11 变体）
 *                    home28 全球服务网络（左侧城市切换 + 右侧公司卡 + 地图底图）
 *                    home29 三大服务体系（左侧标题描述 sticky + 右侧三卡 sticky 堆叠）
 *                    home30 表单（已复用 home17/home26）
 * ===================================================================== */
.home27 {
  height: 40.885vw;
}

.home27 .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  border-radius: 2.083vw;
  height: 37.5vw;
  width: 96%;
  margin: 0 auto;
}

.home27 .wrap {
  bottom: 6.77vw;
}

.home27 .tt {
  line-height: 1.5;
  font-weight: 500;
}

.home27 .ico {
  width: 5.104vw;
  height: 7.187vw;
}

.home27 .ico img {
  width: 5.104vw;
  height: 5.104vw;
}

/* ---------- home28 全球服务网络 ---------- */
.home28 {
  position: relative;
  width: 100%;
  padding: 0;
  overflow: hidden;
  background: #fff;
  margin-bottom: 4.739vw;
}

.home28-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
}

.home28-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

.home28-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, #fff 7.97%, rgba(255, 255, 255, 0) 24.4%),
    linear-gradient(270deg, rgba(255, 255, 255, 0) 85.3%, #fff 92.4%),
    linear-gradient(90deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, ));
  pointer-events: none;
}

.home28-inner {
  position: relative;
  z-index: 2;
  width: 87.5vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto;
  height: 53.385vw;
}

/* 左侧 ---- */
.home28-zuo {
  position: absolute;
  left: 0;
  top: 10.937vw;
  width: 16.25vw;
  display: flex;
  flex-direction: column;
  gap: 2.5vw;
}

.home28-zuo .tt {
  color: #333;
  font-weight: 500;
  line-height: 1.2;
}

.home28-cities {
  display: flex;
  flex-direction: column;
  gap: 0.546vw;
  width: 14.218vw;
  max-height: 14.948vw;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.home28-cities::-webkit-scrollbar {
  display: none;
}

.home28-city {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 0.729vw 1.093vw;
  background: #fff;
  border-radius: 0.546vw;
  filter: drop-shadow(0.156vw 0.208vw 0.494vw rgba(215, 215, 215, .25));
  color: #1d1d1d;
  letter-spacing: -.1.822vw;
  line-height: 1.093vw;
  transition: background .25s ease, color .25s ease;
}

.home28-city .left {
  display: inline-flex;
  align-items: center;
  gap: 0.546vw;
}

.home28-city .dot {
  display: inline-block;
  width: 0.364vw;
  height: 0.364vw;
  border-radius: 50%;
  background: var(--green);
  transition: background .25s ease;
}

.home28-city .nm {
  display: inline-block;
}

/* 加号图标（CSS 自绘，hover / on 时变白） */
.home28-city .plus {
  position: relative;
  width: 0.833vw;
  height: 0.833vw;
  flex-shrink: 0;
  transition: color .25s ease;
  color: #0b3125;
}

.home28-city .plus::before,
.home28-city .plus::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: currentColor;
  border-radius: 0.052vw;
  transform: translate(-50%, -50%);
}

.home28-city .plus::before {
  width: 0.625vw;
  height: 0.083vw;
}

.home28-city .plus::after {
  width: 0.083vw;
  height: 0.625vw;
}

.home28-city:hover,
.home28-city.on {
  background: var(--green);
  color: #fff;
}

.home28-city:hover .dot,
.home28-city.on .dot {
  background: #fff;
}

.home28-city:hover .plus,
.home28-city.on .plus {
  color: #fff;
}

/* 地图：连线 + 圆点 + 标签 ---- */
.home28-map {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.home28-lines {
  position: absolute;
  left: 0;
  top: 0;
  width: 87.5vw;
  height: 53.385vw;
  pointer-events: none;
  opacity: .85;
}

.home28-dot {
  position: absolute;
  width: 0.625vw;
  height: 0.625vw;
  margin: -0.208vw 0 0 -6.25vw;
  border-radius: 50%;
  background: var(--green);
  pointer-events: auto;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}

.home28-dot::after {
  content: "";
  position: absolute;
  inset: -0.416vw;
  border-radius: 50%;
  background: rgba(11, 49, 37, .12);
  opacity: 0;
  transition: opacity .25s ease;
}

.home28-dot:hover::after,
.home28-dot.on::after {
  opacity: 1;
}

.home28-dot:hover,
.home28-dot.on {
  transform: scale(1.15);
  box-shadow: 0 0 0 0.208vw rgba(11, 49, 37, .18);
}

.home28-tag {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.187vw;
  min-width: 4.739vw;
  padding: 0 0.937vw;
  border-radius: 1.041vw;
  background: rgba(0, 0, 0, .35);
  color: #fff;
  font-size: 0.625vw;
  font-weight: 600;
  letter-spacing: .0.104vw;
  pointer-events: auto;
  cursor: pointer;
  transition: background .25s ease;
}

.home28-tag.is-topleft {
  /* 锚点右下角对齐：实现 “胶囊位于圆点左上角” 的方向 */
  transform: translate(-100%, -100%);
}

.home28-tag:hover,
.home28-tag.on {
  background: var(--green);
}

/* 5 个城市的坐标（dot 中心 = left/top；tag 按规则：默认 dot 右侧 16px、垂直居中；南京移到左上角 16px） */
.home28-dot[data-city="nanjing"] {
  left: 50.364vw;
  top: 14.01vw;
}

.home28-dot[data-city="japan"] {
  left: 69.062vw;
  top: 10.364vw;
}

.home28-dot[data-city="shenzhen"] {
  left: 45.625vw;
  top: 22.291vw;
}

.home28-dot[data-city="vietnam"] {
  left: 37.5vw;
  top: 25vw;
}

.home28-dot[data-city="malaysia"] {
  left: 33.833vw;
  top: 39.739vw;
}

.home28-tag[data-city="nanjing"] {
  left: 43.072vw;
  top: 13.177vw;
}

.home28-tag[data-city="japan"] {
  left: 65.416vw;
  top: 9.27vw;
}

.home28-tag[data-city="shenzhen"] {
  left: 41.979vw;
  top: 21.197vw;
}

.home28-tag[data-city="vietnam"] {
  left: 33.854vw;
  top: 23.906vw;
}

.home28-tag[data-city="malaysia"] {
  left: 29.187vw;
  top: 38.645vw;
}

/* 右侧公司卡：位置固定，由 JS 切换内容 ---- */
.home28-card {
  position: absolute;
  left: 51.354vw;
  top: 15.625vw;
  min-height: 14.322vw;
  width: 23.958vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25vw;
  padding: 1.041vw 1.041vw;
  background: #fff;
  border-radius: 0.833vw;
  box-shadow: 0 0.625vw 1.875vw rgba(11, 49, 37, .08);
  z-index: 3;
}

.home28-card .pic {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 8.437vw;
}

.home28-card .pic .city {
  width: 14.843vw;
  height: 8.437vw;
  object-fit: cover;
  border-radius: 0.416vw;
}

.home28-card .pic .symbol {
  width: 7.083vw;
  height: 6.875vw;
  object-fit: contain;
  object-position: bottom;
}

.home28-card .nm {
  color: #000;
  text-align: center;
  line-height: 1.4;
}

/* ---------- home29 三大服务体系（GSAP pin + scrub：三张卡逐张从下方升起并堆叠，pin 结束后页面继续向下滚动） ---------- */
.home29 {
  position: relative;
  max-width: 100%;
  min-height: 80vh;
  width: calc(100% - 4.1667vw);
  margin: 0 auto;
  background: #f5f5f4;
  border-radius: 1.25vw;
  overflow: hidden;
}

.home29-inner {
  position: relative;
  width: 87.5vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto;
  min-height: 37.5vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 7.708vw;
  padding-top: 6.25vw;
  box-sizing: border-box;
}

.home29-zuo {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2.5vw;
}

.home29-zuo .tt {
  color: #000;
  font-weight: 500;
  line-height: 1.3;
}

.home29-zuo .desc {
  color: #757d8e;
  line-height: 1.5;
}

.home29-you {
  position: relative;
  width: 41.666vw;
  flex-shrink: 0;
}

.home29-card {
  width: 41.666vw;
  height: 20.104vw;
  padding: 2.031vw 2.083vw 2.083vw;
  border-radius: 1.25vw;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 1.458vw;
  will-change: transform;
}

.home29-card:nth-child(n+2) {
  position: absolute;
  left: 0;
  top: 100%;
  opacity: 0;
}

.home29-card.dark {
  background: var(--green);
  color: #fff;
}

.home29-card.light {
  background: #fff;
  color: #333;
}

/* 默认（无 JS / 兜底）：三张卡按 Figma 最终堆叠状态展示 —— 卡 1: top 0、卡 2: top 106、卡 3: top 212 */
.home29-card:nth-child(1) {
  z-index: 1;
}

.home29-card:nth-child(2) {
  z-index: 2;
}

.home29-card:nth-child(3) {
  z-index: 3;
}

.home29-card .head {
  display: flex;
  align-items: center;
  gap: 0.572vw;
}

.home29-card .head .ic {
  width: 1.666vw;
  height: 1.666vw;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.home29-card .head .ic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home29-card .head .nm {
  font-weight: 500;
  line-height: 1.5;
}

.home29-card.dark .head .nm {
  color: #fff;
}

.home29-card.light .head .nm {
  color: #333;
}

.home29-card .ctext {
  width: 21.354vw;
  max-width: 100%;
  line-height: 1.5;
  margin: 0;
}

.home29-card.dark .ctext {
  color: #fff;
}

.home29-card.light .ctext {
  color: #000;
}

.home29-card .num {
  position: absolute;
  left: 2.083vw;
  bottom: 0;
  font-size: 5.208vw;
  line-height: 6.25vw;
  font-weight: 700;
  letter-spacing: 0.156vw;
  margin-bottom: 1.041vw;
}

/* 上方两张被覆盖时数字会被裁切；最后一张（完全展示）数字加重显示 */
.home29-card.dark .num {
  color: #fff;
  opacity: .15;
}

.home29-card.light .num {
  color: var(--green);
  opacity: .15;
}

.home29-card:last-child .num {
  opacity: 1;
}

/* =====================================================================
 * contact 联系咨询页：home55 首屏 banner（home11 变体）
 *                    home56 全球化布局（世界地图为底，左下公司 / 右下城市）
 *                    home57 表单（已复用 home17）
 * ===================================================================== */
.home55 {
  height: 40.937vw;
}

.home55 .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  border-radius: 0;
  height: auto;
  width: auto;
  margin: 0;
}

.home55 .wrap {
  bottom: 6.77vw;
}

.home55 .tt {
  line-height: 1.4;
}

.home56 {
  position: relative;
  width: 100%;
  height: 65.416vw;
  background: #fff;
  overflow: hidden;
}

/* 世界地图：作为整段 section 的底图，比 section 更宽，向四周溢出居中 */
.home56-bg {
  position: absolute;
  top: -17.395vw;
  width: 100%;
  pointer-events: none;
  user-select: none;
  z-index: 1;
}

.home56-bg img {
  position: relative;
  z-index: 0;
  width: 100%;
  height: auto;
  display: block;
}

/* 左侧白色蒙层：遮住地图左侧，文字层 z-index 更高故不受影响 */
.home56-bg::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 46%;
  max-width: 45.833vw;
  height: 100%;
  background: linear-gradient(90deg, #fff 0%, #fff 62%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 1;
}

/* 顶部白色渐变蒙层：上白下透明，覆盖地图上半截，让标题区干净 */
.home56-mask {
  position: absolute;
  left: 50%;
  top: -3.437vw;
  width: 160.052vw;
  margin-left: -92.604vw;
  height: 17.812vw;
  background: linear-gradient(to bottom, #fff 0%, #fff 67.88%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 2;
}

/* 地图上的定位针：底尖对准坐标点 */
.home56-local {
  position: absolute;
  width: 0.625vw;
  height: 0.625vw;
  margin: -0.312vw 0 0 -0.312vw;
  z-index: 4;
  background-color: #04be96;
  border-radius: 50%;
  box-shadow: 0 0 0.78vw #04be96;
  transition: all 1s ease;
  transform: scale(0);
}

.home56-local.on {
  transform: scale(1);
}

.home56-local::before,
.home56-local::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #04be96;
  opacity: 0.6;
  z-index: -1;
  pointer-events: none;
  animation: home56LocalRipple 2s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.home56-local::after {
  animation-delay: 1s;
}

@keyframes home56LocalRipple {
  0% {
    width: 0.625vw;
    height: 0.625vw;
    opacity: 0.6;
    transform: translate(-50%, -50%);
  }

  100% {
    width: 5.2vw;
    height: 5.2vw;
    opacity: 0;
    transform: translate(-50%, -50%);
  }
}

/* 内容容器：盛放左下公司信息 + 右下城市列表 */
.home56-inner {
  position: relative;
  width: 88.333vw;
  height: 100%;
  margin: 0 auto;
  z-index: 3;
}

/* 左下：标题 + 公司信息 + 翻页 ---- */
.home56-zuo {
  position: absolute;
  left: 0;
  top: 23.958vw;
  width: 32.552vw;
  display: flex;
  flex-direction: column;
  gap: 3.541vw;
}

.home56-zuo .tt {
  color: #333;
  font-weight: 700;
  line-height: 1.2;
}

.home56-body {
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
}

/* 公司名 + 底部短下划线 */
.home56-name-wrap {
  position: relative;
  padding-bottom: 1.25vw;
  border-bottom: 0.052vw solid #bfbfbf;
}

.home56-name-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.104vw;
  width: 2.239vw;
  height: 0.156vw;
  background: var(--green);
}

.home56-name {
  color: #333;
  font-weight: 500;
  line-height: 1.4;
}

/* 公司信息行 */
.home56-meta {
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
  width: 100%;
}

.home56-meta li {
  display: flex;
  align-items: center;
  gap: 0.833vw;
}

.home56-meta .ic {
  flex-shrink: 0;
  width: 1.25vw;
  height: 1.25vw;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.home56-meta .ic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home56-meta .txt {
  color: var(--tt2);
  line-height: 1.5;
  letter-spacing: .1.666vw;
}

/* 翻页：圆形描边箭头按钮 + 01/05 */
.home56-pager {
  display: flex;
  align-items: center;
  gap: 1.927vw;
  margin-top: 1.458vw;
}

.home56-arrows {
  display: inline-flex;
  align-items: center;
  gap: 0.625vw;
}

.home56-arrow {
  width: 2.083vw;
  height: 2.083vw;
  border: 0.078vw solid var(--green);
  background: transparent;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .25s ease, border-color .25s ease;
}

.home56-arrow img {
  width: 0.833vw;
  height: 0.833vw;
  object-fit: contain;
  transition: filter .25s ease;
}

/* 默认形态：左（prev）实心深绿，右（next）白底描边——与 Figma 一致 */
.home56-arrow.prev {
  background: var(--green);
}

.home56-arrow.prev img {
  filter: brightness(0) invert(1);
}

.home56-arrow.next {
  background: transparent;
}

/* hover：两个按钮形态互换（hover 在哪个，哪个变实心） */
.home56-arrow:hover {
  background: var(--green);
}

.home56-arrow:hover img {
  filter: brightness(0) invert(1);
}

.home56-arrows:has(.home56-arrow.next:hover) .home56-arrow.prev,
.home56-arrows.hover-next .home56-arrow.prev {
  background: transparent;
}

/* 白底状态下，prev 箭头从白色 SVG 反相后调色为深绿（#0B3125），与 next 一致 */
.home56-arrows:has(.home56-arrow.next:hover) .home56-arrow.prev img,
.home56-arrows.hover-next .home56-arrow.prev img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(38%) saturate(1066%) hue-rotate(118deg) brightness(95%) contrast(96%);
}

.home56-progress {
  display: inline-flex;
  align-items: baseline;
  gap: 0.625vw;
  letter-spacing: .0.312vw;
}

.home56-progress .cur {
  color: var(--green);
  font-weight: 600;
  font-size: 1.25vw;
  line-height: 1.875vw;
}

.home56-progress .total {
  color: #737373;
  font-weight: 500;
  font-size: 1.041vw;
  line-height: 1.562vw;
}

/* 右下：城市切换列表 ---- */
.home56-you {
  position: absolute;
  right: 0.416vw;
  top: 28.541vw;
  width: 8.958vw;
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
  padding-right: 1.041vw;
  border-right: 0.052vw solid rgba(153, 153, 153, .5);
}

.home56-city {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.625vw;
  height: 1.718vw;
  color: #999;
  line-height: 1.5;
  letter-spacing: .0.26vw;
  transition: color .25s ease;
}

.home56-city .nm {
  text-align: right;
  font-weight: 500;
}

.home56-city .radio {
  position: absolute;
  right: -1.406vw;
  top: 50%;
  transform: translateY(-50%);
  width: 0.729vw;
  height: 0.729vw;
  border-radius: 50%;
  background: #fff;
  border: 0.062vw solid rgba(0, 0, 0, .2);
  transition: border-color .25s ease;
}

.home56-city .radio::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.312vw;
  height: 0.312vw;
  border-radius: 50%;
  background: #999;
  transform: translate(-50%, -50%);
  transition: background .25s ease;
}

.home56-city:hover,
.home56-city.on {
  color: var(--green);
}

.home56-city:hover .radio,
.home56-city.on .radio {
  border-color: var(--green);
}

.home56-city:hover .radio::before,
.home56-city.on .radio::before {
  background: var(--green);
}

/* =====================================================================
 * 首页 index.html 专属：home1 首屏 banner / home10 数据条 / home2 手风琴
 *                     home3 四大优势 / home4 行业联动 / home5 banner /
 *                     home6 城市联动 / home8 合作轮播+新闻 / home9 联系条
 * ===================================================================== */

/* ---------- home1 首屏 banner（index.html，home7 变体 + home10 数据条） ---------- */
body.is-kaiping,
body.is-home1-intro {
  overflow: hidden;
}

body.is-kaiping header,
body.is-home1-intro header {
  opacity: 0;
  pointer-events: none;
}

.kaiping-splash {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: #fff;
  overflow: hidden;
}

.kaiping-splash-main {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: 50% 50%;
  z-index: 2;
}

.kaiping-splash-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform-origin: 50% 50%;
}

.kaiping-splash-diag {
  position: absolute;
  left: 0;
  top: 0;
  width: 56vw;
  height: 56vw;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  will-change: left, top, opacity;
}

.kaiping-splash-diag img {
  width: 100%;
  height: 100%;
  display: block;
}

.home1.is-intro-pending .home10-wrap,
.home1.is-intro-pending .home10-stats {
  opacity: 0;
}

.home1.is-intro-pending .bg video,
.home1.is-intro-pending .bg img {
  opacity: 0;
}

.home7.home1,
.home7.home1,
.home1 {
  position: relative;
  width: 100%;
  margin-top: var(--head);
  height: 50.625vw;
  overflow: hidden;
  background: #fff;
}

.home1 .bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: #fff;
}

.home1 .bg::after {
  content: "";
  position: absolute;
  inset: 0;
}

.home1 .bg video,
.home1 .bg img {
  display: block;
  width: 96%;
  height: 47.916vw;
  object-fit: cover;
  border-radius: 1.25vw;
  margin: 0 auto;
}

.home1 .wrap,
.home1 .home10-wrap {
  position: absolute;
  left: 6.25vw;
  top: 19.375vw;
  bottom: auto;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  gap: 0.52vw;
}

.home1 .tt {
  color: #fff;
  line-height: 1.4;
  text-shadow: 0.26vw 0.208vw 0.416vw rgba(0, 0, 0, .2);
}

/* ---------- home10：首页 home1 内的数据条 ---------- */
.home10-stats {
  position: absolute;
  left: 5.416vw;
  bottom: 8.593vw;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 4.166vw;
}

.home10-stat {
  position: relative;
  width: 8.333vw;
  padding-left: 1.25vw;
  color: var(--white);
  font-family: var(--family);
  display: flex;
  flex-direction: column;
  gap: 0.416vw;
}

.home10-stat.has-divider::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.833vw;
  width: 0.052vw;
  height: 4.427vw;
  background: #000;
}

.home10-stat .num-line {
  height: 3.75vw;
  display: flex;
  align-items: baseline;
  gap: 0.416vw;
}

.home10-stat .num {
  font-family: var(--family);
  font-size: 2.5vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.075vw;
  color: var(--white);
  text-shadow: 0.26vw 0.156vw 0.312vw rgba(0, 0, 0, .2);
}

.home10-stat .unit {
  color: var(--white);
  letter-spacing: .2.187vw;
  text-shadow: 0.26vw 0.156vw 0.312vw rgba(0, 0, 0, .2);
  transform: translateY(-1.302vw);
}

.home10-stat .lb {
  color: var(--white);
  font-family: var(--family);
  text-shadow: 0.26vw 0.156vw 0.312vw rgba(0, 0, 0, .2);
  letter-spacing: .2.812vw;
}

/* ---------- home2 核心产品体系手风琴（参考 home19） ---------- */
.home2 {
  padding: 4.166vw 0 3.802vw;
  background: #fff;
}

.home2-tt {
  font-weight: 600;
  color: var(--tt);
  text-align: center;
  line-height: 1.2;
  margin-bottom: 3.125vw;
}

.home2-systems {
  display: flex;
  gap: 1.25vw;
  align-items: flex-start;
  margin: 0 auto;
  padding: 0 2.083vw;
}

.home2-item {
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
  flex: 0 0 18.229vw;
  min-width: 0;
  cursor: pointer;
  transition: flex .55s cubic-bezier(.4, 0, .2, 1);
}

.home2-item.active {
  flex: 0 0 27.083vw;
}

.home2-systems:has(.home2-item.active) .home2-item:not(.active) {
  flex: 0 0 calc((100% - 27.083vw - 5vw) / 4);
}

.home2-item .label {
  color: #333;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.052vw;
  display: -webkit-box;
  display: box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.home2-system {
  position: relative;
  height: 31.302vw;
  border-radius: 1.041vw;
  overflow: hidden;
}

.home2-system .bg {
  position: absolute;
  inset: 0;
}

.home2-system .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home2-system .bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .55) 100%);
  border-radius: 1.041vw;
}

.home2-item:not(.active) .home2-system .bg::after {
  background: rgba(0, 0, 0, .4);
}

.home2-system .label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.458vw;
  z-index: 2;
  color: #fff;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.052vw;
}

/* ---------- home3 支撑价值的四大核心优势 ---------- */
.home3 {
  padding: 0.416vw 0 6.25vw;
  background: #fff;
}

.home3-head {
  width: 35.52vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto 2.916vw;
  text-align: center;
}

.home3-head .tt {
  color: #333;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 1.25vw;
}

.home3-head .desc {
  color: #666;
  line-height: 1.6;
}

.home3-cards {
  width: 79.166vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12.083vw;
}

.home3-card {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.302vw;
  padding: 0vw 0.416vw;
}

.home3-card .ic {
  position: relative;
  width: 4.479vw;
  height: 4.479vw;
  border-radius: 50%;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .35s ease;
}

.home3-card .ic img {
  width: 2.187vw;
  height: 2.187vw;
  object-fit: contain;
  transition: filter .35s ease;
}

.home3-card .name {
  color: var(--green);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.home3-card:hover .ic {
  background: var(--green);
}

.home3-card:hover .ic img {
  filter: brightness(0) invert(1);
}

/* ---------- home4 行业垂直联动（左信息 sticky 切换右大图） ---------- */
.home4 {
  position: relative;
  background: #fff;
  padding: 5.312vw 0 8.333vw 0;
  overflow: hidden;
}

.home4-inner {
  width: 87.5vw;
  margin: 0 6.25vw;
  display: flex;
  flex-direction: column;
  gap: 2.083vw;
}

.home4-row {
  display: flex;
  justify-content: space-between;
  gap: 3.333vw;
}

.home4-info {
  width: 21.875vw;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1.145vw;
  margin-top: 7.968vw;
}

.home4-card {
  position: relative;
  width: 62.5vw;
  height: 28.125vw;
  flex-shrink: 0;
  border-radius: 0.937vw;
  overflow: hidden;
  background: #eee;
}

.home4-card-bg {
  position: absolute;
  inset: 0;
}

.home4-card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home4-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .28) 100%);
  pointer-events: none;
}

.home4-info .tt {
  color: #333;
  font-weight: 600;
  line-height: 1.4;
}

.home4-info .desc {
  color: #666;
  line-height: 1.6;
  letter-spacing: .1.666vw;
}

.home4-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625vw 1.666vw;
  border: 0.052vw solid var(--green);
  border-radius: 52.031vw;
  color: var(--green);
  background: transparent;
  width: fit-content;
  font-weight: 500;
  margin-top: 1.354vw;
  transition: background .25s ease, color .25s ease;
}

.home4-btn:hover {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
  box-shadow: 0 0.416vw 1.25vw rgba(11, 49, 37, .1);
}

.home4-tabs {
  position: absolute;
  left: 1.25vw;
  right: 1.25vw;
  bottom: 1.25vw;
  display: flex;
  align-items: center;
  gap: 1.25vw;
  z-index: 2;
}

.home4-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  padding: 0.729vw 0.937vw;
  height: 4.687vw;
  border-radius: 0.52vw;
  color: rgba(255, 255, 255, .9);
  background: rgba(255, 255, 255, .18);
  border: 0.052vw solid rgba(255, 255, 255, .22);
  backdrop-filter: blur(0.729vw);
  cursor: default;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.home4-tab.on,
.home4-tab:hover {
  background: rgba(255, 255, 255, .92);
  color: var(--green);
  border-color: rgba(255, 255, 255, .92);
}

.home4-tabs:has(.home4-tab:hover) .home4-tab.on:not(:hover) {
  background: rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .9);
  border-color: rgba(255, 255, 255, .22);
}

/* ---------- home56：home5 覆盖 home6-stage，轮播后变圆露出地球 ---------- */
.home56-arena {
  position: relative;
  width: 83.958vw;
  max-width: calc(100% - 4.166vw);
  height: 47.239vw;
  margin: 0 auto;
  overflow: visible;
}

.home5 {
  position: absolute;
  left: 50%;
  top: 0;
  width: 100vw;
  height: 100vh;
  margin-left: -50vw;
  z-index: 12;
  overflow: hidden;
  background: #000;
  border-radius: 0;
  transform-origin: center center;
}

.home5.is-reverse-gated {
  opacity: 0 !important;
  visibility: hidden !important;
}

.home5-track {
  position: relative;
  width: 100%;
  height: 100%;
}

.home5-slide {
  /* position: absolute;
  inset: 0; */
  width: 100%;
  height: 100%;
  overflow: hidden;
  will-change: transform;
}

.home5-slide.is-active {
  z-index: 2;
}

.home5-bg {
  position: absolute;
  inset: 0;
}

.home5-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home5-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, 0) 100%);
}

.home5-inner {
  position: absolute;
  left: 6.25vw;
  bottom: 6.093vw;
  z-index: 2;
  width: 40.572vw;
  max-width: calc(100% - 12.5vw);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
  will-change: transform;
}

.home5-inner .tt {
  color: #fff;
  font-weight: 500;
  line-height: 1.4;
}

.home5-inner .desc {
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0.166vw;
  font-weight: 300;
}

.home5-slide.is-light .home5-bg::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .12) 100%);
}

.home5-slide.is-light .home5-inner .tt {
  color: #fff;
  text-shadow: none;
}

/* home6 视角固定期间：配合 JS 钳制滚动，避免 Lenis 惯性滑入 home8 */
html.home6-view-pinned {
  overscroll-behavior: none;
}

html.home6-view-pinned body {
  overscroll-behavior-y: none;
}

/* ---------- home6 立足东亚（左信息卡 / 中地图切换 / 右胶囊 hover 联动） ---------- */
.home6 {
  position: relative;
  background: #fff;
  padding: 8.333vw 0 8.333vw;
  min-height: 100vh;
  z-index: 2;
}

.home6-head {
  margin-bottom: 3.125vw;
}

.home6-head .tt {
  color: #333;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.home6-stage {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  max-width: none;
}

.home6-stage:not(.is-earth-ready) #modelViewer {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.home6-stage.is-earth-ready #modelViewer {
  opacity: 1;
  visibility: visible;
  transition: opacity .55s ease;
}

.home5.is-morphing .home5-inner,
.home5.is-revealing .home5-inner {
  opacity: 0;
  pointer-events: none;
}

.home5.is-revealing {
  pointer-events: none;
}

.home6-map {
  position: absolute;
  inset: 0;
}

.home6-map model-viewer {
  display: block;
}

#modelViewer {
  width: 50vw;
  height: 42vw;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.Hotspot {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  transition: opacity .3s ease;
}

.Hotspot:not([data-visible]),
.Hotspot[data-visible="false"] {
  opacity: 0;
  pointer-events: none;
}

.HotspotAnnotation {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.187vw;
  padding: 0 0.937vw;
  border-radius: 1.041vw;
  background: rgba(255, 255, 255, .5);
  color: #1d1d1d;
  font-size: 0.625vw;
  font-weight: 600;
  letter-spacing: .0.104vw;
  box-shadow: 0.156vw 0.208vw 0.494vw rgba(215, 215, 215, .25);
  white-space: nowrap;
}

.HotspotAnnotationStack {
  display: flex;
  flex-direction: column;
  gap: 0.52vw;
}

.HotspotAnnotation.sub {
  opacity: .92;
}

/* .Hotspot.is-nanjing .HotspotAnnotationStack {
  transform: translateY(2.604vw);
}

.Hotspot.is-nanjing.is-nanjing-copy1 .HotspotAnnotation {
  transform: translate(0.52vw, 7.916vw);
}

.Hotspot.is-nanjing.is-nanjing-copy2 .HotspotAnnotation {
  transform: translate(-3.958vw, 5.468vw);
}

.Hotspot.is-nanjing.is-nanjing-copy3 .HotspotAnnotation {
  transform: translate(0.52vw, 9.947vw);
}

.Hotspot.is-tokyo .HotspotAnnotation {
  transform: translate(2.604vw, -3.125vw);
} */

.Hotspot.is-shenzhen .HotspotAnnotation {
  display: none;
}

.Hotspot.is-vietnam .HotspotAnnotation {
  display: none;
}

.Hotspot.is-malaysia .HotspotAnnotation {
  display: none;
}

.home6-map img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .5s ease;
}

.home6-map img.on {
  opacity: 1;
}

/* 左侧公司信息卡 */
.home6-card {
  position: absolute;
  left: 3.125vw;
  bottom: 6.25vw;
  z-index: 3;
  width: 25.26vw;
  padding: 1.875vw 1.666vw;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(1.041vw);
  -webkit-backdrop-filter: blur(1.041vw);
  border-radius: 0.833vw;
  box-shadow: 0 1.25vw 3.125vw rgba(11, 49, 37, .1);
  transition: opacity .55s cubic-bezier(.4, 0, .2, 1), transform .55s cubic-bezier(.4, 0, .2, 1);
}

.home6-card-pane .pic {
  display: flex;
  align-items: flex-end;
  gap: 0.729vw;
}

.home6-card-pane .pic .city {
  width: 14.843vw;
  height: 8.437vw;
  border-radius: 0.625vw;
  object-fit: cover;
  flex-shrink: 0;
}

.home6-card-pane .pic .symbol {
  width: 7.864vw;
  height: 6.614vw;
  object-fit: contain;
  opacity: .9;
}

.home6-card-pane {
  display: none;
  flex-direction: column;
  gap: 1.25vw;
}

.home6-card-pane.on {
  display: flex;
}

.home6-card-pane .cname {
  color: #333;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.home6-card-pane .caddr {
  color: var(--tt2);
  line-height: 1.5;
  letter-spacing: .1.666vw;
  text-align: center;
}

.home6-card-pane .caddr p {
  margin: 0;
  text-align: center;
}

.home6-card-pane .cmeta {
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
  margin-top: 0.208vw;
  text-align: center;
}

.home6-card-pane .cmeta li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625vw;
  text-align: center;
}

.home6-card-pane .cmeta .ic {
  width: 1.145vw;
  height: 1.145vw;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.home6-card-pane .cmeta .ic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home6-card-pane .cmeta .txt {
  color: var(--tt2);
  line-height: 1.5;
  letter-spacing: .1.666vw;
  text-align: center;
}

/* 右侧城市列表（参考 home28） */
.home6-cities {
  position: absolute;
  right: 3.125vw;
  top: 8.02vw;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 0.546vw;
  width: 13.541vw;
}

.home6-stage:not(.is-cards-in) .home6-card {
  opacity: 0;
  transform: translateY(2.083vw);
  pointer-events: none;
}

.home6-stage.is-cards-in .home6-card {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.home6-stage.is-earth-migrate .home6-card,
.home6-stage.is-earth-migrate .home6-cities {
  transition: none;
  opacity: var(--home6-overlay-opacity, 1);
  pointer-events: var(--home6-overlay-pe, auto);
}

.home6-stage:not(.is-cards-in) .home6-cities {
  pointer-events: none;
}

.home6-stage:not(.is-cards-in) .home6-city {
  opacity: 0;
  transform: translateY(-2.083vw);
}

.home6-stage.is-cards-in .home6-city {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .55s cubic-bezier(.4, 0, .2, 1), transform .55s cubic-bezier(.4, 0, .2, 1), background .25s ease, color .25s ease;
}

.home6-stage.is-cards-in .home6-city:nth-child(1),
.home6-stage.is-cards-in .home6-city:nth-child(2),
.home6-stage.is-cards-in .home6-city:nth-child(3),
.home6-stage.is-cards-in .home6-city:nth-child(4),
.home6-stage.is-cards-in .home6-city:nth-child(5) {
  transition-delay: 0ms;
}

.home6-city {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.729vw 1.093vw;
  background: rgba(255, 255, 255, .92);
  border-radius: 0.546vw;
  box-shadow: 0.156vw 0.208vw 0.494vw rgba(215, 215, 215, .25);
  color: #1d1d1d;
  letter-spacing: -.1.822vw;
  line-height: 1.093vw;
  transition: opacity .45s cubic-bezier(.4, 0, .2, 1), transform .45s cubic-bezier(.4, 0, .2, 1), background .25s ease, color .25s ease;
}

.home6-city .left {
  display: inline-flex;
  align-items: center;
  gap: 0.546vw;
}

.home6-city .dot {
  width: 0.364vw;
  height: 0.364vw;
  border-radius: 50%;
  background: var(--green);
  flex-shrink: 0;
  transition: background .25s ease;
}

.home6-city .plus {
  position: relative;
  width: 0.833vw;
  height: 0.833vw;
  flex-shrink: 0;
  transition: color .25s ease;
  color: #0b3125;
}

.home6-city .plus::before,
.home6-city .plus::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: currentColor;
  border-radius: 0.052vw;
  transform: translate(-50%, -50%);
}

.home6-city .plus::before {
  width: 0.625vw;
  height: 0.083vw;
}

.home6-city .plus::after {
  width: 0.083vw;
  height: 0.625vw;
}

.home6-city:hover,
.home6-city.on {
  background: var(--green);
  color: #fff;
}

.home6-city:hover .dot,
.home6-city.on .dot {
  background: #fff;
}

.home6-city:hover .plus,
.home6-city.on .plus {
  color: #fff;
}

/* 地图圆点 + 胶囊（参考 home28） */
.home6-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.home6-dot {
  position: absolute;
  width: 0.625vw;
  height: 0.625vw;
  margin: -0.312vw 0 0 -0.312vw;
  border-radius: 50%;
  background: var(--green);
  pointer-events: auto;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}

.home6-dot::after {
  content: "";
  position: absolute;
  inset: -0.416vw;
  border-radius: 50%;
  background: rgba(11, 49, 37, .12);
  opacity: 0;
  transition: opacity .25s ease;
}

.home6-dot:hover::after,
.home6-dot.on::after {
  opacity: 1;
}

.home6-dot:hover,
.home6-dot.on {
  transform: scale(1.15);
  box-shadow: 0 0 0 0.208vw rgba(11, 49, 37, .18);
}

.home6-tag {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.187vw;
  min-width: 4.739vw;
  padding: 0 0.937vw;
  border-radius: 1.041vw;
  background: rgba(217, 217, 217, .65);
  color: #666;
  font-size: 0.625vw;
  font-weight: 600;
  letter-spacing: .0.104vw;
  pointer-events: auto;
  cursor: pointer;
  transition: background .25s ease, color .25s ease;
}

.home6-tag.is-topleft {
  transform: translate(-100%, -100%);
}

.home6-tag:hover,
.home6-tag.on {
  background: var(--green);
  color: #fff;
}

.home6-dot[data-city="nanjing"] {
  left: 48.385vw;
  top: 12.395vw;
}

.home6-dot[data-city="japan"] {
  left: 66.302vw;
  top: 9.166vw;
}

.home6-dot[data-city="shenzhen"] {
  left: 43.802vw;
  top: 19.739vw;
}

.home6-dot[data-city="vietnam"] {
  left: 35.989vw;
  top: 22.135vw;
}

.home6-dot[data-city="malaysia"] {
  left: 44.01vw;
  top: 35.156vw;
}

.home6-tag[data-city="nanjing"] {
  left: 41.354vw;
  top: 11.666vw;
}

.home6-tag[data-city="japan"] {
  left: 62.76vw;
  top: 8.229vw;
}

.home6-tag[data-city="shenzhen"] {
  left: 40.312vw;
  top: 18.75vw;
}

.home6-tag[data-city="vietnam"] {
  left: 32.5vw;
  top: 21.145vw;
}

.home6-tag[data-city="malaysia"] {
  left: 40.52vw;
  top: 34.218vw;
}

/* ---------- home8 合作网络 + 技术与行业洞察 ---------- */
.home8 {
  position: relative;
  background: #fafafa;
  padding: 3.125vw 0 11.812vw;
  overflow: hidden;
}

.home8 .home16-deco {
  z-index: 0;
}

.home8 .home16-deco1 {
  left: 32.916vw;
  top: 9.375vw;
  width: 37.5vw;
  height: 37.5vw;
  border-radius: 37.5vw;
  opacity: 0.82;
  filter: blur(13.02vw);
}

.home8-bg {
  position: absolute;
  top: 0;
  width: 48.697vw;
  height: 47.239vw;
  z-index: 0;
  pointer-events: none;
}

.home8-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home8-glass {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  max-width: 100%;
  height: 35vw;
  border-radius: 3.125vw;
  border: 0.052vw solid transparent;
  background: transparent;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transform: translateY(3.75vw);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1),
    transform 1s cubic-bezier(0.215, 0.61, 0.355, 1),
    background 1s cubic-bezier(0.215, 0.61, 0.355, 1),
    border-color 1s cubic-bezier(0.215, 0.61, 0.355, 1),
    box-shadow 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.home8-glass.is-revealed {
  opacity: 1;
  transform: translateY(0);
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(1.562vw) saturate(1.15);
  -webkit-backdrop-filter: blur(1.562vw) saturate(1.15);
  border-color: rgba(255, 255, 255, 0.55);
  box-shadow: 0 0.104vw 0 0 rgba(255, 255, 255, 0.55) inset,
    0 0.521vw 2.083vw rgba(11, 49, 37, 0.06);
}

.home8-shape {
  position: absolute;
  left: 0;
  top: 6.7708vw;
  width: 100vw;
  max-width: 100%;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  transform: translateY(2.5vw);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s,
    transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
}

.home8-shape.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

.home8-shape img {
  width: 100%;
  height: auto;
  display: block;
}

.home8-top {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding-bottom: 3.5vw;
  opacity: 0;
  transform: translateY(2.916vw);
  transition: opacity .95s cubic-bezier(0.215, 0.61, 0.355, 1),
    transform .95s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.home8-top.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

.home8-mid {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3.125vw;
  width: calc(100% - 10.416vw);
  max-width: none;
  padding: 12.937vw 0 10.4167vw;
}

.home8-top-zuo {
  position: relative;
  z-index: 4;
  flex: 0 0 27.083vw;
  padding-right: 3.802vw;
  border-right: 0.052vw solid rgba(0, 0, 0, .1);
  margin-top: 1.562vw;
  opacity: 0;
  visibility: hidden;
  transform: translateX(4.687vw);
  transition: opacity .95s cubic-bezier(0.215, 0.61, 0.355, 1),
    transform .95s cubic-bezier(0.215, 0.61, 0.355, 1),
    visibility 0s linear .95s;
}

.home8-top-zuo.is-revealed {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition: opacity .95s cubic-bezier(0.215, 0.61, 0.355, 1),
    transform .95s cubic-bezier(0.215, 0.61, 0.355, 1),
    visibility 0s linear 0s;
}

.home8-track-peek {
  position: absolute;
  left: calc(100% + 3.802vw);
  top: 50%;
  transform: translateY(-50%) scale(.98);
  width: 12.604vw;
  height: 8.854vw;
  border-radius: 1.041vw;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}

.home8-track-peek.on {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) scale(1);
}

.home8-track-peek img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.home8-partner .pname {
  color: #000;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 1.25vw;
}

.home8-partner .pdesc {
  color: var(--tt2);
  line-height: 1.5;
  letter-spacing: .1.666vw;
}

.home8-top-you {
  width: 40.625vw;
  display: flex;
  flex-direction: column;
  gap: 1.354vw;
  padding-left: 0;
}

.home8-top-you .tt {
  color: #333;
  font-weight: 600;
  line-height: 1.2;
}

.home8-top-you .desc {
  color: var(--tt2);
  line-height: 1.6;
  letter-spacing: .1.666vw;
  max-width: 39.583vw;
}

.home8-btn-solid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625vw 1.666vw;
  border-radius: 52.031vw;
  background: var(--green);
  color: #fff;
  font-weight: 300;
  width: fit-content;
  transition: opacity .25s ease, transform .25s ease;
  margin-top: 0.729vw;
}

.home8-btn-solid:hover {
  background-color: #fff;
  color: var(--green);
}

/* 合作 logo 轨道（自动从右向左滚动） */
.home8-track-wrap {
  position: relative;
  z-index: 2;
  flex: 0 0 40.625vw;
  width: 46.875vw;
  max-width: 100%;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateX(5.729vw);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1) .12s,
    transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) .12s,
    visibility 0s linear 1.12s;
}

.home8-track-wrap.is-revealed {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1) .12s,
    transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) .12s,
    visibility 0s linear .12s;
}

.home8-track {
  display: inline-flex;
  align-items: center;
  gap: 1.666vw;
  will-change: transform;
}

.home8-track-card {
  flex-shrink: 0;
  width: 12.604vw;
  height: 8.854vw;
  border-radius: 1.041vw;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25vw;
}

.home8-track-card img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* 技术与行业洞察头部 */
.home8-news-block {
  position: relative;
  left: 0;
  right: 0;
  /* bottom: 10.156vw; */
  z-index: 4;
  height: 33.333vw;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transform: translateX(5.729vw);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1),
    transform 1s cubic-bezier(0.215, 0.61, 0.355, 1),
    visibility 0s linear 1s;
}

.home8-news-block.is-revealed {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1),
    transform 1s cubic-bezier(0.215, 0.61, 0.355, 1),
    visibility 0s linear 0s;
}

.home8-news-head {
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2.083vw;
  margin-bottom: 4.166vw;
}

.home8-news-zuo .tt {
  color: #333;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 0.833vw;
}

.home8-news-zuo .desc {
  color: var(--tt2);
  line-height: 1.6;
  letter-spacing: .1.666vw;
}

.home8-news-nav {
  display: flex;
  align-items: center;
  gap: 1.562vw;
  flex-shrink: 0;
}

.home8-news-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625vw 1.666vw;
  border-radius: 52.031vw;
  color: #666;
  background: transparent;
  transition: background .25s ease, color .25s ease;
}

.home8-news-nav a.on,
.home8-news-nav a:hover {
  background: var(--green);
  color: #fff;
}

/* 新闻三栏 */
.home8-news {
  flex-shrink: 0;
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
}

.home8-news.is-loading {
  opacity: .55;
  pointer-events: none;
  transition: opacity .25s ease;
}

.home8-news-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
  background: transparent;
}

.home8-news-card .pic {
  position: relative;
  width: 100%;
  height: 13.8542vw;
  aspect-ratio: auto;
  overflow: hidden;
  border-radius: 0.833vw;
  border: 0.052vw solid rgba(0, 0, 0, .06);
  box-shadow: 0 0.729vw 2.083vw rgba(0, 0, 0, .06);
}

.home8-news-card .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.home8-news-card .pic > a {
  display: block;
  width: 100%;
  height: 100%;
}

.home8-news-card:hover .pic img {
  transform: scale(1.05);
}

.home8-news-card .tag {
  position: absolute;
  left: 1.041vw;
  top: 1.041vw;
  z-index: 2;
  padding: 0.312vw 0.625vw;
  border-radius: 52.031vw;
  background: rgba(0, 0, 0, .35);
  border: 0.052vw solid rgba(255, 255, 255, .22);
  color: #fff;
  backdrop-filter: blur(0.625vw);
  line-height: 1.4;
  letter-spacing: .2.187vw;
  transition: background .3s ease, border-color .3s ease, color .3s ease, backdrop-filter .3s ease;
}

.home8-news-card .tag.dark,
.home8-news-card:hover .tag {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
  backdrop-filter: none;
}

.home8-news-card .info {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin-bottom: 0.833vw;
}

.home8-news-card .info .date {
  color: #999;
  letter-spacing: 0.058vw;
  transition: color .3s ease;
}

.home8-news-card .info .tit {
  color: #333;
  font-weight: 400;
  line-height: 1.4;
  transition: color .3s ease;
}

.home8-news-card:hover .info .date,
.home8-news-card:hover .info .tit {
  color: var(--green);
}

.home8-news-actions {
  display: flex;
  align-items: center;
  gap: 1.25vw;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: max-height .35s ease, opacity .35s ease, margin-top .35s ease;
  margin-top: 0;
}

.home8-news-card:hover .home8-news-actions {
  max-height: 2.083vw;
  opacity: 1;
  margin-top: 0.208vw;
  pointer-events: auto;
}

.home8-news-act {
  color: var(--green);
  font-weight: 500;
  letter-spacing: .1.666vw;
  text-decoration: underline;
  text-underline-offset: 0.208vw;
  text-decoration-thickness: 0.052vw;
  transition: opacity .25s ease;
}

.home8-news-act:hover {
  opacity: .75;
}

/* ---------- home9 联系表单条 ---------- */
.home9 {
  width: 100%;
  height: 11.458vw;
  background: linear-gradient(90deg, #567e72 0%, #fafafa 100%);
}

.home9-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.083vw;
}

.home9 .tt {
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
}

.home9-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.625vw 1.666vw;
  border-radius: 52.031vw;
  background: var(--green);
  color: #fff;
  font-weight: 300;
  transition: opacity .25s ease, transform .25s ease;
}

.home9-btn:hover {
  background-color: #fff;
  color: var(--green);
}

/* ---------- index.html：model-viewer 控件隐藏 ---------- */
.home6-map .progress-bar.hide,
.home6-map #ar-button {
  display: none !important;
}

.home8-bg.is-suppressed img {
  visibility: hidden;
}

.home8-news-card.is-filtered {
  display: none;
}

/* =====================================================================
 * 法律页面：home60 免责声明 / home61 隐私政策（独立长文页，单栏）
 * ===================================================================== */
.home60,
.home61 {
  position: relative;
  margin-top: var(--head);
  padding: 6.25vw 0 8.229vw;
  background: #fff;
  overflow: hidden;
}

.home60 .deco,
.home61 .deco {
  position: absolute;
  right: -15.625vw;
  top: 31.25vw;
  width: 35.885vw;
  height: 35.885vw;
  border-radius: 50%;
  background: var(--green2);
  opacity: .14;
  filter: blur(8.333vw);
  z-index: 0;
  pointer-events: none;
}

.home60-inner,
.home61-inner {
  position: relative;
  z-index: 1;
  width: 57.291vw;
  max-width: calc(100% - 4.166vw);
  margin: 0 auto;
}

/* 头部：主标题 + 更新时间 + 分割线 */
.home60-head,
.home61-head {
  margin-bottom: 2.916vw;
}

.home60-head .tag,
.home61-head .tag {
  display: inline-flex;
  align-items: center;
  padding: 0.312vw 0.833vw;
  border-radius: 52.031vw;
  background: rgba(11, 49, 37, .08);
  color: var(--green);
  letter-spacing: 0.052vw;
  margin-bottom: 1.041vw;
}

.home60-head .tt,
.home61-head .tt {
  color: #000;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 0.833vw;
}

.home60-head .updated,
.home61-head .updated {
  color: var(--tt3);
  letter-spacing: .0.26vw;
}

.home60-head .line,
.home61-head .line {
  height: 0.052vw;
  width: 100%;
  background: rgba(0, 0, 0, .1);
  margin-top: 1.875vw;
}

/* 摘要导语 */
.home60-intro,
.home61-intro {
  color: var(--tt);
  line-height: 1.8;
  letter-spacing: .0.156vw;
  margin-bottom: 2.5vw;
  padding: 1.25vw 1.458vw;
  background: #f6f8f7;
  border-left: 0.208vw solid var(--green);
  border-radius: 0.208vw;
}

/* 正文小节 */
.home60-content,
.home61-content {
  display: flex;
  flex-direction: column;
  gap: 2.5vw;
}

.home60-content .sec,
.home61-content .sec {
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
}

.home60-content .sec .stt,
.home61-content .sec .stt {
  display: flex;
  align-items: baseline;
  gap: 0.833vw;
  color: var(--tt);
  font-weight: 500;
  line-height: 1.5;
}

.home60-content .sec .stt .num,
.home61-content .sec .stt .num {
  color: var(--green2);
  font-weight: 500;
  letter-spacing: .0.26vw;
  min-width: 2.083vw;
}

.home60-content .sec p,
.home61-content .sec p {
  color: var(--tt2);
  line-height: 1.8;
  letter-spacing: .0.156vw;
}

.home60-content .sec ul,
.home61-content .sec ul {
  display: flex;
  flex-direction: column;
  gap: 0.52vw;
  padding-left: 1.25vw;
  margin: 0;
}

.home60-content .sec ul li,
.home61-content .sec ul li {
  color: var(--tt2);
  line-height: 1.8;
  letter-spacing: .0.156vw;
  list-style: disc;
  list-style-position: outside;
}

/* 底部联系信息 */
.home60-foot,
.home61-foot {
  margin-top: 4.166vw;
  padding: 1.666vw 1.458vw;
  background: #fafafa;
  border-radius: 0.416vw;
}

.home60-foot .ftt,
.home61-foot .ftt {
  color: var(--tt);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 0.625vw;
}

.home60-foot p,
.home61-foot p {
  color: var(--tt2);
  line-height: 1.8;
}

.home60-foot a,
.home61-foot a {
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 0.156vw;
}

.home60-foot a:hover,
.home61-foot a:hover {
  color: var(--green2);
}

.sresult {
  position: relative;
  background: #fff;
  padding: 8.27vw 0 9.739vw;
}

.sresult .home20-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.sresult .home20-card {
  width: auto;
}

.sresult .C-wrap {
  width: 83.333vw;
}

.sresult-head {
  margin-bottom: 3.125vw;
  padding-bottom: 1.458vw;
  border-bottom: 0.052vw solid rgba(0, 0, 0, .08);
}

.sresult-head .tt {
  color: #000;
  font-weight: 700;
  line-height: 1.3;
}

.sresult-tip {
  margin-top: 1.041vw;
  color: var(--tt2);
  line-height: 1.6;
}

.sresult-tip .kw,
.sresult-tip .num {
  color: var(--green2);
  font-weight: 700;
}

.sresult-block {
  margin-bottom: 4.166vw;
}

.sresult-block:last-child {
  margin-bottom: 0;
}

.sresult-bt {
  display: flex;
  align-items: center;
  gap: 0.625vw;
  margin-bottom: 2.083vw;
  color: #000;
  font-weight: 600;
}

.sresult-bt::before {
  content: "";
  width: 0.208vw;
  height: 1.25vw;
  background: var(--green2);
  border-radius: 0.104vw;
}

.sresult-bt span {
  color: var(--green2);
  font-weight: 700;
}

.sresult-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6.25vw 0;
}

.sresult-empty img {
  width: 7.291vw;
  height: auto;
  margin-bottom: 1.458vw;
  opacity: .5;
}

.sresult-empty p {
  color: var(--tt3);
  line-height: 1.5;
}

.sresult .home32 {
  padding: 0;
  background: transparent;
}

.sresult .home32 .deco {
  display: none;
}

.sresult .home32-grid {
  margin-bottom: 0;
}

.sresult-empty.hidden,
.sresult-results.hidden {
  display: none;
}

.newsdetail-share-popup {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.newsdetail-share-popup[hidden] {
  display: none;
}

.newsdetail-share-popup .newsdetail-share-mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .45);
}

.newsdetail-share-popup .newsdetail-share-panel {
  position: relative;
  z-index: 1;
  width: 320px;
  max-width: 100%;
  padding: 28px 24px 24px;
  border-radius: 12px;
  background: #fff;
  text-align: center;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .12);
}

.newsdetail-share-popup .newsdetail-share-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #999;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.newsdetail-share-popup .newsdetail-share-tt {
  margin-bottom: 16px;
  color: var(--tt1, #0d0d21);
  font-size: 18px;
  font-weight: 500;
}

.newsdetail-share-popup .newsdetail-share-qr {
  width: 220px;
  height: 220px;
  margin: 0 auto 12px;
  display: block;
}

.newsdetail-share-popup .newsdetail-share-tip {
  color: var(--tt3, #666);
  font-size: 14px;
  line-height: 1.6;
}
