@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Inter:wght@100..900&display=swap');

html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Background Animation */
@keyframes bg-zoom {
    0% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

.bg-animate {
    animation: bg-zoom 10s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* Intersection Observer Animations (Replicating Framer Motion) */
.reveal {
    opacity: 0;
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
    opacity: 1;
    transform: translate(0, 0) scale(1) scaleX(1);
}

/* Specific reveal directions */
.slide-up {
    transform: translateY(40px);
}

.slide-down {
    transform: translateY(-20px);
}

.slide-left {
    transform: translateX(50px);
}

.slide-right {
    transform: translateX(-50px);
}

.zoom-x {
    transform: scaleX(0);
    transform-origin: center;
}

.fade-in {
    opacity: 0;
}

.scale-up {
    transform: scale(0.9);
}

/* Delays for staggered animations */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }
.delay-600 { transition-delay: 600ms; }
.delay-700 { transition-delay: 700ms; }
.delay-800 { transition-delay: 800ms; }
.delay-900 { transition-delay: 900ms; }
.delay-1000 { transition-delay: 1000ms; }
.delay-1100 { transition-delay: 1100ms; }

/* Navbar Scroll State */
.nav-scrolled {
    background-color: rgba(10, 10, 10, 0.9);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1.25rem !important; /* py-5 */
    padding-bottom: 1.25rem !important;
}

/* Hide scrollbar for clean look in some containers if needed */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
