// Hero section — 3D parallax stage + rotating tenant brand swap const { useState, useEffect, useRef } = React; const TENANTS = [ { name: "Lumen", mark: "L", color: "#007fdc", tint: "#e6f4fd" }, { name: "Kairo", mark: "K", color: "#10B87A", tint: "#E6F8F0" }, { name: "Nexa", mark: "N", color: "#8B5CF6", tint: "#F0E9FD" }, { name: "Orbit", mark: "O", color: "#F59E0B", tint: "#FEF3E0" }, { name: "Helix", mark: "H", color: "#EF4444", tint: "#FEE9E9" }, { name: "Zenith", mark: "Z", color: "#0EA5E9", tint: "#E0F2FE" }, ]; function Hero() { const stageRef = useRef(null); const innerRef = useRef(null); const [tenantIdx, setTenantIdx] = useState(0); const tenant = TENANTS[tenantIdx]; // Cycle tenants useEffect(() => { const t = setInterval(() => setTenantIdx(i => (i + 1) % TENANTS.length), 2800); return () => clearInterval(t); }, []); // Mouse parallax on the 3D stage useEffect(() => { const stage = stageRef.current; const inner = innerRef.current; if (!stage || !inner) return; let raf; let tx = 0, ty = 0; const onMove = (e) => { const rect = stage.getBoundingClientRect(); const cx = rect.left + rect.width / 2; const cy = rect.top + rect.height / 2; const dx = (e.clientX - cx) / rect.width; const dy = (e.clientY - cy) / rect.height; tx = dx * 12; ty = dy * -8; cancelAnimationFrame(raf); raf = requestAnimationFrame(() => { inner.style.transform = `rotateY(${tx}deg) rotateX(${ty}deg)`; }); }; window.addEventListener('mousemove', onMove); return () => { window.removeEventListener('mousemove', onMove); cancelAnimationFrame(raf); }; }, []); return (
New Whitelabel CRM · Live in 14–30 days

Your brand.
Our CRM engine.
{tenant.name}.crm

Offer your own branded AI CRM to clients - fully built, customized and ready to sell in days.

Get in touch Try the live preview
GDPR compliant · Encryption at rest & in transit
); } function Stage3D({ stageRef, innerRef, tenant }) { return (
{/* Side floating cards */}
Revenue +24%
$84,220
Pipeline ↑ live
248
open deals · 14 won this week
{[...Array(12)].map((_, i) => (
))}
AI Agent Active
"Drafted 14 follow-ups. Created marketing post for Instagram."
{tenant.mark}
{tenant.name}.crm
Your tenant
{/* Main dashboard card */}
{tenant.mark}
{tenant.name}.crm
Dashboard
Contacts
Pipeline
Deals
Inbox
AI Agent
Reports
MRR
$42.8k
+12.4%
New leads
184
+32%
Win rate
68%
+4.1%
{/* dots */}
); } window.Hero = Hero; window.TENANTS = TENANTS;