/* Vagas Brasil — movimentos discretos e acessíveis */
@keyframes vb-enter { from { opacity: .55; transform: translateY(13px); } to { opacity: 1; transform: translateY(0); } }
@keyframes vb-soft-glow { 0%,100% { filter: drop-shadow(0 0 0 rgba(83,159,255,0)); } 50% { filter: drop-shadow(0 0 12px rgba(83,159,255,.25)); } }
@keyframes vb-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes vb-sheen { from { transform: translateX(-150%) skewX(-22deg); } to { transform: translateX(310%) skewX(-22deg); } }
@media (prefers-reduced-motion: no-preference) {
  .hero .eyebrow { animation: vb-enter .6s ease-out both; }
  .hero h1 { animation: vb-enter .75s .1s ease-out both; }
  .hero p { animation: vb-enter .75s .18s ease-out both; }
  .hero .search-bar { animation: vb-enter .75s .26s ease-out both; }
  .hero-panel { animation: vb-enter .85s .25s ease-out both; }
  .hero-mark { animation: vb-float 5s ease-in-out infinite, vb-soft-glow 5s ease-in-out infinite; }
  .btn, .filter-chip, .nav-links a, .steps article, .ctas article, .jobs-grid > * { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease; }
  .btn:not(:disabled):hover, .filter-chip:hover { transform: translateY(-2px); }
  .btn:not(:disabled):active { transform: translateY(0); }
  .steps article:hover, .ctas article:hover, .jobs-grid > *:hover { transform: translateY(-3px); }
  .btn-primary { position: relative; overflow: hidden; }
  .btn-primary::after { content: ''; position: absolute; inset: 0; width: 38%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.13), transparent); transform: translateX(-150%) skewX(-22deg); pointer-events: none; }
  .btn-primary:hover::after { animation: vb-sheen .75s ease-out 1; }
  .section-head, .steps, .ctas { animation: vb-enter .65s ease-out both; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
