/* Página Início — composição própria, feita do zero.
   Abertura de cartaz, pesos que acendem na leitura, mapa interativo do diagnóstico (sem notas),
   ciclo do método, jornada (compartilhada) e a fundadora em página dupla. */

/* ---------- Abertura: centralizada, sobre o campo ao entardecer ---------- */
.h-abertura {
  --px: 0; --py: 0; position: relative; isolation: isolate; overflow: hidden; color: var(--palha); text-align: center;
  min-height: max(680px, min(100svh, 980px)); display: flex; align-items: center; background: #172218;
}
.h-abertura::before { content: ''; position: absolute; inset: 0; z-index: -1; background-image: var(--grao-claro); background-size: 240px; opacity: .05; pointer-events: none; }
.h-abertura__foto, .h-abertura__emblema { position: absolute; pointer-events: none; will-change: transform; }
.h-abertura__foto {
  inset: -3%; z-index: -4; background: #172218 url('/img/fundo-abertura.webp') center bottom / cover no-repeat;
  transform: translate3d(calc(var(--px) * -10px), calc(var(--py) * -7px), 0) scale(1.03);
}
.h-abertura__luz {
  position: absolute; z-index: -3; width: 70vmax; height: 70vmax; border-radius: 50%; pointer-events: none;
  left: calc(86% + var(--px) * 4%); top: calc(92% + var(--py) * 4%); transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(236, 190, 100, .2) 0%, rgba(206, 160, 65, .07) 35%, transparent 62%);
  transition: left 1.4s var(--suave), top 1.4s var(--suave);
}
/* só a logo, grande e quase apagada, atrás do texto */
.h-abertura__emblema {
  z-index: -2; left: 50%; top: 50%; width: clamp(360px, 52vw, 720px);
  transform: translate3d(calc(-50% + var(--px) * 14px), calc(-50% + var(--py) * 10px), 0);
  opacity: .07; animation: h-surge 2.2s var(--suave) .3s both;
}
.h-abertura__emblema img { width: 100%; height: auto; }
@keyframes h-surge { from { opacity: 0; } to { opacity: .07; } }
.h-abertura__in { width: 100%; max-width: 980px; padding-top: clamp(96px, 11vw, 140px); padding-bottom: clamp(120px, 12vw, 170px); display: flex; flex-direction: column; align-items: center; }
.h-abertura__in > * { animation: sobe 1.1s var(--suave) both; }
.h-abertura__logo { width: clamp(72px, 8vw, 104px); height: auto; margin-bottom: 22px; animation-delay: .05s; }
.h-abertura__selo {
  margin: 0 0 clamp(26px, 3.4vw, 40px); padding: 9px 20px; border: 1px solid rgba(206, 160, 65, .45); border-radius: 6px;
  font-size: .72rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--ouro-claro); animation-delay: .15s;
}
.h-abertura__titulo {
  font-size: clamp(2.7rem, 6.6vw, 5.4rem); line-height: 1.04; letter-spacing: -0.03em; font-weight: 500; color: #f1e6cf;
  max-width: 15ch; margin: 0 0 clamp(20px, 2.6vw, 30px); text-shadow: 0 4px 40px rgba(0, 0, 0, .35); animation-delay: .25s;
}
.h-abertura__sub {
  margin: 0 0 clamp(26px, 3vw, 38px); font-family: var(--serif); font-style: italic; font-size: clamp(1.2rem, 2.2vw, 1.75rem); line-height: 1.35;
  color: #e2b866; max-width: 32ch; animation-delay: .4s;
}
.h-abertura__corpo {
  margin: 0 0 clamp(28px, 3.4vw, 40px); padding-top: clamp(24px, 3vw, 34px); border-top: 1px solid rgba(206, 160, 65, .4); width: min(100%, 520px);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem); color: rgba(247, 245, 237, .92); max-width: 36ch; animation-delay: .5s;
}
.h-abertura__acoes { justify-content: center; animation-delay: .6s; }
.h-abertura__fecho {
  margin: clamp(48px, 6vw, 80px) 0 0; font-family: var(--serif); font-style: italic; font-size: clamp(1rem, 1.5vw, 1.2rem);
  color: rgba(247, 245, 237, .8); max-width: 60ch; animation-delay: .75s;
}
@media (max-width: 760px) {
  .h-abertura { min-height: 100svh; }
  .h-abertura__emblema { width: 120vw; opacity: .06; }
  .h-abertura__selo { font-size: .64rem; letter-spacing: .16em; padding: 8px 12px; }
}

