patx/afterdarklabs

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/svg+xml" href="/favicon.png">
    <link rel="apple-touch-icon" href="/favicon.png">
    <link rel="manifest" href="/site.webmanifest">
    <title>Website Design &amp; Development | After Dark Labs Florida</title>
    <meta name="description" content="Florida-based custom website design and development. Fast, modern business sites, Shopify stores, apps, SEO, and tools that actually convert. Free demo in 24 hours.">
    <meta name="robots" content="index,follow">
    <link rel="canonical" href="https://afterdarklabs.io/">
    
    <!-- Open Graph -->
    <meta property="og:title" content="Website Design &amp; Development | After Dark Labs Florida">
    <meta property="og:description" content="Custom websites, Shopify stores, apps &amp; tools for Florida businesses. Built to stand out and convert.">
    <meta property="og:image" content="https://afterdarklabs.io/twitter-card.png?v=2">
    <meta property="og:image:width" content="1536">
    <meta property="og:image:height" content="1024">
    <meta property="og:type" content="website">
    <meta property="og:url" content="https://afterdarklabs.io/">
    
    <!-- Twitter -->
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="Website Design &amp; Development | After Dark Labs Florida">
    <meta name="twitter:description" content="Modern websites and tools for businesses that want to dominate locally.">
    <meta name="twitter:image" content="https://afterdarklabs.io/twitter-card.png?v=2">

    <link rel="stylesheet" href="index.tailwind.css">
    <style>
        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&amp;family=Space+Grotesk:wght@500;600;700&amp;display=swap');

        :root {
            --neon: #ccff00;
            --page-bg: #17212b;
            --page-bg-rgb: 23, 33, 43;
        }

        html { scroll-behavior: smooth; }
        body {
            background: var(--page-bg);
            font-family: 'Inter', system-ui, sans-serif;
        }
        .heading { font-family: 'Space Grotesk', sans-serif; }

        .hero-bg { background: var(--page-bg); }

        .bg-black, .bg-zinc-950 {
            background-color: var(--page-bg) !important;
        }

        .neon-text {
            color: var(--neon);
            text-shadow: 0 0 15px var(--neon), 0 0 30px var(--neon);
        }

        #hero-canvas {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            opacity: 0.75;
        }

        .hero-content { position: relative; z-index: 1; }

        .hero-vignette {
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse 70% 60% at 50% 40%, transparent 40%, rgba(var(--page-bg-rgb),0.65) 100%);
            pointer-events: none;
            z-index: 1;
        }

        nav a[data-nav-link][aria-current="page"] {
            color: #ccff00;
            font-weight: 600;
        }

    </style>
