/* ============================================================================
   Consultoria — o que é só desta página.
   ========================================================================== */

/* Fronteira mentoria × consultoria: dois blocos, um deles "aceso". */
.st-fronteira { display: grid; gap: var(--ct-space-6); }
@media (width >= 768px) { .st-fronteira { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.st-fronteira__col {
  padding: var(--ct-space-8);
  border: var(--ct-border-width-hairline) solid var(--ct-border-default);
  border-radius: var(--ct-radius-card);
}
.st-fronteira__col--ativa { background: var(--ct-bg-surface); border-color: var(--ct-border-accent); }
.st-fronteira__rotulo { color: var(--ct-text-tertiary); margin-block-end: var(--ct-space-4); }
.st-fronteira__col--ativa .st-fronteira__rotulo { color: var(--ct-text-accent); }
.st-fronteira__col .ct-text-heading-sm { margin-block-end: var(--ct-space-3); }
.st-fronteira__col .ct-text-body-md { color: var(--ct-text-secondary); }
.st-nota-limite { padding-inline-start: var(--ct-space-6); border-inline-start: var(--ct-border-width-accent) solid var(--ct-border-accent); }

/* Percurso: etapas em sequência — a numeração aqui é informação, não prazo. */
.st-percurso { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ct-space-6); }
@media (width >= 640px) { .st-percurso { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (width >= 1024px) { .st-percurso { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--ct-space-5); } }
.st-percurso__etapa {
  position: relative; display: flex; flex-direction: column; gap: var(--ct-space-3);
  padding-block-start: var(--ct-space-5);
  border-block-start: var(--ct-border-width-thick) solid var(--ct-border-strong);
}
.st-percurso__etapa::before {
  content: ""; position: absolute; inset-inline-start: 0;
  inset-block-start: calc(-1 * var(--ct-border-width-thick));
  inline-size: var(--ct-space-8); block-size: var(--ct-border-width-thick);
  background: var(--ct-border-accent);
}
.st-percurso__num {
  font-family: var(--ct-font-family-display); font-weight: var(--ct-font-weight-bold);
  font-size: var(--ct-font-size-4xl); line-height: var(--ct-font-line-height-tight);
  color: var(--ct-text-tertiary); font-variant-numeric: tabular-nums;
}

/* Linha do tempo dos 60 dias: dois meses em foco, e a última faixa diz que segue. */
.st-linha-tempo { margin: 0; }
.st-linha-tempo__meses { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--ct-space-1); }
.st-linha-tempo__mes {
  padding: var(--ct-space-4) var(--ct-space-3);
  background: var(--ct-bg-surface);
  border-block-start: var(--ct-border-width-accent) solid var(--ct-border-strong);
  border-radius: var(--ct-radius-sm);
  color: var(--ct-text-tertiary); text-align: center;
}
.st-linha-tempo__mes--foco { border-block-start-color: var(--ct-border-accent); background: var(--ct-bg-accent-subtle); color: var(--ct-text-accent); }
.st-linha-tempo__mes--segue { border-block-start-style: dashed; background: transparent; }
.st-linha-tempo__legenda { display: flex; flex-wrap: wrap; gap: var(--ct-space-6) var(--ct-space-12); margin-block-start: var(--ct-space-8); }
.st-linha-tempo__item {
  display: grid; gap: var(--ct-space-1); max-width: 30ch;
  padding-inline-start: var(--ct-space-4);
  border-inline-start: var(--ct-border-width-accent) solid var(--ct-border-strong);
  color: var(--ct-text-secondary);
}
.st-linha-tempo__item--foco { border-inline-start-color: var(--ct-border-accent); }
.st-linha-tempo__item strong { color: var(--ct-text-primary); }
@media (width < 640px) { .st-linha-tempo__mes { padding-inline: var(--ct-space-1); } .st-linha-tempo__mes .ct-text-overline { font-size: var(--ct-font-size-xs); letter-spacing: var(--ct-font-tracking-wide); } }

/* Aplicação: texto e formulário lado a lado no desktop. */
.st-aplicar__grade { display: grid; gap: var(--ct-space-12); align-items: start; }
.st-aplicar__texto > * + * { margin-block-start: var(--ct-space-12); }
.st-aplicar__subtitulo { margin-block-end: var(--ct-space-4); }
.st-aplicar__form .st-form {
  padding: var(--ct-space-8);
  background: var(--ct-bg-surface-raised);
  border: var(--ct-border-width-hairline) solid var(--ct-border-default);
  border-radius: var(--ct-radius-card);
}
@media (width >= 1024px) {
  .st-aplicar__grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--ct-space-16); }
  .st-aplicar__form { position: sticky; inset-block-start: calc(var(--ct-space-20) + var(--ct-space-6)); }
}

