.heroi {
  padding: var(--espacamento-xl) 0 var(--espacamento-2xl);
  border-bottom: 1px solid var(--borda);
}

.heroi__interno {
  display: grid;
  gap: var(--espacamento-xl);
}

.heroi__conteudo {
  display: grid;
  justify-items: start;
  gap: var(--espacamento-md);
}

.heroi__titulo {
  max-width: 13ch;
  color: var(--cor-branco);
  font-size: clamp(2.5rem, 11vw, 4.5rem);
  font-weight: var(--fonte-peso-extra-bold);
  letter-spacing: -0.045em;
  line-height: 0.98;
  text-wrap: balance;
}

.heroi__texto {
  max-width: 38rem;
  color: var(--texto-suave);
  font-size: clamp(1.0625rem, 3.6vw, 1.25rem);
  line-height: 1.55;
}

.heroi__atributos {
  color: var(--cor-complementar);
  font-size: 0.875rem;
  letter-spacing: 0.01em;
}

.heroi__separador {
  color: var(--cor-branco);
}

.heroi__cta {
  width: 100%;
  margin-top: 0.25rem;
}

.heroi__midia {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  border: 1px solid var(--borda);
  border-radius: var(--raio-medio);
  background: var(--entrada);
}

.heroi__midia::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}

.heroi__imagem {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.problema {
  padding: var(--espacamento-2xl) 0;
  background: var(--superficie);
}

.problema__interno {
  display: grid;
  gap: var(--espacamento-xl);
}

.problema__titulo {
  max-width: 17ch;
  color: var(--cor-branco);
  font-size: clamp(2rem, 8vw, 3.5rem);
  font-weight: var(--fonte-peso-extra-bold);
  letter-spacing: -0.04em;
  line-height: 1.05;
  text-wrap: balance;
}

.problema__conteudo {
  display: grid;
  gap: var(--espacamento-md);
  color: var(--texto-suave);
}

.problema__conteudo > p {
  max-width: 70ch;
}

.problema__lista {
  margin-top: var(--espacamento-sm);
  border-top: 1px solid var(--borda);
}

.problema__lista li {
  position: relative;
  padding: 1rem 0 1rem 1.5rem;
  border-bottom: 1px solid var(--borda);
  color: var(--texto);
}

.problema__lista li::before {
  position: absolute;
  top: 1.65rem;
  left: 0;
  width: 0.5rem;
  height: 0.125rem;
  background: var(--acento);
  content: "";
}

.problema__fechamento {
  margin-top: var(--espacamento-sm);
  padding: var(--espacamento-md);
  border-left: 0.25rem solid var(--acento);
  background: var(--entrada);
  color: var(--cor-branco);
  font-size: 1.0625rem;
}

.processo {
  padding: var(--espacamento-2xl) 0;
  border-top: 1px solid var(--borda);
  border-bottom: 1px solid var(--borda);
  background: var(--fundo);
}

.processo__cabecalho {
  display: grid;
  gap: var(--espacamento-md);
  margin-bottom: var(--espacamento-xl);
}

.processo__titulo,
.conteudo-programa__titulo,
.dinamica__titulo {
  color: var(--cor-branco);
  font-size: clamp(2rem, 8vw, 3.5rem);
  font-weight: var(--fonte-peso-extra-bold);
  letter-spacing: -0.04em;
  line-height: 1.05;
  text-wrap: balance;
}

.processo__titulo {
  max-width: 16ch;
}

.processo__introducao {
  max-width: 42rem;
  color: var(--texto-suave);
  font-size: clamp(1.0625rem, 3vw, 1.25rem);
}

.processo__etapas,
.dinamica__momentos {
  margin: 0;
  padding: 0;
  list-style: none;
}

.processo__etapas {
  position: relative;
  display: grid;
  gap: var(--espacamento-xl);
}

.processo__etapas::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.75rem;
  width: 1px;
  background: var(--borda);
  content: "";
}

