/* ==========================================================================
   Contato: letreiro "Nº 1 do Brasil" e formulário "Vamos planejar sua próxima campanha?"
   ========================================================================== */

.contato {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 24px 120px;
}
.contato__caixa {
  background: var(--amarelo);
  border-radius: 56px;
  overflow: hidden;
}

/* Letreiro roxo (as frases se repetem 4 vezes para o loop ficar contínuo) */
.contato__letreiro {
  background: var(--roxo);
  color: #FFFFFF;
  overflow: hidden;
  padding: clamp(16px, 1.8vw, 22px) 0;
  font-size: clamp(15px, 1.4vw, 19px);
  font-weight: 700;
  letter-spacing: .04em;
}
.contato__trilho {
  display: flex;
  width: max-content;
  animation: letreiro 40s linear infinite;
}
.contato__grupo {
  display: flex;
  align-items: center;
  gap: clamp(24px, 3vw, 44px);
  padding-right: clamp(24px, 3vw, 44px);
  flex: none;
}
.contato__frase {
  white-space: nowrap;
}
.contato__estrela {
  color: var(--amarelo);
  font-size: 0.9em;
}

.contato__corpo {
  padding: clamp(40px, 7vw, 88px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: 40px;
  align-items: flex-start;
}
.contato__chamada {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}
.contato__texto {
  margin: 0;
  font-size: clamp(17px, 1.6vw, 20px);
  line-height: 1.5;
  color: var(--roxo-escuro);
  max-width: 460px;
  text-wrap: pretty;
}
.contato__texto strong {
  font-weight: 700;
}
.contato__texto .contato__prazo {
  font-size: 1.3em;
}

/* Formulário */
.formulario-contato {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}
.formulario-contato__sucesso {
  background: #fff;
  border-radius: 28px;
  padding: 28px;
  font-size: 16px;
  color: var(--roxo);
  line-height: 1.5;
}
.formulario-contato__campos {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.formulario-contato__grade {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 16px 14px;
}
.formulario-contato__enviar {
  align-self: flex-start;
  border: none;
  border-radius: 999px;
  padding: 18px 32px;
  background: var(--roxo);
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
}
.formulario-contato__enviar:hover {
  background: #35126E;
}

@media (max-width: 768px) {
  /* Faixa de ponta a ponta; o conteúdo segue a margem de 24px da página */
  .contato {
    padding: 0;
  }
  .contato__caixa {
    border-radius: 0;
  }
  .contato__corpo {
    padding-left: 24px;
    padding-right: 24px;
  }
}
