.hero-img {
  height: 90vh;
  object-fit: cover;
  transform: scale(1);
  transition: transform 6s ease;
}

/* Zoom effect when active */
.carousel-item.active .hero-img {
  transform: scale(1.1);
}

/* Dark overlay */
.overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.5));
  top: 0;
  left: 0;
  z-index: 1;
}

/* Caption positioning */
.carousel-caption {
  z-index: 2;
  bottom: 30%;
  text-align: left;
}

/* Text styling */
.carousel-caption h1 {
  font-size: 3.2rem;
  font-weight: 700;
}

.carousel-caption p {
  font-size: 1.3rem;
}

/* Animation */
.animate-text {
  opacity: 0;
  transform: translateY(40px);
  animation: fadeUp 1s ease forwards;
}

.delay-1 {
  animation-delay: 0.6s;
}

.delay-2 {
  animation-delay: 1.2s;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Custom arrows */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: rgba(0,0,0,0.5);
  padding: 20px;
  border-radius: 50%;
}

#typing-text::after {
  content: "|";
  animation: blink 0.7s infinite;
}

@keyframes blink {
  50% { opacity: 0; }
}