@keyframes hero-slider-progress {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(0); }
}

.hero-slider{
  position:relative;
  width:100%;
  background:rgb(var(--hero-shell-bg, 245, 246, 244));
}
.hero-slider__shell{
  box-sizing:border-box;
  width:100%;
  max-width:var(--hero-max-width, 1440px);
  margin:0 auto;
  padding:var(--hero-pad-y, 20px) var(--hero-pad-x, 24px);
}
.hero-slider__layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(260px,.95fr);
  gap:var(--hero-gap, 16px);
  align-items:stretch;
}
.hero-slider__layout.is-solo{
  grid-template-columns:minmax(0,1fr);
}
.hero-slider__main{
  position:relative;
  min-width:0;
  height:100%;
  border-radius:var(--hero-radius, 24px);
  overflow:hidden;
  box-shadow:0 10px 28px rgba(28,40,24,.06);
  background:linear-gradient(135deg,#efffe8 0,#fff 48%,#fff0dd 100%);
}
.hero-slider__main.is-fixed{
  min-height:var(--hero-slider-height, 420px);
}
.hero-slider__main.is-natural{
  min-height:380px;
}
.hero-slider__carousel{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  overflow:hidden;
}
.hero-slider theme-carousel.hero-slider__carousel .carousel__track,
.hero-slider__track,
.hero-slider__carousel .carousel__track{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0;
  padding:0;
  overflow:hidden !important;
  list-style:none;
  flex-wrap:nowrap;
  scroll-snap-type:none !important;
}
/* 多张幻灯片时才启用横向轮播轨道 */
.hero-slider theme-carousel.hero-slider__carousel:not(.is-single-slide) .carousel__track,
.hero-slider__carousel:not(.is-single-slide) .carousel__track:has(> :nth-child(2)){
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:stretch;
  overflow-x:auto !important;
  scroll-snap-type:x mandatory !important;
}
.hero-slider theme-carousel.hero-slider__carousel .carousel__track > .hero-slider__slide,
.hero-slider__carousel .carousel__track > .hero-slider__slide,
.hero-slider__slide{
  position:relative;
  box-sizing:border-box;
  display:block;
  width:100% !important;
  height:100% !important;
  min-height:100%;
  overflow:hidden;
  background:linear-gradient(135deg,#efffe8 0,#fff 48%,#fff0dd 100%);
}
.hero-slider theme-carousel.hero-slider__carousel:not(.is-single-slide) .carousel__track > .hero-slider__slide,
.hero-slider__carousel:not(.is-single-slide) .carousel__track:has(> :nth-child(2)) > .hero-slider__slide{
  flex:0 0 100% !important;
  min-width:100% !important;
  max-width:100% !important;
  scroll-snap-align:start;
}
.hero-slider__media{
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-slider__media-desktop,
.hero-slider__media-mobile{
  width:100%;
  height:100%;
}
.hero-slider__media-mobile{
  display:none;
}
.hero-slider__media img,
.hero-slider__media .image,
.hero-slider__media svg{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--hero-focal, center);
  display:block;
}
.hero-slider__blob{
  position:absolute;
  top:-18%;
  right:-8%;
  width:58%;
  max-width:420px;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(166,220,140,.45) 0%,rgba(166,220,140,.16) 45%,rgba(166,220,140,0) 70%);
  pointer-events:none;
  z-index:1;
}
.hero-slider__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:#000;
  opacity:calc(var(--hero-overlay, 0) / 100);
  pointer-events:none;
}
.hero-slider__content-wrap{
  position:relative;
  z-index:2;
  height:100%;
  min-height:inherit;
  display:flex;
  padding:40px 44px;
  box-sizing:border-box;
}
.hero-slider__content-wrap.align-left{justify-content:flex-start}
.hero-slider__content-wrap.align-center{justify-content:center;text-align:center}
.hero-slider__content-wrap.align-right{justify-content:flex-end;text-align:right}
.hero-slider__content-wrap.valign-top{align-items:flex-start}
.hero-slider__content-wrap.valign-middle{align-items:center}
.hero-slider__content-wrap.valign-bottom{align-items:flex-end}
.hero-slider__content-wrap.align-center .hero-slider__btns{justify-content:center}
.hero-slider__content-wrap.align-right .hero-slider__btns{justify-content:flex-end}
.hero-slider__content{
  max-width:var(--hero-content-max, 560px);
  width:100%;
}
.hero-slider__title{
  margin:0 0 18px;
  font-family:inherit;
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.03em;
  color:rgb(var(--hero-title-color, 20, 20, 20));
  font-size:var(--hero-title-size, 44px);
}
.hero-slider__subtitle{
  margin:0 0 28px;
  line-height:1.7;
  color:rgb(var(--hero-subtitle-color, 102, 102, 102));
  font-size:var(--hero-subtitle-size, 15px);
  font-weight:400;
}
.hero-slider__btns{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.hero-slider__btn,
.hero-slider a.hero-slider__btn,
.hero-slider a.hero-slider__btn:hover{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  line-height:1.2;
  padding:12px 22px;
  border-radius:var(--btn-radius, 999px);
  border:1px solid transparent;
  transition:opacity .2s ease, transform .2s ease, box-shadow .2s ease;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(20,20,20,.06);
}
.hero-slider__btn:hover,
.hero-slider a.hero-slider__btn:hover{
  opacity:.96;
  transform:translateY(-1px);
  text-decoration:none;
}
.hero-slider__btn--solid,
.hero-slider a.hero-slider__btn--solid,
.hero-slider a.hero-slider__btn--solid:hover{
  background:rgb(var(--btn-bg, 20, 20, 20));
  color:rgb(var(--btn-text, 255, 255, 255)) !important;
  border-color:rgb(var(--btn-border, 20, 20, 20));
  box-shadow:0 6px 16px rgba(20,20,20,.16);
}
.hero-slider__btn--outline,
.hero-slider a.hero-slider__btn--outline,
.hero-slider a.hero-slider__btn--outline:hover{
  background:rgb(var(--btn-bg, 255, 255, 255));
  color:rgb(var(--btn-text, 20, 20, 20)) !important;
  border-color:rgb(var(--btn-border, 229, 229, 229));
}
.hero-slider__aside{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--hero-gap, 16px);
  min-height:100%;
}
.hero-slider__stat{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  border-radius:var(--hero-radius, 24px);
  background:rgb(var(--stat-card-bg, 255, 255, 255));
  box-shadow:0 10px 28px rgba(28,40,24,.06);
  min-height:0;
  box-sizing:border-box;
}
.hero-slider__stat-bg{
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-slider__stat-bg img,
.hero-slider__stat-bg .image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hero-slider__stat.has-image .hero-slider__stat-inner,
.hero-slider__stat.has-image .hero-slider__stat-link{
  background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.72) 100%);
}
.hero-slider__stat-inner,
.hero-slider__stat-link{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  width:100%;
  height:100%;
  min-height:150px;
  padding:28px 24px;
  box-sizing:border-box;
  text-align:left;
  text-decoration:none;
  color:inherit;
}
.hero-slider__stat-link:hover{
  text-decoration:none;
}
.hero-slider__stat-number{
  font-size:32px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.03em;
  color:rgb(var(--stat-number-color, 116, 214, 67));
  margin:0 0 10px;
}
.hero-slider__stat-label{
  font-size:14px;
  line-height:1.45;
  color:rgb(var(--stat-label-color, 85, 85, 85));
  font-weight:500;
}
.hero-slider__pagination{
  position:absolute;
  left:0;
  right:0;
  bottom:14px;
  z-index:3;
  display:flex;
  justify-content:center;
  gap:8px;
}
.hero-slider__dot{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(20,20,20,.22);
  cursor:pointer;
}
.hero-slider__dot[aria-current="true"],
.hero-slider__dot.is-active{
  background:#141414;
  transform:scale(1.15);
}
.hero-slider__bar{
  position:relative;
  width:22px;
  height:4px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(20,20,20,.18);
  overflow:hidden;
  cursor:pointer;
}
.hero-slider__bar-inner{
  position:absolute;
  inset:0;
  background:#141414;
  transform:translateX(-100%);
}
.hero-slider__bar[aria-current="true"] .hero-slider__bar-inner,
.hero-slider__bar.is-active .hero-slider__bar-inner{
  animation:hero-slider-progress var(--slideshow-speed, 6s) linear forwards;
}
.hero-slider__bar-inner--static{
  transform:none;
  opacity:0;
}
.hero-slider__bar[aria-current="true"] .hero-slider__bar-inner--static,
.hero-slider__bar.is-active .hero-slider__bar-inner--static{
  opacity:1;
  animation:none;
}
.hero-slider__nav{
  position:absolute;
  top:50%;
  z-index:3;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#141414;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.hero-slider__nav--prev{left:14px}
.hero-slider__nav--next{right:14px}
.hero-slider__nav--prev svg{transform:rotate(180deg)}
.hero-slider__nav:disabled{
  opacity:.35;
  cursor:default;
}
.hero-slider__nav svg{
  width:14px;
  height:14px;
}
@media (max-width:991.98px){
  .hero-slider__layout{
    grid-template-columns:1fr;
  }
  .hero-slider__aside{
    grid-template-columns:1fr 1fr;
  }
  .hero-slider__content-wrap{
    padding:32px 28px;
  }
  .hero-slider__stat-number{
    font-size:32px;
  }
}
@media (max-width:767.98px){
  .hero-slider__shell{
    padding:12px 12px 16px;
  }
  .hero-slider__main.is-fixed{
    min-height:var(--hero-slider-mobile-height, 360px);
  }
  .hero-slider__main.is-natural-mobile,
  .hero-slider__main.is-natural{
    min-height:320px;
  }
  .hero-slider__media-desktop.has-mobile{
    display:none;
  }
  .hero-slider__media-mobile{
    display:block;
    height:100%;
  }
  .hero-slider__content-wrap{
    padding:28px 22px;
  }
  .hero-slider__title{
    font-size:calc(var(--hero-title-size, 44px) * .62);
    margin-bottom:12px;
  }
  .hero-slider__subtitle{
    font-size:calc(var(--hero-subtitle-size, 15px) * .95);
    margin-bottom:20px;
    line-height:1.65;
  }
  .hero-slider__btn,
  .hero-slider a.hero-slider__btn,
  .hero-slider a.hero-slider__btn:hover{
    font-size:12px;
    padding:12px 12px;
  }
  .hero-slider__aside{
    gap:12px;
  }
  .hero-slider__stat-inner,
  .hero-slider__stat-link{
    min-height:120px;
    padding:20px 16px;
  }
  .hero-slider__stat-number{
    font-size:28px;
  }
  .hero-slider__stat-label{
    font-size:13px;
  }
  .hero-slider__nav{
    display:none;
  }
  .hero-slider__blob{
    width:70%;
    top:-12%;
    right:-16%;
  }
}
