/* Genesis DMA — homepage */ const { useMemo: _umemo, useRef: _uref2, useEffect: _ueff2, useState: _ust2 } = React; const CAP_CARDS = [ ['paid-media', 'Paid media', 'Meta and Google ad systems that generate qualified leads.', 'Bolt'], ['search', 'Search & GEO', 'Rank on Google and get cited by ChatGPT, Claude and Perplexity.', 'Search'], ['crm', 'CRM', 'GoHighLevel implementations that close more of the leads you have.', 'Flow'], ['automation', 'Automation & AI', 'Custom n8n workflows and AI agents that remove repetitive work.', 'Chip'], ['content', 'Content', 'Ad copy, landing pages and scripts engineered for conversion.', 'Pen'], ['analytics', 'Analytics', 'Call tracking, attribution and reporting built on real data.', 'Chart'], ]; const VERTICALS = ['Cleaning','Auto detailing','MedSpas','HVAC','Dental','Landscaping','Coworking','Medical','Roofing','Legal','Fitness','Pest control']; const PHILOSOPHY = [ ['Systems over tactics.', 'Tactics stop working. Systems keep compounding because they are built to be measured, improved and extended.'], ['Data over opinions.', 'We do not argue about creative or channels. We put a number on it, ship the test, and let the data end the conversation.'], ['Compound over campaigns.','A campaign ends. A system that generates leads, converts them and learns from every deal keeps paying for years.'], ]; const PROCESS = [ ['Audit', 'Trace where leads come from, where they stall, and what the real unit economics say.'], ['Strategy', 'Pick the channels, offers and targets that fit your economics — not last year\'s playbook.'], ['Build', 'Stand up accounts, tracking, CRM, automations and landing pages before spending a dollar.'], ['Launch', 'Go live in controlled phases. Daily feedback loops for the first 30 days.'], ['Scale', 'Once unit economics are proven, scale spend, expand channels and compound.'], ]; /* --- Manifesto with word-by-word reveal --- */ function Manifesto() { const ref = _uref2(null); _ueff2(() => { const el = ref.current; if (!el) return; const io = new IntersectionObserver((entries) => { entries.forEach(e => { if (e.isIntersecting) { el.classList.add('is-visible'); io.disconnect(); } }); }, { threshold: 0.35 }); io.observe(el); return () => io.disconnect(); }, []); const line1 = ['We', "don't", 'run', 'ads.']; const line2 = ['We', 'build', 'systems', 'that', 'compound.']; return (

{line1.map((w, i) => {w} )}
{line2.map((w, i) => { const kw = w === 'systems' || w === 'compound.'; return {w} ; })}

); } /* --- Hero --- */ function MobileConstellation() { // Three orbits tilted at different angles, each carrying one planet. // Rendered in SVG, viewBox 400x400, centered at (200, 200). // Only visible on mobile via CSS. return ( ); } function Hero() { return (
Growth agency · Houston, TX Growth systems for service businesses that refuse to guess. Genesis DMA builds paid media, CRM, automation and content systems that turn budget into predictable pipeline — measured to the dollar. Start a conversation See our capabilities
Scroll
); } /* --- Capabilities grid --- */ function CapabilitiesGrid() { return (
{CAP_CARDS.map(([slug, title, desc, icon], i) => { const Ic = Ico[icon]; return (
0{i+1}

{title}

{desc}

Explore
); })}
); } /* --- Marquee of verticals --- */ function Marquee() { const items = [...VERTICALS, ...VERTICALS]; return (
Who we work with
Service businesses with strong unit economics and an appetite for scale.
{items.map((v, i) => (
{v} ·
))}
); } /* --- Philosophy --- */ function Philosophy() { return (
{PHILOSOPHY.map(([t, d], i) => (

{t}

{d}

))}
); } /* --- Process timeline (sticky SVG fill) --- */ function ProcessTimeline() { const wrapRef = _uref2(null); const pathRef = _uref2(null); _ueff2(() => { const wrap = wrapRef.current, path = pathRef.current; if (!wrap || !path) return; const total = path.getTotalLength(); path.style.strokeDasharray = total; path.style.strokeDashoffset = total; let raf = 0; const update = () => { const r = wrap.getBoundingClientRect(); const vh = window.innerHeight; const start = r.top - vh * 0.6; const end = r.bottom - vh * 0.4; const p = Math.min(1, Math.max(0, (0 - start) / (end - start))); path.style.strokeDashoffset = total * (1 - p); raf = 0; }; const onScroll = () => { if (!raf) raf = requestAnimationFrame(update); }; window.addEventListener('scroll', onScroll, { passive: true }); update(); return () => window.removeEventListener('scroll', onScroll); }, []); return (
    {PROCESS.map(([t, d], i) => (
    0{i+1}

    {t}

    {d}

    ))}
); } /* --- Metrics --- */ function Metrics() { const data = [ [127, '+', 'Businesses served', 'Across cleaning, HVAC, dental, medspas and more.'], [4.2, 'M', 'Ad spend managed', 'Across Meta, Google and partner platforms.', '$', 'in'], [6, '', 'Capability pillars', 'Media, search, CRM, automation, content, analytics.'], [247, '', 'Automated workflows live', 'Handling the repetitive work across our client base.'], ]; return (
{data.map((row, i) => { const [num, suffix, title, caption, prefix = '', mid = ''] = row; return (
{Number.isInteger(num) ? <>{prefix}{suffix} : <>{(mid ? '/' : '')}{suffix}}
{title}
{caption}
); })}
); } /* --- Final CTA --- */ function FinalCTA() { return (
); } /* --- Home page --- */ function HomePage() { useSEO({ title: 'Genesis DMA — Growth agency for service businesses', description: 'Genesis DMA builds paid media, CRM, automation and content systems for service businesses across the United States. Based in Houston, TX.', path: '/', jsonLd: [ ldOrganization(), ldWebsite(), { "@context": "https://schema.org", "@type": "ItemList", "name": "Capabilities", "itemListElement": Object.values(SERVICES).map((s, i) => ({ "@type": "ListItem", "position": i+1, "name": s.title, "url": SITE.url + "/capabilities/" + s.slug, })), }, ], }); return (
{/* fade orbital layer out as Manifesto ends */} ); } Object.assign(window, { HomePage });