  /* ---------- Hero: scanner planetário ---------- */
  @keyframes softpulse{ 0%,100%{ opacity:1; box-shadow:0 0 0 0 rgba(14,107,88,.6) } 50%{ opacity:.45; box-shadow:0 0 0 6px rgba(14,107,88,0) } }
  .animate-softpulse{ animation:softpulse 1.8s ease-in-out infinite; }

  @keyframes beam-sweep{ 0%,8%{ transform:translateX(-46px); opacity:0 } 16%{ opacity:1 } 46%{ transform:translateX(46px); opacity:1 } 54%{ opacity:0 } 100%{ opacity:0; transform:translateX(46px) } }
  .animate-beam{ animation:beam-sweep 3.4s ease-in-out infinite; }

  @keyframes page-rise-l{ 0%,50%{ transform:translateY(0) rotate(0deg); opacity:0 } 58%{ opacity:1 } 78%{ transform:translateY(-70px) rotate(-8deg); opacity:1 } 96%,100%{ transform:translateY(-130px) rotate(-14deg); opacity:0 } }
  @keyframes page-rise-r{ 0%,54%{ transform:translateY(0) rotate(0deg); opacity:0 } 62%{ opacity:1 } 82%{ transform:translateY(-70px) rotate(8deg); opacity:1 } 100%{ transform:translateY(-130px) rotate(14deg); opacity:0 } }
  .animate-page-l{ animation:page-rise-l 3.4s ease-out infinite; }
  .animate-page-r{ animation:page-rise-r 3.4s ease-out infinite; }

  @keyframes arm-glow{ 0%,100%{ opacity:.5 } 50%{ opacity:1 } }
  .animate-arm{ animation:arm-glow 1.7s ease-in-out infinite; }

  .fade-step{ opacity:0; transform:translateY(6px); transition:opacity .45s ease, transform .45s ease; }
  .fade-step.show{ opacity:1; transform:translateY(0); }

  /* ---------- Jornada do documento: trilho de progresso, toca 1x ao entrar na tela ---------- */
  .jornada-fill{ transition: width 1.8s cubic-bezier(.22,.9,.3,1); }
  .jornada-trilho.is-filled .jornada-fill{ width:100%; }

  @keyframes jornada-badge-pop{
    0%{ transform:scale(1); box-shadow:0 0 0 0 rgba(14,107,88,0); }
    40%{ transform:scale(1.18); box-shadow:0 0 0 6px rgba(14,107,88,.25); }
    100%{ transform:scale(1); box-shadow:0 0 0 0 rgba(14,107,88,0); }
  }
  .jornada-badge.is-active{ animation: jornada-badge-pop .6s ease-out; }
