/* global React */ const { useState, useEffect, useRef } = React; /* ---------------------------------------------------------- Rooster silhouette — composed shapes, unified fill. Proud gamecock facing right, tail sweeping up-left. ---------------------------------------------------------- */ function Rooster({ size = 80, color = "currentColor", style }) { return ( ); } /* ---------------------------------------------------------- Logo oficial (imagen) — escudo Rancho La Vega ---------------------------------------------------------- */ function LogoImg({ height = 48, className = "", style }) { return ( Rancho La Vega ); } /* Emblema = logo oficial (mantiene API previa) */ function Emblem({ size = 150 }) { return ; } /* ---------------------------------------------------------- Reveal-on-scroll hook ---------------------------------------------------------- */ function useReveal() { useEffect(() => { const els = document.querySelectorAll(".reveal"); if (!("IntersectionObserver" in window)) { els.forEach((e) => e.classList.add("in")); return; } const io = new IntersectionObserver( (entries) => { entries.forEach((en) => { if (en.isIntersecting) { en.target.classList.add("in"); io.unobserve(en.target); } }); }, { threshold: 0.12 } ); els.forEach((e) => io.observe(e)); return () => io.disconnect(); }); } /* Section heading with flourishes */ function SectionHead({ children, className = "" }) { return (

{children}

); } Object.assign(window, { Rooster, Emblem, LogoImg, useReveal, SectionHead });