/* HERO / BANNER PRINCIPAL */
.hero-banner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  border-radius: 22px;
  overflow: hidden;
  position: relative;

  min-height: clamp(260px, 42vw, 560px);
  max-height: 620px;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* imagem dentro do banner, se usar <img> */
.hero-banner img {
  width: 100%;
  height: 100%;
  min-height: clamp(260px, 42vw, 560px);
  max-height: 620px;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* conteúdo por cima */
.hero-banner-content {
  position: absolute;
  inset: 0;
  padding: clamp(18px, 4vw, 56px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2;
}

/* evita ficar gigante em telas muito largas */
@media (min-width: 1600px) {
  .hero-banner {
    min-height: 520px;
  }

  .hero-banner img {
    min-height: 520px;
  }
}

/* notebook / desktop médio */
@media (max-width: 1200px) {
  .hero-banner {
    min-height: clamp(240px, 45vw, 460px);
  }

  .hero-banner img {
    min-height: clamp(240px, 45vw, 460px);
  }
}

/* tablet */
@media (max-width: 768px) {
  .hero-banner {
    border-radius: 16px;
    min-height: 320px;
  }

  .hero-banner img {
    min-height: 320px;
  }

  .hero-banner-content {
    padding: 22px;
    justify-content: flex-end;
  }
}

/* celular */
@media (max-width: 480px) {
  .hero-banner {
    min-height: 260px;
    border-radius: 14px;
  }

  .hero-banner img {
    min-height: 260px;
  }
}