// Elegancy Esquadrias — App const { useEffect } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "#b08555", "darkMode": false, "showGalleryTags": true }/*EDITMODE-END*/; const ACCENT_PRESETS = { "Champagne": "#b08555", "Cobre": "#a05a32", "Grafite": "#5a5550", "Bronze fosco": "#7d6543", "Verde sálvia": "#7a8870", }; function App() { const [tweaks, setTweak] = useTweaks(TWEAK_DEFAULTS); // Apply theme + accent useEffect(() => { const root = document.documentElement; root.setAttribute('data-theme', tweaks.darkMode ? 'dark' : 'light'); root.style.setProperty('--accent', tweaks.accent); // derive deep variant root.style.setProperty('--accent-deep', shade(tweaks.accent, -15)); }, [tweaks.accent, tweaks.darkMode]); // Reveal-on-scroll useEffect(() => { const obs = new IntersectionObserver((entries) => { entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('in'); obs.unobserve(e.target); } }); }, { threshold: 0.12 }); document.querySelectorAll('.section, .testimonial, .service, .why-cell, .process-item, .gallery-item, .faq-item, .hero-meta-item').forEach(el => { el.classList.add('reveal'); obs.observe(el); }); return () => obs.disconnect(); }, []); return ( <>