/* ============================================
   PRELOADER — Homepage Animation
   ============================================ */

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #f3f3f3;
  z-index: 99999;
  display: flex;
  pointer-events: none;
}

.preloader-text-wrapper {
  position: absolute;
  bottom: 5vh;
  left: 5vw;
  z-index: 2;
}

.preloader-text {
  font-family: 'Bangers', cursive;
  font-size: clamp(60px, 12vw, 180px);
  line-height: 0.9;
  color: var(--black);
  margin: 0;
  letter-spacing: 2px;
  white-space: nowrap;
}

/* Typewriter cursor effect */
.typewriter-line::after {
  content: '|';
  animation: blink 0.7s infinite;
  color: var(--yellow);
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

.preloader-progress-track {
  width: min(400px, 80vw);
  height: 4px;
  background: rgba(0, 0, 0, 0.1);
  margin-top: 15px;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

.preloader-progress-bar {
  height: 100%;
  width: 0%;
  background: var(--black);
  border-radius: 4px;
  transition: width 0.2s ease-out;
}

.preloader-video {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 65vh; /* Reduced to make it smaller */
  max-width: 40vw;
  object-fit: contain;
  object-position: bottom right;
  z-index: 1;
}

/* ── Mobile ── */
@media (max-width: 768px) {
  .preloader-text-wrapper {
    bottom: auto;
    top: 8vh;
    left: 6vw;
  }
  .preloader-text {
    font-size: clamp(40px, 12vw, 80px);
  }
  .preloader-video {
    height: 45vh;
    max-width: 90vw;
  }
}
