/* =========================================================
   PERS PICAZ — HERO CINEMATOGRÁFICO / 3 CENAS
   Mantém o fundo e a atmosfera do site, alternando apenas o conteúdo.
   ========================================================= */
.hero-carousel {
  --hero-slide-progress: 0;
  position: relative;
  width: 100%;
  height: clamp(560px, 66vh, 720px);
  min-height: 560px;
}

.hero-carousel-track {
  position: absolute;
  inset: 0;
}

.hero-slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 72px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, 18px, 0) scale(.995);
  filter: blur(8px);
  transition:
    opacity .72s ease,
    transform .9s cubic-bezier(.16, 1, .3, 1),
    filter .72s ease,
    visibility .72s;
}

.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  filter: blur(0);
  z-index: 2;
}

/* O carrossel controla a entrada dos títulos, não a animação global antiga. */
.hero-carousel .title-inner {
  animation: none;
  opacity: 0;
  transform: translateY(108%);
  transition:
    transform 1s cubic-bezier(.16, 1, .3, 1),
    opacity .55s ease;
}

.hero-carousel .hero-slide.is-active .title-inner {
  opacity: 1;
  transform: translateY(0);
}

.hero-carousel .hero-slide.is-active .title-line:nth-child(2) .title-inner { transition-delay: .08s; }
.hero-carousel .hero-slide.is-active .title-line:nth-child(3) .title-inner { transition-delay: .16s; }

.hero-carousel .hero-overline,
.hero-carousel .hero-cinematic-code,
.hero-carousel .hero-footer {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s ease, transform .8s cubic-bezier(.16, 1, .3, 1);
}

.hero-carousel .hero-slide.is-active .hero-overline,
.hero-carousel .hero-slide.is-active .hero-cinematic-code,
.hero-carousel .hero-slide.is-active .hero-footer {
  opacity: 1;
  transform: none;
}

.hero-carousel .hero-slide.is-active .hero-cinematic-code { transition-delay: .08s; }
.hero-carousel .hero-slide.is-active .hero-footer { transition-delay: .24s; }

.hero-slide-greeting .hero-greeting-heading .title-line:first-child .title-inner {
  color: var(--orange);
}

.hero-slide-greeting .hero-overline {
  color: #c9c3bb;
}

.hero-slide-store::before {
  content: "";
  position: absolute;
  right: 5%;
  top: 12%;
  width: min(35vw, 480px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,105,0,.13), rgba(255,105,0,.03) 42%, transparent 70%);
  filter: blur(4px);
  opacity: .8;
  pointer-events: none;
}

.hero-store-beacon {
  position: absolute;
  right: clamp(15px, 8vw, 120px);
  top: 42%;
  width: 160px;
  height: 160px;
  opacity: .42;
  pointer-events: none;
}

.hero-store-beacon::before,
.hero-store-beacon::after,
.hero-store-beacon span {
  content: "";
  position: absolute;
  inset: 50%;
  border: 1px solid rgba(255,130,36,.28);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: heroStorePulse 3.8s ease-out infinite;
}

.hero-store-beacon::after { animation-delay: 1.25s; }
.hero-store-beacon span { animation-delay: 2.5s; }
.hero-store-beacon i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 24px rgba(255,105,0,.85);
  transform: translate(-50%, -50%);
}

@keyframes heroStorePulse {
  0% { width: 10px; height: 10px; opacity: .75; }
  100% { width: 160px; height: 160px; opacity: 0; }
}

.hero-store-button {
  box-shadow: 0 14px 50px rgba(255,105,0,.13);
}

/* Navegação do Hero */
.hero-carousel-controls {
  position: absolute;
  z-index: 12;
  left: 0;
  right: auto;
  bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  pointer-events: none;
}

.hero-carousel-dots {
  display: flex;
  align-items: center;
  gap: 12px;
  pointer-events: auto;
}

.hero-carousel-dot {
  width: 56px;
  padding: 8px 0 5px;
  border: 0;
  background: transparent;
  color: #595550;
  cursor: pointer;
  text-align: left;
  transition: color .3s ease;
}

.hero-carousel-dot > span {
  display: block;
  margin-bottom: 7px;
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .13em;
}

.hero-carousel-dot > i {
  position: relative;
  display: block;
  height: 1px;
  overflow: hidden;
  background: rgba(255,255,255,.11);
}

.hero-carousel-dot > i > b {
  position: absolute;
  inset: 0;
  display: block;
  background: var(--orange);
  transform-origin: left center;
  transform: scaleX(0);
  box-shadow: 0 0 10px rgba(255,105,0,.45);
}

.hero-carousel-dot.is-active {
  color: #e3ddd6;
}

.hero-carousel-dot.is-active > i > b {
  transform: scaleX(var(--hero-slide-progress));
}

.hero-carousel.is-paused .hero-carousel-dot.is-active > i > b {
  box-shadow: 0 0 12px rgba(255,105,0,.65);
}

/* pequena assinatura do slide atual */
.hero-carousel::after {
  content: "AUTO / 08S";
  position: absolute;
  left: 212px;
  right: auto;
  bottom: 30px;
  color: #403d39;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .14em;
  pointer-events: none;
}

@media (max-width: 980px) {
  .hero-carousel {
    height: clamp(570px, 69vh, 700px);
    min-height: 570px;
  }
  .hero-store-beacon { right: 0; opacity: .26; }
  .hero-carousel::after { display: none; }
}

@media (max-width: 620px) {
  .hero {
    padding-bottom: 26px;
  }

  .hero-topline {
    margin-bottom: 14px;
  }

  .hero-carousel {
    height: 650px;
    min-height: 650px;
  }

  .hero-slide {
    justify-content: flex-start;
    padding-top: 20px;
    padding-bottom: 78px;
  }

  .hero-carousel .hero-footer {
    margin-top: 28px;
  }

  .hero-carousel .hero-footer > p {
    max-width: 92%;
  }

  .hero-carousel-controls {
    bottom: 12px;
  }

  .hero-carousel-dot {
    width: 40px;
  }
  .hero-carousel-dots {
    gap: 8px;
  }

  .hero-store-beacon {
    display: none;
  }

  .hero-slide-store::before {
    width: 75vw;
    right: -24vw;
    top: 18%;
  }

  .hero-greeting-heading {
    font-size: clamp(3rem, 14.7vw, 4.65rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide,
  .hero-carousel .title-inner,
  .hero-carousel .hero-overline,
  .hero-carousel .hero-cinematic-code,
  .hero-carousel .hero-footer {
    transition: none !important;
  }
  .hero-store-beacon::before,
  .hero-store-beacon::after,
  .hero-store-beacon span {
    animation: none !important;
  }
}