.processo__etapa {
  position: relative;
  padding-left: 5rem;
}

.processo__etapa::before {
  position: absolute;
  top: 1.65rem;
  left: 1.5rem;
  width: 0.5rem;
  height: 0.5rem;
  border: 1px solid var(--acento);
  background: var(--fundo);
  content: "";
  rotate: 45deg;
}

.processo__etapa-titulo,
.modulo__titulo,
.dinamica__momento-titulo {
  margin: 0;
  color: var(--cor-branco);
  font-weight: var(--fonte-peso-bold);
  line-height: 1.2;
}

.processo__etapa-titulo {
  display: grid;
  gap: var(--espacamento-xs);
  margin-bottom: var(--espacamento-sm);
  font-size: clamp(1.25rem, 5vw, 1.625rem);
}

.processo__numero {
  color: var(--acento);
  font-size: clamp(3rem, 14vw, 5rem);
  font-weight: var(--fonte-peso-extra-bold);
  letter-spacing: -0.07em;
  line-height: 0.9;
}

.processo__etapa p {
  max-width: 34rem;
  color: var(--texto-suave);
}

.conteudo-programa {
  padding: var(--espacamento-2xl) 0;
  background: var(--superficie);
}

.conteudo-programa__cabecalho {
  display: grid;
  gap: var(--espacamento-md);
  margin-bottom: var(--espacamento-xl);
}

.conteudo-programa__titulo {
  max-width: 13ch;
}

.conteudo-programa__cabecalho p {
  max-width: 52rem;
  color: var(--texto-suave);
  font-size: clamp(1.0625rem, 3vw, 1.25rem);
}

.conteudo-programa__modulos {
  border-top: 1px solid var(--borda);
}

.modulo {
  display: grid;
  gap: var(--espacamento-md);
  padding: var(--espacamento-xl) 0;
  border-bottom: 1px solid var(--borda);
}

.modulo__titulo {
  display: grid;
  gap: var(--espacamento-sm);
  max-width: 28rem;
  font-size: clamp(1.375rem, 5vw, 2rem);
}

.modulo__numero {
  color: var(--cor-complementar);
  font-size: 0.875rem;
  font-weight: var(--fonte-peso-extra-bold);
  letter-spacing: 0.12em;
  line-height: 1;
}

.modulo__texto {
  display: grid;
  gap: var(--espacamento-sm);
  max-width: 48rem;
  color: var(--texto-suave);
}

.dinamica {
  padding: var(--espacamento-2xl) 0;
  border-top: 1px solid var(--borda);
  background: var(--entrada);
}

.dinamica__interno {
  display: grid;
  gap: var(--espacamento-xl);
}

.dinamica__cabecalho {
  display: grid;
  gap: var(--espacamento-md);
}

.dinamica__titulo {
  max-width: 15ch;
}

.dinamica__cabecalho p {
  max-width: 48rem;
  color: var(--texto-suave);
  font-size: clamp(1.0625rem, 3vw, 1.25rem);
}

.dinamica__percurso {
  display: grid;
  gap: var(--espacamento-xl);
}

.dinamica__momentos {
  position: relative;
}

.dinamica__momentos::before {
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  left: 1.125rem;
  width: 1px;
  background: var(--borda);
  content: "";
}

.dinamica__momento {
  position: relative;
  padding: 0 0 var(--espacamento-xl) 3.75rem;
}

.dinamica__momento:last-child {
  padding-bottom: 0;
}

.dinamica__momento::before {
  position: absolute;
  top: 0.375rem;
  left: 0.75rem;
  width: 0.75rem;
  height: 0.75rem;
  border: 2px solid var(--cor-complementar);
  border-radius: 50%;
  background: var(--entrada);
  content: "";
}

.dinamica__momento-titulo {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  align-items: baseline;
  margin-bottom: var(--espacamento-xs);
  font-size: clamp(1.25rem, 4.5vw, 1.625rem);
}

