/* ===== HERO CAROUSEL (2 EN slides, content-width) ===== */
.hero{
  padding:0 0 88px;
  text-align:center;
  position:relative;
}

.hero-banner-shell{
  max-width:min(1100px,calc(100% - 24px));
  margin:28px auto 0;
  padding:0 12px;
}

.hero-carousel{
  position:relative;
}

.hero-carousel-viewport{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  isolation:isolate;
  aspect-ratio:2.15 / 1;
  min-height:400px;
  background:#0b0e11;
  box-shadow:
    0 24px 72px rgba(0,0,0,.52),
    0 0 0 1px rgba(255,255,255,.05) inset;
  -webkit-mask-image:radial-gradient(ellipse 96% 92% at 50% 50%,#000 52%,transparent 100%);
  mask-image:radial-gradient(ellipse 96% 92% at 50% 50%,#000 52%,transparent 100%);
}

.hero-carousel-track{
  position:relative;
  width:100%;
  height:100%;
}

.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .5s ease, visibility .5s ease;
}
.hero-slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:1;
}

.hero-slide-media{
  position:absolute;
  inset:0;
}
.hero-slide-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.03);
}
.hero-slide.is-active .hero-slide-media img{
  animation:heroBannerKenBurns 9s ease-in-out forwards;
}
@keyframes heroBannerKenBurns{
  0%{transform:scale(1.03)}
  100%{transform:scale(1.09)}
}

.hero-slide--partner .hero-slide-media img{
  object-position:center;
}
.hero-slide--team .hero-slide-media img{
  object-position:center 38%;
}

.hero-slide-veil{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(11,14,17,.92) 0%,rgba(11,14,17,.45) 14%,transparent 26%,transparent 74%,rgba(11,14,17,.45) 86%,rgba(11,14,17,.92) 100%),
    linear-gradient(180deg,rgba(11,14,17,.88) 0%,rgba(11,14,17,.35) 16%,transparent 30%,transparent 70%,rgba(11,14,17,.35) 84%,rgba(11,14,17,.9) 100%);
}
.hero-slide--team .hero-slide-veil{
  background:
    linear-gradient(90deg,rgba(11,14,17,.88) 0%,rgba(11,14,17,.4) 12%,transparent 24%,transparent 76%,rgba(11,14,17,.4) 88%,rgba(11,14,17,.88) 100%),
    linear-gradient(180deg,rgba(11,14,17,.85) 0%,rgba(11,14,17,.32) 14%,transparent 28%,transparent 72%,rgba(11,14,17,.32) 86%,rgba(11,14,17,.88) 100%);
}
/* 四边额外柔化层 */
.hero-slide-veil::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:
    inset 0 0 48px 20px rgba(11,14,17,.55),
    inset 0 0 100px 40px rgba(11,14,17,.28);
}

.hero-slide-seam{
  position:absolute;
  top:6%;
  bottom:10%;
  left:38%;
  width:22%;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(11,14,17,.35) 0%,rgba(254,119,1,.2) 48%,rgba(255,149,51,.07) 72%,transparent 100%);
  filter:blur(18px);
  transform:skewX(-7deg);
  opacity:.9;
}
.hero-slide-seam::after{
  content:"";
  position:absolute;
  top:8%;
  bottom:8%;
  left:46%;
  width:3px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,transparent 0%,rgba(255,190,120,.32) 42%,rgba(254,119,1,.45) 50%,rgba(255,190,120,.25) 58%,transparent 100%);
  filter:blur(2px);
  box-shadow:0 0 22px rgba(254,119,1,.3);
}

.hero-carousel-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:14px;
}
.hero-carousel-dots button{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.28);
  cursor:pointer;
  transition:width .25s ease, background .25s ease, box-shadow .25s ease;
}
.hero-carousel-dots button.is-active{
  width:22px;
  background:linear-gradient(90deg,#FE7701,#FF9533);
  box-shadow:0 0 12px rgba(254,119,1,.4);
}

.hero-body{
  position:relative;
  margin-top:8px;
  z-index:5;
}
.hero-confidence-aura{
  position:absolute;
  left:50%;
  top:-56px;
  transform:translateX(-50%);
  width:min(760px,calc(100% - 48px));
  height:180px;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(ellipse 60% 80% at 50% 100%,rgba(254,119,1,.14),transparent 70%),
    radial-gradient(ellipse 35% 50% at 72% 90%,rgba(255,149,51,.1),transparent 72%);
  filter:blur(22px);
}
.hero-body .container{
  position:relative;
  z-index:1;
  max-width:900px;
}

.hero-slogan{
  position:relative;
  display:inline-block;
  font-size:14px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--yellow);
  margin-bottom:20px;
  padding:10px 22px;
  border:1px solid rgba(254,119,1,.28);
  border-radius:999px;
  background:rgba(17,22,29,.55);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 8px 32px rgba(0,0,0,.24),0 0 36px rgba(254,119,1,.07);
}

@media(max-width:767px){
  .hero{padding-bottom:56px}
  .hero-banner-shell{padding:0;margin-top:14px;max-width:calc(100% - 20px)}
  .hero-carousel-viewport{
    aspect-ratio:2.5 / 1;
    min-height:0;
    height:auto;
    border-radius:14px;
    -webkit-mask-image:none;
    mask-image:none;
    box-shadow:0 12px 36px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.05) inset;
  }
  .hero-slide-media img{
    object-fit:contain;
    object-position:center;
    transform:none !important;
    animation:none !important;
  }
  .hero-slide--partner .hero-slide-media img,
  .hero-slide--team .hero-slide-media img{object-position:center}
  .hero-slide-veil{display:none}
  .hero-slide-seam{display:none}
  .hero-carousel-dots{margin-top:10px}
  .hero-confidence-aura{top:-30px;height:110px;filter:blur(16px)}
  .hero-body{margin-top:12px}
  .hero-slogan{font-size:11px;letter-spacing:1.4px;padding:8px 16px;margin-bottom:16px}
}

@media (prefers-reduced-motion:reduce){
  .hero-slide.is-active .hero-slide-media img{animation:none;transform:scale(1.04)}
}