/* ── tese ────────────────────────────────────────────────────────────────── */
.st-tese__frase {
  max-inline-size: 24ch;
  font-family: var(--ct-font-family-display); font-weight: var(--ct-font-weight-bold);
  font-size: clamp(var(--ct-font-size-4xl), 5.4vw, var(--ct-font-size-8xl));
  line-height: var(--ct-font-line-height-tight); letter-spacing: var(--ct-font-tracking-tight);
  color: var(--ct-text-primary);
}
.st-tese__pilares {
  list-style: none; margin: var(--ct-space-16) 0 0; padding: 0;
  display: grid; gap: var(--ct-space-8); grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}
.st-tese__pilares li {
  display: grid; gap: var(--ct-space-2); padding-block-start: var(--ct-space-5);
  border-block-start: var(--ct-border-width-thick) solid var(--ct-border-accent);
  color: var(--ct-text-secondary);
}
.st-tese__palavra {
  font-family: var(--ct-font-family-display); font-weight: var(--ct-font-weight-bold);
  font-size: var(--ct-font-size-4xl); line-height: var(--ct-font-line-height-tight);
  text-transform: uppercase; color: var(--ct-text-primary);
}

/* ── jornada em abas ─────────────────────────────────────────────────────────
   Sem JS (`.is-pronta` ausente) as abas somem e os painéis empilham: o
   conteúdo inteiro continua lido. */
.st-jornada__abas, .st-jornada__movimentos { display: none; }
.st-jornada:not(.is-pronta) .st-jornada__painel + .st-jornada__painel { margin-block-start: var(--ct-space-6); }
.st-jornada.is-pronta .st-jornada__abas {
  position: relative; display: flex; gap: var(--ct-space-1);
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  border-block-end: var(--ct-border-width-thick) solid var(--ct-border-default);
  margin-block-end: var(--ct-space-8);
}
.st-jornada__abas::-webkit-scrollbar { display: none; }
.st-jornada__aba {
  flex: 1 0 auto; scroll-snap-align: start;
  padding: var(--ct-space-4) var(--ct-space-4);
  background: none; border: 0; cursor: pointer;
  font-family: var(--ct-font-family-display); font-weight: var(--ct-font-weight-bold);
  font-size: var(--ct-font-size-lg); letter-spacing: var(--ct-font-tracking-wide); text-transform: uppercase;
  color: var(--ct-text-tertiary); text-align: start;
  transition: var(--ct-transition-colors);
}
.st-jornada__aba:hover { color: var(--ct-text-primary); }
.st-jornada__aba[aria-selected="true"] { color: var(--ct-text-primary); }
.st-jornada__aba[data-movimento="consolidar"] { color: var(--ct-text-accent); }
.st-jornada__aba:focus-visible { outline: var(--ct-size-focus-width) solid var(--ct-border-focus); outline-offset: calc(-1 * var(--ct-size-focus-width)); }
/* O cursor desliza entre as abas: a posição é medida pelo script (FLIP barato). */
.st-jornada__cursor {
  position: absolute; inset-block-end: 0; inset-inline-start: 0;
  inline-size: var(--_w, 0); block-size: var(--ct-border-width-accent);
  background: var(--ct-bg-accent);
  transform: translateX(var(--_x, 0));
  transition: transform var(--ct-motion-duration-moderate) var(--ct-motion-easing-emphasized), inline-size var(--ct-motion-duration-moderate) var(--ct-motion-easing-emphasized);
}
@media (width >= 1024px) {
  .st-jornada.is-pronta .st-jornada__movimentos {
    display: grid; grid-template-columns: 6fr 1fr; gap: var(--ct-space-1); margin-block-end: var(--ct-space-3);
  }
  .st-jornada__movimento {
    padding-block-end: var(--ct-space-2);
    border-block-end: var(--ct-border-width-hairline) dashed var(--ct-border-strong);
    font-family: var(--ct-font-family-display); font-weight: var(--ct-font-weight-semibold);
    font-size: var(--ct-font-size-xs); letter-spacing: var(--ct-font-tracking-widest); text-transform: uppercase;
    color: var(--ct-text-tertiary);
  }
  .st-jornada__movimento[data-movimento="consolidar"] { color: var(--ct-text-accent); border-color: var(--ct-border-accent); }
  .st-jornada__aba { flex: 1 1 0; }
}

