/* Genesis DMA — layout chrome */
const { useState: _us, useEffect: _ue, useRef: _ur, useCallback: _uc, memo: _memo } = React;
/* --- Brand bar + scroll progress --- */
function BrandBar() {
const barRef = _ur(null);
_ue(() => {
let raf = 0;
const update = () => {
const scrollTop = window.scrollY;
const height = document.documentElement.scrollHeight - window.innerHeight;
const p = height > 0 ? scrollTop / height : 0;
if (barRef.current) barRef.current.style.transform = `scaleX(${p})`;
raf = 0;
};
const onScroll = () => { if (!raf) raf = requestAnimationFrame(update); };
window.addEventListener('scroll', onScroll, { passive: true });
update();
return () => window.removeEventListener('scroll', onScroll);
}, []);
return (
<>
>
);
}
/* --- Header --- */
function Header({ path }) {
const [open, setOpen] = _us(false);
const [scrolled, setScrolled] = _us(false);
_ue(() => {
const onScroll = () => setScrolled(window.scrollY > 16);
window.addEventListener('scroll', onScroll, { passive: true });
return () => window.removeEventListener('scroll', onScroll);
}, []);
_ue(() => { setOpen(false); }, [path]);
const nav = [
{ label: 'Paid media', path: '/capabilities/paid-media' },
{ label: 'Search & GEO', path: '/capabilities/search' },
{ label: 'CRM', path: '/capabilities/crm' },
{ label: 'Automation', path: '/capabilities/automation' },
{ label: 'Content', path: '/capabilities/content' },
{ label: 'Analytics', path: '/capabilities/analytics' },
];
return (
);
}
/* --- Footer --- */
function Footer() {
return (
);
}
/* --- Custom cursor --- */
function CustomCursor() {
const dot = _ur(null); const ring = _ur(null);
const [enabled, setEnabled] = _us(false);
_ue(() => {
if (!window.matchMedia('(pointer: fine)').matches) return;
setEnabled(true);
document.body.classList.add('cursor-on');
let x = window.innerWidth/2, y = window.innerHeight/2;
let rx = x, ry = y;
let raf = 0;
const onMove = (e) => { x = e.clientX; y = e.clientY; if (!raf) raf = requestAnimationFrame(tick); };
const tick = () => {
rx += (x - rx) * 0.18; ry += (y - ry) * 0.18;
if (dot.current) dot.current.style.transform = `translate(${x}px, ${y}px) translate(-50%, -50%)`;
if (ring.current) ring.current.style.transform = `translate(${rx}px, ${ry}px) translate(-50%, -50%)`;
raf = 0;
if (Math.abs(x-rx) > 0.3 || Math.abs(y-ry) > 0.3) raf = requestAnimationFrame(tick);
};
const onOver = (e) => {
if (!ring.current) return;
const t = e.target.closest('a, button, summary, [role="button"], input, textarea, label');
ring.current.classList.toggle('hover', !!t);
};
window.addEventListener('mousemove', onMove, { passive: true });
window.addEventListener('mouseover', onOver);
return () => {
document.body.classList.remove('cursor-on');
window.removeEventListener('mousemove', onMove);
window.removeEventListener('mouseover', onOver);
};
}, []);
if (!enabled) return null;
return (<>
>);
}
/* --- Hero orb (parallax to cursor) --- */
function Orb() {
const ref = _ur(null);
_ue(() => {
const el = ref.current; if (!el) return;
let raf = 0, tx = 0, ty = 0, cx = 0, cy = 0;
const onMove = (e) => {
const { innerWidth: w, innerHeight: h } = window;
tx = -((e.clientX / w - 0.5) * 25);
ty = -((e.clientY / h - 0.5) * 25);
if (!raf) raf = requestAnimationFrame(tick);
};
const tick = () => {
cx += (tx - cx) * 0.08; cy += (ty - cy) * 0.08;
el.style.setProperty('--px', cx + 'px');
el.style.setProperty('--py', cy + 'px');
raf = 0;
if (Math.abs(tx-cx) > 0.1 || Math.abs(ty-cy) > 0.1) raf = requestAnimationFrame(tick);
};
window.addEventListener('mousemove', onMove, { passive: true });
return () => window.removeEventListener('mousemove', onMove);
}, []);
return (
{/* Orbital ring system — planets */}
{/* Second satellite on outer ring — ChatGPT, offset ~135° */}
{/* Meta infinity mark */}
{/* Automation node planet on middle ring, offset ~200° */}
{/* Reticle */}
{/* Crosshair tickmarks */}
N 29.7490°
W 95.4623°
{/* Live readout */}
Systems online · Houston · 24/7
);
}
Object.assign(window, { BrandBar, Header, Footer, CustomCursor, Orb });