  /* ---------- Hero: animação livro > scanner > selo > nuvem ---------- */
  @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) } }
  @keyframes cartorio-registro-pulse{ 0%,86%{ box-shadow:0 0 0 0 rgba(14,107,88,0) } 94%{ box-shadow:0 0 22px 4px rgba(14,107,88,.55) } 100%{ box-shadow:0 0 0 0 rgba(14,107,88,0) } }
  /* livro fica estático (aberto), sem animação de abrir/fechar */
  @keyframes scan-sweep{ 0%,10%{ top:6%; opacity:0 } 16%{ opacity:1 } 55%{ top:90%; opacity:1 } 64%,100%{ opacity:0; top:90% } }
  @keyframes seal-stamp{ 0%,64%{ transform:scale(0) rotate(-25deg); opacity:0 } 72%{ transform:scale(1.25) rotate(-8deg); opacity:1 } 80%{ transform:scale(1) rotate(-12deg); opacity:1 } 96%,100%{ transform:scale(1) rotate(-12deg); opacity:1 } }
  @keyframes doc-float{ 0%,78%{ transform:translateY(0) scale(1); opacity:0 } 84%{ opacity:1 } 88%{ transform:translateY(-40px) scale(.85); opacity:1 } 100%{ transform:translateY(-140px) scale(.55); opacity:0 } }
  @keyframes flow-fill{ 0%{ transform:scaleX(0) } 16%{ transform:scaleX(1) } 100%{ transform:scaleX(1) } }
  @keyframes lock-blink{ 0%,100%{ opacity:1 } 50%{ opacity:.55 } }
  .lock-blink{ animation: lock-blink 2.4s ease-in-out infinite; }

  .animate-softpulse{ animation:softpulse 1.8s ease-in-out infinite; }
  .cartorio-registro{ animation: cartorio-registro-pulse 6s ease-in-out infinite; }
  .animate-scan{ animation:scan-sweep 6s ease-in-out infinite; }
  .animate-seal{ animation:seal-stamp 6s ease-in-out infinite; }
  .animate-doc-float{ animation:doc-float 6s ease-in-out infinite; }
