/* Ajustes finais de conteúdo e assinatura oficial do hero. */
.hero-message .hero-slogan {
  margin-bottom: 28px;
}

.hero-slogan-intro {
  margin-bottom: 14px;
  padding: 10px 18px 9px;
  font-size: clamp(1.08rem, 1.55vw, 1.42rem);
  letter-spacing: .14em;
}

.hero-slogan-intro-blue {
  margin-top: 28px;
}

.hero-candidate-signature {
  position: absolute;
  z-index: 5;
  right: -18px;
  bottom: 12px;
  width: min(390px, 74%);
  pointer-events: none;
}

.hero-candidate-signature img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 820px) {
  .hero-message .hero-slogan {
    margin-bottom: 24px;
  }

  .hero-slogan-intro {
    padding: 9px 14px 8px;
    font-size: clamp(.96rem, 3.1vw, 1.2rem);
  }

  .hero-slogan-intro-blue {
    margin-top: 22px;
  }

  .hero-candidate-signature {
    right: -8px;
    bottom: 2px;
    width: min(335px, 82%);
  }
}

@media (max-width: 590px) {
  .hero-copy {
    padding-top: 24px;
  }

  .hero-message .hero-slogan {
    margin-bottom: 15px;
  }

  .hero-slogan-intro {
    margin-bottom: 8px;
    padding: 8px 12px 7px;
    font-size: clamp(.88rem, 4vw, 1.02rem);
    letter-spacing: .12em;
  }

  .hero-slogan-intro-blue {
    margin-top: 15px;
  }

  .hero-actions {
    margin-top: 0;
  }

  .hero-visual {
    margin-top: -42px;
  }

  .hero-candidate-signature {
    right: -2px;
    bottom: -4px;
    width: min(286px, 78%);
  }
}

@media (max-width: 390px) {
  .hero-slogan-intro {
    font-size: .84rem;
  }

  .hero-candidate-signature {
    width: 272px;
  }
}
