/* Frentes de atuação em linha reta: a linha desce com a rolagem e acende uma frente por vez. */
.services-path{background:radial-gradient(ellipse at 50% 55%,#ffffff 0%,#f6f5f0 78%);color:#0b151c;padding:28px 0 120px;overflow:hidden;position:relative;isolation:isolate}
/* Palavra de fundo, no mesmo desenho do "Liberdade." da seção do livro, em azul bem claro. */
.path-word{position:absolute;z-index:-1;bottom:-80px;left:-3%;font:italic 500 clamp(180px,28vw,400px)/1 var(--serif);letter-spacing:-10px;color:#1b3a5c0d;white-space:nowrap;pointer-events:none}
.services-path .container{max-width:1160px}
.services-journey-heading{text-align:center}
.services-journey-heading .eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;font-size:9px;letter-spacing:2.4px;color:#92784f}
.services-journey-heading .eyebrow::before,.services-journey-heading .eyebrow::after{content:'';width:28px;height:1px;background:#b79b5a80}
.services-journey-heading h2{font:500 clamp(29px,3.5vw,48px)/1.2 var(--sans);letter-spacing:-1.8px;margin-top:20px}
.services-journey-heading h2 em{font:500 1.15em/1.1 var(--serif);color:#a0834c;letter-spacing:-.6px;margin-left:8px}

/* Selo de partida e linha. A posição da linha é medida pelo script (--track-top/--track-h). */
.path{position:relative;margin-top:34px;--node:84px}
.path-seal{position:relative;z-index:2;width:112px;height:112px;margin:0 auto}
.path-seal svg{width:100%;height:100%}
.path-seal .seal-ring{transform-origin:60px 60px;animation:path-seal-turn 40s linear infinite}
.path-seal circle{fill:#172132;stroke:#303a4c;stroke-width:1}
.path-seal .seal-inner{fill:#0b151c;stroke:#c6aa7360;stroke-width:.7}
.path-seal text{fill:#c6cdd6;font:6.6px var(--sans);letter-spacing:1.5px}
.path-seal .seal-icon{fill:none;stroke:#c6aa73;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
@keyframes path-seal-turn{to{rotate:360deg}}
.path-track{position:absolute;z-index:0;left:50%;top:var(--track-top,112px);height:var(--track-h,0px);width:4px;margin-left:-2px;border-radius:4px}
.path-fill{position:absolute;inset:0 0 auto;height:calc(var(--path-p,1)*100%);border-radius:4px;background:#0b151c}
.path-fill::after{content:'';position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#c6aa73;box-shadow:0 0 0 5px #c6aa7333}

/* Etapas: fantasma do número à esquerda, bolinha no centro, texto à direita. */
.path-steps{position:relative;z-index:1;margin:0;padding:0;list-style:none}
.path-step{display:grid;grid-template-columns:minmax(0,1fr) var(--node) minmax(0,1fr);column-gap:34px;align-items:start;padding:34px 0}
.path-ghost{justify-self:end;margin-top:-18px;font:italic 500 110px/1 var(--serif);color:#92784f;opacity:.3}
.path-node{position:relative;display:grid;place-items:center;width:var(--node);height:var(--node);padding:0;border:0;border-radius:50%;background:#0b151c;box-shadow:0 12px 26px #0b151c2e;cursor:pointer}
.path-node::after{content:'';position:absolute;inset:-9px;border:1px solid transparent;border-bottom-color:#c6aa73;border-radius:50%;transform:rotate(-18deg)}
.path-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;color:#0b151c;transition:background .4s}
.path-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.path-node:focus-visible{outline:2px solid #92784f;outline-offset:12px}
.path-card{position:relative;padding-top:10px}
.path-arrow{position:absolute;right:calc(100% + 6px);top:31px;width:22px;height:1px;background:#c6aa73}
.path-arrow::after{content:'';position:absolute;right:-1px;top:-3px;border-left:6px solid #c6aa73;border-block:3.5px solid transparent}
.path-number{font-size:10px;font-weight:600;letter-spacing:1.6px;color:#92784f}
.path-card h3{margin-top:4px;font:500 34px/1.1 var(--sans);letter-spacing:-1.3px;color:#0b151c}
.path-detail{max-width:400px;margin-top:8px}
.path-subtitle{font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#6d7478}
.path-detail>p:not(.path-subtitle){margin-top:10px;font-size:14px;line-height:1.75;color:#4f585c}
.path-detail .text-link{margin-top:16px;font-size:13px;color:#0b151c}

/* Modo vivo: cada etapa aparece quando a linha chega até ela. */
.path.is-live{padding-bottom:100px}
.path.is-live .path-step{padding:33px 0}
.path.is-live .path-detail{position:absolute;left:0;right:0;top:100%}
.path.is-live .path-node{opacity:0;scale:.55;transition:opacity .5s,scale .7s var(--ease)}
.path.is-live :where(.path-card>*:not(.path-detail),.path-detail>*){opacity:0;translate:0 14px;transition:opacity .45s,translate .6s var(--ease),visibility 0s .45s;visibility:hidden}
.path.is-live .path-arrow{translate:none;scale:0 1;transform-origin:left;transition:scale .5s var(--ease),opacity .3s,visibility 0s .45s}
.path.is-live .path-ghost{opacity:0;translate:-20px 0;transition:opacity .6s,translate .8s var(--ease)}
.path.is-live .is-reached .path-node{opacity:1;scale:1}
.path.is-live .is-reached .path-number,.path.is-live .is-reached h3{opacity:.4;translate:none;visibility:visible;transition:opacity .45s,translate .6s var(--ease)}
.path.is-live .is-active .path-number,.path.is-live .is-active h3,.path.is-live .is-active .path-detail>*{opacity:1;translate:none;visibility:visible;transition:opacity .55s,translate .7s var(--ease)}
.path.is-live .is-active .path-detail>*:nth-child(2){transition-delay:.08s}
.path.is-live .is-active .path-detail>*:nth-child(3){transition-delay:.16s}
.path.is-live .is-active .path-arrow{opacity:1;scale:1 1;visibility:visible;transition:scale .5s .1s var(--ease),opacity .3s}
.path.is-live .is-reached .path-ghost{opacity:.12;translate:none}
.path.is-live .is-active .path-ghost{opacity:.38}
.path.is-live.is-complete .is-reached .path-ghost{opacity:.22}
.path.is-live .is-active .path-icon{background:#e4c992}
.path.is-live.is-complete .is-reached .path-number,.path.is-live.is-complete .is-reached h3,.path.is-live.is-complete .path-subtitle{opacity:1;translate:none;visibility:visible}
.path.is-live.is-complete .path-detail>*:not(.path-subtitle){display:none}
/* Frente aberta pelo clique: as seguintes recolhem o texto para a descrição não passar por cima. */
.path.is-live .path-step.is-after.is-reached .path-card>*,.path.is-live .path-step.is-after.is-reached .path-ghost{opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}

.path-next{position:absolute;left:50%;bottom:18px;display:flex;flex-direction:column;align-items:center;gap:10px;translate:-50% 0;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#92784f}
.path-next i{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c6aa7399;border-radius:50%;animation:path-next-nudge 2.2s var(--ease) infinite}
.path-next i::before{content:'';width:8px;height:8px;margin-top:-4px;border-right:1.5px solid #0b151c;border-bottom:1.5px solid #0b151c;rotate:45deg}
.path-next:hover i{background:#0b151c;border-color:#0b151c}
.path-next:hover i::before{border-color:#f2f1eb}
.path-next:focus-visible{outline:2px solid #92784f;outline-offset:6px;border-radius:8px}
@keyframes path-next-nudge{0%,100%{translate:0 0}50%{translate:0 6px}}
.path.is-live .path-next{opacity:0;translate:-50% -12px;visibility:hidden;transition:opacity .6s,translate .8s var(--ease),visibility 0s .6s}
.path.is-live.is-complete .path-next{opacity:1;translate:-50% 0;visibility:visible;transition:opacity .6s .15s,translate .8s .15s var(--ease)}
.path:not(.is-live){padding-bottom:110px}

/* Onda de entrada sobe sobre o Conselho: o "Ecclesia." segue até a curva. */
.wave-council-services{--wave-to:#f6f5f0;background:transparent;margin-top:-64px}
/* A onda de saída sobe sobre a própria seção: o fundo claro e o "Caminho." seguem até a curva. */
.wave-services-publication{--wave-to:#0b151c;background:transparent;margin-top:-64px}

@media(max-width:760px){
  .services-path{padding:24px 0 76px}
  .services-journey-heading h2{font-size:32px;letter-spacing:-1.3px}
  .services-journey-heading h2 em{display:block;margin:5px 0 0}
  .services-journey-heading .eyebrow{font-size:8px;letter-spacing:1.6px}
  .path{--node:64px;margin-top:30px}
  .path-seal{width:84px;height:84px;margin:0 0 0 -10px}
  .path-track{left:32px}
  .path-step{grid-template-columns:var(--node) minmax(0,1fr);column-gap:26px;padding:24px 0}
  .path-ghost{display:none}
  .path-word{bottom:-30px;font-size:60vw;letter-spacing:-6px}
  .path-icon{width:44px;height:44px}
  .path-icon svg{width:20px;height:20px}
  .path-node::after{inset:-6px}
  .path-card{padding-top:4px}
  .path-arrow{top:25px;width:14px}
  .path-card h3{font-size:28px}
  .path.is-live{padding-bottom:190px}
  .path-next{bottom:24px}
  .wave-services-publication,.wave-council-services{margin-top:-40px}
  .path.is-live .path-step{padding:24px 0}
}
@media(prefers-reduced-motion:reduce){.path-seal .seal-ring,.path-next i{animation:none}}
.motion-paused .path-seal .seal-ring,.motion-paused .path-next i{animation-play-state:paused}