/* ---------- O que pesa: leitura que acende ---------- */
.h-desafios { position: relative; padding: clamp(110px, 13vw, 170px) 0 clamp(90px, 11vw, 140px); }
.h-desafios__grid { display: grid; gap: clamp(36px, 6vw, 96px); }
@media (min-width: 960px) { .h-desafios__grid { grid-template-columns: 5fr 6fr; } .h-desafios__cabeca { position: sticky; top: 120px; align-self: start; } }
.h-desafios h2 { font-size: clamp(2.2rem, 4.2vw, 3.4rem); }
.h-desafios__lead { color: var(--tinta-suave); max-width: 46ch; }
.h-pesos { list-style: none; margin: 0; padding: 0; }
.h-pesos li {
  position: relative; display: flex; gap: 22px; align-items: baseline; padding: clamp(22px, 3vw, 34px) 0;
  font-family: var(--serif); font-size: clamp(1.45rem, 2.6vw, 2.15rem); line-height: 1.22; letter-spacing: -0.012em; color: var(--tinta);
  border-bottom: 1px solid var(--linha-clara); transition: opacity .7s var(--suave), color .7s;
}
.h-pesos li:first-child { border-top: 1px solid var(--linha-clara); }
.h-pesos__traco { flex: none; width: 34px; height: 2px; background: var(--ouro); transform-origin: left; transition: transform .8s var(--suave), width .8s var(--suave); align-self: flex-start; margin-top: .62em; }
.mov .h-pesos li:not(.is-lido) { opacity: .26; }
.mov .h-pesos li:not(.is-lido) .h-pesos__traco { transform: scaleX(.2); }
.h-desafios__fecho { margin: clamp(56px, 8vw, 110px) auto 0; max-width: 24ch; text-align: center; font-family: var(--serif); font-style: italic; font-size: clamp(1.8rem, 3.6vw, 3rem); line-height: 1.22; letter-spacing: -0.015em; color: var(--mata); }
.h-desafios__fecho span { background: linear-gradient(transparent 82%, rgba(206, 160, 65, .45) 82%) 0 0 / 0% 100% no-repeat; transition: background-size 1.6s var(--suave) .3s; }
.h-desafios__fecho.is-in span, .h-desafios__fecho:not(.rv-espera) span { background-size: 100% 100%; }

