    /* Custom styles for La Pupusa Queen */

    /* Smooth scrolling */
    html {
        scroll-behavior: smooth;
    }

    /* Reduced motion preference */
    @media (prefers-reduced-motion: reduce) {
        html {
            scroll-behavior: auto;
        }
        .scroll-reveal {
            opacity: 1 !important;
            transform: none !important;
        }
        img:hover {
            transform: none;
        }
    }

    /* Scroll reveal animations - progressive enhancement via JS */
    .scroll-reveal {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.6s ease, transform 0.6s ease;
    }

    /* Navbar scroll state */
    #navbar.scrolled {
        background: rgba(254, 253, 248, 0.95);
        backdrop-filter: blur(12px);
        box-shadow: 0 1px 20px rgba(6, 95, 70, 0.08);
    }

    /* Mobile menu transitions */
    #mobile-menu {
        animation: slideDown 0.3s ease;
    }

    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-8px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Mobile menu active state */
    #mobile-menu.open {
        display: block;
    }

    /* Custom scrollbar */
    ::-webkit-scrollbar {
        width: 8px;
    }
    ::-webkit-scrollbar-track {
        background: #fdf9ee;
    }
    ::-webkit-scrollbar-thumb {
        background: #a7f3d0;
        border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: #6ee7b7;
    }

    /* Selection color */
    ::selection {
        background: #d1fae5;
        color: #064e3b;
    }
</styles.css>

<sm-file path="script.js">
    // La Pupusa Queen - Interactive Scripts

    // Navbar scroll effect
    const navbar = document.getElementById('navbar');
    let lastScroll = 0;

    function handleNavbarScroll() {
        const currentScroll = window.pageYOffset;
        
        if (currentScroll > 50) {
            navbar.classList.add('scrolled');
        } else {
            navbar.classList.remove('scrolled');
        }
        
        lastScroll = currentScroll;
    }

    window.addEventListener('scroll', handleNavbarScroll, { passive: true });

    // Mobile menu toggle
    const menuBtn = document.getElementById('menu-btn');
    const mobileMenu = document.getElementById('mobile-menu');
    const menuLines = document.querySelectorAll('.menu-line');
    let isMenuOpen = false;

    menuBtn.addEventListener('click', () => {
        isMenuOpen = !isMenuOpen;
        
        if (isMenuOpen) {
            mobileMenu.classList.add('open');
            mobileMenu.style.display = 'block';
            menuLines[0].style.transform = 'rotate(45deg) translate(4px, 4px)';
            menuLines[1].style.opacity = '0';
            menuLines[2].style.transform = 'rotate(-45deg) translate(4px, -4px)';
            menuLines[2].style.width = '24px';
        } else {
            mobileMenu.classList.remove('open');
            menuLines[0].style.transform = '';
            menuLines[1].style.opacity = '1';
            menuLines[2].style.transform = '';
            menuLines[2].style.width = '16px';
            
            setTimeout(() => {
                if (!isMenuOpen) {
                    mobileMenu.style.display = 'none';
                }
            }, 300);
        }
    });

    // Close mobile menu on link click
    document.querySelectorAll('.mobile-link').forEach(link => {
        link.addEventListener('click', () => {
            isMenuOpen = false;
            menuLines[0].style.transform = '';
            menuLines[1].style.opacity = '1';
            menuLines[2].style.transform = '';
            menuLines[2].style.width = '16px';
            mobileMenu.style.display = 'none';
        });
    });

    // Scroll reveal animations (progressive enhancement)
    // Only apply if user hasn't requested reduced motion
    const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
    
    if (!prefersReducedMotion && 'IntersectionObserver' in window) {
        const revealElements = document.querySelectorAll('.scroll-reveal');
        
        const revealObserver = new IntersectionObserver((entries) => {
            entries.forEach(entry => {
                if (entry.isIntersecting) {
                    entry.target.style.opacity = '1';
                    entry.target.style.transform = 'translateY(0)';
                    revealObserver.unobserve(entry.target);
                }
            });
        }, {
            threshold: 0.1,
            rootMargin: '0px 0px -50px 0px'
        });

        revealElements.forEach(el => {
            el.style.opacity = '0';
            el.style.transform = 'translateY(24px)';
            el.style.transition = 'opacity 0.6s ease, transform 0.6s ease';
            revealObserver.observe(el);
        });
    }

    // Smooth scroll for anchor links
    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
        anchor.addEventListener('click', function(e) {
            e.preventDefault();
            const target = document.querySelector(this.getAttribute('href'));
            if (target) {
                const offsetTop = target.offsetTop - 80;
                window.scrollTo({
                    top: offsetTop,
                    behavior: 'smooth'
                });
            }
        });
    });
</script>
