// home.jsx — Home page. The cinematic centerpiece. // ─── Real brand logos — full color, recognizable ────────────────────────── const TOOL_ICONS = { meta: , google: , whatsapp: , instagram: , youtube: , pinterest: , hubspot: , klaviyo: , chatgpt: , zapier: , n8n: , slack: , notion: , make: , claude: , openai: , perplexity: , airtable: , gsheets: , shopify: }; // Pick which tools appear in the orbit (and on which ring) const ORBIT_INNER = ["meta", "google", "whatsapp", "instagram", "youtube", "pinterest"]; const ORBIT_OUTER = ["hubspot", "klaviyo", "chatgpt", "zapier", "n8n", "slack", "notion", "shopify"]; // ─── Constellation tools — exactly matching the user's reference image const CHIP_INNER = [ { key: "n8n", label: "n8n" }, { key: "zapier", label: "Zapier" }, { key: "notion", label: "Notion" }, { key: "perplexity", label: "Perplexity" }]; const CHIP_OUTER = [ { key: "slack", label: "Slack" }, { key: "gsheets", label: "Google Sheets" }, { key: "airtable", label: "Airtable" }, { key: "openai", label: "OpenAI" }, { key: "claude", label: "Claude" }, { key: "make", label: "Make" }]; function SystemDiagram() { const innerR = 150; const outerR = 248; const size = 640; const c = size / 2; // Single low-rate counter — no per-frame React re-renders. const [count, setCount] = useState(0); useEffect(() => { const id = setInterval(() => setCount((n) => n + Math.floor(2 + Math.random() * 6)), 380); return () => clearInterval(id); }, []); // Beam targets — six fixed positions on the inner ring const beams = useMemo(() => Array.from({ length: 6 }).map((_, i) => { const a = i / 6 * Math.PI * 2; return { x: c + Math.cos(a) * innerR, y: c + Math.sin(a) * innerR, i }; }), []); return (