/* ---------- Diagnóstico: mapa das seis áreas ---------- */
.h-diag {
  --px: 0; --py: 0; position: relative; isolation: isolate; overflow: hidden; color: var(--palha);
  padding: clamp(120px, 14vw, 180px) 0 clamp(130px, 15vw, 190px);
  background:
    radial-gradient(55% 70% at 75% 50%, rgba(46, 125, 112, .55), transparent 65%),
    radial-gradient(40% 60% at 5% 100%, rgba(206, 160, 65, .12), transparent 70%),
    linear-gradient(165deg, #0f3f3a 0%, #0b2f2b 55%, #071e1b 100%);
}
.h-diag::before { content: ''; position: absolute; inset: 0; z-index: -1; background-image: var(--grao-claro); background-size: 240px; opacity: .06; pointer-events: none; }
.h-diag__luz { position: absolute; z-index: -1; width: 64vmax; height: 64vmax; border-radius: 50%; left: calc(72% + var(--px) * 4%); top: calc(50% + var(--py) * 4%); transform: translate(-50%, -50%); pointer-events: none; background: radial-gradient(circle, rgba(140, 210, 180, .16), transparent 60%); transition: left 1.4s var(--suave), top 1.4s var(--suave); }
.h-diag .curvas--destaque { stroke: rgba(247, 245, 237, .08); }
.h-diag__grid { display: grid; gap: clamp(48px, 7vw, 96px); align-items: center; }
@media (min-width: 1000px) { .h-diag__grid { grid-template-columns: .85fr 1.15fr; } }
.h-diag h2 { font-size: clamp(2.4rem, 4.8vw, 3.9rem); max-width: 12ch; }
.h-diag .lead { color: rgba(247, 245, 237, .9); margin-bottom: 1.6em; }

.mapa { position: relative; --rx: 0deg; --ry: 0deg; --gx: 50%; --gy: 30%; perspective: 1300px; }
.mapa__vidro {
  position: relative; border-radius: 24px; padding: clamp(20px, 3vw, 34px);
  background: linear-gradient(155deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .02) 42%), rgba(12, 44, 38, .45);
  border: 1px solid rgba(247, 245, 237, .16);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .16) inset, 0 50px 90px -46px rgba(2, 12, 10, .9);
  -webkit-backdrop-filter: blur(16px) saturate(1.25); backdrop-filter: blur(16px) saturate(1.25);
  transform: rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .5s var(--suave);
}
.mapa__brilho { position: absolute; inset: 0; border-radius: 24px; pointer-events: none; opacity: 0; background: radial-gradient(460px circle at var(--gx) var(--gy), rgba(255, 245, 215, .13), transparent 55%); transform: rotateX(var(--rx)) rotateY(var(--ry)); transition: opacity .4s; }
.mapa:hover .mapa__brilho { opacity: 1; }
.mapa__titulo { margin: 0 0 8px; font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ouro-claro); }
.mapa__corpo { display: grid; gap: 18px; align-items: center; }
@media (min-width: 620px) { .mapa__corpo { grid-template-columns: 1.05fr .95fr; } }
.mapa__svg { width: 100%; max-width: 320px; margin-inline: auto; display: block; overflow: visible; }
.mapa__anel { fill: none; stroke: rgba(247, 245, 237, .16); stroke-width: 1; stroke-dasharray: 1; stroke-dashoffset: 0; }
.mapa__anel:last-of-type { stroke: rgba(226, 194, 116, .45); }
.mapa__eixo { stroke: rgba(247, 245, 237, .14); stroke-width: 1; transition: stroke .4s, stroke-width .4s; }
.mapa__no { fill: #0d3a33; stroke: rgba(226, 194, 116, .7); stroke-width: 1.5; transition: fill .4s, r .4s var(--suave), stroke .4s; }
.mapa__centro { fill: var(--ouro); }
.mapa__eixo.is-ativo { stroke: var(--ouro-claro); stroke-width: 2; }
.mapa__no.is-ativo { fill: var(--ouro-claro); r: 10px; stroke: #fff3cf; }
.rv-pronto .rv-espera:not(.is-in) .mapa__anel { stroke-dashoffset: 1; }
.rv-pronto .is-in .mapa__anel { transition: stroke-dashoffset 1.6s cubic-bezier(.65, 0, .35, 1); }
.rv-pronto .is-in .mapa__anel:nth-of-type(2) { transition-delay: .2s; }
.rv-pronto .is-in .mapa__anel:nth-of-type(3) { transition-delay: .4s; }
.mapa__areas { display: grid; gap: 6px; }
.mapa__area {
  display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; cursor: pointer;
  padding: 11px 14px; border-radius: 12px; border: 1px solid transparent; background: transparent;
  font: 600 .95rem/1.2 var(--sans); color: rgba(247, 245, 237, .78); transition: background-color .3s, color .3s, border-color .3s, transform .3s var(--suave);
}
.mapa__area::before { content: ''; width: 8px; height: 8px; border-radius: 50%; border: 1px solid var(--ouro-claro); flex: none; transition: background-color .3s; }
.mapa__area:hover { background: rgba(247, 245, 237, .06); color: var(--palha); }
.mapa__area[aria-pressed='true'] { background: rgba(247, 245, 237, .1); border-color: rgba(226, 194, 116, .35); color: var(--palha); transform: translateX(4px); }
.mapa__area[aria-pressed='true']::before { background: var(--ouro-claro); }
.mapa__area:focus-visible { outline: 2px solid var(--ouro-claro); outline-offset: 2px; }
.mapa__perguntas { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(247, 245, 237, .14); min-height: 7.2em; }
.mapa__painel-t { margin: 0 0 6px; font-size: .9rem; color: var(--ouro-claro); font-weight: 600; }
.mapa__painel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.mapa__painel li { font-family: var(--serif); font-size: 1.08rem; line-height: 1.38; color: rgba(247, 245, 237, .92); }
.mapa__painel + .mapa__painel { margin-top: 14px; }
/* com JS, mostra uma área por vez; sem JS, todas ficam visíveis */
.mapa-js .mapa__painel { display: none; }
.mapa-js .mapa__painel + .mapa__painel { margin-top: 0; }
.mapa-js .mapa__painel.is-ativo { display: block; animation: troca .5s var(--suave) both; }

/* ---------- Mentoria + ciclo ---------- */
.h-mentoria { position: relative; padding: clamp(110px, 13vw, 160px) 0; background-color: var(--linho); background-image: var(--grao-escuro); background-size: 240px; }
.h-mentoria h2 { font-size: clamp(2.2rem, 4.2vw, 3.4rem); }
.h-mentoria__texto .lead { color: var(--tinta); }
.h-mentoria__met { margin-top: 1.6em; font-size: clamp(1.4rem, 2.2vw, 1.8rem); color: var(--ouro-escuro); }
.h-mentoria__texto p:not(.lead) { color: var(--tinta-suave); max-width: 48ch; }

/* ---------- Ana: página dupla ---------- */
.h-ana {
  position: relative; display: grid; color: var(--palha); isolation: isolate; overflow: hidden;
  background: radial-gradient(60% 80% at 100% 0%, rgba(64, 128, 88, .4), transparent 60%), linear-gradient(175deg, #17482f 0%, #0d2c1e 100%);
}
@media (min-width: 900px) { .h-ana { grid-template-columns: 1fr 1fr; min-height: 720px; } }
.h-ana__foto { position: relative; min-height: 460px; border-radius: 0; }
.h-ana__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; clip-path: inset(0 0 0 0); }
.h-ana__foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 60%, rgba(13, 44, 30, .55)); pointer-events: none; }
.h-ana__foto.retrato--mascara::before { display: none; }
.rv-pronto .h-ana__foto.rv-espera:not(.is-in) img { clip-path: inset(0 100% 0 0); }
.h-ana__texto { padding: clamp(56px, 8vw, 120px) clamp(24px, 6vw, 96px); align-self: center; max-width: 680px; }
.h-ana h2 { font-size: clamp(2.2rem, 4vw, 3.3rem); }
.h-ana .lead { color: rgba(247, 245, 237, .88); }
.h-ana__citacao { margin: clamp(28px, 4vw, 44px) 0; padding: 0 0 0 26px; border-left: 2px solid var(--ouro); }
.h-ana__citacao p { font-family: var(--serif); font-style: italic; font-size: clamp(1.35rem, 2.2vw, 1.85rem); line-height: 1.32; margin: 0 0 14px; }
.h-ana__citacao footer { font-size: .95rem; display: flex; flex-wrap: wrap; gap: 4px 12px; color: rgba(247, 245, 237, .85); }
.h-ana__citacao footer span { font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro-claro); align-self: center; }

