/* Formulários de onboarding Deep Growth: página corrida, tom simples. */
:root {
  --marfim: #FAF9F6;
  --cartao: #FFFFFF;
  --texto: #0C1513;
  --texto-2: #3D4844;
  --mudo: #6C7874;
  --linha: rgba(12, 21, 19, 0.12);
  --terracota: #B85B28;
  --erro: #A8321C;
  --titulo: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --corpo: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--marfim);
  color: var(--texto);
  font-family: var(--corpo);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.pagina {
  max-width: 680px;
  margin: 0 auto;
  padding: 40px max(16px, env(safe-area-inset-right, 0px)) 80px max(16px, env(safe-area-inset-left, 0px));
}

.logo { display: block; width: 168px; height: auto; margin-bottom: 40px; }

h1 {
  font-family: var(--titulo);
  font-weight: 400;
  font-size: clamp(28px, 5vw, 36px);
  line-height: 1.2;
  margin: 0 0 12px;
}

.intro { color: var(--texto-2); margin: 0 0 32px; }

.secao {
  background: var(--cartao);
  border: 1px solid var(--linha);
  border-radius: 12px;
  padding: 24px;
  margin: 0 0 16px;
}

.secao h2 {
  font-family: var(--titulo);
  font-weight: 400;
  font-size: 20px;
  margin: 0 0 4px;
}

.secao .nota { color: var(--mudo); font-size: 14px; margin: 0 0 16px; }

.campo { margin-top: 18px; }
.campo:first-of-type { margin-top: 8px; }

label, .rotulo { display: block; font-weight: 600; font-size: 15px; margin-bottom: 6px; }
.obrigatorio { color: var(--terracota); }
.ajuda { display: block; color: var(--mudo); font-size: 13.5px; margin: -2px 0 8px; font-weight: 400; }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="date"], input[type="number"], textarea, select {
  width: 100%;
  font: inherit;
  color: var(--texto);
  background: var(--marfim);
  border: 1px solid var(--linha);
  border-radius: 8px;
  padding: 11px 12px;
}

textarea { min-height: 96px; resize: vertical; }

input:focus, textarea:focus, select:focus {
  outline: 2px solid var(--terracota);
  outline-offset: 1px;
  border-color: transparent;
}

.opcoes { display: grid; gap: 8px; }
.opcoes label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; margin: 0; }
.opcoes input { margin-top: 4px; accent-color: var(--terracota); }

.invalido input, .invalido textarea, .invalido select { border-color: var(--erro); }
.msg-erro { display: none; color: var(--erro); font-size: 13.5px; margin-top: 6px; }
.invalido .msg-erro { display: block; }

.armadilha { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.enviar {
  display: inline-block;
  margin-top: 16px;
  font: inherit;
  font-weight: 600;
  color: var(--marfim);
  background: var(--texto);
  border: 0;
  border-radius: 8px;
  padding: 14px 28px;
  cursor: pointer;
}
.enviar:hover { background: var(--terracota); }
.enviar:focus-visible { outline: 2px solid var(--terracota); outline-offset: 3px; }
.enviar[disabled] { opacity: .6; cursor: wait; }

.estado { margin-top: 12px; color: var(--erro); font-size: 14.5px; }

.obrigado { display: none; }
.obrigado.visivel { display: block; }
.obrigado h1 { margin-top: 0; }

.rodape { margin-top: 48px; color: var(--mudo); font-size: 13px; }
