mcpengage/apollo/index.html

879 lines
68 KiB
HTML

<!DOCTYPE html>
<html lang="en" class="scroll-smooth">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MCPEngage for Apollo — AI-Power Your Apollo in 2 Clicks</title>
<meta name="description" content="Connect Apollo to any AI model with MCPEngage. Search prospects, manage sequences, and automate outreach — all through natural conversation.">
<script src="https://cdn.tailwindcss.com"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest/dist/umd/lucide.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/ScrollTrigger.min.js"></script>
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: { sans: ['Inter', 'system-ui', 'sans-serif'] },
colors: {
brand: { 400: '#4dd8c9', 500: '#17c3b2', 600: '#0fa898' },
}
}
}
}
</script>
<style>
.gradient-text {
background: linear-gradient(135deg, #17c3b2 0%, #0fa898 25%, #06b6d4 50%, #8b5cf6 75%, #17c3b2 100%);
background-size: 200% 200%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: gradient-shift 6s ease infinite;
}
@keyframes gradient-shift { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }
.mesh-gradient {
background:
radial-gradient(at 40% 20%, rgba(23,195,178,0.15) 0px, transparent 50%),
radial-gradient(at 80% 0%, rgba(6,182,212,0.12) 0px, transparent 50%),
radial-gradient(at 0% 50%, rgba(139,92,246,0.1) 0px, transparent 50%),
radial-gradient(at 80% 50%, rgba(23,195,178,0.08) 0px, transparent 50%),
radial-gradient(at 0% 100%, rgba(23,195,178,0.12) 0px, transparent 50%);
}
.glass { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); }
@supports (backdrop-filter: blur(20px)) { .glass { background: rgba(255,255,255,0.03); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.08); } }
.glass-strong { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); }
@supports (backdrop-filter: blur(40px)) { .glass-strong { background: rgba(255,255,255,0.05); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px); border: 1px solid rgba(255,255,255,0.1); } }
.glow { box-shadow: 0 0 60px rgba(23,195,178,0.2), 0 0 100px rgba(23,195,178,0.1); }
.glow-hover:hover { box-shadow: 0 0 80px rgba(23,195,178,0.3), 0 0 120px rgba(23,195,178,0.15); }
.float { animation: float 6s ease-in-out infinite; }
.float-delayed { animation: float 6s ease-in-out infinite; animation-delay: -3s; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-20px)} }
.gradient-border { position: relative; }
.gradient-border::before {
content:''; position:absolute; inset:0; padding:2px;
background: linear-gradient(135deg, #17c3b2, #0fa898, #06b6d4, #8b5cf6, #17c3b2);
background-size: 300% 300%; animation: gradient-shift 4s linear infinite;
border-radius: inherit;
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor; mask-composite: exclude;
}
.feature-card { transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94); }
.feature-card:hover { transform: translateY(-8px); box-shadow: 0 25px 50px -12px rgba(23,195,178,0.15); border-color: rgba(23,195,178,0.3); }
.feature-card:hover .feature-icon { transform: scale(1.1) rotate(5deg); }
.feature-icon { transition: transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94); }
.shimmer { background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.05) 50%, transparent 100%); background-size: 200% 100%; animation: shimmer 2s infinite; }
@keyframes shimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
.btn-shine { position:relative; overflow:hidden; }
.btn-shine::after { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background: linear-gradient(to right, transparent 0%, rgba(255,255,255,0.2) 50%, transparent 100%); transform: rotate(45deg) translateX(-100%); transition: transform 0.6s; }
.btn-shine:hover::after { transform: rotate(45deg) translateX(100%); }
.scroll-indicator { animation: scroll-bounce 2s ease-in-out infinite; }
@keyframes scroll-bounce { 0%,100%{transform:translateY(0);opacity:1} 50%{transform:translateY(10px);opacity:0.5} }
.noise::before { content:''; position:fixed; inset:0; pointer-events:none; z-index:9998; opacity:0.02; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"); }
.reveal-up, .reveal-scale, .stagger-item { opacity:1; transform:none; }
.js-loaded .reveal-up { opacity:0; transform:translateY(60px); }
.js-loaded .reveal-scale { opacity:0; transform:scale(0.95); }
.js-loaded .stagger-item { opacity:0; transform:translateY(40px); }
.counter { font-variant-numeric: tabular-nums; }
.stat-card { transition: transform 0.3s ease; }
.stat-card:hover { transform: translateY(-5px); }
@media (min-width:1024px) { .magnetic-btn { transition: transform 0.3s cubic-bezier(0.25,0.46,0.45,0.94); } }
.terminal-cursor { display:inline-block; width:8px; height:18px; background:#17c3b2; animation:blink 1s step-end infinite; vertical-align:middle; margin-left:2px; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
.faq-answer { max-height:0; overflow:hidden; transition: max-height 0.4s cubic-bezier(0.25,0.46,0.45,0.94), padding 0.4s ease; padding-top:0; padding-bottom:0; }
.faq-item.open .faq-answer { max-height:300px; padding-top:1rem; padding-bottom:0.25rem; }
.faq-item.open .faq-chevron { transform: rotate(180deg); }
.faq-chevron { transition: transform 0.3s ease; }
</style>
</head>
<body class="bg-[#030303] text-white font-sans antialiased overflow-x-hidden noise">
<!-- NAVBAR -->
<nav class="fixed top-0 left-0 right-0 z-50 transition-all duration-500" id="navbar">
<div class="max-w-7xl mx-auto px-4 sm:px-6 py-4 lg:py-5 flex items-center justify-between">
<a href="/" class="flex items-center gap-2 sm:gap-3 group">
<div class="w-9 h-9 sm:w-10 sm:h-10 rounded-xl bg-gradient-to-br from-brand-500 via-teal-400 to-cyan-400 flex items-center justify-center transform group-hover:rotate-12 transition-transform duration-300">
<span class="font-black text-xs sm:text-sm text-black">ME</span>
</div>
<span class="font-black text-xl sm:text-2xl tracking-tight">MCPEngage</span>
</a>
<div class="hidden md:flex items-center gap-8 lg:gap-10 text-sm font-medium text-zinc-400">
<a href="#features" class="hover:text-white transition-colors relative group">Features<span class="absolute -bottom-1 left-0 w-0 h-0.5 bg-brand-500 group-hover:w-full transition-all duration-300"></span></a>
<a href="#how-it-works" class="hover:text-white transition-colors relative group">How It Works<span class="absolute -bottom-1 left-0 w-0 h-0.5 bg-brand-500 group-hover:w-full transition-all duration-300"></span></a>
<a href="#faq" class="hover:text-white transition-colors relative group">FAQ<span class="absolute -bottom-1 left-0 w-0 h-0.5 bg-brand-500 group-hover:w-full transition-all duration-300"></span></a>
</div>
<a href="#cta" class="magnetic-btn px-4 sm:px-5 py-2 sm:py-2.5 bg-white text-black font-bold rounded-full text-sm transition-all hover:bg-brand-400 hover:scale-105 active:scale-95 btn-shine">Join Waitlist</a>
</div>
</nav>
<!-- HERO -->
<section class="min-h-screen pt-24 sm:pt-28 lg:pt-32 pb-12 sm:pb-16 lg:pb-20 px-4 sm:px-6 relative overflow-hidden">
<div class="absolute inset-0 mesh-gradient opacity-60"></div>
<div class="hidden lg:block absolute top-1/4 left-1/4 w-64 h-64 rounded-full bg-brand-500/20 blur-[100px] float"></div>
<div class="hidden lg:block absolute bottom-1/4 right-1/4 w-96 h-96 rounded-full bg-cyan-500/15 blur-[120px] float-delayed"></div>
<div class="hidden lg:block absolute top-1/2 right-1/3 w-48 h-48 rounded-full bg-violet-500/15 blur-[80px] float"></div>
<div class="absolute inset-0 opacity-[0.03]" style="background-image: linear-gradient(rgba(255,255,255,0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.1) 1px, transparent 1px); background-size: 60px 60px;"></div>
<div class="max-w-7xl mx-auto relative z-10">
<div class="flex justify-center mb-6 sm:mb-8 reveal-up">
<div class="inline-flex items-center gap-2 sm:gap-3 px-4 sm:px-5 py-2 sm:py-2.5 rounded-full glass-strong text-xs sm:text-sm font-medium text-zinc-300 shimmer">
<span class="relative flex h-2 w-2 sm:h-2.5 sm:w-2.5">
<span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-brand-400 opacity-75"></span>
<span class="relative inline-flex rounded-full h-2 w-2 sm:h-2.5 sm:w-2.5 bg-brand-500"></span>
</span>
Now Available — Connect Apollo + AI
</div>
</div>
<div class="text-center mb-6 sm:mb-8">
<h1 class="text-4xl sm:text-5xl md:text-6xl lg:text-7xl xl:text-8xl font-black tracking-tight mb-4 sm:mb-6 leading-[1.1]">
<span class="block">AI-Power Your</span>
<span class="block gradient-text">Apollo</span>
<span class="block">in 2 Clicks</span>
</h1>
</div>
<p class="text-base sm:text-lg md:text-xl lg:text-2xl text-zinc-400 max-w-3xl mx-auto mb-8 sm:mb-10 lg:mb-12 text-center leading-relaxed reveal-up px-2">
MCPEngage connects Apollo to any AI model via MCP.<br class="hidden sm:block"><span class="text-white font-semibold">Find leads, enrich contacts, and automate sequences — all through conversation.</span>
</p>
<div class="flex flex-col sm:flex-row gap-3 sm:gap-4 lg:gap-5 justify-center mb-10 sm:mb-12 lg:mb-16 reveal-up">
<a href="#cta" class="magnetic-btn group px-6 sm:px-8 lg:px-10 py-3.5 sm:py-4 lg:py-5 bg-brand-500 hover:bg-brand-400 text-black font-bold rounded-xl lg:rounded-2xl text-base lg:text-lg transition-all hover:scale-105 active:scale-95 glow btn-shine flex items-center justify-center gap-2 sm:gap-3">
<span>Join Waitlist</span>
<i data-lucide="arrow-right" class="w-4 h-4 sm:w-5 sm:h-5 group-hover:translate-x-1 transition-transform"></i>
</a>
<a href="https://github.com/BusyBee3333/mcpengine/tree/main/servers/apollo" target="_blank" rel="noopener" class="magnetic-btn group px-6 sm:px-8 lg:px-10 py-3.5 sm:py-4 lg:py-5 glass-strong hover:bg-white/10 font-bold rounded-xl lg:rounded-2xl text-base lg:text-lg transition-all flex items-center justify-center gap-2 sm:gap-3">
<div class="w-8 h-8 sm:w-10 sm:h-10 rounded-full bg-white/10 flex items-center justify-center group-hover:bg-white/20 transition-colors">
<i data-lucide="github" class="w-4 h-4 sm:w-5 sm:h-5"></i>
</div>
<span>View on GitHub</span>
</a>
</div>
<!-- Product Mockup -->
<div class="relative max-w-6xl mx-auto reveal-scale">
<div class="absolute inset-0 bg-gradient-to-r from-brand-500/20 via-cyan-500/20 to-violet-500/20 blur-[60px] rounded-3xl transform scale-95"></div>
<div class="gradient-border rounded-2xl lg:rounded-3xl glow relative">
<div class="bg-[#0a0a0a] rounded-2xl lg:rounded-3xl p-1 sm:p-1.5">
<div class="bg-zinc-900/80 rounded-xl lg:rounded-2xl overflow-hidden">
<div class="flex items-center justify-between px-3 sm:px-5 py-2.5 sm:py-4 border-b border-white/5">
<div class="flex items-center gap-1.5 sm:gap-2">
<div class="w-2.5 h-2.5 sm:w-3.5 sm:h-3.5 rounded-full bg-red-500"></div>
<div class="w-2.5 h-2.5 sm:w-3.5 sm:h-3.5 rounded-full bg-yellow-500"></div>
<div class="w-2.5 h-2.5 sm:w-3.5 sm:h-3.5 rounded-full bg-green-500"></div>
</div>
<div class="hidden sm:flex items-center gap-2 px-3 sm:px-4 py-1 sm:py-1.5 rounded-lg bg-white/5 text-xs sm:text-sm text-zinc-500 font-mono">
<i data-lucide="lock" class="w-3 h-3"></i>
app.mcpengage.com/apollo
</div>
<div class="w-16 sm:w-20"></div>
</div>
<div class="flex h-[320px] sm:h-[420px] md:h-[500px] lg:h-[600px]">
<!-- Sidebar -->
<div class="hidden md:flex w-14 lg:w-16 border-r border-white/5 flex-col items-center py-3 lg:py-4 gap-3 lg:gap-4">
<div class="w-9 h-9 lg:w-10 lg:h-10 rounded-xl bg-brand-500/20 flex items-center justify-center text-brand-400 transition-colors">
<i data-lucide="users" class="w-4 h-4 lg:w-5 lg:h-5"></i>
</div>
<div class="w-9 h-9 lg:w-10 lg:h-10 rounded-xl hover:bg-white/5 flex items-center justify-center text-zinc-600 transition-colors">
<i data-lucide="building" class="w-4 h-4 lg:w-5 lg:h-5"></i>
</div>
<div class="w-9 h-9 lg:w-10 lg:h-10 rounded-xl hover:bg-white/5 flex items-center justify-center text-zinc-600 transition-colors">
<i data-lucide="send" class="w-4 h-4 lg:w-5 lg:h-5"></i>
</div>
<div class="w-9 h-9 lg:w-10 lg:h-10 rounded-xl hover:bg-white/5 flex items-center justify-center text-zinc-600 transition-colors">
<i data-lucide="target" class="w-4 h-4 lg:w-5 lg:h-5"></i>
</div>
</div>
<!-- Chat panel -->
<div class="flex-1 flex flex-col">
<div class="flex-1 p-3 sm:p-4 lg:p-6 space-y-3 sm:space-y-4 lg:space-y-5 overflow-y-auto overflow-x-hidden" id="chat-demo" style="scrollbar-width:none;-ms-overflow-style:none;"></div>
<div class="p-2 sm:p-3 lg:p-4 border-t border-white/5">
<div class="glass-strong rounded-xl lg:rounded-2xl px-3 sm:px-4 lg:px-5 py-2.5 sm:py-3 lg:py-4 flex items-center gap-2 sm:gap-3 lg:gap-4">
<input type="text" placeholder="Ask about your Apollo prospects..." class="flex-1 bg-transparent text-xs sm:text-sm outline-none text-zinc-300 placeholder:text-zinc-600 min-w-0">
<button class="w-8 h-8 sm:w-9 sm:h-9 lg:w-10 lg:h-10 rounded-lg lg:rounded-xl bg-brand-500 flex items-center justify-center hover:bg-brand-400 transition-colors flex-shrink-0">
<i data-lucide="arrow-up" class="w-4 h-4 lg:w-5 lg:h-5 text-black"></i>
</button>
</div>
</div>
</div>
<!-- Right panel -->
<div class="hidden lg:flex w-80 xl:w-96 flex-col border-l border-white/5">
<div class="flex border-b border-white/5">
<button class="flex-1 px-4 xl:px-5 py-3 xl:py-4 text-sm font-semibold text-brand-400 border-b-2 border-brand-500 flex items-center justify-center gap-2">
<i data-lucide="users" class="w-4 h-4"></i>
Prospects
<span class="px-2 py-0.5 rounded-full bg-brand-500/20 text-xs">1,247</span>
</button>
<button class="flex-1 px-4 xl:px-5 py-3 xl:py-4 text-sm font-medium text-zinc-500 hover:text-zinc-300 flex items-center justify-center gap-2">
<i data-lucide="send" class="w-4 h-4"></i>
Sequences
</button>
</div>
<div class="flex-1 p-3 xl:p-4 space-y-2.5 xl:space-y-3 overflow-auto">
<div class="glass rounded-xl xl:rounded-2xl p-4 xl:p-5 hover:bg-white/5 transition-all cursor-pointer group border border-transparent hover:border-brand-500/30">
<div class="flex items-start justify-between mb-2 xl:mb-3">
<div>
<h4 class="font-bold text-sm xl:text-base group-hover:text-brand-400 transition-colors">Sarah Chen — VP Engineering</h4>
<p class="text-[10px] xl:text-xs text-zinc-500">Acme Corp • 2,500 employees</p>
</div>
<span class="px-2 py-0.5 rounded-md bg-red-500/20 text-red-400 text-[10px] xl:text-xs font-bold">Hot Lead</span>
</div>
<div class="flex gap-1.5 xl:gap-2">
<span class="px-2 xl:px-2.5 py-0.5 xl:py-1 rounded-md xl:rounded-lg bg-brand-500/15 text-brand-400 text-[10px] xl:text-xs font-medium">Opened 3x</span>
<span class="px-2 xl:px-2.5 py-0.5 xl:py-1 rounded-md xl:rounded-lg bg-zinc-800 text-zinc-400 text-[10px] xl:text-xs font-medium">LinkedIn viewed</span>
</div>
</div>
<div class="glass rounded-xl xl:rounded-2xl p-4 xl:p-5 hover:bg-white/5 transition-all cursor-pointer group border border-transparent hover:border-brand-500/30">
<div class="flex items-start justify-between mb-2 xl:mb-3">
<div>
<h4 class="font-bold text-sm xl:text-base group-hover:text-brand-400 transition-colors">James Park — CTO</h4>
<p class="text-[10px] xl:text-xs text-zinc-500">TechFlow Inc • Series B</p>
</div>
<span class="px-2 py-0.5 rounded-md bg-green-500/20 text-green-400 text-[10px] xl:text-xs font-bold">Engaged</span>
</div>
<div class="flex gap-1.5 xl:gap-2">
<span class="px-2 xl:px-2.5 py-0.5 xl:py-1 rounded-md xl:rounded-lg bg-green-500/15 text-green-400 text-[10px] xl:text-xs font-medium">Replied 2d ago</span>
<span class="px-2 xl:px-2.5 py-0.5 xl:py-1 rounded-md xl:rounded-lg bg-zinc-800 text-zinc-400 text-[10px] xl:text-xs font-medium">Meeting booked</span>
</div>
</div>
<div class="glass rounded-xl xl:rounded-2xl p-4 xl:p-5 hover:bg-white/5 transition-all cursor-pointer group border border-transparent hover:border-brand-500/30">
<div class="flex items-start justify-between mb-2 xl:mb-3">
<div>
<h4 class="font-bold text-sm xl:text-base group-hover:text-brand-400 transition-colors">Maria Lopez — Head of Sales</h4>
<p class="text-[10px] xl:text-xs text-zinc-500">GlobalShip • $50M ARR</p>
</div>
<span class="px-2 py-0.5 rounded-md bg-blue-500/20 text-blue-400 text-[10px] xl:text-xs font-bold">Nurture</span>
</div>
<div class="flex gap-1.5 xl:gap-2">
<span class="px-2 xl:px-2.5 py-0.5 xl:py-1 rounded-md xl:rounded-lg bg-brand-500/15 text-brand-400 text-[10px] xl:text-xs font-medium">In sequence</span>
<span class="px-2 xl:px-2.5 py-0.5 xl:py-1 rounded-md xl:rounded-lg bg-zinc-800 text-zinc-400 text-[10px] xl:text-xs font-medium">Step 3/7</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="hidden sm:flex justify-center mt-10 lg:mt-16">
<div class="scroll-indicator flex flex-col items-center gap-2 text-zinc-600">
<span class="text-xs font-medium tracking-wider uppercase">Scroll to explore</span>
<i data-lucide="chevron-down" class="w-5 h-5"></i>
</div>
</div>
</div>
</section>
<!-- STATS BAR -->
<section class="py-8 sm:py-10 lg:py-12 px-4 sm:px-6 border-y border-white/5 relative overflow-hidden">
<div class="absolute inset-0 bg-gradient-to-r from-brand-500/5 via-transparent to-cyan-500/5"></div>
<div class="max-w-7xl mx-auto relative">
<div class="grid grid-cols-2 lg:grid-cols-4 gap-6 sm:gap-8">
<div class="stat-card text-center">
<div class="text-2xl sm:text-3xl lg:text-4xl xl:text-5xl font-black text-brand-400 mb-1 sm:mb-2"><span class="counter" data-target="55">0</span>+</div>
<div class="text-xs sm:text-sm text-zinc-500 font-medium">Apollo Tools</div>
</div>
<div class="stat-card text-center">
<div class="text-2xl sm:text-3xl lg:text-4xl xl:text-5xl font-black text-cyan-400 mb-1 sm:mb-2">$<span class="counter" data-target="0">0</span></div>
<div class="text-xs sm:text-sm text-zinc-500 font-medium">Setup Cost</div>
</div>
<div class="stat-card text-center">
<div class="text-2xl sm:text-3xl lg:text-4xl xl:text-5xl font-black text-violet-400 mb-1 sm:mb-2"><span class="counter" data-target="2">0</span>min</div>
<div class="text-xs sm:text-sm text-zinc-500 font-medium">Install Time</div>
</div>
<div class="stat-card text-center">
<div class="text-2xl sm:text-3xl lg:text-4xl xl:text-5xl font-black text-emerald-400 mb-1 sm:mb-2">24/7</div>
<div class="text-xs sm:text-sm text-zinc-500 font-medium">AI Outreach</div>
</div>
</div>
</div>
</section>
<!-- TERMINAL / INSTALL -->
<section class="py-16 sm:py-20 lg:py-32 px-4 sm:px-6 relative">
<div class="max-w-4xl mx-auto">
<div class="text-center mb-10 sm:mb-14 reveal-up">
<div class="inline-flex items-center gap-2 px-3 sm:px-4 py-1.5 sm:py-2 rounded-full glass text-xs sm:text-sm text-brand-400 mb-4 sm:mb-6">
<i data-lucide="terminal" class="w-3.5 h-3.5 sm:w-4 sm:h-4"></i>
Quick Install
</div>
<h2 class="text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-black mb-4 sm:mb-6 leading-tight">
Up and Running in<br><span class="gradient-text">One Command</span>
</h2>
</div>
<div class="reveal-scale">
<div class="gradient-border rounded-2xl lg:rounded-3xl glow relative">
<div class="bg-[#0a0a0a] rounded-2xl lg:rounded-3xl overflow-hidden">
<div class="flex items-center justify-between px-4 sm:px-5 py-3 sm:py-4 border-b border-white/5">
<div class="flex items-center gap-1.5 sm:gap-2">
<div class="w-2.5 h-2.5 sm:w-3 sm:h-3 rounded-full bg-red-500"></div>
<div class="w-2.5 h-2.5 sm:w-3 sm:h-3 rounded-full bg-yellow-500"></div>
<div class="w-2.5 h-2.5 sm:w-3 sm:h-3 rounded-full bg-green-500"></div>
</div>
<span class="text-xs text-zinc-600 font-mono">~/projects</span>
<button id="copy-btn" onclick="navigator.clipboard.writeText('npx mcpengage init');this.textContent='Copied!';setTimeout(()=>this.textContent='Copy',2000)" class="px-3 py-1 rounded-lg bg-white/5 hover:bg-white/10 text-xs text-zinc-400 font-medium transition-colors">Copy</button>
</div>
<div class="p-5 sm:p-6 lg:p-8 font-mono text-sm sm:text-base leading-relaxed" id="terminal-body">
<div id="terminal-lines" class="space-y-1"></div>
</div>
</div>
</div>
</div>
<div class="mt-6 sm:mt-8 text-center reveal-up">
<a href="https://github.com/BusyBee3333/mcpengine/tree/main/servers/apollo" target="_blank" rel="noopener" class="inline-flex items-center gap-2 sm:gap-3 text-zinc-400 hover:text-white transition-colors group">
<i data-lucide="github" class="w-5 h-5"></i>
<span class="text-sm sm:text-base font-medium">Open source — view the full code on GitHub</span>
<i data-lucide="external-link" class="w-3.5 h-3.5 group-hover:translate-x-0.5 group-hover:-translate-y-0.5 transition-transform"></i>
</a>
</div>
</div>
</section>
<!-- BEFORE & AFTER -->
<section class="py-16 sm:py-20 lg:py-32 px-4 sm:px-6 relative overflow-hidden">
<div class="absolute inset-0 mesh-gradient opacity-20"></div>
<div class="max-w-6xl mx-auto relative">
<div class="text-center mb-10 sm:mb-14 lg:mb-20">
<div class="inline-flex items-center gap-2 px-3 sm:px-4 py-1.5 sm:py-2 rounded-full glass text-xs sm:text-sm text-brand-400 mb-4 sm:mb-6 reveal-up">
<i data-lucide="arrow-left-right" class="w-3.5 h-3.5 sm:w-4 sm:h-4"></i>
The Difference
</div>
<h2 class="text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-black mb-4 sm:mb-6 reveal-up leading-tight">
Before vs. <span class="gradient-text">After</span>
</h2>
</div>
<div class="grid md:grid-cols-2 gap-4 sm:gap-6 lg:gap-8">
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 border border-red-500/20 feature-card stagger-item">
<div class="flex items-center gap-3 mb-6">
<div class="w-10 h-10 sm:w-12 sm:h-12 rounded-xl bg-red-500/10 flex items-center justify-center">
<i data-lucide="x" class="w-5 h-5 sm:w-6 sm:h-6 text-red-400"></i>
</div>
<h3 class="text-lg sm:text-xl lg:text-2xl font-black text-red-400">Before MCPEngage</h3>
</div>
<ul class="space-y-4">
<li class="flex items-start gap-3"><div class="w-6 h-6 rounded-full bg-red-500/10 flex items-center justify-center flex-shrink-0 mt-0.5"><i data-lucide="clock" class="w-3.5 h-3.5 text-red-400"></i></div><div><p class="text-sm sm:text-base text-zinc-300 font-medium">Spreadsheet prospecting</p><p class="text-xs sm:text-sm text-zinc-500">Exporting lists from Apollo, manually enriching in Google Sheets</p></div></li>
<li class="flex items-start gap-3"><div class="w-6 h-6 rounded-full bg-red-500/10 flex items-center justify-center flex-shrink-0 mt-0.5"><i data-lucide="copy" class="w-3.5 h-3.5 text-red-400"></i></div><div><p class="text-sm sm:text-base text-zinc-300 font-medium">Sequence blindness</p><p class="text-xs sm:text-sm text-zinc-500">Which prospects are engaged? No idea without clicking through 20 sequences</p></div></li>
<li class="flex items-start gap-3"><div class="w-6 h-6 rounded-full bg-red-500/10 flex items-center justify-center flex-shrink-0 mt-0.5"><i data-lucide="layout-grid" class="w-3.5 h-3.5 text-red-400"></i></div><div><p class="text-sm sm:text-base text-zinc-300 font-medium">Data entry hell</p><p class="text-xs sm:text-sm text-zinc-500">Copy-pasting prospect info into your CRM, Slack, and meeting notes</p></div></li>
<li class="flex items-start gap-3"><div class="w-6 h-6 rounded-full bg-red-500/10 flex items-center justify-center flex-shrink-0 mt-0.5"><i data-lucide="hourglass" class="w-3.5 h-3.5 text-red-400"></i></div><div><p class="text-sm sm:text-base text-zinc-300 font-medium">Generic outreach</p><p class="text-xs sm:text-sm text-zinc-500">"Hi [First Name]" — blasting the same template to everyone</p></div></li>
</ul>
</div>
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 border border-brand-500/20 feature-card stagger-item">
<div class="flex items-center gap-3 mb-6">
<div class="w-10 h-10 sm:w-12 sm:h-12 rounded-xl bg-brand-500/10 flex items-center justify-center">
<i data-lucide="check" class="w-5 h-5 sm:w-6 sm:h-6 text-brand-400"></i>
</div>
<h3 class="text-lg sm:text-xl lg:text-2xl font-black text-brand-400">After MCPEngage</h3>
</div>
<ul class="space-y-4">
<li class="flex items-start gap-3"><div class="w-6 h-6 rounded-full bg-brand-500/10 flex items-center justify-center flex-shrink-0 mt-0.5"><i data-lucide="zap" class="w-3.5 h-3.5 text-brand-400"></i></div><div><p class="text-sm sm:text-base text-zinc-300 font-medium">AI-powered search</p><p class="text-xs sm:text-sm text-zinc-500">"Find CTOs at Series B SaaS companies with 100-500 employees" — instant results</p></div></li>
<li class="flex items-start gap-3"><div class="w-6 h-6 rounded-full bg-brand-500/10 flex items-center justify-center flex-shrink-0 mt-0.5"><i data-lucide="sparkles" class="w-3.5 h-3.5 text-brand-400"></i></div><div><p class="text-sm sm:text-base text-zinc-300 font-medium">Engagement insights</p><p class="text-xs sm:text-sm text-zinc-500">Ask "Which prospects opened my email 3+ times?" — hot leads surfaced automatically</p></div></li>
<li class="flex items-start gap-3"><div class="w-6 h-6 rounded-full bg-brand-500/10 flex items-center justify-center flex-shrink-0 mt-0.5"><i data-lucide="message-square" class="w-3.5 h-3.5 text-brand-400"></i></div><div><p class="text-sm sm:text-base text-zinc-300 font-medium">Auto-enrichment</p><p class="text-xs sm:text-sm text-zinc-500">AI pulls Apollo data into CRM, updates contact records, and syncs notes</p></div></li>
<li class="flex items-start gap-3"><div class="w-6 h-6 rounded-full bg-brand-500/10 flex items-center justify-center flex-shrink-0 mt-0.5"><i data-lucide="rocket" class="w-3.5 h-3.5 text-brand-400"></i></div><div><p class="text-sm sm:text-base text-zinc-300 font-medium">Hyper-personalized outreach</p><p class="text-xs sm:text-sm text-zinc-500">AI drafts custom messages using company news, tech stack, and LinkedIn activity</p></div></li>
</ul>
</div>
</div>
</div>
</section>
<!-- PAIN POINTS -->
<section class="py-16 sm:py-20 lg:py-32 px-4 sm:px-6 relative">
<div class="max-w-6xl mx-auto">
<div class="text-center mb-10 sm:mb-14 lg:mb-20">
<div class="inline-flex items-center gap-2 px-3 sm:px-4 py-1.5 sm:py-2 rounded-full glass text-xs sm:text-sm text-red-400 mb-4 sm:mb-6 reveal-up">
<i data-lucide="alert-triangle" class="w-3.5 h-3.5 sm:w-4 sm:h-4"></i>
The Problem
</div>
<h2 class="text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-black mb-4 sm:mb-6 lg:mb-8 reveal-up leading-tight">
Your Outreach Is<br><span class="text-red-400">Broken</span>
</h2>
<p class="text-base sm:text-lg lg:text-xl xl:text-2xl text-zinc-400 max-w-3xl mx-auto reveal-up">
Apollo gives you the data, but finding the right prospects and crafting personalized outreach still takes hours of manual work.
</p>
</div>
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6 lg:gap-8">
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 border border-red-500/10 hover:border-red-500/30 transition-all group feature-card stagger-item">
<div class="w-12 h-12 sm:w-14 sm:h-14 lg:w-16 lg:h-16 rounded-xl lg:rounded-2xl bg-red-500/10 flex items-center justify-center mb-4 sm:mb-5 lg:mb-6 feature-icon">
<i data-lucide="search-x" class="w-6 h-6 sm:w-7 sm:h-7 lg:w-8 lg:h-8 text-red-400"></i>
</div>
<h3 class="font-bold text-lg sm:text-xl lg:text-2xl mb-2 sm:mb-3 lg:mb-4">Search Overwhelm</h3>
<p class="text-zinc-400 text-sm sm:text-base lg:text-lg leading-relaxed">You have 270 million contacts at your fingertips. You still spend 2 hours building the perfect filter set, exporting to CSV, and re-uploading to sequences. The data's there, but it's locked behind clunky UIs.</p>
</div>
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 border border-red-500/10 hover:border-red-500/30 transition-all group feature-card stagger-item">
<div class="w-12 h-12 sm:w-14 sm:h-14 lg:w-16 lg:h-16 rounded-xl lg:rounded-2xl bg-red-500/10 flex items-center justify-center mb-4 sm:mb-5 lg:mb-6 feature-icon">
<i data-lucide="mail-x" class="w-6 h-6 sm:w-7 sm:h-7 lg:w-8 lg:h-8 text-red-400"></i>
</div>
<h3 class="font-bold text-lg sm:text-xl lg:text-2xl mb-2 sm:mb-3 lg:mb-4">Sequence Black Box</h3>
<p class="text-zinc-400 text-sm sm:text-base lg:text-lg leading-relaxed">You have 15 sequences running. Which ones are working? Who's engaged? You're digging through dashboards, checking open rates, manually tagging hot leads. The signal is buried in noise.</p>
</div>
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 border border-red-500/10 hover:border-red-500/30 transition-all group feature-card sm:col-span-2 lg:col-span-1 stagger-item">
<div class="w-12 h-12 sm:w-14 sm:h-14 lg:w-16 lg:h-16 rounded-xl lg:rounded-2xl bg-red-500/10 flex items-center justify-center mb-4 sm:mb-5 lg:mb-6 feature-icon">
<i data-lucide="user-x" class="w-6 h-6 sm:w-7 sm:h-7 lg:w-8 lg:h-8 text-red-400"></i>
</div>
<h3 class="font-bold text-lg sm:text-xl lg:text-2xl mb-2 sm:mb-3 lg:mb-4">Robotic Personalization</h3>
<p class="text-zinc-400 text-sm sm:text-base lg:text-lg leading-relaxed">You use merge tags. "Hi {{first_name}}, I saw {{company}} is hiring." It's still generic. Real personalization — researching each prospect, tailoring your pitch — is too slow to scale.</p>
</div>
</div>
</div>
</section>
<!-- HOW IT WORKS -->
<section id="how-it-works" class="py-16 sm:py-20 lg:py-32 px-4 sm:px-6 relative overflow-hidden">
<div class="absolute inset-0 mesh-gradient opacity-30"></div>
<div class="absolute inset-0 bg-gradient-to-b from-transparent via-brand-500/5 to-transparent pointer-events-none"></div>
<div class="max-w-5xl mx-auto relative">
<div class="text-center mb-10 sm:mb-14 lg:mb-20">
<div class="inline-flex items-center gap-2 px-3 sm:px-4 py-1.5 sm:py-2 rounded-full glass text-xs sm:text-sm text-brand-400 mb-4 sm:mb-6 reveal-up">
<i data-lucide="sparkles" class="w-3.5 h-3.5 sm:w-4 sm:h-4"></i>
The Solution
</div>
<h2 class="text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-black mb-4 sm:mb-6 lg:mb-8 reveal-up leading-tight">
Three Steps to<br><span class="gradient-text">AI-Powered Prospecting</span>
</h2>
</div>
<div class="space-y-4 sm:space-y-6 lg:space-y-8">
<div class="flex flex-col lg:flex-row items-center gap-4 sm:gap-6 lg:gap-10 glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-10 feature-card stagger-item">
<div class="w-16 h-16 sm:w-20 sm:h-20 lg:w-24 lg:h-24 rounded-2xl lg:rounded-3xl bg-gradient-to-br from-brand-500 to-teal-400 flex items-center justify-center flex-shrink-0 shadow-2xl shadow-brand-500/30">
<span class="text-3xl sm:text-4xl lg:text-5xl font-black text-black">1</span>
</div>
<div class="text-center lg:text-left">
<h3 class="text-xl sm:text-2xl lg:text-3xl font-black mb-2 sm:mb-3 lg:mb-4">Connect Your Apollo</h3>
<p class="text-zinc-400 text-sm sm:text-base lg:text-xl leading-relaxed">Paste your Apollo API key. MCPEngage discovers all available endpoints and builds 55+ tools automatically. No code, no configuration, no DevOps.</p>
</div>
</div>
<div class="flex flex-col lg:flex-row items-center gap-4 sm:gap-6 lg:gap-10 glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-10 feature-card stagger-item">
<div class="w-16 h-16 sm:w-20 sm:h-20 lg:w-24 lg:h-24 rounded-2xl lg:rounded-3xl bg-gradient-to-br from-cyan-500 to-blue-400 flex items-center justify-center flex-shrink-0 shadow-2xl shadow-cyan-500/30">
<span class="text-3xl sm:text-4xl lg:text-5xl font-black text-black">2</span>
</div>
<div class="text-center lg:text-left">
<h3 class="text-xl sm:text-2xl lg:text-3xl font-black mb-2 sm:mb-3 lg:mb-4">Ask in Plain English</h3>
<p class="text-zinc-400 text-sm sm:text-base lg:text-xl leading-relaxed">"Find VPs of Engineering at companies using React and AWS." "Which prospects in my outbound sequence replied?" "Enrich this contact list." Your AI understands and acts.</p>
</div>
</div>
<div class="flex flex-col lg:flex-row items-center gap-4 sm:gap-6 lg:gap-10 glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-10 feature-card stagger-item">
<div class="w-16 h-16 sm:w-20 sm:h-20 lg:w-24 lg:h-24 rounded-2xl lg:rounded-3xl bg-gradient-to-br from-violet-500 to-purple-400 flex items-center justify-center flex-shrink-0 shadow-2xl shadow-violet-500/30">
<span class="text-3xl sm:text-4xl lg:text-5xl font-black text-black">3</span>
</div>
<div class="text-center lg:text-left">
<h3 class="text-xl sm:text-2xl lg:text-3xl font-black mb-2 sm:mb-3 lg:mb-4">Automate Everything</h3>
<p class="text-zinc-400 text-sm sm:text-base lg:text-xl leading-relaxed">Set up recurring workflows: auto-add hot leads to sequences, sync Apollo data to your CRM, generate weekly engagement reports, and draft personalized follow-ups — all running 24/7.</p>
</div>
</div>
</div>
</div>
</section>
<!-- FEATURES GRID -->
<section id="features" class="py-16 sm:py-20 lg:py-32 px-4 sm:px-6">
<div class="max-w-7xl mx-auto">
<div class="text-center mb-10 sm:mb-14 lg:mb-20">
<div class="inline-flex items-center gap-2 px-3 sm:px-4 py-1.5 sm:py-2 rounded-full glass text-xs sm:text-sm text-brand-400 mb-4 sm:mb-6 reveal-up">
<i data-lucide="layers" class="w-3.5 h-3.5 sm:w-4 sm:h-4"></i>
Features
</div>
<h2 class="text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-black mb-4 sm:mb-6 lg:mb-8 reveal-up leading-tight">
Everything to<br><span class="gradient-text">Supercharge Apollo</span>
</h2>
<p class="text-base sm:text-lg lg:text-xl xl:text-2xl text-zinc-400 max-w-3xl mx-auto reveal-up">
55+ Apollo tools accessible through one natural-language interface.
</p>
</div>
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-5 lg:gap-6">
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 feature-card stagger-item group">
<div class="w-11 h-11 sm:w-12 sm:h-12 lg:w-14 lg:h-14 rounded-xl lg:rounded-2xl bg-gradient-to-br from-brand-500/20 to-teal-500/20 flex items-center justify-center mb-4 sm:mb-5 lg:mb-6 feature-icon">
<i data-lucide="search" class="w-5 h-5 sm:w-6 sm:h-6 lg:w-7 lg:h-7 text-brand-400"></i>
</div>
<h3 class="font-bold text-base sm:text-lg lg:text-xl mb-2 sm:mb-3 group-hover:text-brand-400 transition-colors">Advanced Search</h3>
<p class="text-zinc-400 text-sm sm:text-base">Search 270M+ contacts with natural language. "Find CMOs at fintech startups in NYC with recent funding."</p>
</div>
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 feature-card stagger-item group">
<div class="w-11 h-11 sm:w-12 sm:h-12 lg:w-14 lg:h-14 rounded-xl lg:rounded-2xl bg-gradient-to-br from-cyan-500/20 to-blue-500/20 flex items-center justify-center mb-4 sm:mb-5 lg:mb-6 feature-icon">
<i data-lucide="sparkles" class="w-5 h-5 sm:w-6 sm:h-6 lg:w-7 lg:h-7 text-cyan-400"></i>
</div>
<h3 class="font-bold text-base sm:text-lg lg:text-xl mb-2 sm:mb-3 group-hover:text-cyan-400 transition-colors">Contact Enrichment</h3>
<p class="text-zinc-400 text-sm sm:text-base">Enrich contacts with emails, phone numbers, job history, and tech stack. "Enrich all contacts in my 'Enterprise' list."</p>
</div>
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 feature-card stagger-item group">
<div class="w-11 h-11 sm:w-12 sm:h-12 lg:w-14 lg:h-14 rounded-xl lg:rounded-2xl bg-gradient-to-br from-violet-500/20 to-purple-500/20 flex items-center justify-center mb-4 sm:mb-5 lg:mb-6 feature-icon">
<i data-lucide="send" class="w-5 h-5 sm:w-6 sm:h-6 lg:w-7 lg:h-7 text-violet-400"></i>
</div>
<h3 class="font-bold text-base sm:text-lg lg:text-xl mb-2 sm:mb-3 group-hover:text-violet-400 transition-colors">Sequence Intelligence</h3>
<p class="text-zinc-400 text-sm sm:text-base">Track sequence performance, identify engaged prospects, and optimize messaging. "Which prospects opened 3+ times but didn't reply?"</p>
</div>
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 feature-card stagger-item group">
<div class="w-11 h-11 sm:w-12 sm:h-12 lg:w-14 lg:h-14 rounded-xl lg:rounded-2xl bg-gradient-to-br from-orange-500/20 to-red-500/20 flex items-center justify-center mb-4 sm:mb-5 lg:mb-6 feature-icon">
<i data-lucide="building-2" class="w-5 h-5 sm:w-6 sm:h-6 lg:w-7 lg:h-7 text-orange-400"></i>
</div>
<h3 class="font-bold text-base sm:text-lg lg:text-xl mb-2 sm:mb-3 group-hover:text-orange-400 transition-colors">Account Insights</h3>
<p class="text-zinc-400 text-sm sm:text-base">Get company data: size, revenue, tech stack, funding, news. "What tech does Acme Corp use?"</p>
</div>
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 feature-card stagger-item group">
<div class="w-11 h-11 sm:w-12 sm:h-12 lg:w-14 lg:h-14 rounded-xl lg:rounded-2xl bg-gradient-to-br from-pink-500/20 to-rose-500/20 flex items-center justify-center mb-4 sm:mb-5 lg:mb-6 feature-icon">
<i data-lucide="target" class="w-5 h-5 sm:w-6 sm:h-6 lg:w-7 lg:h-7 text-pink-400"></i>
</div>
<h3 class="font-bold text-base sm:text-lg lg:text-xl mb-2 sm:mb-3 group-hover:text-pink-400 transition-colors">Lead Scoring</h3>
<p class="text-zinc-400 text-sm sm:text-base">AI analyzes engagement signals (opens, clicks, LinkedIn views) and surfaces your hottest prospects automatically.</p>
</div>
<div class="glass rounded-2xl lg:rounded-3xl p-5 sm:p-6 lg:p-8 feature-card stagger-item group">
<div class="w-11 h-11 sm:w-12 sm:h-12 lg:w-14 lg:h-14 rounded-xl lg:rounded-2xl bg-gradient-to-br from-emerald-500/20 to-teal-500/20 flex items-center justify-center mb-4 sm:mb-5 lg:mb-6 feature-icon">
<i data-lucide="pen-tool" class="w-5 h-5 sm:w-6 sm:h-6 lg:w-7 lg:h-7 text-emerald-400"></i>
</div>
<h3 class="font-bold text-base sm:text-lg lg:text-xl mb-2 sm:mb-3 group-hover:text-emerald-400 transition-colors">Personalized Outreach</h3>
<p class="text-zinc-400 text-sm sm:text-base">Generate custom email drafts using prospect context, company news, and mutual connections. No more templates.</p>
</div>
</div>
</div>
</section>
<!-- FAQ -->
<section id="faq" class="py-16 sm:py-20 lg:py-32 px-4 sm:px-6">
<div class="max-w-3xl mx-auto">
<div class="text-center mb-10 sm:mb-14 lg:mb-20">
<div class="inline-flex items-center gap-2 px-3 sm:px-4 py-1.5 sm:py-2 rounded-full glass text-xs sm:text-sm text-brand-400 mb-4 sm:mb-6 reveal-up">
<i data-lucide="help-circle" class="w-3.5 h-3.5 sm:w-4 sm:h-4"></i>
FAQ
</div>
<h2 class="text-2xl sm:text-3xl md:text-4xl lg:text-5xl font-black mb-4 sm:mb-6 reveal-up leading-tight">
Common <span class="gradient-text">Questions</span>
</h2>
</div>
<div class="space-y-3 sm:space-y-4" id="faq-list">
<div class="faq-item glass rounded-2xl overflow-hidden feature-card stagger-item">
<button class="faq-toggle w-full flex items-center justify-between p-5 sm:p-6 text-left" onclick="toggleFaq(this)">
<span class="font-bold text-sm sm:text-base lg:text-lg pr-4">What is MCP?</span>
<i data-lucide="chevron-down" class="w-5 h-5 text-zinc-400 faq-chevron flex-shrink-0"></i>
</button>
<div class="faq-answer px-5 sm:px-6 text-zinc-400 text-sm sm:text-base leading-relaxed">
MCP (Model Context Protocol) is an open standard created by Anthropic that lets AI models securely connect to external tools and data sources. Think of it as a USB port for AI — MCPEngage uses MCP to give your AI real-time read/write access to Apollo.
</div>
</div>
<div class="faq-item glass rounded-2xl overflow-hidden feature-card stagger-item">
<button class="faq-toggle w-full flex items-center justify-between p-5 sm:p-6 text-left" onclick="toggleFaq(this)">
<span class="font-bold text-sm sm:text-base lg:text-lg pr-4">How does it connect to Apollo?</span>
<i data-lucide="chevron-down" class="w-5 h-5 text-zinc-400 faq-chevron flex-shrink-0"></i>
</button>
<div class="faq-answer px-5 sm:px-6 text-zinc-400 text-sm sm:text-base leading-relaxed">
You provide an Apollo API key (generated in Settings → Integrations → API). MCPEngage uses the Apollo REST API to create 55+ tools covering people search, contact enrichment, sequences, accounts, and analytics. Your credentials are encrypted and never stored on our servers.
</div>
</div>
<div class="faq-item glass rounded-2xl overflow-hidden feature-card stagger-item">
<button class="faq-toggle w-full flex items-center justify-between p-5 sm:p-6 text-left" onclick="toggleFaq(this)">
<span class="font-bold text-sm sm:text-base lg:text-lg pr-4">Does it use my Apollo credits?</span>
<i data-lucide="chevron-down" class="w-5 h-5 text-zinc-400 faq-chevron flex-shrink-0"></i>
</button>
<div class="faq-answer px-5 sm:px-6 text-zinc-400 text-sm sm:text-base leading-relaxed">
Yes. When MCPEngage enriches contacts or exports data via Apollo's API, it consumes your Apollo credits just like using the Apollo web app. You control which tools can spend credits.
</div>
</div>
<div class="faq-item glass rounded-2xl overflow-hidden feature-card stagger-item">
<button class="faq-toggle w-full flex items-center justify-between p-5 sm:p-6 text-left" onclick="toggleFaq(this)">
<span class="font-bold text-sm sm:text-base lg:text-lg pr-4">Can AI send emails through Apollo sequences?</span>
<i data-lucide="chevron-down" class="w-5 h-5 text-zinc-400 faq-chevron flex-shrink-0"></i>
</button>
<div class="faq-answer px-5 sm:px-6 text-zinc-400 text-sm sm:text-base leading-relaxed">
MCPEngage can add/remove contacts from sequences and retrieve sequence analytics, but email sending happens through Apollo's platform (per their API design). You maintain full control over outbound messaging.
</div>
</div>
<div class="faq-item glass rounded-2xl overflow-hidden feature-card stagger-item">
<button class="faq-toggle w-full flex items-center justify-between p-5 sm:p-6 text-left" onclick="toggleFaq(this)">
<span class="font-bold text-sm sm:text-base lg:text-lg pr-4">How much does it cost?</span>
<i data-lucide="chevron-down" class="w-5 h-5 text-zinc-400 faq-chevron flex-shrink-0"></i>
</button>
<div class="faq-answer px-5 sm:px-6 text-zinc-400 text-sm sm:text-base leading-relaxed">
MCPEngage is free during the beta period. After launch, pricing starts at $29/month per platform connection. Enterprise plans with custom integrations and priority support are available on request.
</div>
</div>
<div class="faq-item glass rounded-2xl overflow-hidden feature-card stagger-item">
<button class="faq-toggle w-full flex items-center justify-between p-5 sm:p-6 text-left" onclick="toggleFaq(this)">
<span class="font-bold text-sm sm:text-base lg:text-lg pr-4">Can I use it with other platforms?</span>
<i data-lucide="chevron-down" class="w-5 h-5 text-zinc-400 faq-chevron flex-shrink-0"></i>
</button>
<div class="faq-answer px-5 sm:px-6 text-zinc-400 text-sm sm:text-base leading-relaxed">
Yes! MCPEngage supports 66+ platforms including Salesforce, HubSpot, LinkedIn, Outreach, and many more. Each platform gets its own MCP server with platform-specific tools. Connect as many as you need.
</div>
</div>
</div>
</div>
</section>
<!-- FINAL CTA -->
<section id="cta" class="py-16 sm:py-20 lg:py-32 px-4 sm:px-6 relative overflow-hidden">
<div class="absolute inset-0 mesh-gradient"></div>
<div class="absolute inset-0 bg-gradient-to-t from-[#030303] via-transparent to-[#030303]"></div>
<div class="max-w-4xl mx-auto text-center relative">
<h2 class="text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl font-black mb-4 sm:mb-6 lg:mb-8 reveal-up leading-tight">
Start Automating Apollo<br><span class="gradient-text">Today</span>
</h2>
<p class="text-base sm:text-lg lg:text-xl xl:text-2xl text-zinc-400 mb-8 sm:mb-10 lg:mb-12 reveal-up">
Join sales teams using MCPEngage to supercharge prospecting with AI.
</p>
<form id="waitlist-form" class="max-w-md mx-auto reveal-up" onsubmit="return submitWaitlist(event)">
<div class="space-y-3 sm:space-y-4 mb-4 sm:mb-6">
<div class="flex gap-3">
<input type="text" id="wl-first" name="firstName" placeholder="First Name *" required class="flex-1 px-4 sm:px-5 py-3 sm:py-3.5 glass-strong rounded-xl text-sm sm:text-base outline-none focus:ring-2 focus:ring-brand-500/50 transition-all placeholder:text-zinc-600">
<input type="text" id="wl-last" name="lastName" placeholder="Last Name *" required class="flex-1 px-4 sm:px-5 py-3 sm:py-3.5 glass-strong rounded-xl text-sm sm:text-base outline-none focus:ring-2 focus:ring-brand-500/50 transition-all placeholder:text-zinc-600">
</div>
<input type="tel" id="wl-phone" name="phone" placeholder="Phone Number *" required class="w-full px-4 sm:px-5 py-3 sm:py-3.5 glass-strong rounded-xl text-sm sm:text-base outline-none focus:ring-2 focus:ring-brand-500/50 transition-all placeholder:text-zinc-600">
<input type="email" id="wl-email" name="email" placeholder="Email (optional)" class="w-full px-4 sm:px-5 py-3 sm:py-3.5 glass-strong rounded-xl text-sm sm:text-base outline-none focus:ring-2 focus:ring-brand-500/50 transition-all placeholder:text-zinc-600">
</div>
<button type="submit" id="wl-btn" class="magnetic-btn w-full px-6 sm:px-8 py-3.5 sm:py-4 bg-gradient-to-r from-brand-500 to-cyan-500 hover:from-brand-400 hover:to-cyan-400 text-black font-bold rounded-xl text-base sm:text-lg transition-all hover:scale-105 active:scale-95 glow btn-shine">
Join Waitlist
</button>
<p id="wl-status" class="text-xs sm:text-sm text-zinc-600 mt-3 sm:mt-4 hidden"></p>
</form>
<div id="wl-success" class="hidden max-w-md mx-auto reveal-up">
<div class="glass-strong rounded-2xl p-6 sm:p-8 text-center">
<div class="w-16 h-16 rounded-full bg-brand-500/20 flex items-center justify-center mx-auto mb-4">
<i data-lucide="check" class="w-8 h-8 text-brand-400"></i>
</div>
<h3 class="text-xl sm:text-2xl font-black mb-2">You're on the list!</h3>
<p class="text-zinc-400 text-sm sm:text-base">We'll notify you as soon as MCPEngage for Apollo is ready.</p>
</div>
</div>
<p class="text-xs sm:text-sm text-zinc-600 mt-4 sm:mt-6 reveal-up">Free during beta. No credit card required.</p>
</div>
</section>
<!-- FOOTER -->
<footer class="py-10 sm:py-12 lg:py-16 px-4 sm:px-6 border-t border-white/5">
<div class="max-w-7xl mx-auto">
<div class="flex flex-col lg:flex-row items-center justify-between gap-6 sm:gap-8 lg:gap-10">
<a href="/" class="flex items-center gap-2 sm:gap-3">
<div class="w-10 h-10 sm:w-12 sm:h-12 rounded-xl bg-gradient-to-br from-brand-500 via-teal-400 to-cyan-400 flex items-center justify-center">
<span class="font-black text-base sm:text-lg text-black">ME</span>
</div>
<span class="font-black text-xl sm:text-2xl tracking-tight">MCPEngage</span>
</a>
<div class="flex flex-wrap items-center justify-center gap-4 sm:gap-6 lg:gap-8 text-sm font-medium text-zinc-500">
<a href="#features" class="hover:text-white transition-colors">Features</a>
<a href="#how-it-works" class="hover:text-white transition-colors">How It Works</a>
<a href="#faq" class="hover:text-white transition-colors">FAQ</a>
<a href="#" class="hover:text-white transition-colors">Privacy</a>
<a href="#" class="hover:text-white transition-colors">Terms</a>
<a href="https://github.com/BusyBee3333/mcpengine" target="_blank" rel="noopener" class="hover:text-white transition-colors">GitHub</a>
</div>
<p class="text-xs sm:text-sm text-zinc-600">&copy; 2025 MCPEngage. All rights reserved.</p>
</div>
</div>
</footer>
<!-- SCRIPTS -->
<script>
lucide.createIcons();
document.body.classList.add('js-loaded');
gsap.registerPlugin(ScrollTrigger);
gsap.utils.toArray('.reveal-up').forEach(el => {
gsap.fromTo(el, { opacity:0, y:50 }, { opacity:1, y:0, duration:0.8, ease:"power3.out",
scrollTrigger:{ trigger:el, start:"top 85%", toggleActions:"play none none none" }
});
});
gsap.utils.toArray('.reveal-scale').forEach(el => {
gsap.fromTo(el, { opacity:0, scale:0.95 }, { opacity:1, scale:1, duration:1, ease:"power3.out",
scrollTrigger:{ trigger:el, start:"top 85%", toggleActions:"play none none none" }
});
});
gsap.utils.toArray('.stagger-item').forEach((el, i) => {
gsap.fromTo(el, { opacity:0, y:30 }, { opacity:1, y:0, duration:0.6, ease:"power3.out",
scrollTrigger:{ trigger:el, start:"top 85%", toggleActions:"play none none none" },
delay: (i % 4) * 0.1
});
});
document.querySelectorAll('.counter').forEach(counter => {
const target = parseInt(counter.dataset.target);
ScrollTrigger.create({
trigger: counter, start:"top 80%",
onEnter: () => { gsap.to(counter, { innerText:target, duration:2, snap:{innerText:1}, ease:"power2.out" }); },
once: true
});
});
const navbar = document.getElementById('navbar');
ScrollTrigger.create({
start:"top -80",
onUpdate: self => {
if(self.scroll()>80){ navbar.classList.add('glass-strong'); navbar.style.borderBottom='1px solid rgba(255,255,255,0.05)'; }
else { navbar.classList.remove('glass-strong'); navbar.style.borderBottom='none'; }
}
});
// CHAT DEMO
const chatDemo = document.getElementById('chat-demo');
const embed_1 = `<div style="background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:12px;overflow:hidden;margin-top:8px;max-width:420px;"><div style="display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,0.06);background:rgba(23,195,178,0.05);"><div style="display:flex;align-items:center;gap:8px;"><div style="width:6px;height:6px;border-radius:50%;background:#17c3b2;"></div><span style="font-size:11px;font-weight:700;color:#17c3b2;text-transform:uppercase;letter-spacing:0.5px;">Prospect Search Results</span></div><span style="font-size:10px;color:rgba(255,255,255,0.3);font-family:monospace;">47 total</span></div><div style="padding:0;"><div style="display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,0.04);"><div style="flex-shrink:0;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:white;">SC</div><div style="flex:1;min-width:0;"><div style="display:flex;align-items:center;gap:6px;margin-bottom:2px;"><span style="font-size:12px;font-weight:600;color:#e4e4e7;">Sarah Chen</span><span style="font-size:10px;color:rgba(255,255,255,0.4);">CTO</span></div><div style="display:flex;align-items:center;gap:6px;"><span style="font-size:10px;color:rgba(255,255,255,0.3);">DataFlow Inc • 280 employees</span><span style="display:inline-block;padding:1px 6px;border-radius:4px;font-size:9px;font-weight:600;background:rgba(34,197,94,0.15);color:#4ade80;">Series B</span></div></div><span style="padding:2px 8px;border-radius:6px;font-size:9px;font-weight:700;background:rgba(239,68,68,0.15);color:#f87171;text-transform:uppercase;">Hot</span></div><div style="display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,0.04);"><div style="flex-shrink:0;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg, #f093fb 0%, #f5576c 100%);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:white;">JM</div><div style="flex:1;min-width:0;"><div style="display:flex;align-items:center;gap:6px;margin-bottom:2px;"><span style="font-size:12px;font-weight:600;color:#e4e4e7;">James Miller</span><span style="font-size:10px;color:rgba(255,255,255,0.4);">CTO & Co-Founder</span></div><div style="display:flex;align-items:center;gap:6px;"><span style="font-size:10px;color:rgba(255,255,255,0.3);">CloudPipe • 150 employees</span><span style="display:inline-block;padding:1px 6px;border-radius:4px;font-size:9px;font-weight:600;background:rgba(34,197,94,0.15);color:#4ade80;">Series B</span></div></div></div><div style="display:flex;align-items:center;gap:10px;padding:10px 14px;"><div style="flex-shrink:0;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:white;">AR</div><div style="flex:1;min-width:0;"><div style="display:flex;align-items:center;gap:6px;margin-bottom:2px;"><span style="font-size:12px;font-weight:600;color:#e4e4e7;">Alex Rivera</span><span style="font-size:10px;color:rgba(255,255,255,0.4);">VP Engineering / CTO</span></div><div style="display:flex;align-items:center;gap:6px;"><span style="font-size:10px;color:rgba(255,255,255,0.3);">FinTech Labs • 420 employees</span><span style="display:inline-block;padding:1px 6px;border-radius:4px;font-size:9px;font-weight:600;background:rgba(34,197,94,0.15);color:#4ade80;">Series B</span></div></div></div></div><div style="padding:8px 14px;border-top:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:space-between;"><span style="font-size:10px;color:rgba(255,255,255,0.25);">All prospects use AWS tech stack</span><span style="font-size:10px;color:#17c3b2;cursor:pointer;">View all 47 →</span></div></div>`;
const embed_3 = `<div style="background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:12px;overflow:hidden;margin-top:8px;max-width:420px;"><div style="display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,0.06);background:rgba(34,197,94,0.05);"><div style="display:flex;align-items:center;gap:8px;"><div style="width:6px;height:6px;border-radius:50%;background:#22c55e;"></div><span style="font-size:11px;font-weight:700;color:#22c55e;text-transform:uppercase;letter-spacing:0.5px;">Actions Completed</span></div><span style="font-size:10px;color:rgba(255,255,255,0.3);font-family:monospace;">2 of 2</span></div><div style="padding:10px 14px;border-bottom:1px solid rgba(255,255,255,0.04);"><div style="display:flex;align-items:center;gap:8px;margin-bottom:8px;"><div style="width:20px;height:20px;border-radius:6px;background:rgba(34,197,94,0.15);display:flex;align-items:center;justify-content:center;"><span style="font-size:11px;color:#22c55e;">✓</span></div><span style="font-size:12px;font-weight:600;color:#e4e4e7;">10 contacts enriched</span></div><div style="margin-left:28px;display:flex;flex-direction:column;gap:4px;"><div style="background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:6px;padding:6px 8px;display:flex;justify-content:space-between;align-items:center;"><span style="font-size:10px;color:rgba(255,255,255,0.5);">Work emails found</span><span style="font-size:10px;font-weight:600;color:#4ade80;">10/10</span></div><div style="background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:6px;padding:6px 8px;display:flex;justify-content:space-between;align-items:center;"><span style="font-size:10px;color:rgba(255,255,255,0.5);">Direct dials found</span><span style="font-size:10px;font-weight:600;color:#60a5fa;">7/10</span></div><div style="background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:6px;padding:6px 8px;display:flex;justify-content:space-between;align-items:center;"><span style="font-size:10px;color:rgba(255,255,255,0.5);">Credits used</span><span style="font-size:10px;font-weight:600;color:#fbbf24;">10</span></div></div></div><div style="padding:10px 14px;"><div style="display:flex;align-items:center;gap:8px;"><div style="width:20px;height:20px;border-radius:6px;background:rgba(34,197,94,0.15);display:flex;align-items:center;justify-content:center;"><span style="font-size:11px;color:#22c55e;">✓</span></div><span style="font-size:12px;font-weight:600;color:#e4e4e7;">Added to Enterprise Outbound</span></div><div style="margin-top:6px;margin-left:28px;display:flex;gap:6px;flex-wrap:wrap;"><span style="padding:2px 8px;border-radius:4px;font-size:9px;font-weight:600;background:rgba(139,92,246,0.15);color:#a78bfa;">10 contacts</span><span style="padding:2px 8px;border-radius:4px;font-size:9px;font-weight:600;background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.4);">Step 1: sending tmrw</span><span style="padding:2px 8px;border-radius:4px;font-size:9px;font-weight:600;background:rgba(34,197,94,0.1);color:#4ade80;">7-step sequence</span></div></div></div>`;
const messages = [
{ type:'user', text:'Find CTOs at Series B SaaS companies with 100-500 employees who use AWS' },
{ type:'ai', text:'Found 47 matching prospects. Here are the top 5:', embed: embed_1 },
{ type:'user', text:'Enrich the top 10 and add them to my \'Enterprise Outbound\' sequence' },
{ type:'ai', text:'Done! Here\'s what I did:', embed: embed_3 },
];
function createMessage(msg){
const div = document.createElement('div');
div.className = msg.type==='user' ? 'flex justify-end' : 'flex gap-2 sm:gap-3';
div.style.opacity='0'; div.style.transform='translateY(15px)';
if(msg.type==='user'){
div.innerHTML=`<div class="bg-brand-500/20 border border-brand-500/30 rounded-xl sm:rounded-2xl rounded-br-sm px-3 sm:px-4 lg:px-5 py-2 sm:py-3 max-w-[85%]"><p class="text-xs sm:text-sm">${msg.text}</p></div>`;
} else {
const embedHtml = msg.embed || '';
div.innerHTML=`<div class="w-7 h-7 sm:w-8 sm:h-8 lg:w-9 lg:h-9 rounded-lg sm:rounded-xl bg-gradient-to-br from-brand-500 to-teal-400 flex items-center justify-center flex-shrink-0"><span class="font-bold text-[10px] sm:text-xs text-black">ME</span></div><div class="max-w-[90%]"><div class="glass rounded-xl sm:rounded-2xl rounded-tl-sm px-3 sm:px-4 lg:px-5 py-2 sm:py-3"><p class="text-xs sm:text-sm text-zinc-300">${msg.text}</p>${embedHtml}</div></div>`;
}
return div;
}
let chatAnimated = false;
ScrollTrigger.create({
trigger: chatDemo, start:"top 75%",
onEnter: () => {
if(chatAnimated) return; chatAnimated = true;
messages.forEach((msg,i) => {
setTimeout(() => {
const el = createMessage(msg);
chatDemo.appendChild(el);
lucide.createIcons();
gsap.to(el, { opacity:1, y:0, duration:0.4, ease:"power2.out" });
chatDemo.scrollTop = chatDemo.scrollHeight;
}, i*1200);
});
},
once: true
});
// TERMINAL TYPING
const termLines = [
{ text:'$ npx mcpengage init', color:'text-white', delay:0 },
{ text:'', color:'text-white', delay:600 },
{ text:'? Select your platform: Apollo', color:'text-cyan-400', delay:1200 },
{ text:'', color:'text-white', delay:1600 },
{ text:' Connecting to Apollo API...', color:'text-zinc-500', delay:2000 },
{ text:'✓ Connected to Apollo API', color:'text-green-400', delay:3000 },
{ text:'✓ 55 tools loaded', color:'text-green-400', delay:3600 },
{ text:'✓ Ready! Ask your AI anything about Apollo', color:'text-green-400', delay:4200 },
];
const termContainer = document.getElementById('terminal-lines');
let termAnimated = false;
function typeTermLine(lineEl, text, speed=30) {
return new Promise(resolve => {
let idx = 0;
const cursor = document.createElement('span');
cursor.className = 'terminal-cursor';
lineEl.appendChild(cursor);
function tick() {
if(idx < text.length) { lineEl.insertBefore(document.createTextNode(text[idx]), cursor); idx++; setTimeout(tick, speed); }
else { cursor.remove(); resolve(); }
}
tick();
});
}
ScrollTrigger.create({
trigger: termContainer, start:"top 80%",
onEnter: async () => {
if(termAnimated) return; termAnimated = true;
for(const line of termLines) {
await new Promise(r => setTimeout(r, line.delay ? 400 : 200));
const lineEl = document.createElement('div');
lineEl.className = line.color || 'text-white';
termContainer.appendChild(lineEl);
if(line.text) { await typeTermLine(lineEl, line.text, line.text.startsWith('$') ? 40 : 20); }
}
const finalCursor = document.createElement('div');
finalCursor.innerHTML = '<span class="text-white">$ </span><span class="terminal-cursor"></span>';
termContainer.appendChild(finalCursor);
},
once: true
});
// FAQ
function toggleFaq(btn) {
const item = btn.closest('.faq-item');
const wasOpen = item.classList.contains('open');
document.querySelectorAll('.faq-item.open').forEach(el => el.classList.remove('open'));
if(!wasOpen) item.classList.add('open');
}
// WAITLIST FORM → GoHighLevel
async function submitWaitlist(e) {
e.preventDefault();
const btn = document.getElementById('wl-btn');
const status = document.getElementById('wl-status');
const form = document.getElementById('waitlist-form');
const success = document.getElementById('wl-success');
btn.disabled = true;
btn.textContent = 'Joining...';
status.className = 'text-xs sm:text-sm text-zinc-400 mt-3 sm:mt-4';
status.textContent = 'Adding you to the waitlist...';
const firstName = document.getElementById('wl-first').value.trim();
const lastName = document.getElementById('wl-last').value.trim();
const phone = document.getElementById('wl-phone').value.trim();
const email = document.getElementById('wl-email').value.trim();
const platformName = 'Apollo';
try {
const body = {
firstName,
lastName,
phone,
tags: ['MCP waitlist', platformName],
source: 'MCPEngage Waitlist — ' + platformName
};
if (email) body.email = email;
if (!body.name) body.name = firstName + ' ' + lastName;
const res = await fetch('https://mcpengage-waitlist.jake-2ab.workers.dev', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(body)
});
if (res.ok || res.status === 200 || res.status === 201) {
form.classList.add('hidden');
success.classList.remove('hidden');
lucide.createIcons();
} else {
const errData = await res.json().catch(() => ({}));
throw new Error(errData.message || 'Server error');
}
} catch (err) {
status.className = 'text-xs sm:text-sm text-red-400 mt-3 sm:mt-4';
status.textContent = 'Something went wrong. Please try again.';
btn.disabled = false;
btn.textContent = 'Join Waitlist';
console.error('Waitlist error:', err);
}
return false;
}
// MAGNETIC BUTTONS
if(window.innerWidth >= 1024) {
document.querySelectorAll('.magnetic-btn').forEach(btn => {
btn.addEventListener('mousemove', e => {
const rect = btn.getBoundingClientRect();
const x = e.clientX - rect.left - rect.width/2;
const y = e.clientY - rect.top - rect.height/2;
btn.style.transform = `translate(${x*0.15}px, ${y*0.15}px) scale(1.02)`;
});
btn.addEventListener('mouseleave', () => { btn.style.transform = ''; });
});
}
</script>
</body>
</html>