/* Custom font imports */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

/* Custom Tailwind config */
@layer components {
    .font-playfair {
        font-family: 'Playfair Display', serif;
    }
    .font-inter {
        font-family: 'Inter', sans-serif;
    }
}

/* Base styles */
html {
    scroll-behavior: smooth;
}

body {
    background-color: #040B14;
    color: #ffffff;
}

/* Scroll reveal animations */
.reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.reveal.hidden-reveal {
    opacity: 0;
    transform: translateY(30px);
}

@media (prefers-reduced-motion: no-preference) {
    .reveal.hidden-reveal {
        opacity: 0;
        transform: translateY(30px);
    }
}

/* Mobile menu */
#mobileMenu {
    opacity: 0;
    pointer-events: none;
}

#mobileMenu.active {
    opacity: 1;
    pointer-events: all;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #040B14;
}

::-webkit-scrollbar-thumb {
    background: #5EEAD4/30;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #5EEAD4/50;
}

/* Select dropdown styling */
select option {
    background: #0A1628;
    color: #ffffff;
}

/* Subtle pulse animation for the hero dot */
@keyframes soft-pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.6;
        transform: scale(1.2);
    }
}

.animate-pulse {
    animation: soft-pulse 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

/* Image hover zoom */
.relative.rounded-2xl.overflow-hidden {
    overflow: hidden;
}

.relative.rounded-2xl.overflow-hidden img {
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.relative.rounded-2xl.overflow-hidden:hover img {
    transform: scale(1.03);
}
