/* Custom Font Config */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');

:root {
    --color-charcoal-900: #111827;
    --color-charcoal-800: #1f2937;
    --color-charcoal-700: #374151;
    --color-charcoal-600: #4b5563;
    --color-charcoal-400: #9ca3af;
    --color-charcoal-300: #d1d5db;
    --color-charcoal-200: #e5e7eb;
    --color-charcoal-100: #f3f4f6;
    --color-charcoal-950: #030712;
    --color-coral-600: #c67c4a;
    --color-coral-500: #e08e5d;
    --color-coral-400: #f5a87a;
    --color-coral-700: #a86238;
}

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

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
}

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

::-webkit-scrollbar-track {
    background: var(--color-charcoal-900);
}

::-webkit-scrollbar-thumb {
    background: var(--color-charcoal-700);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-coral-600);
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hero-anim {
    animation: fadeInUp 1s ease-out forwards;
}

.scroll-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile Menu Transitions */
#mobile-menu {
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

#mobile-menu.open {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

/* Hover Effects */
a {
    transition: color 0.3s ease;
}

button {
    transition: all 0.3s ease;
}
