  body{font-family:'Lora','Helvetica Neue',Helvetica,Arial,sans-serif;}

  /* ---------- Hero: moldura revelada por feixe dourado ---------- */
  @keyframes beam-sweep{
    0%{ transform: translateX(0); opacity:0; }
    10%{ opacity:1; }
    50%{ transform: translateX(150px); opacity:1; }
    60%{ opacity:0; }
    100%{ transform: translateX(150px); opacity:0; }
  }
  .beam-sweep{ animation: beam-sweep 4.4s ease-in-out infinite; }

  @keyframes reveal-clip{
    0%, 8%{ width:0; }
    52%{ width:150px; }
    100%{ width:150px; }
  }
  .reveal-clip-rect{ animation: reveal-clip 4.4s ease-in-out infinite; }

  @keyframes fade-reset{
    0%, 55%{ opacity:1; }
    62%{ opacity:0; }
    95%{ opacity:0; }
    100%{ opacity:1; }
  }
  .fade-reset{ animation: fade-reset 4.4s ease-in-out infinite; }

  /* ---------- Cards: hover ---------- */
  .doc-card{ transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
  .doc-card:hover{ transform: translateY(-6px); box-shadow: 0 20px 40px -12px rgba(22,35,61,.15); border-color:#0E6B58; }

  /* ---------- Infraestrutura: indicadores ---------- */
  @keyframes gauge-pulse{
    0%, 100%{ opacity:1; }
    50%{ opacity:.5; }
  }
  .gauge-pulse{ animation: gauge-pulse 2.2s ease-in-out infinite; }

  @keyframes tag-appear{
    0%, 50%{ opacity:0; transform: translateY(6px); }
    65%{ opacity:1; transform: translateY(0); }
    92%{ opacity:1; }
    100%{ opacity:0; transform: translateY(6px); }
  }
  .tag-appear{ animation: tag-appear 3.2s ease-in-out infinite; }
