/* Carrossel da Home: texto à esquerda, visual à direita, indicadores embaixo. */
.hda-home-carousel {
  position:relative;
  scroll-margin-top:112px
}

.hda-carousel-track {
  display:grid;
  isolation:isolate
}

.hda-carousel-slide {
  grid-area:1/1;
  min-width:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .4s ease,visibility .4s;
  align-self:stretch
}

.hda-carousel-slide.is-active {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:1
}

.hda-carousel-slide.site-hero {
  margin:0
}

.hda-carousel-slide .site-section-head h2 {
  font-size:clamp(28px,3vw,40px);
  line-height:1.17;
  letter-spacing:-1.1px
}

.hda-carousel-slide .site-section-head p {
  font-size:16px;
  color:var(--muted);
  margin-top:16px;
  line-height:1.75
}

.hda-carousel-slide.hda-carousel-cta {
  grid-template-columns:1fr
}

.hda-carousel-controls {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 0 24px
}

.hda-carousel-controls .icon-btn {
  width:34px;
  height:34px;
  font-size:18px
}

.hda-carousel-dots {
  display:flex;
  gap:8px
}

.hda-carousel-dot {
  border:1px solid var(--muted);
  background:transparent;
  width:10px;
  height:10px;
  padding:0;
  border-radius:50%
}

.hda-carousel-dot[aria-current="true"] {
  background:var(--pink);
  border-color:var(--pink)
}

@media(prefers-reduced-motion:reduce) {
  .hda-carousel-slide {
    transition:none
  }

}

/* Home carousel presentation only. Timer, routing and platform are unchanged. */
.hda-site .hda-home-carousel .hda-premium-slide {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(12px,2vw,24px);
  min-height:580px;
  padding:clamp(40px,6vw,65px) 0 clamp(28px,4vw,48px);
  margin:0
}

.hda-site .hda-home-carousel .hda-premium-copy {
  position:relative;
  z-index:1;
  min-width:0
}

.hda-site .hda-home-carousel .hda-premium-context {
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:28px;
  font-size:10px;
  font-weight:700;
  letter-spacing:2px;
  color:var(--muted)
}

.hda-site .hda-home-carousel .hda-premium-context>span {
  color:#ff438c;
  border-right:1px solid var(--line);
  padding-right:14px;
  font-variant-numeric:tabular-nums
}

.hda-site .hda-home-carousel .hda-premium-title {
  font-size:clamp(46px,4.8vw,68px);
  font-weight:750;
  line-height:1.06;
  letter-spacing:-2.8px;
  color:var(--text);
  margin:0;
  text-wrap:balance
}

.hda-site .hda-home-carousel .hda-premium-title span {
  color:#ff438c
}

.hda-site .hda-home-carousel .hda-premium-summary {
  font-size:17px;
  line-height:1.65;
  color:var(--muted);
  max-width:420px;
  margin:25px 0 29px;
  text-wrap:pretty
}

.hda-site .hda-home-carousel .hda-premium-cta {
  min-height:48px;
  padding:12px 22px;
  font-size:14px;
  border-radius:10px;
  letter-spacing:0
}

.hda-site .hda-home-carousel .hda-premium-visual {
  position:relative;
  min-width:0;
  width:100%;
  max-width:440px;
  justify-self:end;
  color:var(--text)
}

.hda-site .hda-home-carousel .hda-premium-visual:before {
  content:"";
  position:absolute;
  inset:12%;
  border-radius:50%;
  background:radial-gradient(circle,#f5096514,transparent 70%);
  pointer-events:none
}

.hda-site .hda-home-carousel .hda-premium-visual svg {
  position:relative;
  display:block;
  width:100%;
  height:auto
}

.hda-site .hda-home-carousel .hda-carousel-controls {
  padding-bottom:30px
}

@media(max-width:900px) {
  .hda-site .hda-home-carousel .hda-premium-context {
    font-size:9px;
    letter-spacing:1.3px;
    gap:10px
  }

}

@media(max-width:600px) {
  .hda-site .hda-home-carousel .hda-premium-slide {
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    min-height:0;
    padding:40px 0 8px;
    align-content:start
  }

  .hda-site .hda-home-carousel .hda-premium-context {
    margin-bottom:23px;
    font-size:9px;
    letter-spacing:1.15px
  }

  .hda-site .hda-home-carousel .hda-premium-title {
    font-size:clamp(30px,8.5vw,43px);
    letter-spacing:-1.5px;
    line-height:1.08;
    text-wrap:initial
  }

  .hda-site .hda-home-carousel .hda-premium-summary {
    font-size:15px;
    line-height:1.6;
    margin:21px 0 25px;
    max-width:340px
  }

  .hda-site .hda-home-carousel .hda-premium-visual {
    width:min(100%,clamp(180px,52vw,260px));
    justify-self:center
  }

  .hda-site .hda-home-carousel .hda-carousel-controls {
    padding-bottom:24px
  }

}