.dinamica__numero {
  color: var(--cor-complementar);
  font-size: 0.75rem;
  font-weight: var(--fonte-peso-extra-bold);
  letter-spacing: 0.1em;
}

.dinamica__momento p {
  max-width: 42rem;
  color: var(--texto-suave);
}

.dinamica__observacao {
  padding: var(--espacamento-md) 0 0;
  border-top: 1px solid var(--borda);
  color: var(--texto-suave);
  font-size: 0.9375rem;
}

.dinamica__observacao strong {
  color: var(--texto);
}

.autoridade {
  padding: var(--espacamento-2xl) 0;
  border-top: 1px solid var(--borda);
  background: var(--fundo);
}

.autoridade__apresentacao {
  display: grid;
  gap: var(--espacamento-xl);
}

.autoridade__conteudo {
  display: grid;
  align-content: start;
  gap: var(--espacamento-lg);
}

.autoridade__titulo,
.investimento__titulo,
.chamada-final__titulo,
.faq__titulo {
  margin: 0;
  color: var(--cor-branco);
  font-size: clamp(2rem, 8vw, 3.5rem);
  font-weight: var(--fonte-peso-extra-bold);
  letter-spacing: -0.04em;
  line-height: 1.05;
  text-wrap: balance;
}

.autoridade__titulo {
  max-width: 15ch;
}

.autoridade__texto {
  display: grid;
  gap: var(--espacamento-sm);
  max-width: 44rem;
  color: var(--texto-suave);
}

.autoridade__acoes {
  display: grid;
  justify-items: start;
  gap: var(--espacamento-sm);
}

.autoridade__link {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  border-bottom: 1px solid var(--borda);
  color: var(--texto);
  font-size: 0.9375rem;
  font-weight: var(--fonte-peso-media);
}

.autoridade__link:hover {
  border-color: var(--acento);
  color: var(--acento);
}

.autoridade__foto {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--borda);
  border-radius: var(--raio-minimo);
  background: var(--entrada);
}

.autoridade__foto--principal {
  aspect-ratio: 4 / 3;
}

.autoridade__foto--retrato {
  aspect-ratio: 4 / 5;
}

.autoridade__imagem {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.autoridade__retratos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--espacamento-xs);
  margin-top: var(--espacamento-xl);
}

.investimento {
  padding: var(--espacamento-2xl) 0;
  border-top: 1px solid var(--borda);
  background: var(--superficie);
}

.investimento__interno,
.investimento__cabecalho,
.investimento__detalhes,
.investimento__pagamentos {
  display: grid;
}

.investimento__interno {
  gap: var(--espacamento-xl);
}

.investimento__cabecalho {
  gap: var(--espacamento-md);
}

.investimento__titulo {
  max-width: 15ch;
}

.investimento__cabecalho > p:not(.investimento__valor) {
  max-width: 46rem;
  color: var(--texto-suave);
  font-size: clamp(1.0625rem, 3vw, 1.25rem);
}

.investimento__valor {
  color: var(--acento);
  font-size: clamp(3.5rem, 18vw, 7rem);
  font-weight: var(--fonte-peso-extra-bold);
  letter-spacing: -0.065em;
  line-height: 0.9;
}

.investimento__detalhes {
  gap: var(--espacamento-xl);
}

.investimento__inclui h3,
.investimento__pix h3,
.investimento__cartao h3 {
  margin: 0 0 var(--espacamento-md);
  color: var(--cor-branco);
  font-size: 1.25rem;
  line-height: 1.2;
}

.investimento__inclui ul {
  border-top: 1px solid var(--borda);
}

.investimento__inclui li {
  position: relative;
  padding: 0.875rem 0 0.875rem 1.5rem;
  border-bottom: 1px solid var(--borda);
}

.investimento__inclui li::before {
  position: absolute;
  top: 1.55rem;
  left: 0;
  width: 0.5rem;
  height: 0.125rem;
  background: var(--acento);
  content: "";
}

