/* Custom Styles & Animations */
:root {
    --color-coral: #ef4444;
    --color-charcoal: #111827;
}

html {
    scroll-behavior: smooth;
}

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

h1, h2, h3, h4 {
    font-family: 'Fraunces', serif;
}

/* Blob Animation for Hero */
@keyframes blob {
    0% { transform: translate(0px, 0px) scale(1); }
    33% { transform: translate(30px, -50px) scale(1.1); }
    66% { transform: translate(-20px, 20px) scale(0.9); }
    100% { transform: translate(0px, 0px) scale(1); }
}

.animate-blob {
    animation: blob 7s infinite;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.animation-delay-4000 {
    animation-delay: 4s;
}

/* Scroll Reveal Utility Classes */
.reveal-up, .reveal-left, .reveal-right {
    opacity: 1; /* Default visible for accessibility */
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

/* Initial state for JS to trigger */
.reveal-up { transform: translateY(30px); }
.reveal-left { transform: translateX(-30px); }
.reveal-right { transform: translateX(30px); }

/* When active */
.reveal-up.active { transform: translateY(0); }
.reveal-left.active { transform: translateX(0); }
.reveal-right.active { transform: translateX(0); }

/* Navbar Glass Effect */
.nav-scrolled {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}
