html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

body {
    font-family: 'Outfit', sans-serif;
}

/* Fallback cursor if custom fails */
@media (pointer: coarse) {
    #cursor, #cursor-follower {
        display: none !important;
    }
}

a, button {
    cursor: pointer;
}

.font-fira {
    font-family: 'Fira Code', monospace;
}

.font-outfit {
    font-family: 'Outfit', sans-serif;
}

/* Custom Scrollbar for non-lenis browsers just in case */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: #050505;
}
::-webkit-scrollbar-thumb {
    background: #27272a; /* zinc-800 */
}
::-webkit-scrollbar-thumb:hover {
    background: #2dd4bf; /* teal-400 */
}

/* Marquee Animations */
.marquee-inner {
    animation: marquee 20s linear infinite;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.stack-marquee {
    animation: stackMarquee 30s linear infinite;
}

@keyframes stackMarquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
