/* Structural corrections measured against the homepage's active cascade. */
#servicos,
#passeios,
#empresas,
#destinos.destination-scrollytelling,
#diferenciais,
.about-final,
.premium-footer {
  contain-intrinsic-size: auto;
  content-visibility: visible;
}

/* The hero is normal document flow. Its former fixed/scroll-driven state could
   survive fast navigation, resize, scroll restoration, and BFCache restores. */
#heroHomeSection .section-1 {
  left: auto !important;
  position: relative !important;
  top: auto !important;
  width: auto !important;
  z-index: 1 !important;
}

#heroHomeSection .section-2 {
  height: auto !important;
  margin-top: 0 !important;
  min-height: auto !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 1 !important;
}

#heroHomeSection .section-2 .section-inner {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: clamp(48px, 7vw, 88px) 24px clamp(64px, 9vw, 112px) !important;
  position: relative !important;
  top: auto !important;
}

#heroHomeSection .element-to-blur,
#heroHomeSection .home-encart2,
#heroHomeSection .home-encart2.is-scroll-phone-ready {
  filter: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
  transition: none !important;
  visibility: visible !important;
  will-change: auto !important;
}

/* Lazy images reserve their final geometry before data-src is promoted. */
#servicos .sec-text-postit__img {
  flex: 0 0 auto;
}

#servicos .sec-text-postit__img--left {
  aspect-ratio: 121 / 147;
  width: 121px;
}

#servicos .sec-text-postit__img--center {
  aspect-ratio: 300 / 414;
  width: min(300px, 100%);
}

#servicos .sec-text-postit__img--right {
  aspect-ratio: 196 / 238;
  width: 196px;
}

#servicos .sec-text-postit__img img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* Destinations uses one stable grid in every state. The old static fallback
   stacked four pairs inside a stage still sized for two pinned rows. */
#destinos.destination-scrollytelling .destination-scrollytelling__pin {
  min-height: auto;
}

#destinos.destination-scrollytelling .destination-scrollytelling__stage {
  height: auto;
  min-height: 0;
  overflow: visible;
}

#destinos.destination-scrollytelling .destination-scrollytelling__pairs {
  display: grid;
  gap: var(--pair-block-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: none;
  height: auto;
}

#destinos.destination-scrollytelling .destination-pair {
  bottom: auto;
  height: auto;
  left: auto;
  min-width: 0;
  min-height: clamp(180px, 16.8vw, 230px);
  opacity: 1 !important;
  position: relative;
  right: auto;
  top: auto;
  transform: none !important;
  width: auto;
  will-change: auto;
}

#destinos.destination-scrollytelling .destination-card {
  box-sizing: border-box;
  height: 100%;
  max-width: 100%;
  min-height: 0;
  min-width: 0;
  transform: none !important;
  will-change: auto;
  width: 100%;
}

@media (max-width: 899px) {
  #destinos.destination-scrollytelling .destination-scrollytelling__stage {
    margin-top: 28px;
  }

  #destinos.destination-scrollytelling .destination-scrollytelling__pairs {
    grid-template-columns: 1fr;
  }

  #destinos.destination-scrollytelling .destination-pair {
    min-height: 220px;
  }
}

@media (max-width: 991px) {
  html:not(.opened-nav) .header.rt-premium-header[data-premium-header] .rt-premium-nav.header-nav {
    transition: none !important;
  }
}

@media (max-width: 520px) {
  #destinos.destination-scrollytelling .destination-pair {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  #destinos.destination-scrollytelling .destination-card {
    min-height: 220px;
  }
}

#heroHomeSection h1 {
  max-width: 820px;
}

#heroHomeSection .hero-section-baseline {
  margin-top: clamp(20px, 1.8vw, 26px);
}

#heroHomeSection .hero-section-cta {
  margin-top: 24px;
}

#heroHomeSection .hero-trust-list {
  margin-top: 18px;
}
