@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp 0.6s ease forwards; }
.cursor-blink::after { content: '|'; animation: blink 1s step-end infinite; }
@keyframes blink { 50% { opacity: 0; } }

@keyframes akiliMarkPulse {
  0%, 100% { opacity: 1; filter: drop-shadow(0 0 6px rgba(37, 99, 235, 0.55)); transform: scale(1); }
  50% { opacity: 0.55; filter: drop-shadow(0 0 14px rgba(37, 99, 235, 0.85)); transform: scale(1.06); }
}
.akili-mark {
  animation: akiliMarkPulse 2s ease-in-out infinite;
}
.hero-mark-wrap .akili-mark {
  width: 56px; height: 56px;
}
