/* Hero de banners gráficos: arte integral, sem títulos ou CTAs sobrepostos. */
.home-hero.home-hero--graphic-banners {
  display: block !important;
  position: relative;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  padding: 0 0 46px !important;
  background: #fff;
  color: #31242a;
  overflow: hidden;
}
.home-hero--graphic-banners::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1580 / 591;
}
.home-hero--graphic-banners::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 0;
  height: 46px;
  background: #fff;
}
.home-hero--graphic-banners .home-hero__slides {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  width: 100%;
  height: auto !important;
  aspect-ratio: 1580 / 591;
  overflow: hidden;
}
.home-hero--graphic-banners .home-hero__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #fff;
}
.home-hero--graphic-banners .home-hero__veil { display: none !important; }
.home-hero--graphic-banners .home-hero__content {
  position: absolute !important;
  z-index: 2;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  padding: 0 !important;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.home-hero--graphic-banners .home-hero__content .home-hero__eyebrow,
.home-hero--graphic-banners .home-hero__content > p:not(.home-hero__eyebrow),
.home-hero--graphic-banners .home-hero__content > .button,
.home-hero--graphic-banners .home-hero__caption { display: none !important; }
.home-hero--graphic-banners .home-hero__control {
  z-index: 3;
  top: calc(50% - 23px);
  bottom: auto;
  width: 38px;
  height: 38px;
  transform: translateY(-50%);
  background: #f7e9ee;
  color: #7f2945;
  border: 1px solid #ead3dc;
  backdrop-filter: none;
}
.home-hero--graphic-banners .home-hero__control:hover {
  transform: translateY(-50%) scale(1.04);
  background: #f2dce4;
  border-color: #d9a9b9;
}
.home-hero--graphic-banners .home-hero__control--prev { left: 6px; }
.home-hero--graphic-banners .home-hero__control--next { right: 6px; }
.home-hero--graphic-banners .home-hero__dots {
  z-index: 4;
  bottom: 7px;
  gap: 8px;
}
.home-hero--graphic-banners .home-hero__dot,
.home-hero--graphic-banners .home-hero__dot.is-active {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
}
.home-hero--graphic-banners .home-hero__dot::before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #c89aaa;
  border: 1px solid #9b4865;
}
.home-hero--graphic-banners .home-hero__dot.is-active::before {
  width: 22px;
  height: 9px;
  background: #a83f62;
  border-color: #a83f62;
}
@media (max-width: 760px) {
  .home-hero.home-hero--graphic-banners { padding-bottom: 42px !important; }
  .home-hero--graphic-banners::after { height: 42px; }
  .home-hero--graphic-banners .home-hero__control { display: none; }
  .home-hero--graphic-banners .home-hero__dots { bottom: 6px; }
  .home-hero--graphic-banners .home-hero__dot,
  .home-hero--graphic-banners .home-hero__dot.is-active { width: 30px; height: 30px; }
}
