/* MAIN CSS */
html {
  scroll-behavior: smooth;
  scrollbar-color: #4054CB #e5e7eb; 
}

/* Scroll Reveal Animation */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* delay */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Hide Scrollbar Utilities */
.scrollbar-hide::-webkit-scrollbar,
.scrollbar-none::-webkit-scrollbar {
    display: none;
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #e5e7eb; }
::-webkit-scrollbar-thumb { background: #4054CB; border-radius: 10px; border: 2px solid #e5e7eb; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: #EA57C4; }

.custom-scrollbar-mini::-webkit-scrollbar { width: 4px; }
.custom-scrollbar-mini::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar-mini::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.custom-scrollbar-mini::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.scrollbar-hide,
.scrollbar-none {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* HERO */
.hero-overlay {
  background: linear-gradient(
    to bottom,
    rgba(15, 23, 42, 0.5),
    rgba(15, 23, 42, 0.2)
  );
}

/* PRELOADERS */
body.is-loading {
  overflow: hidden;
  height: 100vh;
}
#preloader {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.6s ease-out, visibility 0.6s ease-out;
}
#preloader.hidden-preloader {
  opacity: 0;
  visibility: hidden;
}

/* Modal Transitions */
.modal-open { overflow: hidden; }