@media (min-width: 36rem) {
  .layout__container {
    width: min(100% - 3rem, var(--largura-desktop));
  }

  .heroi__cta {
    width: auto;
  }
}

@media (min-width: 52rem) {
  :root {
    --altura-cabecalho: 5rem;
  }

  .cabecalho__logo {
    width: 9.225rem;
    height: 1.2rem;
  }

  .js .cabecalho__botao-menu,
  .cabecalho__botao-menu {
    display: none;
  }

  .cabecalho__menu,
  .js .cabecalho__menu,
  .js .cabecalho--menu-aberto .cabecalho__menu {
    position: static;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .cabecalho__link {
    min-height: 2.75rem;
    padding: 0.5rem 0.625rem;
    border: 0;
  }

  .cabecalho__cta {
    width: auto;
    margin-top: 0;
    margin-left: 0.5rem;
  }

  .heroi {
    padding: var(--espacamento-2xl) 0 var(--espacamento-3xl);
  }

  .problema {
    padding: var(--espacamento-3xl) 0;
  }

  .processo,
  .conteudo-programa,
  .dinamica,
  .autoridade,
  .investimento,
  .faq {
    padding: var(--espacamento-3xl) 0;
  }

  .autoridade__apresentacao {
    grid-template-columns: minmax(24rem, 1fr) minmax(20rem, 0.8fr);
    align-items: center;
    gap: var(--espacamento-2xl);
  }

  .autoridade__acoes {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .autoridade__retratos {
    gap: var(--espacamento-sm);
    margin-top: var(--espacamento-2xl);
  }

  .investimento__cabecalho {
    grid-template-columns: minmax(20rem, 0.9fr) minmax(20rem, 1.1fr);
    align-items: end;
    gap: var(--espacamento-2xl);
  }

  .investimento__cabecalho > p:not(.investimento__valor) {
    grid-column: 2;
    grid-row: 1;
  }

  .investimento__valor {
    grid-column: 1 / -1;
  }

  .investimento__detalhes {
    grid-template-columns: minmax(20rem, 1fr) minmax(20rem, 0.9fr);
    gap: var(--espacamento-2xl);
  }

  .investimento__cta {
    width: auto;
    justify-self: start;
  }

  .chamada-final {
    padding: var(--espacamento-3xl) 0;
  }

  .faq__interno {
    grid-template-columns: minmax(16rem, 0.7fr) minmax(28rem, 1.3fr);
    align-items: start;
    gap: var(--espacamento-2xl);
  }

  .faq__cabecalho {
    position: sticky;
    top: calc(var(--altura-cabecalho) + var(--espacamento-lg));
  }

  .rodape__interno {
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-items: start;
    gap: var(--espacamento-xl);
  }

  .rodape__interno > :last-child {
    justify-self: end;
  }

  .processo__cabecalho,
  .conteudo-programa__cabecalho {
    grid-template-columns: minmax(16rem, 0.8fr) minmax(24rem, 1.2fr);
    align-items: end;
    gap: var(--espacamento-2xl);
    margin-bottom: var(--espacamento-2xl);
  }

  .processo__etapas {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--espacamento-lg);
  }

  .processo__etapas::before {
    top: 2.75rem;
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    height: 1px;
  }

  .processo__etapa {
    padding: 5rem var(--espacamento-lg) 0 0;
  }

  .processo__etapa::before {
    top: 2.5rem;
    left: 0;
  }

  .processo__etapa-titulo {
    align-content: start;
    min-height: 9rem;
  }

  .conteudo-programa__cabecalho {
    align-items: start;
  }

  .modulo {
    grid-template-columns: minmax(16rem, 0.9fr) minmax(20rem, 1.1fr);
    gap: var(--espacamento-lg);
    padding: var(--espacamento-2xl) var(--espacamento-sm);
  }

  .modulo:nth-child(even) .modulo__titulo {
    padding-left: var(--espacamento-lg);
  }

  .dinamica__interno {
    grid-template-columns: minmax(16rem, 0.8fr) minmax(24rem, 1.2fr);
    align-items: start;
    gap: var(--espacamento-2xl);
  }

  .dinamica__cabecalho {
    position: sticky;
    top: calc(var(--altura-cabecalho) + var(--espacamento-lg));
  }

  .dinamica__momento {
    padding-left: 4.5rem;
  }

  .problema__interno {
    grid-template-columns: minmax(16rem, 0.8fr) minmax(24rem, 1.2fr);
    align-items: start;
    gap: var(--espacamento-2xl);
  }

  .problema__cabecalho {
    position: sticky;
    top: calc(var(--altura-cabecalho) + var(--espacamento-lg));
  }
}

@media (min-width: 64rem) {
  .heroi__interno {
    grid-template-columns: minmax(0, 0.92fr) minmax(28rem, 1.08fr);
    align-items: center;
    gap: clamp(2.5rem, 5vw, 5rem);
  }

  .heroi__titulo {
    font-size: clamp(3.5rem, 5.2vw, 4.75rem);
  }

  .autoridade__apresentacao {
    grid-template-columns: minmax(28rem, 1fr) minmax(24rem, 0.85fr);
  }
}

@media (min-width: 90rem) {
  .layout__container {
    width: min(100% - 5rem, var(--largura-desktop));
  }
}
