/* Classi di utilità e animazioni consolidate */
        body { font-family: 'Montserrat', sans-serif; }
        .font-serif { font-family: 'Cormorant Garamond', serif; }
        
        .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }
        .reveal-delay-1 { transition-delay: 0.1s; }
        .reveal-delay-2 { transition-delay: 0.2s; }
        .reveal-delay-3 { transition-delay: 0.3s; }

        .placeholder-aesthetic {
            background: linear-gradient(145deg, rgba(210,188,168,0.1) 0%, rgba(75,53,47,0.3) 100%);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: #d2bca8;
        }

        /* Effetto di luce di sfondo ottimizzato senza blur pesanti */
        .bg-glow-optimized {
            background: radial-gradient(circle at center, rgba(210,188,168,0.08) 0%, rgba(100,72,64,0) 70%);
        }

        @keyframes scroll-marquee {
            0% { transform: translateX(100vw); }
            100% { transform: translateX(-100%); }
        }
        .animate-marquee-text {
            display: inline-block;
            white-space: nowrap;
            /* La durata (25s) può essere modificata per regolare la velocità dello scorrimento */
            animation: scroll-marquee 25s linear infinite; 
            will-change: transform;
        }
        /* Mette in pausa lo scorrimento quando l'utente passa il mouse sopra il testo (opzionale ma consigliato per l'accessibilità) */
        .animate-marquee-text:hover {
            animation-play-state: paused;
        }