.st-jornada__painel {
  display: grid; gap: var(--ct-space-6) var(--ct-space-16);
  padding: var(--ct-space-8);
  background: var(--ct-bg-surface-raised);
  border: var(--ct-border-width-hairline) solid var(--ct-border-subtle);
  border-radius: var(--ct-radius-card);
  box-shadow: var(--ct-shadow-1);
}
.st-jornada__painel[hidden] { display: none; }
.st-jornada__painel:focus-visible { outline: var(--ct-size-focus-width) solid var(--ct-border-focus); outline-offset: var(--ct-size-focus-offset); }
.st-jornada__corpo .st-lead { margin-block-start: var(--ct-space-4); }
.st-jornada__painel .st-lista-marcada { margin: 0; }
.st-jornada__entrega {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--ct-space-2) var(--ct-space-4);
  padding-block-start: var(--ct-space-5);
  border-block-start: var(--ct-border-width-hairline) solid var(--ct-border-default);
  color: var(--ct-text-secondary);
}
.st-jornada__entrega strong { color: var(--ct-text-accent); }
@media (width >= 1024px) {
  .st-jornada__painel { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); padding: var(--ct-space-12); }
  .st-jornada__entrega { grid-column: 1 / -1; }
}

/* ── método: trilho de etapas ──────────────────────────────────────────────── */
.st-metodo__trilho {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ct-space-2);
  counter-reset: etapa;
}
@media (width >= 640px) { .st-metodo__trilho { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (width >= 1280px) { .st-metodo__trilho { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
.st-metodo__trilho li { position: relative; display: flex; }
.st-metodo__etapa {
  flex: 1; display: grid; gap: var(--ct-space-3); align-content: space-between;
  min-block-size: var(--ct-space-24);
  padding: var(--ct-space-4);
  background: var(--ct-bg-surface); color: var(--ct-text-secondary);
  border: var(--ct-border-width-hairline) solid var(--ct-border-subtle);
  border-radius: var(--ct-radius-card);
  cursor: pointer; text-align: start;
  font-family: var(--ct-font-family-display); font-weight: var(--ct-font-weight-bold);
  font-size: var(--ct-font-size-lg); line-height: var(--ct-font-line-height-snug);
  letter-spacing: var(--ct-font-tracking-wide); text-transform: uppercase;
  transition: var(--ct-transition-colors), transform var(--ct-motion-duration-base) var(--ct-motion-easing-standard);
}
.st-metodo__etapa::before {
  counter-increment: etapa; content: counter(etapa, decimal-leading-zero);
  font-size: var(--ct-font-size-sm); color: var(--ct-text-tertiary);
}
.st-metodo__etapa:hover { border-color: var(--ct-border-accent); color: var(--ct-text-primary); }
.st-metodo__etapa.is-passada { border-color: color-mix(in srgb, var(--ct-text-accent) 40%, transparent); color: var(--ct-text-primary); }
.st-metodo__etapa[aria-pressed="true"] { background: var(--ct-bg-accent); border-color: var(--ct-border-accent); color: var(--ct-text-on-accent); }
.st-metodo__etapa[aria-pressed="true"]::before { color: currentColor; }
.st-metodo__etapa:focus-visible { outline: var(--ct-size-focus-width) solid var(--ct-border-focus); outline-offset: var(--ct-size-focus-offset); }

.st-metodo__pergunta {
  margin-block-start: var(--ct-space-10);
  max-inline-size: 30ch; min-block-size: 2.4em;
  font-family: var(--ct-font-family-display); font-weight: var(--ct-font-weight-regular);
  font-size: clamp(var(--ct-font-size-3xl), 3.6vw, var(--ct-font-size-6xl));
  line-height: var(--ct-font-line-height-snug); color: var(--ct-text-primary);
}
.st-metodo__pergunta::before { content: "“ "; color: var(--ct-text-accent); font-weight: var(--ct-font-weight-bold); }

/* ── o que fica: quatro frentes ────────────────────────────────────────────── */
.st-ativos { display: grid; gap: var(--ct-space-6); }
@media (width >= 640px) { .st-ativos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (width >= 1280px) { .st-ativos { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.st-ativo { display: flex; flex-direction: column; }
.st-ativo__itens { list-style: none; margin: var(--ct-space-2) 0 0; padding: 0; color: var(--ct-text-secondary); }
.st-ativo__itens li {
  position: relative; padding-block: var(--ct-space-3); padding-inline-start: var(--ct-space-5);
  border-block-start: var(--ct-border-width-hairline) solid var(--ct-border-subtle);
  transition: var(--ct-transition-colors);
}
.st-ativo__itens li::before {
  content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 1.25em;
  inline-size: var(--ct-space-2); block-size: var(--ct-border-width-thick); background: var(--ct-border-accent);
  transform-origin: 0 50%; transition: transform var(--ct-motion-duration-base) var(--ct-motion-easing-emphasized);
}
.st-ativo__itens li:hover { color: var(--ct-text-primary); }
.st-ativo__itens li:hover::before { transform: scaleX(1.75); }

/* ── rituais do acompanhamento ─────────────────────────────────────────────── */
.st-rituais { list-style: none; margin-inline: 0; margin-block-end: 0; padding: 0; display: grid; gap: var(--ct-space-4); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.st-ritual {
  display: grid; gap: var(--ct-space-2); align-content: start;
  padding: var(--ct-space-6);
  background: var(--ct-bg-surface);
  border: var(--ct-border-width-hairline) solid var(--ct-border-subtle);
  border-radius: var(--ct-radius-card);
  color: var(--ct-text-secondary);
}
.st-ritual strong { color: var(--ct-text-primary); }
.st-ritual__icone { inline-size: var(--ct-size-icon-lg); block-size: var(--ct-size-icon-lg); color: var(--ct-text-accent); margin-block-end: var(--ct-space-2); }

/* ── a ordem da implantação: três linhas que entram uma depois da outra ─────── */
.st-ordem {
  list-style: none; margin: var(--ct-space-4) 0 0; padding: 0;
  font-family: var(--ct-font-family-display); font-weight: var(--ct-font-weight-bold);
  font-size: var(--ct-font-size-4xl); line-height: var(--ct-font-line-height-snug);
  text-transform: uppercase; color: var(--ct-text-tertiary);
}
.st-ordem li:nth-child(2) { color: var(--ct-text-secondary); }
.st-ordem li:nth-child(3) { color: var(--ct-text-accent); }

@media (prefers-reduced-motion: no-preference) {
  .st-ativo, .st-ritual { transition: transform var(--ct-motion-duration-base) var(--ct-motion-easing-standard), box-shadow var(--ct-motion-duration-base) var(--ct-motion-easing-standard); }
  .st-ativo:hover, .st-ritual:hover { transform: translateY(-0.375rem); box-shadow: 0 1rem 2.5rem -0.75rem color-mix(in srgb, var(--ct-color-navy-950) 32%, transparent); }
  .st-ritual .st-ritual__icone { transition: transform var(--ct-motion-duration-moderate) var(--ct-motion-easing-emphasized); }
  .st-ritual:hover .st-ritual__icone { transform: translateY(-0.125rem) scale(1.08); }
  .st-metodo__etapa:hover { transform: translateY(-0.25rem); }

  /* O painel novo entra; o antigo simplesmente sai (sair é mais rápido que entrar). */
  .st-jornada.is-pronta .st-jornada__painel:not([hidden]) { animation: st-entra var(--ct-motion-duration-moderate) var(--ct-motion-easing-emphasized); }
  .st-metodo__pergunta.is-trocando { animation: st-entra var(--ct-motion-duration-moderate) var(--ct-motion-easing-emphasized); }

  .js-revela [data-revela] .st-ordem li {
    opacity: 0; transform: translateX(calc(-1 * var(--ct-motion-distance-lg)));
    transition: opacity var(--ct-motion-duration-slow) var(--ct-motion-easing-emphasized), transform var(--ct-motion-duration-slow) var(--ct-motion-easing-emphasized);
  }
  .js-revela [data-revela].is-visivel .st-ordem li { opacity: 1; transform: none; }
  .js-revela [data-revela].is-visivel .st-ordem li:nth-child(2) { transition-delay: var(--ct-motion-duration-slow); }
  .js-revela [data-revela].is-visivel .st-ordem li:nth-child(3) { transition-delay: calc(var(--ct-motion-duration-slow) * 2); }
}
@keyframes st-entra {
  from { opacity: 0; transform: translateY(var(--ct-motion-distance-md)); filter: blur(0.25rem); }
  to { opacity: 1; transform: none; filter: none; }
}
