  /* ---------- Hero: documentos bagunçados se organizando ---------- */
  @keyframes doc-organize-1{
    0%{ transform: translate(-58px,-36px) rotate(-24deg); }
    55%{ transform: translate(0,0) rotate(0deg); }
    85%{ transform: translate(0,0) rotate(0deg); }
    100%{ transform: translate(-58px,-36px) rotate(-24deg); }
  }
  @keyframes doc-organize-2{
    0%{ transform: translate(52px,-46px) rotate(17deg); }
    55%{ transform: translate(0,0) rotate(0deg); }
    85%{ transform: translate(0,0) rotate(0deg); }
    100%{ transform: translate(52px,-46px) rotate(17deg); }
  }
  @keyframes doc-organize-3{
    0%{ transform: translate(-46px,42px) rotate(13deg); }
    55%{ transform: translate(0,0) rotate(0deg); }
    85%{ transform: translate(0,0) rotate(0deg); }
    100%{ transform: translate(-46px,42px) rotate(13deg); }
  }
  @keyframes doc-organize-4{
    0%{ transform: translate(60px,38px) rotate(-19deg); }
    55%{ transform: translate(0,0) rotate(0deg); }
    85%{ transform: translate(0,0) rotate(0deg); }
    100%{ transform: translate(60px,38px) rotate(-19deg); }
  }
  @keyframes doc-organize-5{
    0%{ transform: translate(4px,-62px) rotate(28deg); }
    55%{ transform: translate(0,0) rotate(0deg); }
    85%{ transform: translate(0,0) rotate(0deg); }
    100%{ transform: translate(4px,-62px) rotate(28deg); }
  }
  .doc-organize-1{ animation: doc-organize-1 5s ease-in-out infinite; transform-origin:center; }
  .doc-organize-2{ animation: doc-organize-2 5s ease-in-out infinite; transform-origin:center; }
  .doc-organize-3{ animation: doc-organize-3 5s ease-in-out infinite; transform-origin:center; }
  .doc-organize-4{ animation: doc-organize-4 5s ease-in-out infinite; transform-origin:center; }
  .doc-organize-5{ animation: doc-organize-5 5s ease-in-out infinite; transform-origin:center; }

  @keyframes label-appear{
    0%, 45%{ opacity:0; transform: scale(.7); }
    60%{ opacity:1; transform: scale(1.08); }
    70%{ transform: scale(1); }
    85%{ opacity:1; transform: scale(1); }
    100%{ opacity:0; transform: scale(.7); }
  }
  .label-appear{ animation: label-appear 5s ease-in-out infinite; transform-origin:center; }

  @keyframes label-glow-pulse{
    0%, 45%{ opacity:0; }
    60%, 85%{ opacity:.7; }
    100%{ opacity:0; }
  }
  .label-glow{ animation: label-glow-pulse 5s ease-in-out infinite; }

  /* ---------- Card: Consultoria Arquivística — lupa analisando + checklist ---------- */
  @keyframes consult-lupa-sweep{
    0%,100%{ transform: translate(-8px,-3px) rotate(-4deg); }
    50%{ transform: translate(8px,5px) rotate(4deg); }
  }
  .consult-lupa{ animation: consult-lupa-sweep 3.6s ease-in-out infinite; }

  @keyframes consult-check-pop{ 0%,10%{ transform:scale(0); opacity:0 } 25%,85%{ transform:scale(1); opacity:1 } 100%{ transform:scale(0); opacity:0 } }
  .consult-check-1{ animation: consult-check-pop 3.6s ease-in-out infinite; }
  .consult-check-2{ animation: consult-check-pop 3.6s ease-in-out infinite 1.2s; }
  .consult-check-3{ animation: consult-check-pop 3.6s ease-in-out infinite 2.4s; }

  /* ---------- Card: Tabela de Temporalidade — calendário simples ---------- */
  @keyframes calendar-day-pulse{
    0%, 100%{ opacity:.5; }
    50%{ opacity:1; }
  }
  .calendar-day-highlight{ animation: calendar-day-pulse 2s ease-in-out infinite; }

  /* ---------- Card: Catalogação e Indexação — etiqueta e gaveta do fichário ---------- */
  @keyframes cat-tag-drop{
    0%{ transform:translateY(-10px); opacity:0; }
    15%{ opacity:1; }
    40%,75%{ transform:translateY(28px); opacity:1; }
    95%,100%{ transform:translateY(28px); opacity:0; }
  }
  .cat-tag-drop{ animation: cat-tag-drop 3.2s ease-in-out infinite; }

  @keyframes cat-slot-glow{ 0%,45%{opacity:0} 60%,85%{opacity:.28} 100%{opacity:0} }
  .cat-slot-glow{ animation: cat-slot-glow 3.2s ease-in-out infinite; }

  /* ---------- Card: Descarte Seguro — fragmentação em pixels ---------- */
  @keyframes shred-feed{
    0%{ transform: translateY(0); opacity:1; }
    45%{ transform: translateY(46px); opacity:1; }
    55%{ transform: translateY(46px); opacity:0; }
    100%{ transform: translateY(0); opacity:0; }
  }
  .shred-feed{ animation: shred-feed 2.8s ease-in-out infinite; }

  @keyframes pixel-fall{
    0%, 50%{ transform: translateY(0); opacity:0; }
    60%{ opacity:1; }
    100%{ transform: translateY(38px); opacity:0; }
  }
  .pixel-fall{ animation: pixel-fall 2.8s ease-in-out infinite; }

  /* ---------- Timeline ---------- */
  .timeline-track{ position:relative; }
  .timeline-track::before{
    content:"";
    position:absolute;
    top:0; bottom:0; left:23px;
    width:2px;
    background:linear-gradient(180deg, #F2994A 0%, #0E6B58 100%);
  }
  @keyframes step-pulse{
    0%, 100%{ box-shadow:0 0 0 0 rgba(14,107,88,.5); }
    50%{ box-shadow:0 0 0 8px rgba(14,107,88,0); }
  }
  .step-pulse{ animation: step-pulse 2.4s ease-in-out infinite; }
