/* Typing effect */
@keyframes typing {
  from { width: 0; }
  to { width: 100%; }
}

@keyframes blink {
  0%, 50%, 100% { border-color: transparent; }
  25%, 75% { border-color: #fff; }
}

.intro-text .title {
  display: inline-block;
  overflow: hidden; 
  white-space: nowrap; 
  border-right: 3px solid #fff;
  font-weight: 700;
  font-size: 2.5rem;
  width: 0; /* start hidden */
  animation: typing 2s steps(30, end) forwards, blink 0.75s step-end 2s forwards;
}

/* Hide cursor after typing completes */
.intro-text .title::after {
  content: '';
  animation: none;
  border: none;
}

/* Paragraph fade-up */
@keyframes fadeUp {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Read more btn */
.btn-custom {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 1s ease forwards;
  animation-delay: 3s;
  transition: all 0.3s ease; 
}

.btn-custom:hover {
  transform: translateY(15px) scale(1.05); 
  background-color: #020381; 
  color: #fff; 
}

