/* Minimalist Reset & Utilities */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Custom Selection Color */
::selection {
    background: #000;
    color: #fff;
}

/* Lenis Recommended CSS */
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;
}

/* Image Hover Effects */
.project-card img {
    will-change: transform;
}

/* Dark Navbar Styles */
#navbar.dark {
    background-color: #18181b;
    /* zinc-900 */
    background-image: none;
    /* Remove gradient */
}

#navbar.dark a {
    color: #fafaf9;
    /* stone-50 */
}

#navbar.dark svg path {
    fill: #fafaf9;
    /* stone-50 */
}

#navbar.dark #logo-menu-btn svg path {
    fill: #fafaf9;
    /* stone-50 */
}

#navbar.dark .bg-black {
    background-color: #fafaf9;
    /* stone-50 for hamburger menu lines */
}

#navbar.dark #menu-btn div {
    background-color: #fafaf9;
    /* stone-50 for hamburger menu lines in dark mode */
}

/* Intro Animation Styles */
body.intro-active #main-scroll {
    overflow: hidden !important;
    pointer-events: none;
}

/* SVG Fill Utility */
.fill-ospa-black {
    color: #18181b !important;
    /* zinc-900 */
}

.fill-stone-50 {
    color: #fafaf9 !important;
    /* stone-50 */
}

.fill-white {
    color: #ffffff !important;
}

/* Verticals Menu Styles */
#verticals-menu {
    backdrop-filter: blur(10px);
}

.vertical-menu-item {
    cursor: pointer;
    transition: transform 0.3s ease;
}

.vertical-menu-item:hover {
    transform: scale(1.1);
}

/* Hero Text Animation Initial State */
#hero-title {
    opacity: 0;
    transform: translateY(30px);
}

#hero-description {
    opacity: 0;
    transform: translateY(20px);
}

#hero-buttons {
    opacity: 0;
    transform: translateY(15px);
}

/* Video Animation Initial State */
#intro-video-wrapper {
    position: relative;
    overflow: hidden;
}

#intro-video {
    position: fixed;
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    object-position: center bottom;
    bottom: 0;
    left: 0;
    z-index: 1;
    will-change: width, height, left, top, bottom;
    opacity: 0; /* Hidden during intro, will be shown after */
}

/* Mobile Menu Styles */
#mobile-menu {
    backdrop-filter: blur(10px);
}

.mobile-menu-link {
    transition: opacity 0.2s ease;
}

.mobile-menu-link:active {
    opacity: 0.7;
}

/* Modal Mobile Styles */
@media (max-width: 768px) {
    #project-details-overlay {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    #project-details-overlay .container {
        padding-top: 60px; /* Space for close button */
    }
}

/* Mobile adjustments */
@media (max-width: 768px) {
    /* Ensure snap scroll works on mobile */
    #main-scroll {
        -webkit-overflow-scrolling: touch;
    }
    
    /* Adjust video height on mobile */
    #intro-video {
        height: 240px;
    }
    
    /* Better touch targets */
    button, a {
        min-height: 44px;
        min-width: 44px;
    }
}