:root {
  --roxo: #592C82;
  --roxo-texto: #50307F;
  --roxo-profundo: #260E3B;
  --lilas: #DFC6F6;
  --lilas-borda: #C094E9;
  --lilas-form: #C193E8;
  --cinza: #3F3F3F;
  --glass: linear-gradient(135deg, #A94BE3 0%, #7F37B5 45%, #65298F 100%);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Poppins', sans-serif; font-size: 17px; line-height: 1.2; color: #000; background: #fff; }
a { color: inherit; }
.container { width: 100%; max-width: 980px; margin: 0 auto; padding: 0 15px; }
.center { text-align: center; }
h1, h2 { font-weight: 600; }
h2 { font-size: 50px; line-height: 60px; }
.apoio { font-weight: 600; color: #fff; }
.roxo { background: var(--roxo); color: #fff; }

/* Logos */
.logo-img { display: block; width: auto; }
.logo-img--hero { height: 58px; }
.logo-img--rodape { height: 45px; margin: 0 auto; }

/* Glass */
.glass { background: var(--glass); border: .8px solid var(--lilas-borda); }

/* Botões */
.btn { display: flex; align-items: center; justify-content: center; text-align: center; text-decoration: none;
  font-size: 16px; line-height: 20.8px; font-weight: 600; border-radius: 14px; padding: 14px 20px; margin: 0 auto; }
.btn--lilas { background: var(--lilas); color: var(--roxo); min-height: 65px; }
.btn--roxo { background: var(--roxo-texto); color: #fff; max-width: 688px; min-height: 57px; }
.btn--full { width: 100%; }

/* HERO */
.hero {
  background:
    url('assets/hero.webp') right center / cover no-repeat,
    radial-gradient(ellipse 50% 45% at 0% 0%, var(--roxo) 0%, transparent 70%),
    radial-gradient(ellipse 40% 50% at 85% 50%, rgba(142,63,201,.35) 0%, transparent 70%),
    #000;
  color: #fff; padding: 109px 0 100px; min-height: 1207px;
}
.hero__inner { max-width: 1200px; padding-left: 30px; } /* diminua para mover logo, título e formulário para a esquerda */
.hero h1 { font-size: 64px; line-height: 64px; max-width: 720px; margin-top: 32px; }
.h1-destaque { display: block; width: fit-content; white-space: nowrap; margin-bottom: 4px;
  background: linear-gradient(90deg, #8E3FC9, var(--roxo-profundo) 70%); border: .8px solid var(--lilas); padding: 4px 10px; }
.hero__sub { max-width: 462px; margin-top: 30px; }

.form-card { width: 489px; max-width: 100%; margin-top: 45px; padding: 19px; background: var(--roxo-profundo);
  border: .8px solid #242424; border-radius: 25px; box-shadow: 0 0 40px 6px rgba(140,70,200,.45); }
#lead-form { display: flex; flex-direction: column; gap: 12px; }
#lead-form input, #lead-form select { width: 100%; height: 42px; padding: 0 8px; background: #fff; color: #000;
  border: .8px solid var(--lilas); border-radius: 0; font: 400 16px 'Poppins', sans-serif; }
#lead-form input::placeholder { color: #757575; }
#lead-form select:invalid { color: #757575; }
#lead-form .invalido { border-color: #ff6b6b; }
.tel { display: flex; }
.tel__pais { display: flex; align-items: center; padding: 0 8px; background: #fff; border: .8px solid var(--lilas); border-right: 0; font-size: 16px; color: #000; white-space: nowrap; }
.hp { position: absolute !important; left: -9999px; }
.btn-form { height: 54px; background: var(--lilas-form); color: #fff; border: 0; border-radius: 3px; font: 600 16px 'Poppins', sans-serif; cursor: pointer; }
.btn-form:disabled { opacity: .6; cursor: wait; }
.form-msg { font-size: 15px; line-height: 1.3; }
.form-msg.ok { color: #9cf0b5; }
.form-msg.erro { color: #ff9c9c; }

/* STATS */
.stats { padding: 29px 0 30px; text-align: center; color: var(--roxo-texto); }
.stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.stats strong { display: block; font-size: 50px; line-height: 60px; font-weight: 600; }
.stats span { display: block; margin-top: 10px; font-weight: 600; }

/* DOR */
.dor { padding: 80px 0 75px; }
.dor .apoio { margin-top: 60px; }
.dor h2 { max-width: 882px; margin: 0 auto; }
.dor .container { max-width: 1000px; }
.dor__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 35px 30px; margin: 30px auto 0; max-width: 960px; }
.card { flex: 0 1 300px; height: 201px; border-radius: 12px; padding: 35px 33px; }
.card p { margin-top: 12px; font-weight: 600; color: #fff; }
.tile { width: 80px; height: 78px; background: var(--lilas); border-radius: 12px; display: grid; place-items: center; }
.tile svg { width: 52px; height: 52px; fill: none; stroke: #A24FE0; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.btn--dor { max-width: 631px; height: 65px; margin-top: 55px; }

/* SOLUÇÃO */
.solucao { padding: 72px 0 90px; }
.solucao__inner { display: flex; gap: 40px; justify-content: space-between; }
.solucao__texto { width: 431px; max-width: 100%; }
.solucao h2 { text-align: left; }
.solucao .apoio { margin: 30px 0 14px; }
.lista { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.lista li { height: 49px; padding-left: 12px; display: flex; align-items: center; border-radius: 12px; font-weight: 600; }
.btn--solucao { max-width: 496px; height: 67px; margin: 40px 0 0; }
.solucao__img { width: 400px; height: 585px; margin-top: 19px; flex-shrink: 0; border-radius: 21px;
  background: url('assets/solucao.webp') center / cover, linear-gradient(160deg, #A94BE3, var(--roxo-profundo)); }

/* DEPOIMENTOS */
.depo { padding: 45px 0 50px; }
.depo__titulo { text-transform: uppercase; text-align: center; max-width: 953px; margin: 0 auto 60px; color: #000; }
.depo__grid { display: grid; grid-template-columns: 1fr 85px 1fr; gap: 0 20px; align-items: start; margin-bottom: 50px; }
.depo__texto { font-size: 17px; line-height: 30.6px; color: var(--cinza); }
.depo__sep { display: flex; flex-direction: column; align-items: center; margin-top: -49px; }
.aspas { font-size: 85px; line-height: 1; color: var(--roxo); }
.depo__sep i { width: 1px; height: 167px; background: var(--lilas); margin-top: 10px; }
.autor { display: flex; gap: 14px; align-items: center; margin-top: 30px; }
.autor strong { display: block; color: var(--roxo); font-weight: 600; line-height: 18.7px; }
.autor span { display: block; font-weight: 400; color: #000; line-height: 18.7px; }
.estrelas { color: var(--roxo); font-size: 22px; letter-spacing: 2px; margin-bottom: 4px; }

/* CTA FINAL */
.cta-final { padding: 61px 0; }
.cta-final__box { max-width: 960px; margin: 0 auto; padding: 50px 47px 56px; border-radius: 28px; }
.cta-final h2 { max-width: 866px; margin: 0 auto 40px; }
.cta-final .btn { max-width: 866px; height: 67px; }

/* RODAPÉ */
.rodape { text-align: center; padding: 35px 15px 40px; }
.rodape p { max-width: 454px; margin: 16px auto 0; font-weight: 600; color: var(--roxo-texto); }

/* PÁGINA DE TEXTO (política de privacidade) */
.pt-topo { background: radial-gradient(ellipse 60% 100% at 0% 0%, var(--roxo) 0%, transparent 75%), #000; color: #fff; padding: 40px 0 50px; }
.pt-nav { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; }
.pt-topo__voltar { background: var(--lilas); color: var(--roxo); text-decoration: none; font-weight: 600; font-size: 16px;
  padding: 12px 22px; border-radius: 14px; white-space: nowrap; }
.pt-topo__voltar:hover { background: #fff; }
.pt-topo h1 { font-size: 40px; line-height: 48px; }
.pt-topo p { margin-top: 12px; color: var(--lilas); }
.pt-corpo { padding: 50px 0 60px; }
.pt-corpo .container { max-width: 820px; }
.pt-corpo h2 { font-size: 24px; line-height: 32px; color: var(--roxo); margin: 36px 0 12px; }
.pt-corpo h2:first-child { margin-top: 0; }
.pt-corpo p, .pt-corpo li { line-height: 28px; color: var(--cinza); font-weight: 400; }
.pt-corpo p { margin-bottom: 12px; }
.pt-corpo ul { margin: 0 0 12px 24px; }
.pt-corpo strong { color: var(--roxo-texto); font-weight: 600; }
.pt-voltar { max-width: 400px; margin-top: 50px; }
.rodape a:hover { color: var(--roxo); }

/* WHATSAPP */
.wpp { position: fixed; left: 20px; bottom: 20px; z-index: 11; width: 60px; height: 60px; border-radius: 50%; background: #25D366;
  display: grid; place-items: center; box-shadow: 0 4px 14px rgba(0,0,0,.35); transition: transform .2s, bottom .2s; }
.wpp:hover { transform: scale(1.08); }
.wpp svg { width: 34px; height: 34px; fill: #fff; }
body:has(#cookies:not([hidden])) .wpp { bottom: 90px; }

/* COOKIES */
.cookies { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10; background: #fff; box-shadow: 0 -2px 12px rgba(0,0,0,.15);
  display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: center; padding: 14px 20px; font-size: 14px; }
.cookies[hidden] { display: none; }
.cookies button { font: 600 14px 'Poppins', sans-serif; padding: 8px 14px; border: 1px solid var(--roxo); background: #fff; color: var(--roxo); border-radius: 6px; cursor: pointer; margin-left: 6px; }
.cookies .cookies__ok { background: var(--roxo); color: #fff; }

/* MOBILE */
@media (max-width: 767px) {
  h2 { font-size: 30px; line-height: 36px; }
  .hero { padding: 42px 0 50px; min-height: 0;
    background: radial-gradient(ellipse 80% 30% at 0% 0%, var(--roxo) 0%, transparent 70%), #000; }
  .hero__inner { padding: 0 15px; }
  .logo-img--hero { height: 48px; }
  .logo-img--rodape { height: 37px; }
  .hero h1 { font-size: 30px; line-height: 36px; margin-top: 20px; }
  .h1-destaque { display: inline; white-space: normal; background: none; border: 0; padding: 0; margin: 0; }
  .hero__sub { max-width: 271px; margin-top: 20px; }
  .form-card { width: 339px; margin: 30px auto 0; padding: 19px 20px; }
  #lead-form { gap: 18px; }

  .stats { padding: 30px 0; }
  .stats__grid { grid-template-columns: 1fr; gap: 45px; }

  .dor { padding: 42px 0 50px; }
  .dor h2 { max-width: 280px; }
  .dor .apoio { margin-top: 30px; }
  .dor__grid { gap: 17px; }
  .card { flex: 0 0 300px; }
  .btn--dor { max-width: 330px; margin-top: 30px; }

  .solucao { padding: 37px 0 50px; }
  .solucao__inner { display: block; }
  .solucao__img { display: none; }
  .solucao .apoio { margin: 20px 0 14px; }
  .lista { gap: 18px; }
  .lista li { height: 55px; font-size: 15px; line-height: 18px; padding-left: 14px; }
  .btn--solucao { max-width: 322px; margin: 30px auto 0; }

  .depo { padding: 59px 0 50px; }
  .depo__titulo { text-align: left; margin-bottom: 30px; }
  .depo__grid { display: block; margin-bottom: 30px; }
  .depo__sep { display: none; }
  .depo article { padding: 0 30px; margin-bottom: 35px; }
  .autor strong, .autor span { font-size: 18px; line-height: 25.2px; }
  .estrelas { font-size: 18px; }
  .btn--roxo { max-width: 270px; }

  .cta-final { padding: 40px 0; }
  .cta-final .container { padding: 0; }
  .cta-final__box { padding: 46px 27px 40px; }
  .cta-final .btn { height: 57px; }
  .cookies { font-size: 13px; }
  body:has(#cookies:not([hidden])) .wpp { bottom: 150px; }
}