.investimento__inclui > p {
  margin-top: var(--espacamento-md);
  color: var(--texto-suave);
}

.investimento__pagamentos {
  align-content: start;
  gap: var(--espacamento-lg);
}

.investimento__pix {
  padding: var(--espacamento-lg);
  border: 1px solid var(--borda);
  border-left: 0.25rem solid var(--cor-complementar);
  background: var(--entrada);
}

.investimento__pix p,
.investimento__cartao p {
  color: var(--texto-suave);
}

.investimento__pix p + p,
.investimento__cartao p + p {
  margin-top: var(--espacamento-sm);
}

.investimento__pix .investimento__bonus {
  padding-top: var(--espacamento-sm);
  border-top: 1px solid var(--borda);
  color: var(--texto);
}

.investimento__cartao {
  padding-top: var(--espacamento-lg);
  border-top: 1px solid var(--borda);
}

.investimento__cta {
  width: 100%;
}

.chamada-final {
  padding: var(--espacamento-2xl) 0;
  background: var(--acento);
  color: var(--fundo);
}

.chamada-final__interno {
  display: grid;
  justify-items: center;
  gap: var(--espacamento-lg);
  text-align: center;
}

.chamada-final__conteudo {
  max-width: 48rem;
}

.chamada-final__titulo {
  max-width: 13ch;
  margin-inline: auto;
  color: var(--fundo);
}

.chamada-final__interno p {
  max-width: 48rem;
  margin-top: var(--espacamento-md);
  font-size: clamp(1.0625rem, 3vw, 1.25rem);
  font-weight: var(--fonte-peso-media);
}

.chamada-final__cta {
  width: min(100%, 18rem);
  border-color: var(--fundo);
  background: var(--fundo);
  color: var(--cor-branco);
}

.chamada-final__cta:hover {
  border-color: var(--cor-complementar);
  background: var(--cor-complementar);
  color: var(--fundo);
  translate: 0 -0.125rem;
}

.faq {
  padding: var(--espacamento-2xl) 0;
  border-top: 1px solid var(--borda);
  background: var(--fundo);
}

.faq__interno {
  display: grid;
  gap: var(--espacamento-xl);
}

.faq__titulo {
  max-width: 12ch;
}

.faq__lista {
  border-top: 1px solid var(--borda);
}

.faq__item {
  border-bottom: 1px solid var(--borda);
}

.faq__item summary {
  min-height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--espacamento-sm);
  padding: 1rem 0;
  color: var(--texto);
  font-size: clamp(1rem, 3vw, 1.125rem);
  font-weight: var(--fonte-peso-bold);
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}

.faq__item summary::-webkit-details-marker {
  display: none;
}

.faq__item summary::after {
  width: 1.75rem;
  height: 1.75rem;
  flex: 0 0 1.75rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--borda);
  color: var(--acento);
  content: "+";
  font-size: 1.25rem;
  font-weight: var(--fonte-peso-normal);
  line-height: 1;
}

.faq__item[open] summary::after {
  content: "−";
}

.faq__resposta {
  display: grid;
  gap: var(--espacamento-sm);
  max-width: 54rem;
  padding: 0 var(--espacamento-xl) var(--espacamento-lg) 0;
  color: var(--texto-suave);
}

.rodape {
  padding: var(--espacamento-xl) 0;
  border-top: 1px solid var(--borda);
  background: var(--fundo);
  color: var(--texto-suave);
  font-size: 0.875rem;
}

.rodape__interno {
  display: grid;
  justify-items: start;
  gap: var(--espacamento-md);
}

.rodape__marca {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}

.rodape__logo {
  width: 7.6875rem;
  height: 1rem;
}

.rodape a:not(.rodape__marca) {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  color: var(--texto);
  font-weight: var(--fonte-peso-bold);
}

.rodape a:not(.rodape__marca):hover {
  color: var(--acento);
}
