    :root {
        --color-charcoal: #2C2C2C;
        --color-coral: #FF7F50;
        --color-stone-50: #FAFAF9;
        --color-stone-100: #F5F5F4;
        --font-sans: 'Outfit', sans-serif;
        --font-serif: 'Playfair Display', serif;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        color: var(--color-charcoal);
        font-family: var(--font-sans);
    }

    h1, h2, h3, h4 {
        font-family: var(--font-serif);
    }

    /* Custom Scrollbar */
    ::-webkit-scrollbar {
        width: 8px;
    }
    ::-webkit-scrollbar-track {
        background: var(--color-stone-100);
    }
    ::-webkit-scrollbar-thumb {
        background: var(--color-coral);
        border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: var(--color-charcoal);
    }

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

    .reveal-up.visible {
        opacity: 1;
        transform: translateY(0);
    }

    .delay-100 { transition-delay: 0.1s; }
    .delay-200 { transition-delay: 0.2s; }
    .delay-300 { transition-delay: 0.3s; }

    /* Mobile Menu Transitions */
    #mobile-menu.open {
        opacity: 1;
        pointer-events: all;
    }

    .bar.open-1 { transform: rotate(45deg) translate(5px, 5px); }
    .bar.open-2 { opacity: 0; }
    .bar.open-3 { transform: rotate(-45deg) translate(5px, -5px); width: 24px; }

    /* Navbar Scroll State */
    #navbar.scrolled {
        background: rgba(250, 250, 249, 0.9);
        backdrop-filter: blur(10px);
        box-shadow: 0 4px 20px rgba(0,0,0,0.05);
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
