.custom-navbar {
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(10px);
    transition: 0.3s;
}

.navbar-nav .nav-link {
    color: #fff;
    font-weight: 500;
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover {
    color: #f5b942;
}

.title {
    font-weight: 700;
}

@keyframes infinite-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
.animate-infinite-scroll {
    animation: infinite-scroll 25s linear infinite;
    width: max-content;
}
.scrollbar-hide::-webkit-scrollbar { display: none; }
.hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    /* Gunakan visibility agar browser tidak merender slide yang tidak aktif */
    visibility: hidden;
    opacity: 0;
    /* Transisi opacity dibuat sedikit lebih lama agar tidak kaku */
    transition: opacity 2s cubic-bezier(0.4, 0, 0.2, 1), visibility 2s;
    overflow: hidden;
  }

  .hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Mulai dari 1.05 agar saat transisi tidak ada gap putih */
    transform: scale(1.05);
    /* Penting: Memaksa GPU bekerja (Hardware Acceleration) */
    backface-visibility: hidden;
    perspective: 1000px;
    will-change: transform, opacity;
  }

  /* Slide Aktif */
  .hero-slide.active {
    visibility: visible;
    opacity: 1;
    z-index: 1;
  }

  /* Animasi Zoom yang lebih lambat dan smooth */
  .hero-slide.active img {
    animation: smoothZoom 8s linear forwards;
  }

  @keyframes smoothZoom {
    0% { transform: scale(1); }
    100% { transform: scale(1.15); }
  }