</head>
<body class="bg-black text-white overflow-x-hidden">
    <nav class="fixed top-0 z-50 w-full bg-black/90 backdrop-blur-lg border-b border-white/10">
        <div class="mx-auto max-w-7xl px-4 py-4 sm:px-6">
            <div class="flex items-center justify-between">
                <!-- Logo -->
                <a href="/" class="flex items-center gap-3">
                    <div class="flex h-9 w-9 items-center justify-center rounded-2xl border-2 border-[#ccff00] bg-black text-2xl font-bold">🌑</div>
                    <div>
                        <span class="heading block text-2xl font-semibold tracking-tighter">After Dark</span>
                        <span class="block -mt-1 text-xs tracking-[3px] text-[#ccff00] font-medium">LABS</span>
                    </div>
                </a>

                <!-- Desktop Nav -->
                <div class="hidden lg:flex items-center gap-8">
                    <a href="#work" class="transition-colors hover:text-[#ccff00]" data-nav-link>Work</a>
                    <a href="#services" class="transition-colors hover:text-[#ccff00]" data-nav-link>Services</a>
                    <a href="https://calendly.com/harrison-afterdarklabs/30min" target="_blank" rel="noopener noreferrer" class="rounded-2xl bg-[#ccff00] px-6 py-3 font-semibold text-black transition-all hover:bg-white hover:scale-105">Get Free Demo</a>
                </div>

                <!-- Mobile -->
                <div class="lg:hidden flex items-center gap-3">
                    <a href="https://calendly.com/harrison-afterdarklabs/30min" target="_blank" rel="noopener noreferrer" class="rounded-2xl bg-[#ccff00] px-5 py-2.5 text-sm font-semibold text-black">Get Demo</a>
                    <button id="mobile-nav-toggle" class="flex h-10 w-10 items-center justify-center rounded-xl border border-white/20 hover:bg-white/10" aria-label="Toggle menu">
                        <span class="text-2xl">☰</span>
                    </button>
                </div>
            </div>
        </div>

        <!-- Mobile Menu -->
        <div id="mobile-nav-menu" class="hidden lg:hidden border-t border-white/10 bg-black/95">
            <div class="px-6 py-6 flex flex-col gap-4 text-lg">
                <a href="#work" class="py-2 hover:text-[#ccff00]" data-nav-link>Work</a>
                <a href="#services" class="py-2 hover:text-[#ccff00]" data-nav-link>Services</a>
                <a href="https://calendly.com/harrison-afterdarklabs/30min" target="_blank" rel="noopener noreferrer" class="py-2 hover:text-[#ccff00]" data-nav-link>Get Free Demo</a>
            </div>
        </div>
    </nav>

    <main>
        <!-- Hero -->
        <section id="hero" class="hero-bg min-h-screen flex items-center relative overflow-hidden pt-16">
            <canvas id="hero-canvas"></canvas>
            <div class="hero-vignette"></div>
            
            <div class="hero-content mx-auto max-w-5xl px-6 py-24 lg:py-32 text-center lg:text-left">
                <div class="max-w-3xl mx-auto lg:mx-0">
                    <div class="inline-flex items-center gap-2 rounded-full border border-[#ccff00]/30 bg-black/60 px-4 py-1.5 text-sm mb-6">
                        <span class="text-[#ccff00]">●</span>
                        Pompano Beach, FL
                    </div>
                    
                    <h1 class="heading text-6xl md:text-7xl lg:text-[4.2rem] leading-none tracking-tighter font-semibold">
                        Websites that make<br>your business <span class="neon-text">unforgettable</span>.
                    </h1>
                    
                    <p class="mt-6 text-xl text-gray-300 max-w-xl mx-auto lg:mx-0">
                        Custom design &amp; development for Florida businesses. Fast-loading sites, Shopify stores, and tools that turn visitors into customers.
                    </p>
                    
                    <div class="mt-10 flex flex-col sm:flex-row gap-4 justify-center lg:justify-start">
                        <a href="https://calendly.com/harrison-afterdarklabs/30min" target="_blank" rel="noopener noreferrer"
                           class="px-10 py-5 bg-[#ccff00] hover:bg-white text-black font-semibold rounded-3xl text-lg inline-flex items-center justify-center transition-all hover:scale-105">
                            Get Your Free Demo
                        </a>
                        <a href="#work" 
                           class="px-8 py-5 border border-white/30 hover:border-white rounded-3xl text-lg inline-flex items-center justify-center transition-all">
                            See Our Work
                        </a>
                    </div>
                </div>
            </div>
        </section>

        <!-- Work / Portfolio -->
        <section id="work" class="scroll-mt-24 border-t border-white/10 bg-zinc-950">
            <div class="mx-auto max-w-5xl px-6 py-20">
                <div class="flex flex-col md:flex-row md:items-end gap-4 mb-12">
                    <div>
                        <p class="text-sm font-bold uppercase tracking-widest text-[#ccff00]">Real results</p>
                        <h2 class="heading text-5xl font-semibold tracking-tighter">Selected work</h2>
                    </div>
                    <p class="md:ml-auto max-w-xs text-gray-400">Every project is built from scratch — no templates, no bloat.</p>
                </div>
                
                <div class="grid md:grid-cols-2 gap-6">
                    <a href="https://miadruck.com" target="_blank" class="group block overflow-hidden rounded-3xl bg-black border border-white/10 hover:border-[#ccff00]/50 transition-all">
                        <img src="https://afterdarklabs.io/miadruck.webp" width="1200" height="681" loading="lazy" decoding="async" class="w-full aspect-video object-cover transition-transform group-hover:scale-105" alt="Mia Druck Real Estate">
                        <div class="p-6">
                            <p class="font-medium">Mia Druck • Real Estate</p>
                            <p class="text-sm text-gray-400">Modern lead-generation website</p>
                        </div>
                    </a>
                    
                    <a href="https://gardenfreshwholesale.com" target="_blank" class="group block overflow-hidden rounded-3xl bg-black border border-white/10 hover:border-[#ccff00]/50 transition-all">
                        <img src="https://afterdarklabs.io/gardenfresh.webp" width="1200" height="702" loading="lazy" decoding="async" class="w-full aspect-video object-cover transition-transform group-hover:scale-105" alt="Garden Fresh Wholesale">
                        <div class="p-6">
                            <p class="font-medium">Garden Fresh • Wholesale Produce</p>
                            <p class="text-sm text-gray-400">E-commerce platform + SEO</p>
                        </div>
                    </a>
                    
                    <a href="https://coralvibefl.com" target="_blank" class="group block overflow-hidden rounded-3xl bg-black border border-white/10 hover:border-[#ccff00]/50 transition-all">
                        <img src="https://afterdarklabs.io/coralvibe.webp" width="1200" height="678" loading="lazy" decoding="async" class="w-full aspect-video object-cover transition-transform group-hover:scale-105" alt="Coral Vibe">
                        <div class="p-6">
                            <p class="font-medium">Coral Vibe • Shopify Store</p>
                            <p class="text-sm text-gray-400">E-commerce with local flavor</p>
                        </div>
                    </a>
                    
                    <a href="https://invoiceotter.com" target="_blank" class="group block overflow-hidden rounded-3xl bg-black border border-white/10 hover:border-[#ccff00]/50 transition-all">
                        <img src="https://afterdarklabs.io/invoiceotter.webp" width="1200" height="673" loading="lazy" decoding="async" class="w-full aspect-video object-cover transition-transform group-hover:scale-105" alt="Invoice Otter">
                        <div class="p-6">
                            <p class="font-medium">Invoice Otter • SaaS</p>
                            <p class="text-sm text-gray-400">Subscription billing platform</p>
                        </div>
                    </a>
                </div>
            </div>
        </section>

        <!-- Services -->
        <section id="services" class="scroll-mt-24 border-t border-white/10 bg-black">
            <div class="mx-auto max-w-5xl px-6 py-20">
                <div class="max-w-2xl">
                    <p class="uppercase tracking-[0.125em] text-[#ccff00] text-sm font-semibold">What we build</p>
                    <h2 class="heading text-5xl font-semibold tracking-tighter mt-3">No templates. No nonsense.<br>Just results.</h2>
                    <p class="mt-6 text-lg text-gray-300">We create custom digital experiences that load fast, rank well, and make your phone ring.</p>
                </div>

                <div class="mt-16 grid md:grid-cols-2 gap-x-16 gap-y-12">
                    <div>
                        <h3 class="text-[#ccff00] font-semibold text-lg mb-3">Websites &amp; Online Stores</h3>
                        <p class="text-gray-400">Professional business sites, Shopify stores, booking systems, and lead capture pages designed to convert South Florida customers.</p>
                    </div>
                    <div>
                        <h3 class="text-[#ccff00] font-semibold text-lg mb-3">Custom Tools &amp; Apps</h3>
                        <p class="text-gray-400">Internal dashboards, customer portals, inventory systems, and simple mobile apps that actually match how your business runs.</p>
                    </div>
                    <div>
                        <h3 class="text-[#ccff00] font-semibold text-lg mb-3">SEO &amp; Local Domination</h3>
                        <p class="text-gray-400">Technical SEO, Google Business optimization, local search strategies that put you ahead of the competition in Broward &amp; Palm Beach.</p>
                    </div>
                    <div>
                        <h3 class="text-[#ccff00] font-semibold text-lg mb-3">Everything Else</h3>
                        <p class="text-gray-400">Branding, logo design, API integrations, hosting, email setup, AI automations — we handle the full stack so you don't have to.</p>
                    </div>
                </div>

                <div class="mt-16 pt-10 border-t border-white/10">
                    <p class="text-sm text-gray-400">Simple sites start at $800–$2,000 (one-time). Custom platforms and apps are quoted individually. Transparent. No monthly bloat fees unless you want ongoing maintenance.</p>
                </div>
            </div>
        </section>

    </main>

    <footer class="bg-black border-t border-white/10 py-16">
        <div class="max-w-5xl mx-auto px-6 text-center">
            <div class="flex justify-center mb-8">
                <a href="/" class="flex items-center gap-3">
                    <div class="h-9 w-9 flex items-center justify-center rounded-2xl border-2 border-[#ccff00] text-3xl">🌑</div>
                    <div class="text-left">
                        <span class="heading text-3xl tracking-tighter">After Dark</span>
                        <span class="block text-xs tracking-widest text-[#ccff00]">LABS</span>
                    </div>
                </a>
            </div>
            <p class="text-gray-500">© 2026 Harrison Erd • Pompano Beach, Florida</p>
            <p class="text-xs text-gray-600 mt-6">Built with focus. Delivered with speed.</p>
        </div>
    </footer>

    <script>
        // Simplified mobile nav
        const toggle = document.getElementById('mobile-nav-toggle');
        const menu = document.getElementById('mobile-nav-menu');
        toggle.addEventListener('click', () => menu.classList.toggle('hidden'));

        // Canvas - toned down
        (function() {
            const canvas = document.getElementById('hero-canvas');
            const ctx = canvas.getContext('2d');
            let W, H, nodes = [];
            const NODE_COUNT = 45; // Reduced

            function resize() {
                const rect = canvas.getBoundingClientRect();
                canvas.width = W = rect.width * devicePixelRatio;
                canvas.height = H = rect.height * devicePixelRatio;
            }

            function init() {
                resize();
                nodes = Array.from({length: NODE_COUNT}, () => ({
                    x: Math.random() * W,
                    y: Math.random() * H,
                    vx: (Math.random() - 0.5) * 0.6,
                    vy: (Math.random() - 0.5) * 0.6,
                    r: 1.8
                }));
            }

            function frame() {
                ctx.fillStyle = '#17212b';
                ctx.fillRect(0, 0, W, H);

                // Draw connections and nodes (simplified)
                ctx.strokeStyle = 'rgba(204,255,0,0.15)';
                ctx.lineWidth = 0.8;

                for (let i = 0; i < nodes.length; i++) {
                    for (let j = i+1; j < nodes.length; j++) {
                        const a = nodes[i], b = nodes[j];
                        const dx = a.x - b.x;
                        const dy = a.y - b.y;
                        const d = Math.sqrt(dx*dx + dy*dy);
                        if (d < 160) {
                            ctx.globalAlpha = (160 - d) / 160 * 0.25;
                            ctx.beginPath();
                            ctx.moveTo(a.x, a.y);
                            ctx.lineTo(b.x, b.y);
                            ctx.stroke();
                        }
                    }
                }
                ctx.globalAlpha = 1;

                nodes.forEach(n => {
                    n.x += n.vx;
                    n.y += n.vy;
                    if (n.x < 0 || n.x > W) n.vx *= -1;
                    if (n.y < 0 || n.y > H) n.vy *= -1;

                    ctx.fillStyle = '#ccff00';
                    ctx.beginPath();
                    ctx.arc(n.x, n.y, n.r, 0, Math.PI*2);
                    ctx.fill();
                });

                requestAnimationFrame(frame);
            }

            window.addEventListener('resize', () => { resize(); init(); });
            init();
            frame();
        })();
    </script>
</body>
</html>