@media (prefers-reduced-motion: reduce) {
  .h-abertura__foto, .h-abertura__emblema, .h-abertura__luz, .h-diag__luz, .mapa__vidro, .mapa__brilho { transform: none !important; transition: none !important; animation: none !important; }
  .h-abertura__emblema { opacity: .07; transform: translate(-50%, -50%) !important; }
  .h-pesos li { opacity: 1 !important; }
  .h-desafios__fecho span { background-size: 100% 100% !important; }
  .rv-pronto .h-ana__foto img { clip-path: none !important; }
}

/* abertura: cabe na primeira tela do computador, com o botão à vista */
@media (min-width: 761px) and (max-height: 960px) {
  .h-abertura__in { padding-top: 92px; padding-bottom: 96px; }
  .h-abertura__logo { width: 64px; margin-bottom: 14px; }
  .h-abertura__selo { margin-bottom: 20px; padding: 7px 16px; }
  .h-abertura__titulo { font-size: clamp(2.5rem, 5.4vw, 4.4rem); margin-bottom: 16px; }
  .h-abertura__sub { margin-bottom: 20px; }
  .h-abertura__corpo { margin-bottom: 24px; padding-top: 18px; }
  .h-abertura__fecho { margin-top: 36px; }
}

/* Leitura guiada: título, depois a frase dourada, depois o texto. Sem JS ou com movimento reduzido tudo aparece de uma vez. */
.h-abertura__in > .h-abertura__titulo, .h-abertura__in > .h-abertura__sub, .h-abertura__in > .h-abertura__corpo { animation: none; }
.pal { display: inline-block; animation: palavra .9s var(--suave) both; animation-delay: var(--d, 0s); }
@keyframes palavra { from { opacity: 0; transform: translateY(.45em); filter: blur(5px); } to { opacity: 1; transform: none; filter: none; } }
.h-abertura__selo { animation-delay: .05s; }
.h-abertura__logo { animation-delay: 0s; }
.h-abertura__acoes { animation-delay: 4.1s; }
.h-abertura__fecho { animation-delay: 4.5s; }
@media (prefers-reduced-motion: reduce) {
  .pal, .h-abertura__acoes, .h-abertura__fecho, .h-abertura__selo, .h-abertura__logo { animation: none !important; opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* Ana: a foto encosta nas bordas da seção e a linha de divisão some */
.h-ana { background-color: #0d2c1e; }
.h-ana__foto { overflow: hidden; background: #0f1f16; margin: 0; }
.h-ana__foto img { inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); object-position: center 20%; }
.h-ana__foto::after { background: linear-gradient(90deg, transparent 55%, rgba(14, 44, 30, .85) 100%); }
@media (max-width: 899px) {
  .h-ana__foto { min-height: 0; aspect-ratio: 4 / 5; max-height: 640px; }
  .h-ana__foto::after { background: linear-gradient(180deg, transparent 55%, rgba(14, 44, 30, .9) 100%); }
}

/* ---------- Depoimentos (layout do site anterior) ---------- */
.h-depos { position: relative; isolation: isolate; overflow: hidden; color: var(--palha); text-align: center; padding: clamp(100px, 12vw, 150px) 0;
  background: linear-gradient(180deg, rgba(14, 24, 16, .5), rgba(14, 24, 16, .25) 60%, rgba(14, 24, 16, .6)), url('/img/fundo-abertura.webp') center bottom / cover no-repeat, #17241a; }
.h-depos__ramo { width: clamp(110px, 13vw, 190px); z-index: -1; opacity: .7; }
.h-depos__ramo--e { left: 2%; top: 8%; transform: scaleX(-1) rotate(10deg); }
.h-depos__ramo--d { right: 2%; bottom: 6%; }
.h-depos__cab { max-width: 760px; margin: 0 auto clamp(40px, 5vw, 60px); }
.h-depos__cab h2 { font-size: clamp(2.6rem, 5vw, 4rem); color: #f1e6cf; margin-bottom: .1em; }
.h-depos__cab h2::before { content: ''; display: block; width: min(60%, 360px); height: 1px; margin: 0 auto 22px; background: linear-gradient(90deg, transparent, var(--ouro), transparent); }
.h-depos__sub { margin: 0 0 8px; font-family: var(--serif); font-style: italic; font-size: clamp(1.3rem, 2.4vw, 1.9rem); color: #e2b866; }
.h-depos__txt { margin: 0; color: rgba(247, 245, 237, .85); }
.h-depos__grade { display: grid; gap: clamp(18px, 2.4vw, 28px); text-align: left; }
@media (min-width: 900px) { .h-depos__grade { grid-template-columns: repeat(3, 1fr); } }
.h-depo { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 30px 26px 28px; border: 1px solid rgba(206, 160, 65, .55); border-radius: 14px; text-align: center;
  background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .01)), rgba(14, 26, 18, .45); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  transition: transform .4s var(--suave), border-color .3s, box-shadow .4s; }
.h-depo:hover { transform: translateY(-4px); border-color: var(--ouro-claro); box-shadow: 0 26px 46px -30px rgba(0, 0, 0, .8); }
.h-depo__foto { width: 92px; height: 92px; border-radius: 50%; object-fit: cover; border: 2px solid var(--ouro); box-shadow: 0 0 0 5px rgba(206, 160, 65, .15); }
.h-depo blockquote { position: relative; margin: 0; padding-top: 34px; font-family: var(--serif); font-size: 1.08rem; line-height: 1.5; color: rgba(247, 245, 237, .94); }
.h-depo blockquote::before { content: '“'; position: absolute; left: 50%; top: -14px; transform: translateX(-50%); font-size: 4rem; line-height: 1; color: var(--ouro); }
.h-depo figcaption { margin-top: auto; padding-top: 18px; width: 100%; border-top: 1px solid rgba(206, 160, 65, .4); display: grid; gap: 2px; }
.h-depo figcaption strong { font-family: var(--serif); font-weight: 500; font-size: 1.25rem; color: #e2b866; }
.h-depo figcaption span { font-size: .92rem; color: rgba(247, 245, 237, .85); }
.h-depos__fim { margin: clamp(36px, 5vw, 52px) 0 22px; font-size: 1.1rem; }
.h-depos__fim em { font-family: var(--serif); color: #e2b866; }

/* Grifo marca-texto: corre da esquerda para a direita quando a linha aparece */
.grifo {
  color: inherit; padding: 0 .12em; margin: 0 -.04em; border-radius: 3px;
  background: linear-gradient(transparent 8%, rgba(236, 196, 120, .62) 8%, rgba(236, 196, 120, .62) 92%, transparent 92%) no-repeat 0 0 / 100% 100%;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.mov .grifo { background-size: 0% 100%; }
.mov .h-pesos li.is-lido .grifo, .mov .is-in .grifo, .mov .h-desafios__cabeca:not(.rv-espera) .grifo { background-size: 100% 100%; transition: background-size 1.1s cubic-bezier(.65, 0, .35, 1) var(--gd, 0s); }
@media (prefers-reduced-motion: reduce) { .grifo { background-size: 100% 100% !important; transition: none !important; } }
