// Sigil — alchemical decorative SVG (rotating concentric rings) const Sigil = () => ( {/* Cardinal ticks */} {Array.from({ length: 24 }).map((_, i) => { const a = (i * 15 * Math.PI) / 180; const x1 = 260 + Math.cos(a) * 232; const y1 = 260 + Math.sin(a) * 232; const x2 = 260 + Math.cos(a) * 244; const y2 = 260 + Math.sin(a) * 244; return ; })} {/* Triangle (fire) */} {/* Inverted triangle (water) */} ); // Brand mark — uses the actual Fuente Alquimia "A" logo (transparent PNG) const BrandMark = ({ size = 30 }) => ( Fuente Alquimia ); // Scroll-reveal hook const useReveal = () => { const ref = React.useRef(null); const [shown, setShown] = React.useState(false); React.useEffect(() => { if (!ref.current) return; const obs = new IntersectionObserver( (entries) => entries.forEach((e) => e.isIntersecting && setShown(true)), { threshold: 0.15 } ); obs.observe(ref.current); return () => obs.disconnect(); }, []); return [ref, shown]; }; const Reveal = ({ children, delay = 0, as = "div", className = "", ...rest }) => { const [ref, shown] = useReveal(); const Tag = as; return ( {children} ); }; Object.assign(window, { Sigil, BrandMark, Reveal, useReveal });