.fade-in {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeIn 1s forwards;
}

.delay-1 { animation-delay: 0.5s; }
.delay-2 { animation-delay: 1s; }

@keyframes fadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-on-scroll {
    opacity: 0;
    transform: translateY(40px);
    transition: 0.8s ease-out;
}

.animate-on-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}


/* CENTERED FLEX LAYOUT */
.center-animate-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 60px;
  padding: 80px 20px;
  max-width: 1100px;
  margin: auto;
  text-align: center;
}

/* TEXT BOX */
.typewriter-box {
  max-width: 500px;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.typewriter-box.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* TYPEWRITER EFFECT */
#typewriter-text {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  border-right: 3px solid #007b7f;
  font-size: 36px;
  animation: typing 2.5s steps(30) forwards, blink 0.7s infinite;
  animation-play-state: paused; /* IMPORTANT */
}

@keyframes typing {
  from { width: 0 }
  to { width: 100% }
}

@keyframes blink {
  0% { border-color: transparent }
  50% { border-color: #007b7f }
  100% { border-color: transparent }
}

/* IMAGE SLIDE-IN */
.slide-image {
  opacity: 0;
  transform: translateX(150px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.slide-image.in-view {
  opacity: 1;
  transform: translateX(0);
}


.slide-image img {
  width: 420px;
  max-width: 100%;
  border-radius: 12px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}



