/* Lenis Smooth Scroll Setup */
html.lenis { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }

/* Custom Cursor Elements */
#cursor-dot, #cursor-ring { display: none; }
@media (pointer: fine) {
    body { cursor: none; }
    #cursor-dot {
        display: block;
        position: fixed; top: 0; left: 0; width: 6px; height: 6px;
        background-color: #F2A93B; border-radius: 50%;
        pointer-events: none; z-index: 10000;
        box-shadow: 0 0 10px #F2A93B;
    }
    #cursor-ring {
        display: block;
        position: fixed; top: 0; left: 0; width: 44px; height: 44px;
        border: 1.5px solid rgba(242, 169, 59, 0.6); border-radius: 50%;
        pointer-events: none; z-index: 9999;
    }
}

/* Marquee Animation */
.marquee-container { overflow: hidden; white-space: nowrap; position: relative; }
.marquee-content { display: inline-flex; animation: marquee 30s linear infinite; }
.marquee-container:hover .marquee-content { animation-play-state: paused; }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* Image Overlays & Hover Effects */
.img-overlay { position: relative; overflow: hidden; }
.img-overlay::after {
    content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0) 100%);
    opacity: 0.8; transition: opacity 0.5s ease;
}
.img-overlay:hover::after { opacity: 0.6; }
.img-overlay img { transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.img-overlay:hover img { transform: scale(1.05); }

/* Grain Overlay for Cinematic Feel */
.film-grain {
    position: fixed; inset: 0; pointer-events: none; z-index: 50; opacity: 0.04;
    background-image: url('data:image/svg+xml;utf8,%3Csvg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="noiseFilter"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23noiseFilter)"/%3E%3C/svg%3E');
}

/* Hide scrollbar for clean look */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #050505; }
::-webkit-scrollbar-thumb { background: #333; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #F2A93B; }

.clip-text { -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

/* Custom Nav Active State (for multi-page) */
.nav-link-active {
    color: #F2A93B !important;
}
.nav-link-active::after {
    width: 100% !important;
}

/* Scroll Animation */
.vertical-text {
    writing-mode: vertical-rl;
}

@keyframes scroll-line {
    0% { transform: translateY(-100%); }
    100% { transform: translateY(100%); }
}
.animate-scroll-line {
    animation: scroll-line 2s cubic-bezier(0.76, 0, 0.24, 1) infinite;
}

/* Team Section Styles */
.team-card:hover .team-socials {
    opacity: 1;
    transform: translateY(0);
}

