    /* 
     * Custom CSS for B and B Lures
     * Clean minimalist style with subtle animations
     */

    /* Base Typography tweaks */
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    /* Animation Keyframes */
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translate3d(0, 40px, 0);
        }
        to {
            opacity: 1;
            transform: translate3d(0, 0, 0);
        }
    }

    .animate-fade-in-up {
        animation: fadeInUp 0.8s ease-out forwards;
        opacity: 0; /* Start hidden */
    }

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

    /* Scroll Reveal Utility */
    .reveal-on-scroll {
        opacity: 1; /* Always visible by default for SEO/accessibility */
        transform: translateY(0);
        transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    }

    /* 
     * Progressive enhancement: 
     * If JS is enabled, we add a class to hide elements initially, 
     * then reveal them. If JS is blocked, content remains visible.
     * We use a 'js' class on the body added by JS.
     */
    body.js .reveal-on-scroll {
        opacity: 0;
        transform: translateY(30px);
    }
    
    body.js .reveal-on-scroll.revealed {
        opacity: 1;
        transform: translateY(0);
    }
