/* Atualização 038 — estabilidade mobile, hero full bleed e leque social */
.hero-stage.has-scroll-video { overflow-anchor: none !important; }

.hero--scroll-video .hero-scroll-video,
.hero--scroll-video.hero-has-scrolled .hero-scroll-video {
  display: block !important;
  inset: 86px 0 auto !important;
  width: 100% !important;
  height: calc(100% - 86px) !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 0 !important;
  background: transparent !important;
  filter: none !important;
  transform: translateZ(0) !important;
  will-change: opacity !important;
  backface-visibility: hidden;
}

.hero--scroll-video .hero-scroll-video.is-video-ready {
  opacity: 1 !important;
  transition: opacity .45s ease !important;
}

.hero--scroll-video .hero-art {
  background-position: center center !important;
  transition: opacity .45s ease !important;
}

.hero--scroll-video:has(.hero-scroll-video.is-video-ready) .hero-art {
  opacity: 0 !important;
}

.social-wall {
  overflow: hidden;
}

.social-fan {
  height: min(590px, 72vw);
  min-height: 470px;
  perspective: 1200px;
}

.social-fan .social-card {
  width: clamp(180px, 15vw, 240px) !important;
  height: auto !important;
  aspect-ratio: 9 / 16;
  top: 36px;
  transform-origin: 50% 115%;
  opacity: 1;
  transition: transform .9s cubic-bezier(.16,1,.3,1), box-shadow .55s ease, opacity .45s ease !important;
  transition-delay: calc(var(--fan-z, 1) * 28ms) !important;
}

.social-wall:not(.in-view) .social-card {
  transform: translateX(-50%) translateY(28px) rotate(0deg) scale(.92) !important;
  opacity: .35 !important;
}

.social-wall.in-view .social-card {
  transform: translateX(calc(-50% + var(--fan-x, 0px))) rotate(var(--fan-rotate, 0deg)) !important;
  opacity: 1 !important;
}

.social-wall.in-view .social-card:hover {
  z-index: 50 !important;
  transform: translateX(calc(-50% + var(--fan-x, 0px))) translateY(-30px) rotate(0deg) scale(1.035) !important;
}

.social-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 900px) {
  .social-fan { height: 520px; min-height: 520px; }
  .social-wall.in-view .social-card {
    transform: translateX(calc(-50% + var(--fan-x-tablet, 0px))) rotate(var(--fan-rotate, 0deg)) !important;
  }
  .social-wall.in-view .social-card:hover {
    transform: translateX(calc(-50% + var(--fan-x-tablet, 0px))) translateY(-22px) rotate(0deg) scale(1.025) !important;
  }
}

@media (max-width: 760px) {
  .hero--scroll-video .hero-scroll-video,
  .hero--scroll-video.hero-has-scrolled .hero-scroll-video {
    display: block !important;
    inset: 68px 0 auto !important;
    width: 100% !important;
    height: calc(100% - 68px) !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  .social-wall { min-height: 790px; }
  .social-fan { height: 470px; min-height: 470px; margin-top: 1rem; }
  .social-fan .social-card {
    width: clamp(142px, 43vw, 178px) !important;
    top: 45px;
    transition-duration: .72s !important;
  }
  .social-wall.in-view .social-card {
    transform: translateX(calc(-50% + var(--fan-x-mobile, 0px))) rotate(var(--fan-rotate, 0deg)) !important;
  }
  .social-wall.in-view .social-card:hover {
    transform: translateX(calc(-50% + var(--fan-x-mobile, 0px))) translateY(-14px) rotate(0deg) scale(1.015) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero--scroll-video .hero-scroll-video { display: block !important; }
  .social-wall .social-card { transition: none !important; }
}
