/* Releitura editorial: areia, musgo e sálvia em toda a jornada. */
html { background: var(--areia); }
body { cursor: auto; }
a, button, [role="button"] { cursor: pointer; }
.cursor-custom { display: none; }
@keyframes editorial-aparecer {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes editorial-deslizar-lateral {
  from { opacity: 0; transform: translateX(-16px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes editorial-flutuar {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
[data-revelar] { opacity: 1; transform: none; animation: editorial-aparecer .75s var(--curva) both; }
.trilho .cartao:nth-child(2) { animation-delay: .08s; }
.trilho .cartao:nth-child(3) { animation-delay: .16s; }
.trilho .cartao:nth-child(4) { animation-delay: .24s; }
.trilho .cartao:nth-child(5) { animation-delay: .32s; }
.trilho .cartao:nth-child(6) { animation-delay: .40s; }
.trilho .cartao:nth-child(7) { animation-delay: .48s; }
.trilho .cartao:nth-child(8) { animation-delay: .56s; }
.secao > .titulo-grande, .secao > .cerca > .titulo-secao { animation: editorial-deslizar-lateral .8s var(--curva) both; }
.heroi-foto video { animation: editorial-flutuar 7s ease-in-out 1.2s infinite; }
.cta-foto img { animation: editorial-flutuar 8s ease-in-out 1.4s infinite; }
.botao, .flutuante, .menu-botao { animation: convite-pulsar 2.8s ease-out infinite; }
.botao-lima::after, .flutuante::after { animation: none; }
@keyframes convite-pulsar {
  0%, 100% { box-shadow: 0 0 0 0 rgba(107,135,106,0); }
  35% { box-shadow: 0 0 0 5px rgba(107,135,106,.28); }
  75% { box-shadow: 0 0 0 11px rgba(107,135,106,0); }
}
.cerca-estreita { margin-inline: auto; }
.topo { background: var(--areia); backdrop-filter: none; border-color: var(--linha); }
.topo.deslocado { border-color: var(--linha); }
.menu a { color: var(--texto-suave); }
.menu a:hover { color: var(--musgo); }
.menu .menu-cta, .heroi .botao-lima { background: var(--folha); color: white; box-shadow: none; }
.menu .menu-cta:hover, .heroi .botao-lima:hover { background: var(--musgo); color: white; }
.menu-botao { color: var(--musgo); border-color: var(--salvia); min-height: 44px; }
.info-barra { background: var(--musgo); color: var(--creme); }
.botao { letter-spacing: .025em; border-radius: 6px; min-height: 48px; }
:focus-visible { outline: 3px solid var(--terroso); outline-offset: 4px; }
.heroi {
  background: var(--areia); color: var(--musgo); min-height: 0;
  padding: clamp(3rem,6vw,6rem) 0 4rem;
}
.heroi::before, .heroi-linha-decorativa, .heroi-foto-arco, .heroi-foto::after { display: none; }
.heroi-grade { width: min(100% - 2.5rem, var(--cerca)); grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); min-height: 0; gap: clamp(2rem,5vw,4rem); }
.heroi-sobrancelha { color: var(--folha); font-size: .73rem; line-height: 1.6; letter-spacing: .1em; }
.heroi-texto h1 { color: var(--musgo); font-size: clamp(3rem,5.4vw,5rem); line-height: 1.05; max-width: 14ch; letter-spacing: -.055em; }
.heroi-texto h1 em { color: var(--folha); }
.heroi-resumo { color: var(--texto-suave); max-width: 43ch; }
.heroi-atendimento { color: var(--texto-suave); }
.heroi-atendimento span::before { background: var(--folha); flex-shrink: 0; }
.heroi-foto { align-self: center; min-height: 0; transform: none !important; will-change: auto; }
.heroi-foto video { display: block; height: auto; aspect-ratio: 16/9; object-fit: contain; border-radius: 8px; border: 1px solid var(--linha); filter: none; background: var(--musgo); box-shadow: 12px 12px 0 rgba(107,135,106,.18); }
.heroi-foto figcaption { position: static; background: none; border: 0; padding: 1.5rem 0 0; backdrop-filter: none; color: var(--musgo); }
.heroi-foto figcaption span { color: var(--folha); }
.linha-respiro path { stroke: var(--folha); opacity: .35; }
.heroi-intro { height: auto; background: var(--musgo); padding: clamp(3rem,6vw,5rem) 0; }
.heroi-intro-pin { position: static; height: auto; padding: 0; width: min(100% - 2.5rem,var(--cerca)); margin: auto; display: block; }
.heroi-intro-passos { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.5rem; }
.heroi-intro-passo { grid-area: auto; max-width: none; text-align: left; align-items: flex-start; opacity: 1; transform: none; }
.heroi-intro-passo:first-child { grid-column: 1/-1; }
.heroi-intro-avatar, .heroi-intro-seta, .heroi-intro-passo::before { display: none; }
.heroi-intro-passo:first-child .heroi-intro-frase { font-size: clamp(1.8rem,3vw,2.6rem); max-width: 32ch; }
.heroi-intro-frase { font-size: 1.3rem; line-height: 1.5; }
.heroi-intro-num { border: none; width: auto; height: auto; font-size: 2.2rem; color: var(--salvia-clara); margin-bottom: .75rem; }
.heroi-intro { background: #000; color: #f7f2e6; padding-block: clamp(4rem,9vw,8rem); overflow: hidden; }
.heroi-intro-pin { max-width: 48rem; }
.heroi-intro-titulo { margin: 0 0 clamp(5rem,9vw,7rem); color: #fff; font-size: clamp(3.1rem,8vw,6.5rem); line-height: .94; letter-spacing: -.06em; }
.heroi-intro-titulo span { color: #fff; }
.heroi-intro-passos { display: block; position: relative; min-height: 17rem; }
.heroi-intro-passo { display: none; position: relative; min-height: 17rem; padding: 4.5rem clamp(2rem,7vw,5rem) 2.5rem; background: #111; border: 1px solid #333; border-radius: 1rem; }
.heroi-intro-passo.ativo { display: flex; animation: editorial-aparecer .45s var(--curva) both; }
.heroi-intro-num { position: absolute; top: -5rem; left: 50%; transform: translateX(-50%); margin: 0; font-family: var(--display); font-size: clamp(7rem,15vw,10rem); line-height: 1; color: #111; -webkit-text-stroke: 2px #f7f2e6; text-shadow: 8px 8px 0 #222; z-index: 1; }
.heroi-intro-frase { position: relative; z-index: 2; align-self: center; margin: 0; max-width: 32ch; color: #d8d8d8; font-size: clamp(1.45rem,3.1vw,2.2rem); line-height: 1.35; }
.heroi-intro-destaque { color: #a7cf55; text-decoration: underline; text-underline-offset: .12em; }
.heroi-intro-controles { display: flex; justify-content: center; align-items: center; gap: 1.25rem; margin-top: 2rem; }
.heroi-intro-nav { width: 3.6rem; height: 3.6rem; border: 1px dotted #fff; background: transparent; color: #aaa; font-size: 3rem; line-height: 1; cursor: pointer; transition: color .2s, border-color .2s, transform .2s; }
.heroi-intro-nav:hover, .heroi-intro-nav:focus-visible { color: #fff; border-color: #a7cf55; transform: translateY(-2px); }
.heroi-intro-contador { min-width: 4rem; color: #aaa; text-align: center; font-size: .9rem; letter-spacing: .12em; }
.secao { padding-block: clamp(3.5rem,7vw,6rem); }
.titulo-grande { font-size: clamp(2.3rem,4vw,3.6rem); }
.titulo-secao { font-size: clamp(2rem,3.2vw,3rem); line-height: 1.13; }
#processo, #sobre, #duvidas { background: var(--creme); }
.trilho { padding-inline: max(1.25rem,calc((100vw - 1200px)/2)); }
.cartao { --acento: #EDE4CF; background: var(--tema-fundo, var(--musgo)); box-shadow: none; border-radius: 8px; border-top-width: 1px; }
.cartao--ansiedade { --tema-fundo: #813D28; }
.cartao--depressao { --tema-fundo: #294B75; }
.cartao--relacionamentos { --tema-fundo: #79374F; }
.cartao--autoestima { --tema-fundo: #71551D; }
.cartao--luto { --tema-fundo: #594477; }
.cartao--estresse { --tema-fundo: #813537; }
.cartao--sono { --tema-fundo: #205D60; }
.cartao--autoconhecimento { --tema-fundo: #355D39; }
.cartao p { color: var(--creme); }
.cartao .botao-vazado { color: var(--creme); border-color: var(--salvia-clara); }
.cartao .botao-vazado:hover { background: var(--creme); color: var(--musgo); }
.cartao .selo { background: var(--tema-fundo); box-shadow: none; }
.cartao:hover .selo,
.cartao:focus-within .selo,
.cartao:active .selo { background: var(--tema-fundo); }
.cartao:hover .selo svg,
.cartao:focus-within .selo svg,
.cartao:active .selo svg { stroke: var(--creme); }
.passo-cartao { box-shadow: none; background: transparent; border-radius: 0; border-width: 1px 0 0; padding-top: 2rem; }
.passo-num { position: static; width: auto; height: auto; display: block; margin: 0 0 1.5rem; border: 0; border-radius: 0; box-shadow: none; background: none; font-size: 3rem; color: var(--salvia); }
.passo-cartao:hover .passo-num { background: none; color: var(--folha); }
.modo-cartao { background: var(--musgo); box-shadow: none; border-radius: 8px; }
.retrato video { aspect-ratio: 16/9; object-fit: contain; border-radius: 8px; box-shadow: 10px 10px 0 rgba(107,135,106,.2); }
.etiquetas li { background: var(--areia); box-shadow: none; border-radius: 4px; }
.formacao li { padding-left: 1.2rem; border-left: 1px solid var(--salvia); }
.formacao-sanfona { margin-top: 2.5rem; border-top: 1px solid var(--linha); }
.formacao-sanfona summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem 0; cursor: pointer; list-style: none; color: var(--musgo); }
.formacao-sanfona summary::-webkit-details-marker { display: none; }
.formacao-sanfona summary:focus-visible { outline: 3px solid var(--terroso); outline-offset: 5px; }
.formacao-sanfona .mini-titulo { margin: 0; }
.formacao-toggle { position: relative; width: 1.35rem; height: 1.35rem; flex: 0 0 1.35rem; border: 1px solid var(--salvia); border-radius: 50%; }
.formacao-toggle::before, .formacao-toggle::after { content: ""; position: absolute; inset: 50% .3rem auto; height: 2px; background: var(--musgo); transform: translateY(-50%); }
.formacao-toggle::after { transform: translateY(-50%) rotate(90deg); transition: transform .2s var(--curva); }
.formacao-sanfona[open] .formacao-toggle::after { transform: translateY(-50%) rotate(0); }
.formacao-sanfona .formacao { padding-bottom: .5rem; }
.formacao-sanfona[open] .formacao { animation: editorial-aparecer .35s var(--curva) both; }
.cartao .selo, .cartao .botao, .etiquetas li, .modo-cartao { transition: transform .25s var(--curva), box-shadow .25s var(--curva), background-color .25s ease; }
.cartao:hover .selo { transform: translateY(-2px); }
.etiquetas li:hover { transform: translateY(-3px); box-shadow: 0 6px 14px rgba(13,31,20,.12); }
.modo-cartao:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(13,31,20,.18); }
.cartao:hover { transform: none; box-shadow: 0 10px 24px rgba(13,31,20,.16); }
.cartao .botao:hover { transform: translateY(-2px); }
.vozes blockquote { box-shadow: none; border-radius: 8px; }
.cta { width: min(100% - 2.5rem,var(--cerca)); display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); align-items: center; gap: clamp(2rem,5vw,4rem); background: var(--musgo); border-radius: 16px; padding: clamp(2rem,5vw,4rem); margin-block: 3rem; }
.cta::before { display: none; }
.cta-texto { padding: 0; max-width: 48rem; order: 1; text-align: left; }
.cta-texto h2 { font-size: clamp(2.3rem,4.3vw,4rem); max-width: 15ch; }
.cta-foto { order: 2; width: 100%; max-width: none; margin: 0; align-self: center; }
.cta-foto img { width: 100%; height: auto; aspect-ratio: 551/725; object-fit: contain; border: 0; border-radius: 12px; }
.cta .avisos { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--linha-clara); }
.cta .avisos li { text-align: left; }
.cta .botao-lima { background: var(--areia); color: var(--musgo); }
.flutuante { font-size: .9rem; background: var(--musgo); color: var(--creme); padding: .8rem 1.1rem; }
.flutuante-avatar { display: none; }
@media (max-width:920px) {
  .menu { background: var(--areia); }
  .menu a { border-bottom-color: var(--linha); }
  .heroi-grade { grid-template-columns: 1fr; gap: 2.5rem; }
  .heroi-texto { max-width: 40rem; margin: auto; text-align: center; }
  .heroi-texto h1 { margin-inline: auto; }
  .heroi-sobrancelha, .heroi-atendimento { justify-content: center; }
  .heroi-resumo { margin-inline: auto; }
  .heroi-foto { width: 100%; max-width: 36rem; margin: auto; }
  .heroi-intro-passos { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width:560px) {
  .faixa { padding-block: .5rem; }
  .marca-logo { width: 3.25rem; height: 3.25rem; }
  .heroi { padding: 2.5rem 0; }
  .heroi-sobrancelha { display: block; font-size: .67rem; }
  .heroi-texto h1 { font-size: clamp(2.5rem,11vw,3.5rem); }
  .heroi-foto video { height: auto; aspect-ratio: 16/9; border-radius: 8px; }
  .heroi-foto figcaption { display: grid; }
  .heroi-atendimento { display: flex; font-size: .75rem; }
  .heroi .botao { min-height: 54px; }
  .heroi-foto { margin: 0; }
  .cta-texto { padding: 0; }
  .flutuante { left: auto; right: 1rem; width: auto; min-height: 48px; transform: none; font-size: .82rem; }
  .flutuante:hover { transform: translateY(-2px); background: var(--folha); color: white; }
  .flutuante svg { width: 25px; height: 25px; }
}
@media (max-width:760px) {
  .cta { grid-template-columns: 1fr; gap: 2rem; padding: 1.75rem; }
  .cta-texto { order: 2; background: none; border-radius: 0; }
  .cta-texto h2 { max-width: 100%; }
  .cta-foto { order: 1; max-width: 19rem; margin-inline: auto; }
  .cta .botao { width: 100%; padding-inline: .75rem; }
  .heroi-intro-titulo { margin-bottom: 5.5rem; }
  .heroi-intro-passo { min-height: 18rem; padding: 4.25rem 1.5rem 2rem; }
  .heroi-intro-frase { font-size: 1.35rem; }
}
@media (prefers-reduced-motion:reduce) {
  [data-revelar], .secao > .titulo-grande, .secao > .cerca > .titulo-secao,
  .heroi-foto video, .cta-foto img, .formacao-sanfona[open] .formacao { animation: none; }
  .heroi-intro { display: block; }
  .botao, .flutuante, .menu-botao { animation: none; }
  .heroi-intro-passo.ativo { animation: none; }
}
