{"view-products":"\n<section class=\"pt-40 pb-16 bg-slate-950 relative overflow-hidden\">\n<div class=\"absolute top-0 right-0 w-96 h-96 bg-ai-violet/10 rounded-full filter blur-[120px] -z-10\"></div>\n<div class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center\">\n<span class=\"text-ai-blue font-mono tracking-wider text-sm uppercase\">Our Products</span>\n<h1 class=\"text-4xl md:text-5xl font-bold text-white mt-3 mb-4\">Built on Our AI Engine</h1>\n<p class=\"text-slate-400 max-w-xl mx-auto\">Standalone products powered by the same vision and language models behind our enterprise solutions.</p>\n</div>\n</section>\n\n<section class=\"pb-24 bg-slate-950 relative\">\n<div class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8\">\n\n<div id=\"products-overview\">\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n<a href=\"#/products/custom-ai\" class=\"md:col-span-2 block p-8 glass-card rounded-2xl hover:-translate-y-2 transition-all duration-300 border-ai-violet/40 relative overflow-hidden\">\n<div class=\"absolute -top-24 -right-24 w-72 h-72 bg-ai-violet/15 rounded-full filter blur-[100px]\"></div>\n<div class=\"relative flex flex-col md:flex-row md:items-center gap-6\">\n<div class=\"w-14 h-14 rounded-xl bg-ai-violet/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-wand-magic-sparkles text-ai-violet text-2xl\"></i>\n</div>\n<div class=\"flex-1\">\n<div class=\"flex items-center gap-3 mb-3 flex-wrap\">\n<h2 class=\"text-xl font-bold text-white\">Custom AI Solutions</h2>\n<span class=\"text-xs font-mono uppercase tracking-wider text-ai-violet border border-ai-violet/40 rounded-full px-2 py-0.5\">Built for you</span>\n</div>\n<p class=\"text-slate-400 leading-relaxed\">Bespoke systems built on generative AI, computer vision, AI agents and RAG, designed around your data and taken all the way to production.</p>\n</div>\n<span class=\"text-sm font-semibold text-white whitespace-nowrap\">Explore <i class=\"fa-solid fa-arrow-right ml-1\"></i></span>\n</div>\n</a>\n<a href=\"#/products/gekko-id\" class=\"block p-8 glass-card rounded-2xl hover:-translate-y-2 transition-all duration-300\">\n<div class=\"w-14 h-14 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-6\">\n<i class=\"fa-solid fa-id-card text-ai-blue text-2xl\"></i>\n</div>\n<div class=\"flex items-center gap-3 mb-3 flex-wrap\">\n<h2 class=\"text-xl font-bold text-white\">Gekko ID</h2>\n<span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Banking & Fintech</span>\n</div>\n<p class=\"text-slate-400 leading-relaxed\">An identity verification SDK that onboards users with an ID document and a selfie: detects document tampering, blocks spoofing attempts and deepfakes, and extracts data via OCR from documents issued in any country.</p>\n</a>\n<a href=\"#/products/adjuster\" class=\"block p-8 glass-card rounded-2xl hover:-translate-y-2 transition-all duration-300\">\n<div class=\"w-14 h-14 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-6\">\n<i class=\"fa-solid fa-house-crack text-ai-blue text-2xl\"></i>\n</div>\n<h2 class=\"text-xl font-bold text-white mb-3\">Gekko Adjuster</h2>\n<p class=\"text-slate-400 leading-relaxed\">A unique and innovative AI home claims inspection, pioneering in Europe: the policyholder shows the damage from their phone and the report is ready when the call ends.</p>\n</a>\n<a href=\"#/products/voice\" class=\"block p-8 glass-card rounded-2xl hover:-translate-y-2 transition-all duration-300\">\n<div class=\"w-14 h-14 rounded-xl bg-ai-violet/20 flex items-center justify-center mb-6\">\n<i class=\"fa-solid fa-wave-square text-ai-violet text-2xl\"></i>\n</div>\n<h2 class=\"text-xl font-bold text-white mb-3\">Gekko Voice</h2>\n<p class=\"text-slate-400 leading-relaxed\">Expressive text-to-speech, real-time voice agents and a no-code builder, all running on our own voice models.</p>\n</a>\n<a href=\"#/products/cyber-graph\" class=\"block p-8 glass-card rounded-2xl hover:-translate-y-2 transition-all duration-300\">\n<div class=\"w-14 h-14 rounded-xl bg-ai-violet/20 flex items-center justify-center mb-6 p-2.5\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/64bebeba640db263.png\" alt=\"Cyber Graph\" class=\"w-full h-full object-contain\">\n</div>\n<div class=\"flex items-center gap-3 mb-3 flex-wrap\">\n<h2 class=\"text-xl font-bold text-white\">Cyber Graph</h2>\n<span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">IT & Security</span>\n</div>\n<p class=\"text-slate-400 leading-relaxed\">An AI-powered platform that gives organisations complete visibility into their IT ecosystem: mapping assets, detecting Shadow IT, and surfacing risk in real time.</p>\n</a>\n<a href=\"#/products/gekko-fitly\" class=\"block p-8 glass-card rounded-2xl hover:-translate-y-2 transition-all duration-300\">\n<div class=\"w-14 h-14 rounded-xl bg-ai-green/20 flex items-center justify-center mb-6\">\n<i class=\"fa-solid fa-shirt text-ai-green text-2xl\"></i>\n</div>\n<h2 class=\"text-xl font-bold text-white mb-3\">Gekko Fitly</h2>\n<p class=\"text-slate-400 leading-relaxed\">Upload a photo and browse a digital wardrobe to see exactly how an outfit looks on you before you buy.</p>\n</a>\n<a href=\"#/products/gekko-wellio\" class=\"block p-8 glass-card rounded-2xl hover:-translate-y-2 transition-all duration-300\">\n<div class=\"w-14 h-14 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-6\">\n<i class=\"fa-solid fa-heart-pulse text-ai-blue text-2xl\"></i>\n</div>\n<h2 class=\"text-xl font-bold text-white mb-3\">Gekko Wellio</h2>\n<p class=\"text-slate-400 leading-relaxed\">Reads vital signs like heart rate and breathing from a simple selfie, then recommends foods and products to help improve metrics like blood pressure.</p>\n</a>\n</div>\n</div>\n\n\n<div id=\"product-custom-ai\" class=\"hidden\" data-title=\"Custom AI Solutions\">\n<a href=\"#/products\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-10\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all products</a>\n\n<div class=\"keep-dark relative rounded-3xl overflow-hidden border border-white/10 mb-20\" style=\"background:#020617\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-9050b72dbb2d3e07.webp\" class=\"absolute inset-0 w-full h-full object-cover opacity-40\" loop muted playsinline preload=\"none\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/m-7142a1f78f8d1d3c.mp4\"></video>\n<div class=\"absolute inset-0\" style=\"background:linear-gradient(90deg,#020617,rgba(2,6,23,.8),rgba(2,6,23,.3))\"></div>\n<div class=\"relative px-8 py-16 md:px-14 md:py-24 max-w-3xl\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Tailored Solutions</span>\n<h2 class=\"text-3xl md:text-5xl font-bold text-white mt-3 mb-5 leading-tight\">Custom AI systems, engineered for your business</h2>\n<p class=\"text-slate-300 text-lg leading-relaxed mb-8\">When an off-the-shelf tool doesn&#x27;t fit, we build one that does. Gekko Labs designs, trains and ships custom systems using the latest generative AI, computer vision, AI agents and retrieval-augmented generation. You work with the same engineers who build and run our own products, from the first workshop to production.</p>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"inline-block bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-8 rounded-full transition-all shadow-lg shadow-ai-blue/20\">Request a proposal</a>\n</div>\n</div>\n\n<div class=\"text-center mb-10\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">What we build</span>\n<h3 class=\"text-2xl md:text-3xl font-bold text-white mt-3\">Capabilities</h3>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mb-20\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/m-171375a8b0a69fd2.webp\" alt=\"\" loading=\"lazy\" class=\"w-full h-full object-cover opacity-80\"></div>\n<div class=\"p-6 flex flex-col flex-1\">\n<div class=\"flex items-center gap-3 mb-3\">\n<div class=\"w-9 h-9 rounded-lg bg-ai-violet/20 flex items-center justify-center flex-shrink-0\"><i class=\"fa-solid fa-wand-magic-sparkles text-ai-violet\"></i></div>\n<h4 class=\"text-white font-bold\">Generative AI &amp; LLM Apps</h4>\n</div>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">We build assistants, copilots and content pipelines on top of large language models, grounded in your own data and workflows. Prompting, fine-tuning and evaluation are designed in from the start, so output quality can be measured, not guessed.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">LLMs</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Fine-tuning</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Evaluation</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/m-e35747493fd3f7e7.webp\" alt=\"\" loading=\"lazy\" class=\"w-full h-full object-cover opacity-80\"></div>\n<div class=\"p-6 flex flex-col flex-1\">\n<div class=\"flex items-center gap-3 mb-3\">\n<div class=\"w-9 h-9 rounded-lg bg-ai-violet/20 flex items-center justify-center flex-shrink-0\"><i class=\"fa-solid fa-robot text-ai-violet\"></i></div>\n<h4 class=\"text-white font-bold\">AI Agents &amp; Automation</h4>\n</div>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">We design agents that plan, call your tools and APIs, and complete multi-step tasks, with guardrails and a human in the loop wherever the stakes are high. Repetitive back-office work becomes a monitored, auditable workflow.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Tool calling</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Orchestration</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Human-in-the-loop</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/m-c582b865b85b6965.webp\" alt=\"\" loading=\"lazy\" class=\"w-full h-full object-cover opacity-80\"></div>\n<div class=\"p-6 flex flex-col flex-1\">\n<div class=\"flex items-center gap-3 mb-3\">\n<div class=\"w-9 h-9 rounded-lg bg-ai-violet/20 flex items-center justify-center flex-shrink-0\"><i class=\"fa-solid fa-book-open-reader text-ai-violet\"></i></div>\n<h4 class=\"text-white font-bold\">RAG &amp; Enterprise Knowledge</h4>\n</div>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">We connect language models to your manuals, tickets, contracts and wikis through retrieval pipelines that cite their sources. Teams get precise answers from internal knowledge, and access controls stay intact.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Vector search</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Hybrid retrieval</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Citations</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/m-b658890c510517ab.webp\" alt=\"\" loading=\"lazy\" class=\"w-full h-full object-cover opacity-80\"></div>\n<div class=\"p-6 flex flex-col flex-1\">\n<div class=\"flex items-center gap-3 mb-3\">\n<div class=\"w-9 h-9 rounded-lg bg-ai-violet/20 flex items-center justify-center flex-shrink-0\"><i class=\"fa-solid fa-eye text-ai-violet\"></i></div>\n<h4 class=\"text-white font-bold\">Computer Vision</h4>\n</div>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Detection, segmentation, tracking and recognition models trained on your imagery and tuned for your cameras and lighting. From quality inspection to identity checks, we turn video and images into reliable, structured signals.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Detection</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Segmentation</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Tracking</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/m-d4add750d2cc0a38.webp\" alt=\"\" loading=\"lazy\" class=\"w-full h-full object-cover opacity-80\"></div>\n<div class=\"p-6 flex flex-col flex-1\">\n<div class=\"flex items-center gap-3 mb-3\">\n<div class=\"w-9 h-9 rounded-lg bg-ai-violet/20 flex items-center justify-center flex-shrink-0\"><i class=\"fa-solid fa-file-lines text-ai-violet\"></i></div>\n<h4 class=\"text-white font-bold\">Document Intelligence</h4>\n</div>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">We combine layout analysis, OCR and language models to read invoices, IDs, forms and handwritten notes, then deliver validated, structured data. Paper-heavy processes move from manual keying to straight-through processing with confidence scores.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">OCR</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Layout analysis</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Data extraction</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/m-4b42d3425474a8cc.webp\" alt=\"\" loading=\"lazy\" class=\"w-full h-full object-cover opacity-80\"></div>\n<div class=\"p-6 flex flex-col flex-1\">\n<div class=\"flex items-center gap-3 mb-3\">\n<div class=\"w-9 h-9 rounded-lg bg-ai-violet/20 flex items-center justify-center flex-shrink-0\"><i class=\"fa-solid fa-microchip text-ai-violet\"></i></div>\n<h4 class=\"text-white font-bold\">Edge &amp; MLOps Deployment</h4>\n</div>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">We optimise and package models to run where they&#x27;re needed, whether that&#x27;s GPU servers, private cloud, mobile or embedded devices. Monitoring, retraining and versioning pipelines keep accuracy in check long after launch.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Quantisation</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">CI/CD for ML</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Monitoring</span></div>\n</div>\n</div>\n</div>\n\n<div class=\"text-center mb-10\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Why Gekko Labs</span>\n<h3 class=\"text-2xl md:text-3xl font-bold text-white mt-3\">Built by a team that ships AI products</h3>\n</div>\n<div class=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-20\">\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-cubes text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Proven in our own products</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">The same team builds and runs Gekko ID, Cyber Graph, Gekko Fitly and Gekko Wellio, so our methods have been tested in production, not just in slides.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-cloud text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Edge to cloud</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We deploy wherever your use case needs it, from GPU clusters and private cloud to phones and embedded devices.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-lock text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Your data stays yours</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models, code and data belong to you, and we can work entirely inside your infrastructure when privacy requires it.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-shuffle text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Model-agnostic</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We pick the best model for each job, whether open-source or commercial, and design systems so you can switch providers without starting over.</p>\n</div>\n</div>\n\n<div class=\"text-center mb-10\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-2xl md:text-3xl font-bold text-white mt-3\">From idea to production</h3>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-20\">\n<div class=\"glass-card rounded-2xl p-6\">\n<span class=\"font-mono text-3xl font-bold text-gradient\">01</span>\n<h4 class=\"text-white font-bold mt-3 mb-2\">Discover</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We map your goals, data and constraints, then pick the use cases where AI can deliver measurable value. You leave with a scoped plan and clear success criteria.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<span class=\"font-mono text-3xl font-bold text-gradient\">02</span>\n<h4 class=\"text-white font-bold mt-3 mb-2\">Prototype</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Within weeks, a working prototype on your real data shows what&#x27;s feasible and how well it performs, before larger budgets are committed.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<span class=\"font-mono text-3xl font-bold text-gradient\">03</span>\n<h4 class=\"text-white font-bold mt-3 mb-2\">Build &amp; integrate</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We harden the solution into production-grade software and connect it to your systems, APIs and user interfaces, with evaluation suites built in.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<span class=\"font-mono text-3xl font-bold text-gradient\">04</span>\n<h4 class=\"text-white font-bold mt-3 mb-2\">Deploy &amp; operate</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We ship to cloud, on-premise or edge, then monitor, retrain and improve the system as your data and needs evolve.</p>\n</div>\n</div>\n\n\n<div class=\"text-center mb-10\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Engagement & pricing</span>\n<h2 class=\"text-2xl md:text-3xl font-bold text-white mt-3\">Pricing built around your project</h2><p class=\"text-slate-400 max-w-2xl mx-auto mt-3\">Every AI project is different. Tell us what you want to achieve and our team will study it in detail and send you a clear, itemised proposal.</p>\n</div>\n<div class=\"space-y-20 mb-20\">\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-6\">\n<div class=\"glass-card rounded-2xl p-8 flex flex-col\">\n<span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5 self-start\">Step 1</span>\n<h2 class=\"text-xl font-bold text-white mt-4 mb-2\">Discovery</h2>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-6\">A short assessment of your goals, data and constraints to confirm feasibility and estimate the value.</p>\n<ul class=\"space-y-3 text-sm text-slate-300 mb-8\">\n<li><i class=\"fa-solid fa-check text-ai-green mr-2\"></i>Use-case and data review</li>\n<li><i class=\"fa-solid fa-check text-ai-green mr-2\"></i>Technical approach and risks</li>\n<li><i class=\"fa-solid fa-check text-ai-green mr-2\"></i>Scoped plan with success metrics</li>\n</ul>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"mt-auto text-center border border-white/15 hover:border-ai-blue text-white font-semibold py-2.5 rounded-full transition-colors\">Request a proposal</a>\n</div>\n<div class=\"glass-card rounded-2xl p-8 flex flex-col border-ai-violet/50 relative overflow-hidden\">\n<div class=\"absolute -top-20 -right-20 w-56 h-56 bg-ai-violet/15 rounded-full filter blur-[90px]\"></div>\n<span class=\"text-xs font-mono uppercase tracking-wider text-ai-violet border border-ai-violet/40 rounded-full px-2 py-0.5 self-start relative\">Recommended · Step 2</span>\n<h2 class=\"text-xl font-bold text-white mt-4 mb-2 relative\">Pilot</h2>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-6 relative\">A fixed-scope, fixed-price project that proves the solution on your own data before you commit further.</p>\n<ul class=\"space-y-3 text-sm text-slate-300 mb-8 relative\">\n<li><i class=\"fa-solid fa-check text-ai-green mr-2\"></i>Fixed price, agreed upfront</li>\n<li><i class=\"fa-solid fa-check text-ai-green mr-2\"></i>Model trained on your data</li>\n<li><i class=\"fa-solid fa-check text-ai-green mr-2\"></i>Results measured against agreed KPIs</li>\n</ul>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"mt-auto text-center bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-2.5 rounded-full transition-all relative\">Request a proposal</a>\n</div>\n<div class=\"glass-card rounded-2xl p-8 flex flex-col\">\n<span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5 self-start\">Step 3</span>\n<h2 class=\"text-xl font-bold text-white mt-4 mb-2\">Production &amp; scale</h2>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-6\">Deployment, integration and ongoing operation of the solution across your sites and systems.</p>\n<ul class=\"space-y-3 text-sm text-slate-300 mb-8\">\n<li><i class=\"fa-solid fa-check text-ai-green mr-2\"></i>Edge, on-premise or cloud</li>\n<li><i class=\"fa-solid fa-check text-ai-green mr-2\"></i>Integration with your systems</li>\n<li><i class=\"fa-solid fa-check text-ai-green mr-2\"></i>Monitoring, support and retraining</li>\n</ul>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"mt-auto text-center border border-white/15 hover:border-ai-blue text-white font-semibold py-2.5 rounded-full transition-colors\">Request a proposal</a>\n</div>\n</div>\n<p class=\"text-center text-sm text-slate-400 -mt-12\">Looking to license Gekko ID, Cyber Graph, Gekko Fitly or Gekko Wellio? Use the same form and we will tailor a licence to your volume.</p>\n\n<div>\n<div class=\"text-center mb-10\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Why Gekko Labs</span>\n<h2 class=\"text-2xl md:text-3xl font-bold text-white mt-3\">What you can expect from us</h2>\n</div>\n<div class=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6\">\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-violet/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-chart-line text-ai-violet\"></i></div>\n<h3 class=\"text-white font-bold mb-2\">Demonstrable results</h3>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Success KPIs are agreed before we start, so every phase is judged on measurable outcomes.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-violet/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-file-invoice-dollar text-ai-violet\"></i></div>\n<h3 class=\"text-white font-bold mb-2\">Transparent estimates</h3>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Clear, itemised proposals with no hidden costs, and fixed prices for pilots.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-violet/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-user-tie text-ai-violet\"></i></div>\n<h3 class=\"text-white font-bold mb-2\">Senior team, lean structure</h3>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Experienced engineers without big-consultancy overheads, so your budget goes into the solution.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-violet/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-rocket text-ai-violet\"></i></div>\n<h3 class=\"text-white font-bold mb-2\">Built to reach production</h3>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We design for deployment from day one, not just for a demo.</p>\n</div>\n</div>\n</div>\n\n<div>\n<div class=\"text-center mb-10\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How it works</span>\n<h2 class=\"text-2xl md:text-3xl font-bold text-white mt-3\">From request to kickoff</h2>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6\">\n<div class=\"glass-card rounded-2xl p-6\">\n<span class=\"font-mono text-3xl font-bold text-gradient\">01</span>\n<h3 class=\"text-white font-bold mt-3 mb-2\">Send your request</h3>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Tell us about your goals, data and timeline using the form below.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<span class=\"font-mono text-3xl font-bold text-gradient\">02</span>\n<h3 class=\"text-white font-bold mt-3 mb-2\">Discovery call</h3>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We talk through your case with you, under NDA if you need it.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<span class=\"font-mono text-3xl font-bold text-gradient\">03</span>\n<h3 class=\"text-white font-bold mt-3 mb-2\">Tailored proposal</h3>\n<p class=\"text-slate-400 text-sm leading-relaxed\">You receive a written proposal with scope, timeline, success metrics and cost.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<span class=\"font-mono text-3xl font-bold text-gradient\">04</span>\n<h3 class=\"text-white font-bold mt-3 mb-2\">Kickoff</h3>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Once you approve it, our team starts building with regular check-ins.</p>\n</div>\n</div>\n</div>\n\n<div id=\"request\" class=\"grid grid-cols-1 lg:grid-cols-5 gap-10\">\n<div class=\"lg:col-span-2\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Request a proposal</span>\n<h2 class=\"text-2xl md:text-3xl font-bold text-white mt-3 mb-4\">Tell us about your project</h2>\n<p class=\"text-slate-400 leading-relaxed mb-6\">The more context you share, the more precise our proposal will be. Every request is reviewed personally by our engineering team.</p>\n<ul class=\"space-y-3 text-sm text-slate-300\">\n<li><i class=\"fa-solid fa-lock text-ai-blue mr-2\"></i>Your information is kept confidential</li>\n<li><i class=\"fa-solid fa-file-signature text-ai-blue mr-2\"></i>NDA available on request</li>\n<li><i class=\"fa-solid fa-envelope text-ai-blue mr-2\"></i>Or write to us at <a href=\"mailto:info@gekkolabs.ai\" class=\"text-ai-blue hover:underline\">info@gekkolabs.ai</a></li>\n</ul>\n</div>\n<form id=\"pricing-form\" class=\"lg:col-span-3 glass-card rounded-2xl p-6 md:p-8 grid grid-cols-1 sm:grid-cols-2 gap-4\" onsubmit=\"submitPricingRequest(event)\">\n<label class=\"block\"><span class=\"text-xs text-slate-400\">Full name *</span><input id=\"pr-name\" type=\"text\" placeholder=\"\" class=\"w-full rounded-lg bg-slate-900 border border-white/10 px-3 py-2.5 text-sm text-white placeholder-slate-500 focus:outline-none focus:border-ai-blue mt-1\" required></label>\n<label class=\"block\"><span class=\"text-xs text-slate-400\">Work email *</span><input id=\"pr-email\" type=\"email\" placeholder=\"you@company.com\" class=\"w-full rounded-lg bg-slate-900 border border-white/10 px-3 py-2.5 text-sm text-white placeholder-slate-500 focus:outline-none focus:border-ai-blue mt-1\" required></label>\n<label class=\"block sm:col-span-2\"><span class=\"text-xs text-slate-400\">Phone number</span><input id=\"pr-phone\" type=\"tel\" autocomplete=\"tel\" placeholder=\"+34 600 000 000\" class=\"w-full rounded-lg bg-slate-900 border border-white/10 px-3 py-2.5 text-sm text-white placeholder-slate-500 focus:outline-none focus:border-ai-blue mt-1\"></label>\n<label class=\"block sm:col-span-2\"><span class=\"text-xs text-slate-400\">Message *</span><textarea id=\"pr-desc\" rows=\"5\" required placeholder=\"What problem do you want to solve? What data or cameras do you have? How will you measure success?\" class=\"w-full rounded-lg bg-slate-900 border border-white/10 px-3 py-2.5 text-sm text-white placeholder-slate-500 focus:outline-none focus:border-ai-blue mt-1\"></textarea></label>\n<label class=\"sm:col-span-2 flex items-start gap-2 text-sm text-slate-400\"><input id=\"pr-consent\" type=\"checkbox\" required class=\"mt-0.5 w-4 h-4 shrink-0 accent-blue-500\"> I agree that Gekko Labs uses these details to answer my request. We never share them or use them for marketing.</label>\n<input id=\"pr-website\" type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\" class=\"hidden\" aria-hidden=\"true\">\n<button id=\"pr-submit\" type=\"submit\" class=\"sm:col-span-2 bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-50\"><i class=\"fa-solid fa-paper-plane mr-2\"></i>Send request</button>\n<p id=\"pr-status\" class=\"sm:col-span-2 text-sm text-slate-400\" role=\"status\"></p>\n</form>\n</div>\n\n<div class=\"glass-card rounded-2xl p-8\">\n<p class=\"text-center text-xs font-mono uppercase tracking-wider text-slate-400 mb-6\">Industries our team has delivered AI for</p>\n<div class=\"flex flex-wrap justify-center gap-3\"><span class=\"inline-flex items-center gap-2 rounded-full border border-white/10 px-4 py-2 text-sm text-slate-300\"><i class=\"fa-solid fa-building-columns text-ai-blue\"></i>Banking & Finance</span><span class=\"inline-flex items-center gap-2 rounded-full border border-white/10 px-4 py-2 text-sm text-slate-300\"><i class=\"fa-solid fa-tower-cell text-ai-blue\"></i>Telecommunications</span><span class=\"inline-flex items-center gap-2 rounded-full border border-white/10 px-4 py-2 text-sm text-slate-300\"><i class=\"fa-solid fa-bolt text-ai-blue\"></i>Energy</span><span class=\"inline-flex items-center gap-2 rounded-full border border-white/10 px-4 py-2 text-sm text-slate-300\"><i class=\"fa-solid fa-heart-pulse text-ai-blue\"></i>Healthcare & Pharma</span><span class=\"inline-flex items-center gap-2 rounded-full border border-white/10 px-4 py-2 text-sm text-slate-300\"><i class=\"fa-solid fa-car text-ai-blue\"></i>Automotive</span><span class=\"inline-flex items-center gap-2 rounded-full border border-white/10 px-4 py-2 text-sm text-slate-300\"><i class=\"fa-solid fa-plane text-ai-blue\"></i>Aerospace & Defence</span><span class=\"inline-flex items-center gap-2 rounded-full border border-white/10 px-4 py-2 text-sm text-slate-300\"><i class=\"fa-solid fa-wine-bottle text-ai-blue\"></i>Food & Beverage</span><span class=\"inline-flex items-center gap-2 rounded-full border border-white/10 px-4 py-2 text-sm text-slate-300\"><i class=\"fa-solid fa-train text-ai-blue\"></i>Rail & Transport</span><span class=\"inline-flex items-center gap-2 rounded-full border border-white/10 px-4 py-2 text-sm text-slate-300\"><i class=\"fa-solid fa-shield-halved text-ai-blue\"></i>Cybersecurity</span><span class=\"inline-flex items-center gap-2 rounded-full border border-white/10 px-4 py-2 text-sm text-slate-300\"><i class=\"fa-solid fa-graduation-cap text-ai-blue\"></i>Research & Academia</span></div>\n</div>\n\n<div class=\"max-w-3xl mx-auto w-full\">\n<div class=\"text-center mb-10\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">FAQ</span>\n<h2 class=\"text-2xl md:text-3xl font-bold text-white mt-3\">Frequently asked questions</h2>\n</div>\n<div class=\"space-y-3\">\n<details class=\"glass-card rounded-xl p-5 group\">\n<summary class=\"cursor-pointer list-none flex justify-between items-center text-white font-semibold\">Why don't you publish prices?<i class=\"fa-solid fa-chevron-down text-xs text-slate-400 group-open:rotate-180 transition-transform\"></i></summary>\n<p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Every AI project depends on the data, the integration and the level of accuracy and support you need. Rather than a generic price list, we study your case and send a clear proposal with scope, timeline and cost.</p>\n</details>\n<details class=\"glass-card rounded-xl p-5 group\">\n<summary class=\"cursor-pointer list-none flex justify-between items-center text-white font-semibold\">How do pilots work?<i class=\"fa-solid fa-chevron-down text-xs text-slate-400 group-open:rotate-180 transition-transform\"></i></summary>\n<p class=\"text-slate-400 text-sm leading-relaxed mt-3\">A pilot is a fixed-scope, fixed-price project that proves value on your own data, with success criteria agreed before we start. You decide whether to move to production based on the results.</p>\n</details>\n<details class=\"glass-card rounded-xl p-5 group\">\n<summary class=\"cursor-pointer list-none flex justify-between items-center text-white font-semibold\">Can you sign an NDA before we share details?<i class=\"fa-solid fa-chevron-down text-xs text-slate-400 group-open:rotate-180 transition-transform\"></i></summary>\n<p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Yes. We are happy to sign an NDA before the discovery call or before you share any data.</p>\n</details>\n<details class=\"glass-card rounded-xl p-5 group\">\n<summary class=\"cursor-pointer list-none flex justify-between items-center text-white font-semibold\">Where does the solution run?<i class=\"fa-solid fa-chevron-down text-xs text-slate-400 group-open:rotate-180 transition-transform\"></i></summary>\n<p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Wherever it makes sense for you: on edge devices, on your own servers or in the cloud provider you already use.</p>\n</details>\n<details class=\"glass-card rounded-xl p-5 group\">\n<summary class=\"cursor-pointer list-none flex justify-between items-center text-white font-semibold\">Who owns the data and the models?<i class=\"fa-solid fa-chevron-down text-xs text-slate-400 group-open:rotate-180 transition-transform\"></i></summary>\n<p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Your data remains yours and is only used for your project. Ownership and licensing of the delivered models and code are agreed transparently in the contract.</p>\n</details>\n<details class=\"glass-card rounded-xl p-5 group\">\n<summary class=\"cursor-pointer list-none flex justify-between items-center text-white font-semibold\">Do you provide support after launch?<i class=\"fa-solid fa-chevron-down text-xs text-slate-400 group-open:rotate-180 transition-transform\"></i></summary>\n<p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Yes. We offer ongoing monitoring, maintenance and model improvement so the system keeps performing as your data and needs evolve.</p>\n</details>\n<details class=\"glass-card rounded-xl p-5 group\">\n<summary class=\"cursor-pointer list-none flex justify-between items-center text-white font-semibold\">Can we license your products?<i class=\"fa-solid fa-chevron-down text-xs text-slate-400 group-open:rotate-180 transition-transform\"></i></summary>\n<p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Yes. Gekko ID, Cyber Graph, Gekko Fitly and Gekko Wellio are available under commercial licences, and they can be customised to your needs.</p>\n</details>\n</div>\n</div>\n</div>\n\n\n<div class=\"text-center mb-10\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Technology</span>\n<h3 class=\"text-2xl md:text-3xl font-bold text-white mt-3\">Our stack</h3>\n</div>\n<div class=\"flex flex-wrap justify-center gap-3 max-w-4xl mx-auto mb-20\"><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">PyTorch</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">Hugging Face</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">LangGraph</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">vLLM</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">ONNX</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">TensorRT</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">OpenCV</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">Qdrant</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">FastAPI</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">Docker</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">Kubernetes</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">AWS</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">Azure</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300 font-mono\">GCP</span></div>\n\n<div class=\"glass-card rounded-2xl p-8 md:p-12 max-w-5xl mx-auto text-center mb-16\">\n<h3 class=\"text-2xl font-bold text-white mb-3\">Have a problem worth solving with AI?</h3>\n<p class=\"text-slate-400 max-w-2xl mx-auto mb-8\">Tell us about your challenge and we&#x27;ll come back with an honest view of what&#x27;s possible and how we&#x27;d build it.</p>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"inline-block bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-8 rounded-full transition-all shadow-lg shadow-ai-blue/20\">Start a project</a>\n</div>\n\n<div class=\"border-t border-white/10 pt-8 max-w-3xl mx-auto\">\n<span class=\"text-slate-400 text-sm font-mono uppercase tracking-wider\">Our products</span>\n<div class=\"flex flex-wrap gap-3 mt-4\">\n<a href=\"#/products/gekko-id\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko ID</a>\n<a href=\"#/products/cyber-graph\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Cyber Graph</a>\n<a href=\"#/products/gekko-fitly\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko Fitly</a>\n<a href=\"#/products/gekko-wellio\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko Wellio</a>\n</div>\n</div>\n</div>\n\n<div id=\"product-gekko-id\" class=\"hidden max-w-6xl mx-auto\">\n<a href=\"#/products\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-10\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all products</a>\n<div class=\"mb-10\">\n<div class=\"flex flex-wrap items-center gap-2 mb-5\"><span class=\"inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-white/5 border border-white/15 rounded-md px-2.5 py-1\"><i class=\"fa-solid fa-id-card text-ai-blue\"></i>Gekko ID</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Banking & Fintech</span></div>\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Gekko ID</h2>\n\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-300 text-lg leading-relaxed max-w-2xl\">An identity verification SDK that onboards users with an ID document and a selfie: detects document tampering, blocks spoofing attempts and deepfakes, and extracts data via OCR from documents issued in any country.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"mb-16\" id=\"verifyid-flow\">\n<div class=\"max-w-5xl mx-auto\"><div class=\"space-y-6\">\n<div><div class=\"rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\"><video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-a1deb1e9d44164c3.webp\" data-posters='{\"en\": \"https://gekko-assets.gekkolabs.workers.dev/p-a1deb1e9d44164c3.webp\", \"es\": \"https://gekko-assets.gekkolabs.workers.dev/p-4e05ddd527a6486a.webp\", \"fr\": \"https://gekko-assets.gekkolabs.workers.dev/p-639a1de0037bdbe2.webp\", \"de\": \"https://gekko-assets.gekkolabs.workers.dev/p-6f9b8e4768cd8c85.webp\", \"ar\": \"https://gekko-assets.gekkolabs.workers.dev/p-9fd9f6adac5e070a.webp\", \"ary\": \"https://gekko-assets.gekkolabs.workers.dev/p-59507b001c19f480.webp\", \"zh\": \"https://gekko-assets.gekkolabs.workers.dev/p-01a12f1fca284fa1.webp\"}' class=\"w-full\" controls playsinline preload=\"none\" data-srcs='{\"en\": \"https://gekko-assets.gekkolabs.workers.dev/782756cfd8c4bcc6.mp4\", \"es\": \"https://gekko-assets.gekkolabs.workers.dev/3618224ff516e44b.mp4\", \"fr\": \"https://gekko-assets.gekkolabs.workers.dev/175f7d22b1785515.mp4\", \"de\": \"https://gekko-assets.gekkolabs.workers.dev/980d583fffac05d1.mp4\", \"ar\": \"https://gekko-assets.gekkolabs.workers.dev/fa23e563e3f22f44.mp4\", \"ary\": \"https://gekko-assets.gekkolabs.workers.dev/ef627353cd2a99cd.mp4\", \"zh\": \"https://gekko-assets.gekkolabs.workers.dev/cc5ba33f12ca6dda.mp4\"}' src=\"https://gekko-assets.gekkolabs.workers.dev/782756cfd8c4bcc6.mp4\"></video></div></div>\n</div></div>\n<div class=\"max-w-3xl mx-auto mt-8\"><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">The complete experience</span><h3 class=\"text-2xl font-bold text-white mt-2 mb-2\">From ID card to verified customer in seconds</h3><p class=\"text-slate-400 leading-relaxed mb-8\">This is what your users see: they scan their document, take a quick selfie and they are in. Every check runs in the background while the experience stays simple.</p></div><div class=\"max-w-6xl mx-auto mt-6\"><ol class=\"onb-steps mt-2 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4\" id=\"onb-steps\">\n<li class=\"onb-step\" data-step=\"0\"><div class=\"onb-ico\"><i class=\"fa-solid fa-id-card\"></i></div><div><em>Step 01</em><b>Document capture and authenticity</b><p>Guided capture gets a sharp image, and our AI checks the document has not been tampered with.</p></div></li>\n<li class=\"onb-step\" data-step=\"1\"><div class=\"onb-ico\"><i class=\"fa-solid fa-file-lines\"></i></div><div><em>Step 02</em><b>Data extraction</b><p>OCR reads every field and the MRZ, and validates them automatically.</p></div></li>\n<li class=\"onb-step\" data-step=\"2\"><div class=\"onb-ico\"><i class=\"fa-solid fa-user-shield\"></i></div><div><em>Step 03</em><b>Selfie, liveness and anti-spoofing</b><p>A short selfie proves a real, live person is present. Photos, screens, masks, deepfakes and injected video streams are rejected.</p></div></li>\n<li class=\"onb-step\" data-step=\"3\"><div class=\"onb-ico\"><i class=\"fa-solid fa-circle-check\"></i></div><div><em>Step 04</em><b>Face match and decision</b><p>Face recognition matches the selfie to the ID photo and the user is approved in seconds.</p></div></li>\n</ol><p class=\"text-xs text-slate-400 mt-6\">Contact us for a live walkthrough of the complete SDK with your own documents.</p></div>\n</div>\n<div class=\"max-w-3xl mx-auto\">\n<div class=\"mb-14\" id=\"verifyid-demo\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Try it now</span>\n<h3 class=\"text-2xl font-bold text-white mt-2 mb-2\">Read a Spanish ID card in a quarter of a second</h3>\n<p class=\"text-slate-400 leading-relaxed mb-3\">Here is one piece of Gekko ID you can test right away. Our ultra-light OCR pipeline runs a model with about one million parameters on a plain CPU, no GPU, and turns an ID card into clean, validated data: it checks the DNI control letter and the MRZ check digits, just as the full SDK does.</p>\n<p class=\"text-slate-400 leading-relaxed mb-6\">Pick the front or back of the specimen card, or upload a photo of your own DNI.</p>\n<div class=\"glass-card rounded-2xl p-5 md:p-6\">\n<div class=\"grid grid-cols-3 gap-3 mb-4\">\n<button type=\"button\" class=\"vid-tile relative aspect-[473/301] rounded-xl overflow-hidden border-2 border-white/10 hover:border-ai-blue/60 transition-colors bg-slate-900 border-ai-blue ring-2 ring-ai-blue\" data-sample=\"front\" onclick=\"vidPick(this)\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/05a92ee59c85f9cc.webp\" alt=\"Specimen ID card, front\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-1 left-1 text-xs font-mono bg-slate-950/80 text-white rounded px-1.5 py-0.5\">Front</span>\n</button>\n<button type=\"button\" class=\"vid-tile relative aspect-[473/301] rounded-xl overflow-hidden border-2 border-white/10 hover:border-ai-blue/60 transition-colors bg-slate-900\" data-sample=\"back\" onclick=\"vidPick(this)\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/de1a67e032917654.webp\" alt=\"Specimen ID card, back\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-1 left-1 text-xs font-mono bg-slate-950/80 text-white rounded px-1.5 py-0.5\">Back</span>\n</button>\n<label class=\"vid-tile relative aspect-[473/301] rounded-xl overflow-hidden border-2 border-white/10 hover:border-ai-blue/60 transition-colors bg-slate-900 border-dashed cursor-pointer flex flex-col items-center justify-center text-center gap-1 p-2\" id=\"vid-upload-tile\">\n<img id=\"vid-upload-preview\" alt=\"\" class=\"hidden absolute inset-0 w-full h-full object-cover\">\n<i class=\"fa-solid fa-cloud-arrow-up text-ai-blue text-xl\"></i>\n<span class=\"text-xs text-slate-300 font-semibold\">Upload your own</span>\n<span class=\"text-xs text-slate-400\">PNG, JPG · max 6 MB</span>\n<input type=\"file\" accept=\"image/png,image/jpeg,image/webp\" class=\"sr-only\" onchange=\"vidUpload(this)\">\n</label>\n</div>\n<button type=\"button\" id=\"vid-run\" onclick=\"vidRun()\" class=\"w-full bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-50\"><i class=\"fa-solid fa-id-card mr-2\"></i> Read document</button>\n\n<div class=\"flex items-center justify-between gap-3 mt-6 mb-3 flex-wrap\">\n<div class=\"inline-flex rounded-full border border-white/10 p-0.5 text-sm\" role=\"tablist\">\n<button type=\"button\" data-tab=\"entities\" onclick=\"vidTab(this)\" class=\"vid-tab px-3 py-1.5 rounded-full bg-ai-blue/20 text-white\">Entities</button>\n<button type=\"button\" data-tab=\"json\" onclick=\"vidTab(this)\" class=\"vid-tab px-3 py-1.5 rounded-full text-slate-400\">JSON</button>\n</div>\n<span id=\"vid-time\" class=\"text-xs font-mono text-ai-green\"></span>\n</div>\n<div id=\"vid-out\" class=\"rounded-xl bg-slate-950 border border-white/10 p-4 min-h-[14rem] max-h-[34rem] overflow-auto text-sm text-slate-300\">\n<p class=\"text-slate-400\">Choose a sample or upload an image and press Read document.</p>\n</div>\n<p class=\"text-xs text-slate-400 mt-3 leading-relaxed\">The sample is the official specimen card. If you upload a real ID it is processed in memory and never stored; please only upload your own documents.</p>\n<div class=\"mt-5 rounded-xl border border-ai-blue/30 bg-ai-blue/10 p-4 flex flex-col sm:flex-row sm:items-center gap-3 justify-between\">\n<p class=\"text-sm text-slate-300 leading-relaxed\"><span class=\"font-semibold text-white\">This is a simplified example.</span> The production SDK adds guided capture, tamper detection, liveness, deepfake detection, face matching and documents from any country. Ask us for a complete walkthrough.</p>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"shrink-0 text-center bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold text-sm py-2 px-5 rounded-full transition-all\">See the full flow</a>\n</div>\n</div>\n<div hidden class=\"vid-labels\"><span data-k=\"given_names\">Given names</span><span data-k=\"surname\">Surnames</span><span data-k=\"dni_number\">DNI number</span><span data-k=\"dni_number_valid\">Control letter</span><span data-k=\"sex\">Sex</span><span data-k=\"nationality\">Nationality</span><span data-k=\"birth_date\">Date of birth</span><span data-k=\"issue_date\">Issue date</span><span data-k=\"expiry_date\">Expiry date</span><span data-k=\"support_number\">Support number</span><span data-k=\"address\">Address</span><span data-k=\"place_of_birth\">Place of birth</span><span data-k=\"father\">Father</span><span data-k=\"mother\">Mother</span><span data-m=\"reading\">Reading the document…</span><span data-m=\"pick\">Choose a sample or upload an image first.</span><span data-m=\"big\">That image is larger than 6 MB.</span><span data-m=\"fail\">The demo is unavailable right now. Please try again later.</span><span data-m=\"front\">Front</span><span data-m=\"back\">Back</span><span data-m=\"valid\">valid</span><span data-m=\"invalid\">check failed</span><span data-m=\"mrz\">MRZ check digits</span><span data-m=\"none\">No ID card fields were found. Try a sharper, well-lit photo of the card.</span><span data-m=\"yours\">Your image</span></div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How it works</span>\n<div class=\"glass-card rounded-2xl p-6 md:p-8 mt-4 space-y-6\">\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">01</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Capture and authenticate the ID</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Guided capture gets a sharp, glare-free image of the document. Our AI models then check that it is genuine: edited fields, replaced photos, reprinted cards and digital forgeries are flagged before any data is trusted.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">02</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Selfie, liveness and face match</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">A short selfie proves a real person is present. Anti-spoofing blocks printed photos, screen replays and masks, video injection detection stops virtual cameras and deepfake streams, and face recognition confirms the selfie matches the ID photo.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">03</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Get a decision</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Your backend receives the extracted data together with the document authenticity, liveness, injection and face-match results, and a clear outcome to approve, review or reject.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Key features</span>\n<div class=\"grid grid-cols-1 sm:grid-cols-2 gap-6 mt-4\">\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-shield-halved text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Document tamper detection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">AI models spot edited fields, replaced photos, reprinted cards and digitally generated documents.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-user-check text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Anti-spoofing and liveness</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Blocks printed photos, screen replays and masks presented instead of a real face.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-video-slash text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Deepfake and injection detection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Detects deepfakes and face swaps, plus virtual cameras, emulators and injected video streams that bypass the real camera.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-face-smile text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Face recognition</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Matches the selfie to the photo on the document to confirm it is the same person.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-file-lines text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">OCR data extraction</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Names, dates, document numbers and the MRZ extracted and validated automatically, ready to pre-fill your forms.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-globe text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Global document coverage</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Reads identity documents issued in any country, across scripts and layouts.</p>\n</div>\n</div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span>\n<div class=\"flex flex-wrap gap-3 mt-4\"><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Digital bank account opening</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">KYC for fintech and payments</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Crypto and trading onboarding</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Age and identity checks</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Insurance and lending applications</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Re-verification of high-risk actions</span></div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Integration</span>\n<p class=\"text-slate-300 leading-relaxed mt-4\">Gekko ID ships as an SDK for your mobile and web apps, with the heavy lifting handled by our models. You keep control of the user journey and of where data is stored, so onboarding fits your brand and your compliance policies.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-8 text-center mb-12\">\n<h3 class=\"text-xl font-bold text-white mb-2\">Make onboarding fast and fraud-proof</h3>\n<p class=\"text-slate-400 mb-6\">Talk to us about integrating Gekko ID into your onboarding flow.</p>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"inline-block bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-8 rounded-full transition-all shadow-lg shadow-ai-blue/20\">Request a demo</a>\n</div>\n<div class=\"border-t border-white/10 pt-8\">\n<span class=\"text-slate-400 text-sm font-mono uppercase tracking-wider\">Other products</span>\n<div class=\"flex flex-wrap gap-3 mt-4\">\n<a href=\"#/products/cyber-graph\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Cyber Graph</a>\n<a href=\"#/products/gekko-fitly\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko Fitly</a>\n<a href=\"#/products/gekko-wellio\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko Wellio</a>\n</div>\n</div>\n</div>\n</div>\n\n<div id=\"product-cyber-graph\" class=\"hidden\">\n\n<div class=\"max-w-5xl mx-auto mb-12\">\n<a href=\"#/products\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-10\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all products</a>\n\n<div class=\"flex flex-wrap items-center justify-between gap-6\">\n<div class=\"flex items-center gap-4\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/64bebeba640db263.png\" alt=\"Cyber Graph\" class=\"w-12 h-12 flex-shrink-0\">\n<div>\n<div class=\"flex items-center gap-3 flex-wrap\">\n<h2 class=\"text-3xl font-bold text-white\">Cyber Graph</h2>\n<span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">IT & Security</span>\n</div>\n<p class=\"text-slate-400 text-sm mt-1\">by Gekko Labs</p>\n</div>\n</div>\n\n</div>\n</div>\n\n<div class=\"max-w-5xl mx-auto\">\n\n<div class=\"mb-16\">\n<h3 class=\"text-2xl md:text-3xl font-bold text-white mb-4\">See every digital tool. Control every blind spot.</h3>\n<p class=\"text-slate-300 text-lg leading-relaxed max-w-3xl\">Cyber Graph is an AI-powered platform for Shadow IT detection, asset intelligence, and IT governance. Discover what your business actually runs on, and take back control of your digital environment.</p>\n</div>\n\n<div class=\"mb-16 rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\" id=\"cybergraph-demo\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-fe0c198af172c252.webp\" data-posters='{\"en\": \"https://gekko-assets.gekkolabs.workers.dev/p-fe0c198af172c252.webp\", \"es\": \"https://gekko-assets.gekkolabs.workers.dev/p-36c4f4e7ee0c4bb8.webp\", \"fr\": \"https://gekko-assets.gekkolabs.workers.dev/p-622c4d24aa98b39a.webp\", \"de\": \"https://gekko-assets.gekkolabs.workers.dev/p-00b738ac6ca2af63.webp\", \"ar\": \"https://gekko-assets.gekkolabs.workers.dev/p-4410e792474f963c.webp\", \"ary\": \"https://gekko-assets.gekkolabs.workers.dev/p-188aa4c40ddba462.webp\", \"zh\": \"https://gekko-assets.gekkolabs.workers.dev/p-562d2b9f65ba8814.webp\"}' class=\"w-full\" controls playsinline preload=\"metadata\" data-srcs='{\"en\": \"https://gekko-assets.gekkolabs.workers.dev/6a81b8d94c691ff6.mp4\", \"es\": \"https://gekko-assets.gekkolabs.workers.dev/385c9e4bace46c60.mp4\", \"fr\": \"https://gekko-assets.gekkolabs.workers.dev/425b9939a22a739d.mp4\", \"de\": \"https://gekko-assets.gekkolabs.workers.dev/5900a1724a308437.mp4\", \"ar\": \"https://gekko-assets.gekkolabs.workers.dev/0e574699925d4fe2.mp4\", \"ary\": \"https://gekko-assets.gekkolabs.workers.dev/1fee18f7b4b71261.mp4\", \"zh\": \"https://gekko-assets.gekkolabs.workers.dev/f1afa0eaa9468631.mp4\"}' src=\"https://gekko-assets.gekkolabs.workers.dev/6a81b8d94c691ff6.mp4\"></video>\n</div>\n\n<div class=\"mb-16 rounded-2xl overflow-hidden border border-white/10 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/dbca0838db0bf148.webp\" alt=\"Cyber Graph executive dashboard\" class=\"w-full h-auto\">\n</div>\n\n<div class=\"mb-16\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">The Hidden Gap</span>\n<h3 class=\"text-2xl font-bold text-white mt-2 mb-4\">Your business runs on more tools than you think.</h3>\n<p class=\"text-slate-400 leading-relaxed max-w-3xl mb-8\">Cloud apps get adopted without approval. Teams subscribe to software on their own. Vendors and contractors connect to your systems in ways nobody fully tracks. Over time, your real digital environment drifts further and further from what leadership believes it looks like. That gap is called Shadow IT, and it quietly creates wasted spend, compliance exposure, security risk, and decisions made on incomplete information.</p>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-6\">\n<div class=\"glass-card rounded-2xl p-6\"><span class=\"text-ai-blue font-mono text-xs\">01</span><p class=\"text-slate-300 mt-2\">Unmanaged SaaS subscriptions multiplying across teams</p></div>\n<div class=\"glass-card rounded-2xl p-6\"><span class=\"text-ai-violet font-mono text-xs\">02</span><p class=\"text-slate-300 mt-2\">Cloud services connecting to your data without oversight</p></div>\n<div class=\"glass-card rounded-2xl p-6\"><span class=\"text-ai-green font-mono text-xs\">03</span><p class=\"text-slate-300 mt-2\">IT inventories that no longer reflect reality</p></div>\n</div>\n</div>\n\n<div class=\"mb-16\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">What is Cyber Graph</span>\n<h3 class=\"text-2xl font-bold text-white mt-2 mb-4\">A continuous, evidence-based view of your digital environment.</h3>\n<p class=\"text-slate-400 leading-relaxed max-w-3xl\">Instead of relying on manual inventories or partial dashboards, Cyber Graph builds a continuous, evidence-based picture of your real digital activity. It shows you what exists, what is changing, and what deserves attention, so leadership and IT teams can act with confidence. Cyber Graph helps companies discover the software, cloud services, and digital tools running across their environment, understand how they are used, and turn that visibility into governance, security, and smarter decisions.</p>\n</div>\n\n<div class=\"mb-16 rounded-2xl overflow-hidden border border-white/10 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/7c3586d490bfcb65.webp\" alt=\"Cyber Graph asset discovery view\" class=\"w-full h-auto\">\n</div>\n\n<div class=\"mb-16\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Core Capabilities</span>\n<h3 class=\"text-2xl font-bold text-white mt-2 mb-8\">From digital blind spots to actionable clarity.</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6\">\n<div class=\"p-6 glass-card rounded-2xl\"><span class=\"text-ai-blue font-mono text-xs\">01 / FULL VISIBILITY</span><h4 class=\"text-white font-bold mt-2 mb-2\">See everything that runs.</h4><p class=\"text-slate-400 text-sm leading-relaxed\">Discover the software, cloud services, and digital tools actually running across your business, including the ones nobody declared.</p></div>\n<div class=\"p-6 glass-card rounded-2xl\"><span class=\"text-ai-violet font-mono text-xs\">02 / SHADOW IT</span><h4 class=\"text-white font-bold mt-2 mb-2\">Surface the unknown.</h4><p class=\"text-slate-400 text-sm leading-relaxed\">Identify unmanaged apps, unauthorised subscriptions, and unexpected external connections before they become a problem.</p></div>\n<div class=\"p-6 glass-card rounded-2xl\"><span class=\"text-ai-green font-mono text-xs\">03 / ASSET INTELLIGENCE</span><h4 class=\"text-white font-bold mt-2 mb-2\">Beyond static inventories.</h4><p class=\"text-slate-400 text-sm leading-relaxed\">Understand which tools are used, by whom, and how they fit into your operations, so you can rationalise and optimise.</p></div>\n<div class=\"p-6 glass-card rounded-2xl\"><span class=\"text-ai-blue font-mono text-xs\">04 / GOVERNANCE</span><h4 class=\"text-white font-bold mt-2 mb-2\">Auditable by design.</h4><p class=\"text-slate-400 text-sm leading-relaxed\">Give leadership a clear, auditable view of your digital environment for compliance, internal control, and executive reporting.</p></div>\n<div class=\"p-6 glass-card rounded-2xl\"><span class=\"text-ai-violet font-mono text-xs\">05 / AI INSIGHT</span><h4 class=\"text-white font-bold mt-2 mb-2\">Practical AI, real signal.</h4><p class=\"text-slate-400 text-sm leading-relaxed\">Let AI surface patterns, anomalies, and priorities so your teams focus on what matters, not on noise.</p></div>\n<div class=\"p-6 glass-card rounded-2xl\"><span class=\"text-ai-green font-mono text-xs\">06 / HISTORICAL ANALYSIS</span><h4 class=\"text-white font-bold mt-2 mb-2\">Look back with confidence.</h4><p class=\"text-slate-400 text-sm leading-relaxed\">Investigate incidents, justify decisions, and track how your environment evolves across weeks or months.</p></div>\n</div>\n</div>\n\n<div class=\"mb-16\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">The Shift</span>\n<h3 class=\"text-2xl font-bold text-white mt-2 mb-8\">Two ways to run your digital environment.</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n<div class=\"glass-card rounded-2xl p-6\">\n<h4 class=\"text-slate-400 font-bold mb-4\">Before Cyber Graph <span class=\"block text-sm font-normal text-slate-400\">Guesswork and fragments</span></h4>\n<ul class=\"space-y-3 text-sm\">\n<li class=\"flex items-start gap-3 text-slate-400\"><i class=\"fa-solid fa-xmark text-red-400/70 mt-1\"></i><span>IT inventories based on guesses and outdated lists</span></li>\n<li class=\"flex items-start gap-3 text-slate-400\"><i class=\"fa-solid fa-xmark text-red-400/70 mt-1\"></i><span>Cloud apps adopted without anyone noticing</span></li>\n<li class=\"flex items-start gap-3 text-slate-400\"><i class=\"fa-solid fa-xmark text-red-400/70 mt-1\"></i><span>Duplicate subscriptions quietly inflating costs</span></li>\n<li class=\"flex items-start gap-3 text-slate-400\"><i class=\"fa-solid fa-xmark text-red-400/70 mt-1\"></i><span>Compliance questions answered with \"we think so\"</span></li>\n<li class=\"flex items-start gap-3 text-slate-400\"><i class=\"fa-solid fa-xmark text-red-400/70 mt-1\"></i><span>Incidents investigated with missing context</span></li>\n<li class=\"flex items-start gap-3 text-slate-400\"><i class=\"fa-solid fa-xmark text-red-400/70 mt-1\"></i><span>Leadership dependent on fragmented reports</span></li>\n</ul>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<h4 class=\"text-white font-bold mb-4\">With Cyber Graph <span class=\"block text-sm font-normal text-slate-400\">Evidence and control</span></h4>\n<ul class=\"space-y-3 text-sm\">\n<li class=\"flex items-start gap-3 text-slate-200\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span>A live, evidence-based view of your digital environment</span></li>\n<li class=\"flex items-start gap-3 text-slate-200\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span>Shadow IT surfaced early and managed with intent</span></li>\n<li class=\"flex items-start gap-3 text-slate-200\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span>Wasted spend identified and rationalised</span></li>\n<li class=\"flex items-start gap-3 text-slate-200\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span>Compliance answered with documented visibility</span></li>\n<li class=\"flex items-start gap-3 text-slate-200\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span>Investigations supported by rich historical data</span></li>\n<li class=\"flex items-start gap-3 text-slate-200\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span>Leadership equipped with one source of truth</span></li>\n</ul>\n</div>\n</div>\n</div>\n\n<div class=\"mb-16\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use Cases</span>\n<h3 class=\"text-2xl font-bold text-white mt-2 mb-8\">Built for the industries that cannot afford blind spots.</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\n<div class=\"glass-card rounded-2xl p-6\"><h4 class=\"text-white font-bold mb-1\">Finance <span class=\"block text-sm font-normal text-slate-400\">Visibility regulators expect</span></h4><p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Banks, lenders, and financial services groups operate under strict regulatory pressure. Cyber Graph helps you maintain continuous visibility across systems, monitor sensitive data flows, and produce the kind of evidence regulators and auditors expect.</p></div>\n<div class=\"glass-card rounded-2xl p-6\"><h4 class=\"text-white font-bold mb-1\">Insurance <span class=\"block text-sm font-normal text-slate-400\">One view, many moving parts</span></h4><p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Insurance companies juggle legacy systems, distributed branches, and growing partner ecosystems. Cyber Graph brings these moving parts into a single view so risk, compliance, and IT teams stay aligned.</p></div>\n<div class=\"glass-card rounded-2xl p-6\"><h4 class=\"text-white font-bold mb-1\">Manufacturing <span class=\"block text-sm font-normal text-slate-400\">Protect production continuity</span></h4><p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Factories and industrial groups blend IT, operational systems, and external suppliers. Cyber Graph helps you map this complex landscape, detect unusual activity, and protect production continuity without slowing the business down.</p></div>\n<div class=\"glass-card rounded-2xl p-6\"><h4 class=\"text-white font-bold mb-1\">Public Sector <span class=\"block text-sm font-normal text-slate-400\">Oversight that holds up</span></h4><p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Public organisations manage sensitive data, multiple stakeholders, and high accountability standards. Cyber Graph strengthens oversight, supports governance frameworks, and gives leadership the clarity needed to make confident decisions.</p></div>\n</div>\n</div>\n\n<div class=\"mb-16\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">For Everyone Who Decides</span>\n<h3 class=\"text-2xl font-bold text-white mt-2 mb-8\">One platform. Two audiences. Aligned outcomes.</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\n<div class=\"glass-card rounded-2xl p-6\"><h4 class=\"text-white font-bold mb-2\">For Executives <span class=\"block text-sm font-normal text-slate-400\">Decisions backed by evidence</span></h4><p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Get a clear, business-ready view of your digital environment. Understand where complexity is growing, where risks are hiding, and where your technology spend can be rationalised. Make decisions based on evidence, not assumptions.</p></div>\n<div class=\"glass-card rounded-2xl p-6\"><h4 class=\"text-white font-bold mb-2\">For IT & Security <span class=\"block text-sm font-normal text-slate-400\">Governance you can act on</span></h4><p class=\"text-slate-400 text-sm leading-relaxed mt-3\">Strengthen governance, accelerate investigations, and explain risk in business terms. Replace scattered tools and partial inventories with a continuous, structured view of activity across your environment.</p></div>\n</div>\n</div>\n\n<div class=\"glass-card rounded-2xl p-6 mb-16\">\n<p class=\"text-slate-400 text-sm font-mono uppercase tracking-wider mb-2\">Our Mission</p>\n<p class=\"text-slate-200 leading-relaxed mb-6\">To empower organisations with complete cyber visibility, actionable intelligence, and the confidence to secure their digital ecosystem.</p>\n<p class=\"text-xl font-bold text-gradient mb-1\">Discover. Map. Understand. Secure.</p>\n<p class=\"text-slate-400 text-sm\">AI-powered Cyber Visibility & Risk Intelligence for modern enterprises.</p>\n</div>\n\n<div class=\"mb-16\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">FAQ</span>\n<h3 class=\"text-2xl font-bold text-white mt-2 mb-8\">Frequently asked questions</h3>\n<div class=\"space-y-3\">\n<details class=\"glass-card rounded-2xl p-6\"><summary class=\"text-white font-bold cursor-pointer\">What is Cyber Graph?</summary><p class=\"text-slate-400 text-sm leading-relaxed mt-4\">Cyber Graph is an AI-powered SaaS platform for Shadow IT detection, asset management, and IT governance, built by Gekko Labs for mid-market and enterprise organisations. It gives leadership and IT teams a clear, continuous view of the software, cloud services, and digital tools running across the business.</p></details>\n<details class=\"glass-card rounded-2xl p-6\"><summary class=\"text-white font-bold cursor-pointer\">What is Shadow IT, and why does it matter?</summary><p class=\"text-slate-400 text-sm leading-relaxed mt-4\">Shadow IT is the use of software, cloud services, apps, devices, or digital tools inside a company without full visibility or approval from leadership and IT. It creates hidden risks, duplicated spending, compliance exposure, and decisions made on incomplete information.</p></details>\n<details class=\"glass-card rounded-2xl p-6\"><summary class=\"text-white font-bold cursor-pointer\">How is Cyber Graph different from a traditional IT inventory?</summary><p class=\"text-slate-400 text-sm leading-relaxed mt-4\">Traditional inventories rely on manual lists that quickly become outdated. Cyber Graph builds a continuous, evidence-based view of your real digital activity, including the tools and services that were never formally declared.</p></details>\n<details class=\"glass-card rounded-2xl p-6\"><summary class=\"text-white font-bold cursor-pointer\">Who is Cyber Graph for?</summary><p class=\"text-slate-400 text-sm leading-relaxed mt-4\">Cyber Graph is designed for mid-market and enterprise organisations that need stronger visibility, governance, and control across their digital environment. It serves CEOs, CFOs, IT directors, security leaders, and compliance stakeholders.</p></details>\n<details class=\"glass-card rounded-2xl p-6\"><summary class=\"text-white font-bold cursor-pointer\">Does Cyber Graph support cybersecurity use cases?</summary><p class=\"text-slate-400 text-sm leading-relaxed mt-4\">Yes. Cyber Graph supports anomaly detection, historical investigation, asset risk reduction, and the kind of visibility security teams need to protect modern environments.</p></details>\n<details class=\"glass-card rounded-2xl p-6\"><summary class=\"text-white font-bold cursor-pointer\">Is Cyber Graph available in French and English?</summary><p class=\"text-slate-400 text-sm leading-relaxed mt-4\">Yes. Cyber Graph is fully bilingual and adapted to professional environments where both languages are used every day.</p></details>\n<details class=\"glass-card rounded-2xl p-6\"><summary class=\"text-white font-bold cursor-pointer\">How can I see Cyber Graph in action?</summary><p class=\"text-slate-400 text-sm leading-relaxed mt-4\">You can request a demo to see what Cyber Graph can reveal about your business.</p></details>\n</div>\n</div>\n\n<div class=\"text-center glass-card rounded-2xl p-10 mb-16\">\n<h3 class=\"text-2xl font-bold text-white mb-3\">Ready to see what your business is really running?</h3>\n<p class=\"text-slate-400 max-w-xl mx-auto mb-6\">Most leaders are surprised by what their first assessment reveals. Take fifteen minutes to discover how much clarity you have been missing.</p>\n</div>\n\n</div>\n\n\n\n<div class=\"max-w-5xl mx-auto border-t border-white/10 pt-8\">\n<span class=\"text-slate-400 text-sm font-mono uppercase tracking-wider\">Other products</span>\n<div class=\"flex flex-wrap gap-3 mt-4\">\n<a href=\"#/products/gekko-id\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko ID</a>\n<a href=\"#/products/gekko-fitly\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko Fitly</a>\n<a href=\"#/products/gekko-wellio\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko Wellio</a>\n</div>\n</div>\n</div>\n\n<div id=\"product-gekko-fitly\" class=\"hidden max-w-6xl mx-auto\">\n<a href=\"#/products\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-10\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all products</a>\n<div class=\"mb-10\">\n<div class=\"flex flex-wrap items-center gap-2 mb-5\"><span class=\"inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-white/5 border border-white/15 rounded-md px-2.5 py-1\"><i class=\"fa-solid fa-shirt text-ai-green\"></i>Gekko Fitly</span></div>\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Gekko Fitly</h2>\n\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-300 text-lg leading-relaxed max-w-2xl\">Upload a photo and browse a digital wardrobe to see exactly how an outfit looks on you before you buy.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"mb-16\" id=\"fitly-demo\">\n<div class=\"max-w-md mx-auto\"><div class=\"flex justify-center\">\n<div class=\"w-full max-w-[380px] rounded-[2rem] overflow-hidden border border-white/10 bg-slate-900 p-2 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-d94656fc3e6d087f.webp\" data-posters='{\"en\": \"https://gekko-assets.gekkolabs.workers.dev/p-d94656fc3e6d087f.webp\", \"es\": \"https://gekko-assets.gekkolabs.workers.dev/p-d94656fc3e6d087f.webp\", \"fr\": \"https://gekko-assets.gekkolabs.workers.dev/p-d94656fc3e6d087f.webp\", \"de\": \"https://gekko-assets.gekkolabs.workers.dev/p-d94656fc3e6d087f.webp\", \"ar\": \"https://gekko-assets.gekkolabs.workers.dev/p-d94656fc3e6d087f.webp\", \"ary\": \"https://gekko-assets.gekkolabs.workers.dev/p-d94656fc3e6d087f.webp\", \"zh\": \"https://gekko-assets.gekkolabs.workers.dev/p-d94656fc3e6d087f.webp\"}' class=\"block w-full rounded-[1.6rem]\" controls playsinline preload=\"none\" data-srcs='{\"en\": \"https://gekko-assets.gekkolabs.workers.dev/20eebfe459beca28.mp4\", \"es\": \"https://gekko-assets.gekkolabs.workers.dev/54f9fb61d1f88434.mp4\", \"fr\": \"https://gekko-assets.gekkolabs.workers.dev/2a21a70ed27f71fa.mp4\", \"de\": \"https://gekko-assets.gekkolabs.workers.dev/c09359954f05fdfe.mp4\", \"ar\": \"https://gekko-assets.gekkolabs.workers.dev/e29039609c4855f4.mp4\", \"ary\": \"https://gekko-assets.gekkolabs.workers.dev/c89a169bc0938f23.mp4\", \"zh\": \"https://gekko-assets.gekkolabs.workers.dev/5966e203c5242ccb.mp4\"}' src=\"https://gekko-assets.gekkolabs.workers.dev/20eebfe459beca28.mp4\"></video>\n</div>\n</div></div>\n<div class=\"max-w-3xl mx-auto mt-8\"><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">See it in action</span><h3 class=\"text-2xl font-bold text-white mt-2 mb-2\">Gekko Fitly in 70 seconds</h3><p class=\"text-slate-400 leading-relaxed mb-6\">Try on clothes from your own closet, ask the AI stylist for an outfit for any occasion, and add new garments with a single photo.</p></div><div class=\"max-w-6xl mx-auto mt-6\"></div>\n</div>\n<div class=\"max-w-3xl mx-auto\">\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How it works</span>\n<div class=\"glass-card rounded-2xl p-6 md:p-8 mt-4 space-y-6\">\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">01</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Upload a photo</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">The shopper uploads a single full-body photo, no special equipment or measurements needed.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">02</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Browse the wardrobe</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">They pick garments from a digital catalogue, just as they would in your online store.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">03</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">See it on you</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Our generative vision models render each outfit on the shopper&#x27;s own photo, preserving their pose, shape and the garment&#x27;s look.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Key features</span>\n<div class=\"grid grid-cols-1 sm:grid-cols-2 gap-6 mt-4\">\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-green/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-wand-magic-sparkles text-ai-green\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Realistic try-on</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Generative AI drapes each garment naturally, keeping fabric, fit and details true to the product.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-green/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-layer-group text-ai-green\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Mix and match</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Combine tops, bottoms and outerwear to build complete outfits before buying.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-green/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-store text-ai-green\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Catalogue-ready</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Works from your existing product images, so new collections can go live quickly.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-green/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-mobile-screen text-ai-green\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Web and mobile</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Embed the experience in your e-commerce site or app with a lightweight integration.</p>\n</div>\n</div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span>\n<div class=\"flex flex-wrap gap-3 mt-4\"><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Fashion e-commerce</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Marketplaces and multi-brand stores</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Brand apps and lookbooks</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Social and influencer campaigns</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">In-store smart mirrors</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Personal styling services</span></div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Integration</span>\n<p class=\"text-slate-300 leading-relaxed mt-4\">Gekko Fitly plugs into your storefront through a simple integration, using the product photos you already have. Shoppers gain confidence in what they buy, and you get a more engaging, differentiated shopping experience.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-8 text-center mb-12\">\n<h3 class=\"text-xl font-bold text-white mb-2\">Let shoppers try before they buy</h3>\n<p class=\"text-slate-400 mb-6\">Talk to us about bringing virtual try-on to your store.</p>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"inline-block bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-8 rounded-full transition-all shadow-lg shadow-ai-blue/20\">Request a demo</a>\n</div>\n<div class=\"border-t border-white/10 pt-8\">\n<span class=\"text-slate-400 text-sm font-mono uppercase tracking-wider\">Other products</span>\n<div class=\"flex flex-wrap gap-3 mt-4\">\n<a href=\"#/products/gekko-id\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko ID</a>\n<a href=\"#/products/cyber-graph\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Cyber Graph</a>\n<a href=\"#/products/gekko-wellio\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko Wellio</a>\n</div>\n</div>\n</div>\n</div>\n\n\n\n<div id=\"product-adjuster\" class=\"hidden max-w-6xl mx-auto\">\n<a href=\"#/products\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-10\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all products</a>\n<div class=\"mb-10\">\n<div class=\"flex flex-wrap items-center gap-2 mb-5\"><span class=\"inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-white/5 border border-white/15 rounded-md px-2.5 py-1\"><i class=\"fa-solid fa-house-crack text-ai-blue\"></i>Gekko Adjuster</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">InsurTech</span></div>\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Gekko Adjuster</h2>\n<div class=\"flex flex-wrap gap-3 mt-6\">\n<span class=\"inline-flex items-center gap-2 rounded-full bg-ai-gradient text-white text-sm font-bold px-4 py-2\"><i class=\"fa-solid fa-star\"></i> Unique &amp; innovative</span>\n<span class=\"inline-flex items-center gap-2 rounded-full border border-white/15 text-white text-sm font-bold px-4 py-2\"><i class=\"fa-solid fa-rocket\"></i> Pioneer in Europe</span>\n</div>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-300 text-lg leading-relaxed max-w-2xl\">Home claims inspection and valuation guided by AI. The policyholder shows the damage from their phone, and Gekko Adjuster guides the inspection and prepares a report ready for your claims team, without waiting for three calendars to line up.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"mb-16\" id=\"adjuster-demo\">\n<div class=\"max-w-5xl mx-auto\"><div class=\"rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-6838f5cd8a4b3ec2.webp\" data-posters='{\"en\": \"https://gekko-assets.gekkolabs.workers.dev/p-6838f5cd8a4b3ec2.webp\", \"es\": \"https://gekko-assets.gekkolabs.workers.dev/p-c470e00d9ae07738.webp\", \"fr\": \"https://gekko-assets.gekkolabs.workers.dev/p-d5c7781c2edecd78.webp\", \"de\": \"https://gekko-assets.gekkolabs.workers.dev/p-6fbc70d07307c4ab.webp\", \"ar\": \"https://gekko-assets.gekkolabs.workers.dev/p-81938b7906c9a3d8.webp\", \"ary\": \"https://gekko-assets.gekkolabs.workers.dev/p-4f3067a6f44e103f.webp\", \"zh\": \"https://gekko-assets.gekkolabs.workers.dev/p-e8cae5340f38f33a.webp\"}' class=\"w-full\" controls playsinline preload=\"none\" data-srcs='{\"en\": \"https://gekko-assets.gekkolabs.workers.dev/5a1401a149c96b1e.mp4\", \"es\": \"https://gekko-assets.gekkolabs.workers.dev/69c80683b0d5a748.mp4\", \"fr\": \"https://gekko-assets.gekkolabs.workers.dev/87d1a9fbad839bc7.mp4\", \"de\": \"https://gekko-assets.gekkolabs.workers.dev/5741f3e170629e3c.mp4\", \"ar\": \"https://gekko-assets.gekkolabs.workers.dev/78ab296e1e308c97.mp4\", \"ary\": \"https://gekko-assets.gekkolabs.workers.dev/5484208b82d91197.mp4\", \"zh\": \"https://gekko-assets.gekkolabs.workers.dev/dc0c0d881eba9a6f.mp4\"}' src=\"https://gekko-assets.gekkolabs.workers.dev/5a1401a149c96b1e.mp4\"></video>\n</div></div>\n<div class=\"max-w-3xl mx-auto mt-8\"><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">See it in action</span><h3 class=\"text-2xl font-bold text-white mt-2 mb-2\">Gekko Adjuster in one minute</h3></div><div class=\"max-w-6xl mx-auto mt-6\"></div>\n</div>\n<div class=\"max-w-3xl mx-auto\">\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How it works</span>\n<div class=\"glass-card rounded-2xl p-6 md:p-8 mt-4 space-y-6\">\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">01</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">A link by SMS</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Nothing to install. The policyholder joins when it suits them and gives consent on the first screen.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">02</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">A voice conversation and the camera</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">The AI asks where the damage is, requests the evidence it needs and checks that every image is usable.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">03</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">A report for the claims handler</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Damage and evidence, valuation against your scale and points to review highlighted, sent to your system by API.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Key features</span>\n<div class=\"grid grid-cols-1 sm:grid-cols-2 gap-6 mt-4\">\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-plug text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Connected by API</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Your claims system sends the file and the scale; Gekko Adjuster returns the report and the evidence.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-user-check text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Human supervision</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Without consent or with insufficient data, the case goes to a person through your usual channel.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-shield-halved text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Data under control</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Personal data protected, secure encrypted hosting, and explicit, recorded consent.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-screwdriver-wrench text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Repairers arrive prepared</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Trades, expected time and the damage video are ready before the visit.</p>\n</div>\n</div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span>\n<div class=\"flex flex-wrap gap-3 mt-4\"><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Water damage</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Damp and leaks</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Home insurance claims</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Assistance networks</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Repair management</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Claims triage</span></div>\n</div>\n<div class=\"glass-card rounded-2xl p-8 text-center mb-12\">\n<h3 class=\"text-xl font-bold text-white mb-2\">Run a pilot with your claims team</h3>\n<p class=\"text-slate-400 mb-6\">We scope the case together, compare results against on-site inspection and decide with data.</p>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"inline-block bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-8 rounded-full transition-all shadow-lg shadow-ai-blue/20\">Request a demo</a>\n</div>\n</div>\n</div>\n<div id=\"product-voice\" class=\"hidden max-w-6xl mx-auto\">\n<a href=\"#/products\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-10\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all products</a>\n<div class=\"mb-10\">\n<div class=\"flex flex-wrap items-center gap-2 mb-5\"><span class=\"inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-white/5 border border-white/15 rounded-md px-2.5 py-1\"><i class=\"fa-solid fa-wave-square text-ai-violet\"></i>Gekko Voice</span><span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Voice AI</span></div>\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Gekko Voice</h2>\n\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-300 text-lg leading-relaxed max-w-2xl\">Everything you need to give your product a voice: expressive speech that sounds like a real person, agents that hold real-time conversations and a builder to create them in plain language.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-3xl mx-auto\">\n<div role=\"tablist\" class=\"grid grid-cols-1 sm:grid-cols-3 gap-3 mb-12\">\n<button type=\"button\" role=\"tab\" data-voice=\"kalima\" aria-selected=\"true\" onclick=\"voiceTab('kalima')\" class=\"voice-tab text-left glass-card rounded-2xl p-4 border transition-colors border-ai-blue bg-ai-blue/10\">\n<i class=\"fa-solid fa-wave-square text-ai-violet mb-2\"></i>\n<div class=\"text-white font-bold text-sm\">Gekko Kalima</div>\n<div class=\"text-slate-400 text-xs mt-1\">Expressive text-to-speech</div>\n</button>\n<button type=\"button\" role=\"tab\" data-voice=\"gekko-15\" aria-selected=\"false\" onclick=\"voiceTab('gekko-15')\" class=\"voice-tab text-left glass-card rounded-2xl p-4 border transition-colors border-white/10\">\n<i class=\"fa-solid fa-headset text-ai-green mb-2\"></i>\n<div class=\"text-white font-bold text-sm\">Gekko 1.5</div>\n<div class=\"text-slate-400 text-xs mt-1\">Real-time voice agents</div>\n</button>\n<button type=\"button\" role=\"tab\" data-voice=\"voice-agent-builder\" aria-selected=\"false\" onclick=\"voiceTab('voice-agent-builder')\" class=\"voice-tab text-left glass-card rounded-2xl p-4 border transition-colors border-white/10\">\n<i class=\"fa-solid fa-wand-magic-sparkles text-ai-blue mb-2\"></i>\n<div class=\"text-white font-bold text-sm\">Voice Agent Builder</div>\n<div class=\"text-slate-400 text-xs mt-1\">Create agents in plain language</div>\n</button>\n</div>\n<div class=\"voice-panel\" data-voice=\"kalima\">\n<div class=\"flex items-center gap-3 mb-3\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-violet/20 flex items-center justify-center\"><i class=\"fa-solid fa-wave-square text-ai-violet\"></i></div>\n<h3 class=\"text-2xl font-bold text-white\">Gekko Kalima</h3>\n</div>\n<p class=\"text-slate-300 leading-relaxed mb-10\">Text-to-speech that sounds like a real person, in 40+ languages and with the first audio in about 95 ms. Our model laughs, pauses, whispers and changes its tone with the context, so voice agents, content and customer calls finally sound natural.</p>\n\n<div class=\"mb-14\" id=\"kalima-demo\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Listen</span>\n<h3 class=\"text-2xl font-bold text-white mt-2 mb-2\">Hear Gekko Kalima</h3>\n<p class=\"text-slate-400 leading-relaxed mb-6\">Pick a style or a language. The same voice changes its tone, emotion and pace with the context.</p>\n<div class=\"glass-card rounded-2xl p-5 md:p-6\">\n<div class=\"flex items-center justify-between gap-3 mb-3\">\n<p class=\"text-xs font-mono uppercase tracking-wider text-slate-400\">Emotions and styles</p>\n<div class=\"notranslate flex gap-1.5\" dir=\"ltr\"><button type=\"button\" onclick=\"kalimaEmoLang('en')\" data-l=\"en\" class=\"kalima-emo hidden px-2.5 py-1 rounded-full text-xs font-mono border border-white/10 text-slate-400 transition-colors\">EN</button><button type=\"button\" onclick=\"kalimaEmoLang('es')\" data-l=\"es\" class=\"kalima-emo hidden px-2.5 py-1 rounded-full text-xs font-mono border border-white/10 text-slate-400 transition-colors\">ES</button><button type=\"button\" onclick=\"kalimaEmoLang('fr')\" data-l=\"fr\" class=\"kalima-emo hidden px-2.5 py-1 rounded-full text-xs font-mono border border-white/10 text-slate-400 transition-colors\">FR</button><button type=\"button\" onclick=\"kalimaEmoLang('de')\" data-l=\"de\" class=\"kalima-emo hidden px-2.5 py-1 rounded-full text-xs font-mono border border-white/10 text-slate-400 transition-colors\">DE</button><button type=\"button\" onclick=\"kalimaEmoLang('zh')\" data-l=\"zh\" class=\"kalima-emo hidden px-2.5 py-1 rounded-full text-xs font-mono border border-white/10 text-slate-400 transition-colors\">ZH</button></div>\n</div>\n<div class=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n<button type=\"button\" onclick=\"kalimaPlay(0)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-book-open text-ai-blue w-4\"></i><span>Narration</span>\n</button>\n<button type=\"button\" onclick=\"kalimaPlay(1)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-headset text-ai-blue w-4\"></i><span>Customer service</span>\n</button>\n<button type=\"button\" onclick=\"kalimaPlay(2)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-bullhorn text-ai-blue w-4\"></i><span>Advert</span>\n</button>\n<button type=\"button\" onclick=\"kalimaPlay(3)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-face-smile text-ai-blue w-4\"></i><span>Happy</span>\n</button>\n<button type=\"button\" onclick=\"kalimaPlay(4)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-face-frown text-ai-blue w-4\"></i><span>Sad</span>\n</button>\n<button type=\"button\" onclick=\"kalimaPlay(5)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-face-laugh-squint text-ai-blue w-4\"></i><span>Laughing</span>\n</button>\n</div>\n<p class=\"text-xs font-mono uppercase tracking-wider text-slate-400 mt-5 mb-3\">Gekko model · multilingual</p>\n<div class=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n<button type=\"button\" onclick=\"kalimaPlay(6)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-globe text-ai-blue w-4\"></i><span class=\"notranslate\">Español</span>\n</button>\n<button type=\"button\" onclick=\"kalimaPlay(7)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-globe text-ai-blue w-4\"></i><span class=\"notranslate\">English</span>\n</button>\n<button type=\"button\" onclick=\"kalimaPlay(8)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-globe text-ai-blue w-4\"></i><span class=\"notranslate\">Français</span>\n</button>\n<button type=\"button\" onclick=\"kalimaPlay(9)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-globe text-ai-blue w-4\"></i><span class=\"notranslate\">Deutsch</span>\n</button>\n<button type=\"button\" onclick=\"kalimaPlay(10)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-globe text-ai-blue w-4\"></i><span class=\"notranslate\">Português</span>\n</button>\n<button type=\"button\" onclick=\"kalimaPlay(11)\" class=\"kalima-chip flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 hover:border-ai-blue/50 px-3 py-2.5 text-sm text-slate-300 transition-colors text-left\">\n<i class=\"fa-solid fa-globe text-ai-blue w-4\"></i><span class=\"notranslate\">中文</span>\n</button>\n</div>\n<div class=\"mt-5 rounded-xl bg-slate-950/60 border border-white/10 p-4\">\n<div class=\"flex items-center gap-4\">\n<button type=\"button\" id=\"kalima-toggle\" onclick=\"kalimaToggle()\" aria-label=\"Play or pause\" class=\"w-12 h-12 shrink-0 rounded-full bg-ai-gradient text-white flex items-center justify-center\"><i class=\"fa-solid fa-play\"></i></button>\n<div class=\"flex-1 min-w-0\">\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div id=\"kalima-bar\" class=\"h-full bg-ai-blue\" style=\"width:0%\"></div></div>\n<p id=\"kalima-text\" class=\"notranslate font-mono text-sm text-slate-300 mt-3 leading-relaxed\" dir=\"ltr\"></p>\n</div>\n</div>\n</div>\n<p class=\"text-xs text-slate-400 mt-4\">Pre-generated samples, female voice, produced with our Gekko models.</p>\n</div>\n<audio id=\"kalima-audio\" preload=\"none\"></audio>\n<script type=\"text/gk-defer\">\n(function () {\nvar STYLES = [{\"en\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/b60d25a428135035.mp3\", \"text\": \"Hi, I'm Kalima, the voice of Gekko Labs. I read your content naturally, in real time.\"}, \"es\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/db762cb0265a96ff.mp3\", \"text\": \"Hola, soy Kalima, la voz de Gekko Labs. Puedo leer tus textos con naturalidad, en tiempo real.\"}, \"fr\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/1ce960bf110474ed.mp3\", \"text\": \"Bonjour, je suis Kalima, la voix de Gekko Labs. Je lis vos textes avec naturel, en temps réel.\"}, \"de\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/b9dbff003739129e.mp3\", \"text\": \"Hallo, ich bin Kalima, die Stimme von Gekko Labs. Ich lese Ihre Texte natürlich vor, in Echtzeit.\"}, \"zh\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/ecd7225c1fd412d5.mp3\", \"text\": \"你好，我是 Kalima，Gekko Labs 的声音。我能实时、自然地朗读你的文字。\"}}, {\"en\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/483228a68795d43c.mp3\", \"text\": \"Good afternoon, thanks for calling. I've checked your order and it will arrive tomorrow before two. Is there anything else I can help with?\"}, \"es\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/ca157a3a3141a4dd.mp3\", \"text\": \"Buenas tardes, gracias por llamar. He revisado su pedido y le llegará mañana antes de las dos. ¿Puedo ayudarle en algo más?\"}, \"fr\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/c3af9976d857246e.mp3\", \"text\": \"Bonjour, merci de votre appel. J'ai vérifié votre commande : elle arrivera demain avant quatorze heures. Puis-je vous aider pour autre chose ?\"}, \"de\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/b6c39706cdf70902.mp3\", \"text\": \"Guten Tag, danke für Ihren Anruf. Ich habe Ihre Bestellung geprüft, sie kommt morgen vor vierzehn Uhr an. Kann ich sonst noch helfen?\"}, \"zh\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/538714ad86714d36.mp3\", \"text\": \"下午好，感谢来电。我查了您的订单，明天下午两点前就能送到。还有什么可以帮您的吗？\"}}, {\"en\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/40d7bdf9565618fb.mp3\", \"text\": \"This weekend only, every model is twenty percent off. Don't miss it!\"}, \"es\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/9e7b0edcb3b0f311.mp3\", \"text\": \"<emphasis>Solo este fin de semana</emphasis>, todos los modelos con un veinte por ciento de descuento. ¡No te lo pierdas!\"}, \"fr\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/39a5f6ae43ef2a1d.mp3\", \"text\": \"Ce week-end seulement, tous les modèles à moins vingt pour cent. Ne manquez pas ça !\"}, \"de\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/2d4b9390a278a8c2.mp3\", \"text\": \"Nur dieses Wochenende: alle Modelle zwanzig Prozent günstiger. Nicht verpassen!\"}, \"zh\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/a9d159ed829c4d1e.mp3\", \"text\": \"仅限本周末，所有款式一律八折。千万别错过！\"}}, {\"en\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/625da9c03519f3c6.mp3\", \"text\": \"What great news! I'm so happy everything went so well.\"}, \"es\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/68d8b872e94a4bff.mp3\", \"text\": \"<happy>¡Qué buena noticia! Me alegra muchísimo que todo haya salido tan bien.</happy>\"}, \"fr\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/c9836f5d126f0de6.mp3\", \"text\": \"Quelle bonne nouvelle ! Je suis tellement contente que tout se soit si bien passé.\"}, \"de\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/55893b7ec6f1f6e0.mp3\", \"text\": \"Was für eine tolle Nachricht! Ich freue mich so, dass alles so gut geklappt hat.\"}, \"zh\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/3cf3d6ab072b7589.mp3\", \"text\": \"太好了！一切都这么顺利，我真的太开心了。\"}}, {\"en\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/e278ab6d79236d6f.mp3\", \"text\": \"I'm truly sorry. I know this isn't what you were hoping to hear.\"}, \"es\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/2c5d6bd5c2d4c63c.mp3\", \"text\": \"<sad>Lo siento mucho, de verdad. Sé que no es lo que esperabas oír.</sad>\"}, \"fr\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/f10b553757c218f9.mp3\", \"text\": \"Je suis vraiment désolée. Je sais que ce n'est pas ce que vous espériez entendre.\"}, \"de\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/e410a325be24cf12.mp3\", \"text\": \"Es tut mir wirklich leid. Ich weiß, das ist nicht das, was Sie hören wollten.\"}, \"zh\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/5768b17b649b2825.mp3\", \"text\": \"真的很抱歉。我知道这不是您希望听到的消息。\"}}, {\"en\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/178e9ac809e6cf5f.mp3\", \"text\": \"No way, I can't believe it! I really didn't see that coming.\"}, \"es\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/4985d68af6b9ffc2.mp3\", \"text\": \"<laughing>¡No me lo puedo creer!</laughing> Eso sí que no me lo esperaba.\"}, \"fr\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/5c317d33030c4915.mp3\", \"text\": \"Non, je n'y crois pas ! Alors ça, je ne m'y attendais pas du tout.\"}, \"de\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/c65c71981f41f8ca.mp3\", \"text\": \"Nein, das glaube ich nicht! Damit habe ich wirklich nicht gerechnet.\"}, \"zh\": {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/a5f08b31d05f883e.mp3\", \"text\": \"不会吧，我简直不敢相信！这真的完全出乎我的意料。\"}}], LANGS = [{\"src\": \"https://gekko-assets.gekkolabs.workers.dev/38e1e4c7de7482e7.mp3\", \"text\": \"Buenas tardes, gracias por llamar. He revisado su pedido y le llegará mañana antes de las dos. ¿Puedo ayudarle en algo más?\"}, {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/d4d824191b736ec7.mp3\", \"text\": \"Hi, I'm the voice of Gekko Labs. I can read your content naturally, in real time, in many languages.\"}, {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/ce182824aa9f1306.mp3\", \"text\": \"Bonjour, je suis la voix de Gekko Labs. Je lis vos textes avec naturel, en temps réel.\"}, {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/20625b449d810fd7.mp3\", \"text\": \"Hallo, ich bin die Stimme von Gekko Labs. Ich lese Ihre Texte natürlich vor, in Echtzeit.\"}, {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/e05c2ffe683769b4.mp3\", \"text\": \"Olá, eu sou a voz da Gekko Labs. Posso ler os seus textos com naturalidade, em tempo real.\"}, {\"src\": \"https://gekko-assets.gekkolabs.workers.dev/86e1bcc658e8827e.mp3\", \"text\": \"你好，我是 Gekko Labs 的声音。我可以实时、自然地朗读你的文字。\"}], SL = [\"en\", \"es\", \"fr\", \"de\", \"zh\"];\nvar N = 6, emo = 'en', chip = 0, audio = document.getElementById('kalima-audio');\nfunction clip(c) { return c < N ? (STYLES[c][emo] || STYLES[c].en) : LANGS[c - N]; }\nfunction esc(s) { return s.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;'); }\nfunction show(c) {\nchip = c;\nvar t = document.getElementById('kalima-text');\nt.innerHTML = esc(clip(c).text).replace(/&lt;(\\/?[a-z]+)&gt;/g, '<span class=\"text-ai-green\">&lt;$1&gt;</span>');\nt.dir = 'ltr';\ndocument.querySelectorAll('.kalima-chip').forEach(function (b, j) {\nb.classList.toggle('border-ai-blue', j === c); b.classList.toggle('text-white', j === c);\n});\ndocument.querySelectorAll('.kalima-emo').forEach(function (b) {\nvar on = b.dataset.l === emo;\nb.classList.toggle('border-ai-blue', on); b.classList.toggle('text-white', on); b.classList.toggle('bg-ai-blue/10', on);\n});\n}\nfunction setPrimary(lang) {\nvar primary = SL.indexOf(lang) !== -1 ? lang : 'en';\nvar shown = primary === 'en' ? ['en'] : [primary, 'en'];\ndocument.querySelectorAll('.kalima-emo').forEach(function (b) { b.classList.toggle('hidden', shown.length < 2 || shown.indexOf(b.dataset.l) === -1); });\nvar row = document.querySelector('.kalima-emo').parentNode;\nshown.forEach(function (l) { row.appendChild(row.querySelector('[data-l=\"' + l + '\"]')); });\nwindow.kalimaEmoLang(primary, true);\n}\nfunction icon(playing) { document.querySelector('#kalima-toggle i').className = 'fa-solid ' + (playing ? 'fa-pause' : 'fa-play'); }\nwindow.kalimaPlay = function (c) {\nshow(c); audio.src = clip(c).src; audio.play();\n};\nwindow.kalimaEmoLang = function (l, quiet) {\nvar playing = audio.getAttribute('src') && !audio.paused;\nemo = l;\nif (chip >= N) return show(chip);\nif (playing && !quiet) return window.kalimaPlay(chip);\naudio.pause(); audio.removeAttribute('src'); show(chip);\n};\nwindow.kalimaToggle = function () {\nif (!audio.getAttribute('src')) return window.kalimaPlay(chip);\nif (audio.paused) audio.play(); else audio.pause();\n};\naudio.addEventListener('play', function () { icon(true); });\naudio.addEventListener('pause', function () { icon(false); });\naudio.addEventListener('ended', function () { icon(false); });\naudio.addEventListener('timeupdate', function () {\ndocument.getElementById('kalima-bar').style.width = (audio.duration ? 100 * audio.currentTime / audio.duration : 0) + '%';\n});\nwindow.addEventListener('gekko-lang', function (e) { setPrimary(e.detail); });\nsetPrimary(window.GEKKO_LANG || 'en');\n})();\n</script>\n</div>\n\n<div class=\"mb-12\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How it works</span>\n<div class=\"glass-card rounded-2xl p-6 md:p-8 mt-4 space-y-6\">\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">01</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Send the text</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Any text through our API, with optional style and emotion tags when you want a specific delivery.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">02</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Pick a voice</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Choose from the voice catalogue or create a brand voice of your own from a short recording.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">03</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Stream the audio</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Speech starts playing before the sentence is finished, ready for live conversations.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"mb-12\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Key features</span>\n<div class=\"grid grid-cols-1 sm:grid-cols-2 gap-6 mt-4\">\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-violet/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-face-laugh-beam text-ai-violet\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Expressive by design</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Laughter, whispers, pauses and emphasis that make every line sound human, not read.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-violet/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-clone text-ai-violet\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Voice cloning</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">A consistent brand voice created from a short sample, used across every channel.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-violet/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-bolt text-ai-violet\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Real-time streaming</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">First audio in about 95 ms over REST and WebSocket, so agents answer without awkward silences.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-violet/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-language text-ai-violet\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">40+ languages</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Natural, native-sounding voices in more than 40 languages, from Spanish and French to Arabic and Chinese.</p>\n</div>\n</div>\n</div>\n<div class=\"mb-12\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Integration</span>\n<p class=\"text-slate-300 leading-relaxed mt-4\">Gekko Kalima is available through a simple REST and WebSocket API and SDKs, in our cloud or deployed in your own infrastructure.</p>\n</div>\n</div>\n<div class=\"voice-panel hidden\" data-voice=\"gekko-15\">\n<div class=\"flex items-center gap-3 mb-3\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-green/20 flex items-center justify-center\"><i class=\"fa-solid fa-headset text-ai-green\"></i></div>\n<h3 class=\"text-2xl font-bold text-white\">Gekko 1.5</h3>\n</div>\n<p class=\"text-slate-300 leading-relaxed mb-10\">Real-time voice agents that listen and answer naturally. Speech in and speech out over a single connection, with interruptions, turn-taking and actions in the middle of the conversation.</p>\n<!--VOICE_DEMO:gekko-15-->\n<div class=\"mb-12\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How it works</span>\n<div class=\"glass-card rounded-2xl p-6 md:p-8 mt-4 space-y-6\">\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">01</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Connect</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Add the SDK to your website, app or phone line in a few lines of code.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">02</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Converse</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">The agent listens, understands and answers in real time, and lets people interrupt like in a real conversation.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">03</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Act</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">It calls your tools during the call: bookings, order lookups, CRM updates and hand-offs to a person.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"mb-12\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Key features</span>\n<div class=\"grid grid-cols-1 sm:grid-cols-2 gap-6 mt-4\">\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-green/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-comments text-ai-green\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Natural turn-taking</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Handles interruptions, pauses and changes of topic the way people actually talk.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-green/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-plug text-ai-green\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Tool calling</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Connects to your APIs and systems to get things done during the conversation.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-green/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-layer-group text-ai-green\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Multimodal</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Voice, text and camera input in the same session.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-green/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-code text-ai-green\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">SDKs for every stack</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Python, Node and React SDKs, plus mobile, to go live in days, not months.</p>\n</div>\n</div>\n</div>\n<div class=\"mb-12\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Integration</span>\n<p class=\"text-slate-300 leading-relaxed mt-4\">Gekko 1.5 runs as a managed real-time API with SDKs for web, mobile and backend, and connects to your telephony and existing systems.</p>\n</div>\n</div>\n<div class=\"voice-panel hidden\" data-voice=\"voice-agent-builder\">\n<div class=\"flex items-center gap-3 mb-3\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center\"><i class=\"fa-solid fa-wand-magic-sparkles text-ai-blue\"></i></div>\n<h3 class=\"text-2xl font-bold text-white\">Voice Agent Builder</h3>\n</div>\n<p class=\"text-slate-300 leading-relaxed mb-10\">Describe the agent you need in plain language and get a production-ready voice agent with the right tone, knowledge and behaviour, without writing code.</p>\n<!--VOICE_DEMO:voice-agent-builder-->\n<div class=\"mb-12\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How it works</span>\n<div class=\"glass-card rounded-2xl p-6 md:p-8 mt-4 space-y-6\">\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">01</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Describe it</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">For example: “an agent that handles customer returns in a friendly tone”.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">02</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Refine and test</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Adjust the voice, the instructions and the knowledge it uses, and talk to it right away.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">03</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Publish</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Deploy it to your phone line, website or app with one click.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"mb-12\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Key features</span>\n<div class=\"grid grid-cols-1 sm:grid-cols-2 gap-6 mt-4\">\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-keyboard text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Plain-language setup</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Build and change agents by describing what you want, no code needed.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-book-open text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Knowledge and tools</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Connect documents, FAQs and your systems so the agent answers with your information.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-users text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Team collaboration</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Your team edits voices and agents together, with changes published instantly.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-rocket text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">One-click deployment</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">From idea to a live agent in minutes, on the channels you already use.</p>\n</div>\n</div>\n</div>\n<div class=\"mb-12\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Integration</span>\n<p class=\"text-slate-300 leading-relaxed mt-4\">Voice Agent Builder runs on Gekko Kalima and Gekko 1.5, so every agent you create speaks with expressive voices and answers in real time.</p>\n</div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span>\n<div class=\"flex flex-wrap gap-3 mt-4\"><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Voice agents and call centres</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Appointment booking</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Audiobooks and podcasts</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Advertising and dubbing</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">E-learning</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Accessibility</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">In-app assistants</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Internal helpdesks</span></div>\n</div>\n<div class=\"glass-card rounded-2xl p-8 text-center mb-12\">\n<h3 class=\"text-xl font-bold text-white mb-2\">Give your product a voice people enjoy</h3>\n<p class=\"text-slate-400 mb-6\">Talk to us about your use case and hear Gekko Voice live.</p>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"inline-block bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-8 rounded-full transition-all shadow-lg shadow-ai-blue/20\">Request a demo</a>\n</div>\n<script type=\"text/gk-defer\">\nfunction voiceTab(id) {\ndocument.querySelectorAll('.voice-panel').forEach(function (el) { el.classList.toggle('hidden', el.dataset.voice !== id); });\ndocument.querySelectorAll('.voice-tab').forEach(function (b) {\nvar on = b.dataset.voice === id;\nb.classList.toggle('border-ai-blue', on); b.classList.toggle('bg-ai-blue/10', on); b.setAttribute('aria-selected', on ? 'true' : 'false');\n});\n}\n</script>\n</div>\n</div>\n<div id=\"product-gekko-wellio\" class=\"hidden max-w-6xl mx-auto\">\n<a href=\"#/products\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-10\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all products</a>\n<div class=\"mb-10\">\n<div class=\"flex flex-wrap items-center gap-2 mb-5\"><span class=\"inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-white/5 border border-white/15 rounded-md px-2.5 py-1\"><i class=\"fa-solid fa-heart-pulse text-ai-blue\"></i>Gekko Wellio</span></div>\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Gekko Wellio</h2>\n\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-300 text-lg leading-relaxed max-w-2xl\">A wellbeing check-in that takes 30 seconds and only needs a selfie. Gekko Wellio reads wellness indicators such as heart rate and breathing from the phone camera, then turns them into food and product recommendations your users actually act on.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"mb-16\" id=\"wellio-demo\">\n<div class=\"max-w-5xl mx-auto\"><div class=\"rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-339c408dbe38f187.webp\" data-posters='{\"en\": \"https://gekko-assets.gekkolabs.workers.dev/p-339c408dbe38f187.webp\", \"es\": \"https://gekko-assets.gekkolabs.workers.dev/p-2e6130437c531708.webp\", \"fr\": \"https://gekko-assets.gekkolabs.workers.dev/p-5098fae4518f870c.webp\", \"de\": \"https://gekko-assets.gekkolabs.workers.dev/p-d5d34722aacba5bd.webp\", \"ar\": \"https://gekko-assets.gekkolabs.workers.dev/p-67a20aaaeac4760f.webp\", \"ary\": \"https://gekko-assets.gekkolabs.workers.dev/p-24c275f14cda01fe.webp\", \"zh\": \"https://gekko-assets.gekkolabs.workers.dev/p-1458d6c3aab61eff.webp\"}' class=\"w-full\" controls playsinline preload=\"none\" data-srcs='{\"en\": \"https://gekko-assets.gekkolabs.workers.dev/eb4dda162c903755.mp4\", \"es\": \"https://gekko-assets.gekkolabs.workers.dev/564bb3c6faf6ebb4.mp4\", \"fr\": \"https://gekko-assets.gekkolabs.workers.dev/3e58a254db208abc.mp4\", \"de\": \"https://gekko-assets.gekkolabs.workers.dev/7178a84ea680d450.mp4\", \"ar\": \"https://gekko-assets.gekkolabs.workers.dev/2d04aa34c685b4ca.mp4\", \"ary\": \"https://gekko-assets.gekkolabs.workers.dev/715b5e9ef156e362.mp4\", \"zh\": \"https://gekko-assets.gekkolabs.workers.dev/63855fdd14eca2ed.mp4\"}' src=\"https://gekko-assets.gekkolabs.workers.dev/eb4dda162c903755.mp4\"></video>\n</div></div>\n<div class=\"max-w-3xl mx-auto mt-8\"><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">See it in action</span><h3 class=\"text-2xl font-bold text-white mt-2 mb-2\">From selfie to personalised advice in seconds</h3><p class=\"text-slate-400 leading-relaxed mb-6\">No wearables, no extra hardware. The user looks at the camera, Gekko Wellio does the rest and answers with a clear summary and recommendations tailored to their readings.</p></div><div class=\"max-w-6xl mx-auto mt-6\"><div class=\"grid grid-cols-1 sm:grid-cols-3 gap-4 mt-6\">\n<div class=\"glass-card rounded-2xl p-5\">\n<div class=\"text-3xl font-bold text-gradient\">30 s</div>\n<p class=\"text-slate-400 text-sm mt-1\">for a complete check-in with the phone users already carry</p>\n</div>\n<div class=\"glass-card rounded-2xl p-5\">\n<div class=\"text-3xl font-bold text-gradient\">0</div>\n<p class=\"text-slate-400 text-sm mt-1\">wearables or extra devices needed</p>\n</div>\n<div class=\"glass-card rounded-2xl p-5\">\n<div class=\"text-3xl font-bold text-gradient\">1 tap</div>\n<p class=\"text-slate-400 text-sm mt-1\">from insight to the recommended products in your catalogue</p>\n</div>\n</div></div>\n</div>\n<div class=\"max-w-3xl mx-auto\">\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Why partners choose Gekko Wellio</span>\n<div class=\"grid grid-cols-1 sm:grid-cols-2 gap-4 mt-4\">\n<div class=\"glass-card rounded-2xl p-6\">\n<h4 class=\"text-white font-bold mb-2\"><i class=\"fa-solid fa-basket-shopping text-ai-green mr-2\"></i>Turns wellbeing into sales</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Recommendations link straight to products in your catalogue, so every check-in becomes a personalised shopping moment.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<h4 class=\"text-white font-bold mb-2\"><i class=\"fa-solid fa-rotate text-ai-green mr-2\"></i>Brings users back</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">A quick daily or weekly check-in builds a habit, and progress over time gives users a reason to return.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<h4 class=\"text-white font-bold mb-2\"><i class=\"fa-solid fa-mobile-screen text-ai-green mr-2\"></i>Works on any smartphone</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Runs with the front camera, on iOS, Android and the web, inside your own app and under your brand.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<h4 class=\"text-white font-bold mb-2\"><i class=\"fa-solid fa-user-shield text-ai-green mr-2\"></i>Privacy first</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">The camera stream is processed only to produce the readings, and the data stays under the control of you and your users.</p>\n</div>\n</div>\n</div>\n<div class=\"mb-14\" id=\"wellio-live\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Try it now</span>\n<h3 class=\"text-2xl font-bold text-white mt-2 mb-2\">Take your own 20-second check-in</h3>\n<p class=\"text-slate-400 leading-relaxed mb-6\">Here you can try one part of the Gekko Wellio app: the contactless reading. Turn on your camera, look at the screen for 20 seconds and our model estimates your heart rate, heart-rate variability, breathing rate and stress level from the subtle changes in your face.</p>\n<div class=\"glass-card rounded-2xl p-5 md:p-6\">\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-6 items-center\">\n<div class=\"relative mx-auto w-full max-w-[320px] aspect-[3/4] rounded-[2rem] overflow-hidden bg-slate-900 border border-white/10\">\n<video id=\"wl-video\" class=\"absolute inset-0 w-full h-full object-cover -scale-x-100\" muted playsinline></video>\n<div class=\"absolute inset-0 flex items-center justify-center pointer-events-none\">\n<div class=\"w-[62%] aspect-[3/4] rounded-[50%] border-2 border-dashed border-white/40\" id=\"wl-oval\"></div>\n</div>\n<div id=\"wl-idle\" class=\"absolute inset-0 flex flex-col items-center justify-center text-center p-6 gap-3\">\n<i class=\"fa-solid fa-face-smile text-5xl text-ai-green\"></i>\n<p class=\"text-sm text-slate-300\">Good light, face the camera and stay still</p>\n</div>\n<div class=\"absolute bottom-3 left-3 right-3\">\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div id=\"wl-progress\" class=\"h-full w-0 bg-ai-gradient transition-[width] duration-200\"></div></div>\n</div>\n</div>\n<div>\n<div id=\"wl-status\" class=\"text-sm text-slate-400 mb-4\">Your video is analysed and discarded straight away; nothing is stored.</div>\n<div id=\"wl-results\" class=\"grid grid-cols-2 gap-3 mb-4\"></div>\n<svg id=\"wl-wave\" viewBox=\"0 0 400 60\" class=\"w-full h-16 hidden\" preserveAspectRatio=\"none\"><polyline fill=\"none\" stroke=\"#06b6d4\" stroke-width=\"2\" points=\"\"></polyline></svg>\n<button type=\"button\" id=\"wl-start\" onclick=\"wlStart()\" class=\"w-full mt-2 bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-50\"><i class=\"fa-solid fa-video mr-2\"></i><span id=\"wl-start-label\">Start 20-second check-in</span></button>\n</div>\n</div>\n<p class=\"text-xs text-slate-400 mt-5 leading-relaxed\">Wellness demo for illustration only, not a medical device. Readings are estimates and can be affected by light, movement and camera quality. The full Gekko Wellio app adds personalised food and product recommendations; contact us to see it.</p>\n</div>\n<div hidden class=\"wl-labels\"><span data-w=\"hr\">Heart rate</span><span data-w=\"rmssd\">Heart-rate variability</span><span data-w=\"br\">Breathing rate</span><span data-w=\"stress\">Stress level</span><span data-w=\"bpm\">bpm</span><span data-w=\"ms\">ms</span><span data-w=\"rpm\">breaths/min</span><span data-w=\"low\">Low</span><span data-w=\"moderate\">Moderate</span><span data-w=\"high\">High</span><span data-w=\"good\">Good signal</span><span data-w=\"fair\">Fair signal</span><span data-w=\"poor\">Weak signal</span><span data-w=\"cam\">We could not access your camera. Please allow camera access and try again.</span><span data-w=\"rec\">Recording… keep still and look at the camera</span><span data-w=\"analysing\">Analysing your pulse…</span><span data-w=\"again\">Measure again</span><span data-w=\"start\">Start 20-second check-in</span><span data-w=\"weak\">The signal was too weak for a reliable reading. Try again facing a window or a lamp, and keep still.</span><span data-w=\"fail\">The demo is unavailable right now. Please try again later.</span><span data-w=\"warm\">Waking up the model, the first reading can take up to a minute…</span><span data-w=\"spo2\">Blood oxygen (SpO2)</span><span data-w=\"bp\">Blood pressure</span><span data-w=\"full\">In the full app</span></div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How it works</span>\n<div class=\"glass-card rounded-2xl p-6 md:p-8 mt-4 space-y-6\">\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">01</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Look at the camera</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">The user takes a short selfie scan with the front camera of their phone. No wearables, no setup, under a minute from start to finish.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">02</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Read the signals</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Our AI models read the subtle signals in the face that change with every heartbeat and breath, and estimate wellness indicators such as heart rate, breathing rate, heart-rate variability and stress level.</p>\n</div>\n</div>\n<div class=\"flex gap-4\">\n<span class=\"font-mono text-2xl font-bold text-gradient flex-shrink-0\">03</span>\n<div>\n<h4 class=\"text-white font-bold mb-1\">Turn insights into action</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Gekko Wellio translates the readings into a clear summary and personalised suggestions for foods and products from your catalogue that support healthier habits.</p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Key features</span>\n<div class=\"grid grid-cols-1 sm:grid-cols-2 gap-6 mt-4\">\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-heart-pulse text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Contactless wellness indicators</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Heart rate, breathing rate, heart-rate variability and stress level from a selfie, with no extra devices.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-utensils text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Personalised recommendations</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Suggestions matched to each user&#x27;s readings and goals, linked to the products you sell.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-chart-line text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">Progress over time</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Repeat check-ins build a picture of how each user&#x27;s wellbeing evolves, a strong reason to come back.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-6\">\n<div class=\"w-10 h-10 rounded-xl bg-ai-blue/20 flex items-center justify-center mb-4\"><i class=\"fa-solid fa-palette text-ai-blue\"></i></div>\n<h4 class=\"text-white font-bold mb-2\">White-label SDK</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Embed Gekko Wellio in your own app or website with your branding and your user journey.</p>\n</div>\n</div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span>\n<div class=\"flex flex-wrap gap-3 mt-4\"><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Wellness and lifestyle apps</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Nutrition and food retail</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Insurance wellbeing programmes</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Corporate wellness</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Pharmacy and health retail</span><span class=\"glass-card rounded-full px-4 py-2 text-sm text-slate-300\">Fitness platforms</span></div>\n</div>\n<div class=\"mb-14\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Integration</span>\n<p class=\"text-slate-300 leading-relaxed mt-4\">Gekko Wellio can be embedded in partner apps and digital channels, turning a simple selfie into an engaging, personalised wellbeing check-in. Gekko Wellio is a wellness tool and is not intended to diagnose or treat any medical condition.</p>\n</div>\n<div class=\"glass-card rounded-2xl p-8 text-center mb-12\">\n<h3 class=\"text-xl font-bold text-white mb-2\">Bring wellbeing insights to your users</h3>\n<p class=\"text-slate-400 mb-6\">Talk to us about embedding Gekko Wellio in your app or programme.</p>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"inline-block bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-8 rounded-full transition-all shadow-lg shadow-ai-blue/20\">Request a demo</a>\n</div>\n<div class=\"border-t border-white/10 pt-8\">\n<span class=\"text-slate-400 text-sm font-mono uppercase tracking-wider\">Other products</span>\n<div class=\"flex flex-wrap gap-3 mt-4\">\n<a href=\"#/products/gekko-id\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko ID</a>\n<a href=\"#/products/cyber-graph\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Cyber Graph</a>\n<a href=\"#/products/gekko-fitly\" class=\"glass-card rounded-full px-4 py-2 text-sm hover:text-ai-blue transition-colors\">Gekko Fitly</a>\n</div>\n</div>\n</div>\n</div>\n\n</div>\n</section>\n","view-solutions":"\n<section class=\"pt-40 pb-16 bg-slate-950 relative overflow-hidden\">\n<div class=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[600px] h-[600px] bg-ai-green/10 rounded-full filter blur-[150px] -z-10\"></div>\n<div class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center\">\n<span class=\"text-ai-blue font-mono tracking-wider text-sm uppercase\">Applied Intelligence</span>\n<h1 class=\"text-4xl md:text-5xl font-bold text-white mt-3 mb-4\">Solutions by Industry</h1>\n<p class=\"text-slate-400 max-w-xl mx-auto\">Pick a sector to see what vision AI can do for it, with example use cases and how we deliver.</p>\n</div>\n</section>\n\n<section class=\"pb-24 bg-slate-950 relative\">\n<div class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8\">\n\n<div id=\"solutions-overview\">\n<div class=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6\">\n<a href=\"#/solutions/document-intelligence\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-green/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-file-contract text-ai-green text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Document Intelligence</h3>\n<p class=\"text-slate-400 text-sm\">From paper and PDFs to structured data</p>\n</div>\n</a>\n<a href=\"#/solutions/aerospace\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-blue/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-plane text-ai-blue text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Aerospace</h3>\n<p class=\"text-slate-400 text-sm\">Sharper inspection for flight-critical parts</p>\n</div>\n</a>\n<a href=\"#/solutions/automotive\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-violet/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-car text-ai-violet text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Automotive</h3>\n<p class=\"text-slate-400 text-sm\">Quality and safety at line speed</p>\n</div>\n</a>\n<a href=\"#/solutions/consumer-goods\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-green/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-cart-shopping text-ai-green text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Consumer Goods</h3>\n<p class=\"text-slate-400 text-sm\">Consistent quality on every package</p>\n</div>\n</a>\n<a href=\"#/solutions/energy\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-violet/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-bolt text-ai-violet text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Energy</h3>\n<p class=\"text-slate-400 text-sm\">Spot spills and anomalies before they spread</p>\n</div>\n</a>\n<a href=\"#/solutions/healthcare\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-blue/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-heart-pulse text-ai-blue text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Healthcare</h3>\n<p class=\"text-slate-400 text-sm\">Vision AI that supports clinical teams</p>\n</div>\n</a>\n<a href=\"#/solutions/manufacturing\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-violet/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-industry text-ai-violet text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Manufacturing</h3>\n<p class=\"text-slate-400 text-sm\">Every part inspected, every shift</p>\n</div>\n</a>\n<a href=\"#/solutions/logistics\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-blue/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-anchor text-ai-blue text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Logistics</h3>\n<p class=\"text-slate-400 text-sm\">Real-time visibility across the quay</p>\n</div>\n</a>\n<a href=\"#/solutions/media\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-green/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-photo-film text-ai-green text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Media</h3>\n<p class=\"text-slate-400 text-sm\">Understand every frame automatically</p>\n</div>\n</a>\n<a href=\"#/solutions/retail\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-blue/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-store text-ai-blue text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Retail</h3>\n<p class=\"text-slate-400 text-sm\">Smarter stores, fuller shelves</p>\n</div>\n</a>\n<a href=\"#/solutions/robotics\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-violet/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-robot text-ai-violet text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Robotics</h3>\n<p class=\"text-slate-400 text-sm\">Perception that makes robots smarter</p>\n</div>\n</a>\n<a href=\"#/solutions/transportation\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-green/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-route text-ai-green text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Transportation</h3>\n<p class=\"text-slate-400 text-sm\">Safer, smoother journeys with vision AI</p>\n</div>\n</a>\n<a href=\"#/solutions/warehousing\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-blue/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-warehouse text-ai-blue text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Warehousing</h3>\n<p class=\"text-slate-400 text-sm\">Accurate, safe and efficient warehouses</p>\n</div>\n</a>\n<a href=\"#/solutions/security\" class=\"flex items-center gap-4 p-6 glass-card rounded-2xl hover:-translate-y-1 transition-all duration-300\">\n<div class=\"w-12 h-12 rounded-xl bg-ai-violet/20 flex items-center justify-center flex-shrink-0\">\n<i class=\"fa-solid fa-shield-halved text-ai-violet text-xl\"></i>\n</div>\n<div>\n<h3 class=\"text-base font-bold text-white\">Security</h3>\n<p class=\"text-slate-400 text-sm\">From passive cameras to active protection</p>\n</div>\n</a>\n</div>\n</div>\n\n<div id=\"solution-logistics\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Smart Logistics</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs gives ports and logistics hubs a live picture of everything moving on the dock. Our multi-object detection tracks vehicles, vessels and personnel across existing camera feeds, turning busy yards into measurable, safer and better-coordinated operations.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-3b8340e0dcf34175.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/e71d91f3174b891c.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/c8566438a3e0872d.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-blue\"></span>Logistics</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Dock Occupancy Tracking</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"logistics\" data-src=\"data:application/octet-stream;base64,eyJleGFtcGxlcyI6W3siaW4iOiJAbTAiLCJvdXQiOiJAbTEiLCJ2aWV3cyI6eyJsYWJlbCI6IkBtMiJ9LCJzdGVwcyI6W3siayI6InNfZmluZCIsImFuaW0iOjYwMH0seyJrIjoic19jb2RlcyIsIm1zIjo5fSx7ImsiOiJzX29jciIsIm1zIjozMTgxOH0seyJrIjoic19jaGVjayIsImFuaW0iOjUwMH1dLCJtZXRyaWNzIjp7InRyYWNraW5nIjoiR0s3MzE5MjA0ODU2RVMiLCJzZXJ2aWNlIjoiRVhQUkVTUyAyNEgiLCJ3ZWlnaHQiOiI0LjIga2ciLCJsYXRlbmN5IjoiMzEuOCBzIn0sImpzb24iOnsidHJhY2tpbmdfbnVtYmVyIjoiR0s3MzE5MjA0ODU2RVMiLCJ0cmFja2luZ19zb3VyY2VzIjp7ImJhcmNvZGVfY29kZTEyOCI6IkdLNzMxOTIwNDg1NkVTIiwicXIiOiJHSzczMTkyMDQ4NTZFUyIsIm9jciI6IkdLNzMxOTIwNDg1NkVTIn0sInNvdXJjZXNfYWdyZWUiOnRydWUsInNlcnZpY2UiOiJFWFBSRVNTIDI0SCIsInNlbmRlciI6Ikdla2tvIERlbW8gU3VwcGxpZXMgUy5MLiBDYWxsZSBJbmR1c3RyaWEgMTIgMjgwNDUgTWFkcmlkLCBFUyIsIndlaWdodCI6IjQuMiBrZyIsInJlY2lwaWVudCI6IkF0bGFzIENvbXBvbmVudHMgU0FSTCBab25lIEluZHVzdHJpZWxsZSBMb3QgNDUgMjAyNTAgQ2FzYWJsYW5jYSwgTUEiLCJyZWZlcmVuY2UiOiJQTy01NTgyMSIsImRhdGUiOiIyMDI2LTEwLTE5IiwiZGltZW5zaW9ucyI6IjQwIHggMzAgeCAyNSBjbSIsInFyX3BheWxvYWQiOiJHS3xHSzczMTkyMDQ4NTZFU3wyMDI1MCBDYXNhYmxhbmNhLCBNQXxQTy01NTgyMSIsImxhdGVuY3lfbXMiOnsiY29kZXMiOjksIm9jciI6MzE4MTh9fSwidmVyZGljdCI6Im1hdGNoIn0seyJpbiI6IkBtMyIsIm91dCI6IkBtNCIsInZpZXdzIjp7ImxhYmVsIjoiQG01In0sInN0ZXBzIjpbeyJrIjoic19maW5kIiwiYW5pbSI6NjAwfSx7ImsiOiJzX2NvZGVzIiwibXMiOjd9LHsiayI6InNfb2NyIiwibXMiOjMwMzI4fSx7ImsiOiJzX2NoZWNrIiwiYW5pbSI6NTAwfV0sIm1ldHJpY3MiOnsidHJhY2tpbmciOiJHSzU1MjAzMTg4NzRERSIsInNlcnZpY2UiOiJcdTIwMTMiLCJ3ZWlnaHQiOiIxMi44IGtnIiwibGF0ZW5jeSI6IjMwLjMgcyJ9LCJqc29uIjp7InRyYWNraW5nX251bWJlciI6IkdLNTUyMDMxODg3NERFIiwidHJhY2tpbmdfc291cmNlcyI6eyJiYXJjb2RlX2NvZGUxMjgiOiJHSzU1MjAzMTg4NzRERSIsInFyIjoiR0s1NTIwMzE4ODc0REUiLCJvY3IiOiJHSzU1MjAzMTg4NzRERSJ9LCJzb3VyY2VzX2FncmVlIjp0cnVlLCJzZXJ2aWNlIjpudWxsLCJzZW5kZXIiOiJOb3JkbGljaHQgUGFydHMgR21iSCBIYWZlbnN0cmFzc2UgOCAyMDQ1NyBIYW1idXJnLCBERSIsIndlaWdodCI6IjEyLjgga2ciLCJkaW1lbnNpb25zIjoiNjAgeCA0MCB4IDQwIGNtIiwicmVjaXBpZW50IjoiSWJlcmlhIFJldGFpbCBTLkEuIEF2LiBkZWwgUHVlcnRvIDIzMCA0NjAyNCBWYWxlbmNpYSwgRVMiLCJyZWZlcmVuY2UiOiJPUkQtOTA0MTciLCJkYXRlIjoiMjAyNi0xMC0xOCIsInFyX3BheWxvYWQiOiJHS3xHSzU1MjAzMTg4NzRERXw0NjAyNCBWYWxlbmNpYSwgRVN8T1JELTkwNDE3IiwibGF0ZW5jeV9tcyI6eyJjb2RlcyI6Nywib2NyIjozMDMyOH19LCJ2ZXJkaWN0IjoibWF0Y2gifV19\" data-kind=\"compare\" id=\"lab-logistics\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Read any shipping label at a glance</h3>\n<p class=\"text-slate-400 leading-relaxed\">Pick a parcel on the conveyor. Our model finds the label at any angle, straightens it, decodes the barcode and QR code, reads every field and checks that all sources agree.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/caf1513a665056a3.webp\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/241d004d64feddaa.webp\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/f5a665d61df4da1c.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/9d9278d437224775.webp\"></i><i data-k=\"@m4\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/8f545f1a0b9c197d.webp\"></i><i data-k=\"@m5\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/a0e2bd4125516f7e.webp\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/caf1513a665056a3.webp\" alt=\"Express parcel\" loading=\"lazy\"><span>Express parcel</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/9d9278d437224775.webp\" alt=\"Economy parcel\" loading=\"lazy\"><span>Economy parcel</span></button></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-tabs flex gap-1 mb-2 text-xs font-mono\"><button type=\"button\" data-view=\"result\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\">Result</button><button type=\"button\" data-view=\"label\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\">Straightened label</button></div><div class=\"lab-stage relative w-full aspect-[4/3] rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><img class=\"lab-in absolute inset-0 w-full h-full object-contain\" alt=\"Parcel on a conveyor\" loading=\"lazy\"><div class=\"lab-outwrap absolute inset-0 hidden\" style=\"clip-path: inset(0 0 0 50%)\"><img class=\"lab-out absolute inset-0 w-full h-full object-contain\" alt=\"\"></div><div class=\"lab-divider absolute top-0 bottom-0 w-0.5 bg-white/90 hidden cursor-ew-resize\" style=\"left:50%\"><span class=\"absolute top-1/2 -translate-y-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-white text-slate-900 flex items-center justify-center shadow-lg\"><i class=\"fa-solid fa-arrows-left-right text-xs\"></i></span></div><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"flex flex-wrap gap-2\"><span class=\"lab-badge-verdict hidden inline-flex items-center gap-2 text-sm font-bold rounded-full px-3 py-1 bg-emerald-500/15 text-emerald-300 border border-emerald-500/40\" data-v=\"match\"><i class=\"fa-solid fa-circle-check\"></i>Barcode = QR = text</span></div><div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Tracking number</div><div class=\"lab-m lab-mv\" data-k=\"tracking\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Service</div><div class=\"lab-m lab-mv\" data-k=\"service\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Weight</div><div class=\"lab-m lab-mv\" data-k=\"weight\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Inference time</div><div class=\"lab-m lab-mv\" data-k=\"latency\">–</div></div></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_find\">Locating and straightening the label</span><span data-m=\"s_codes\">Decoding barcode and QR code</span><span data-m=\"s_ocr\">Reading every field</span><span data-m=\"s_check\">Cross-checking the tracking number</span><span data-m=\"model\">Gekko document model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Logistics</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Busy docks, limited visibility</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Ports and yards mix heavy vehicles, vessels and people in tight, constantly changing spaces. Operators rely on radio calls and manual checks to know where everything is. That makes congestion hard to anticipate and safety risks hard to catch in time.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Vessel and vehicle tracking.</span> Detect and follow trucks, cranes, vessels and equipment across every camera on the terminal.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Personnel safety zones.</span> Flag people entering hazardous zones near moving machinery before an incident occurs.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Throughput insights.</span> Measure dwell times, queues and berth activity to find and remove bottlenecks.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Edge-ready performance.</span> Models run on site, keeping latency low and video on your own network.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-af34740fe7704d4f.webp\" alt=\"Multi-Object Detection\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Multi-Object Detection</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-8c33fa145f940673.webp\" alt=\"Container Yard Counting\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Container Yard Counting</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">A camera on a yard truck detects each intermodal container along with its ID, logo and chassis markings, counting units as they pass a virtual line. Terminals build a live yard inventory without clipboard walks, so lost or misplaced containers are found in minutes.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Counting</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Container ID</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-40f1bce731f7c64c.avif\" alt=\"Aerial Vessel Detection\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Aerial Vessel Detection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Oriented bounding boxes capture every vessel and berth in drone or satellite imagery, following each hull&#x27;s true angle even in crowded harbors. Port authorities get automatic berth occupancy and vessel counts for planning and traffic monitoring.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">OBB Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Aerial Imagery</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Maritime</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-ebbacca001e91966.webp\" alt=\"Forklift &amp; Pallet Tracking\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Forklift &amp; Pallet Tracking</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Forklifts and pallets are detected and tracked across the warehouse floor, with dwell time measured in each zone. Spot congestion, idle equipment and slow handoffs before they delay outbound loads.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Tracking</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Dwell Time</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Yard Operations</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-3071ec7483a389cd.webp\" alt=\"Yard Stall Reading\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Yard Stall Reading</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Dock and stall numbers are read from drone footage, so every trailer in the yard is mapped automatically.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Aerial</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">OCR</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Detection</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Connect dock cameras</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We plug into your existing CCTV and PTZ cameras across berths, gates and yards without replacing infrastructure.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Tune multi-object detection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We train detection and tracking models on your terminal&#x27;s vehicles, vessels, equipment and lighting conditions.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Deploy and integrate</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run on edge or cloud and feed events into your TOS, VMS or dashboards, with ongoing monitoring and model updates.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-blue/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">See your terminal in real time</h3>\n<p class=\"text-slate-400 text-lg\">Talk to our team about turning your dock cameras into live operational intelligence.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-energy\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Energy &amp; Environmental Monitoring</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs turns thermal, infrared and optical feeds into continuous environmental monitoring. Our segmentation models outline oil spills, leaks and hot spots pixel by pixel, then trigger alerts the moment something changes, so teams respond in minutes instead of discovering problems hours later.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-a260b09e8fbe9973.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/44c0560f590c1ce5.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/7ba37ee674005c60.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-violet\"></span>Energy</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Oil Spill Segmentation</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"energy\" data-src=\"data:application/octet-stream;base64,eyJleGFtcGxlcyI6W3siaW4iOiJAbTAiLCJvdXQiOiJAbTEiLCJ2aWV3cyI6e30sInN0ZXBzIjpbeyJrIjoic19yb29mcyIsIm1zIjoxNTc4fSx7ImsiOiJzX3NlZyIsIm1zIjoxMjYwfSx7ImsiOiJzX2NhbGMiLCJhbmltIjo2MDB9XSwibWV0cmljcyI6eyJyb29mcyI6eyJ2IjoxNn0sImFyZWEiOnsidiI6Mjg3OSwicyI6IiBtXHUwMGIyIn0sImt3cCI6eyJ2IjozNDUuMywiZCI6MCwicyI6IiBrV3AifSwibXdoIjp7InYiOjUxOC4wLCJkIjowLCJzIjoiIE1XaCJ9fSwianNvbiI6eyJyb29mcyI6MTYsInJvb2ZfYXJlYV9tMiI6Mjg3OSwiaW5zdGFsbGFibGVfa3dwIjozNDUuMywiZW5lcmd5X213aF9wZXJfeWVhciI6NTE4LjAsImNvMl9hdm9pZGVkX3RfcGVyX3llYXIiOjEyOS41LCJhc3N1bXB0aW9ucyI6eyJtZXRyZXNfcGVyX3BpeGVsIjowLjEyLCJ1c2FibGVfZnJhY3Rpb24iOjAuNiwia3dwX3Blcl9tMiI6MC4yLCJrd2hfcGVyX2t3cF95ZWFyIjoxNTAwLCJncmlkX2NvMl9rZ19wZXJfa3doIjowLjI1fSwibGF0ZW5jeV9tcyI6eyJncm91bmRpbmciOjE1NzgsInNlZ21lbnRhdGlvbiI6MTI2MH19LCJ2ZXJkaWN0IjpudWxsfSx7ImluIjoiQG0yIiwib3V0IjoiQG0zIiwidmlld3MiOnt9LCJzdGVwcyI6W3siayI6InNfcm9vZnMiLCJtcyI6OTQ1fSx7ImsiOiJzX3NlZyIsIm1zIjo5ODZ9LHsiayI6InNfY2FsYyIsImFuaW0iOjYwMH1dLCJtZXRyaWNzIjp7InJvb2ZzIjp7InYiOjV9LCJhcmVhIjp7InYiOjE3OTIyLCJzIjoiIG1cdTAwYjIifSwia3dwIjp7InYiOjIxNTAuNywiZCI6MCwicyI6IiBrV3AifSwibXdoIjp7InYiOjMyMjYuMCwiZCI6MCwicyI6IiBNV2gifX0sImpzb24iOnsicm9vZnMiOjUsInJvb2ZfYXJlYV9tMiI6MTc5MjIsImluc3RhbGxhYmxlX2t3cCI6MjE1MC43LCJlbmVyZ3lfbXdoX3Blcl95ZWFyIjozMjI2LjAsImNvMl9hdm9pZGVkX3RfcGVyX3llYXIiOjgwNi41LCJhc3N1bXB0aW9ucyI6eyJtZXRyZXNfcGVyX3BpeGVsIjowLjI1LCJ1c2FibGVfZnJhY3Rpb24iOjAuNiwia3dwX3Blcl9tMiI6MC4yLCJrd2hfcGVyX2t3cF95ZWFyIjoxNTAwLCJncmlkX2NvMl9rZ19wZXJfa3doIjowLjI1fSwibGF0ZW5jeV9tcyI6eyJncm91bmRpbmciOjk0NSwic2VnbWVudGF0aW9uIjo5ODZ9fSwidmVyZGljdCI6bnVsbH1dfQ==\" data-kind=\"compare\" id=\"lab-energy\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Map rooftop solar potential</h3>\n<p class=\"text-slate-400 leading-relaxed\">Pick an aerial photo. Our model finds every roof from a single word, cuts out its exact footprint and turns it into installable capacity and yearly energy, roof by roof.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/6eeb547cc4ffa7fd.webp\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/60965308daf1acaf.webp\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/aca6ce0f01e481eb.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/709c175ddc74539d.webp\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/6eeb547cc4ffa7fd.webp\" alt=\"Residential\" loading=\"lazy\"><span>Residential</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/aca6ce0f01e481eb.webp\" alt=\"Industrial park\" loading=\"lazy\"><span>Industrial park</span></button></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-stage relative w-full aspect-[4/3] rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><img class=\"lab-in absolute inset-0 w-full h-full object-contain\" alt=\"Aerial photo of buildings\" loading=\"lazy\"><div class=\"lab-outwrap absolute inset-0 hidden\" style=\"clip-path: inset(0 0 0 50%)\"><img class=\"lab-out absolute inset-0 w-full h-full object-contain\" alt=\"\"></div><div class=\"lab-divider absolute top-0 bottom-0 w-0.5 bg-white/90 hidden cursor-ew-resize\" style=\"left:50%\"><span class=\"absolute top-1/2 -translate-y-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-white text-slate-900 flex items-center justify-center shadow-lg\"><i class=\"fa-solid fa-arrows-left-right text-xs\"></i></span></div><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Roofs found</div><div class=\"lab-m lab-mv\" data-k=\"roofs\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Roof area</div><div class=\"lab-m lab-mv\" data-k=\"area\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Installable capacity</div><div class=\"lab-m lab-mv\" data-k=\"kwp\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Energy per year</div><div class=\"lab-m lab-mv\" data-k=\"mwh\">–</div></div></div><p class=\"text-xs text-slate-400 leading-relaxed\">Estimate based on stated assumptions (ground resolution, 60 % usable roof, 0.2 kWp/m², 1,500 kWh/kWp per year). A site survey confirms the final design.</p>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_roofs\">Finding every roof</span><span data-m=\"s_seg\">Segmenting roof footprints</span><span data-m=\"s_calc\">Estimating capacity and yield</span><span data-m=\"model\">Gekko geospatial model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Energy</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Large sites, small windows to react</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Terminals, pipelines and offshore assets cover vast areas that operators cannot watch continuously. Spills and leaks are often hard to see with the naked eye, especially at night or on water. Every minute of delay increases environmental impact, cleanup cost and regulatory exposure.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Thermal-IR segmentation.</span> Precise spill and hot-spot outlines from infrared imagery, day or night, in poor visibility.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Automated spill alerting.</span> Detections become instant alerts with location, extent and imagery sent to the right responders.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Around-the-clock coverage.</span> Models watch every feed continuously, removing gaps between manual patrols and inspections.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Audit-ready evidence.</span> Every event is logged with time-stamped imagery to support reporting and compliance reviews.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-0b96aee3387ac3d8.webp\" alt=\"Automated Spill Alerting\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Automated Spill Alerting</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-00f345c6d1c8be7f.webp\" alt=\"Solar Hotspot Detection\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Solar Hotspot Detection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Drone-mounted thermal cameras sweep entire solar farms while the model flags overheating cells and failing modules frame by frame. Crews go straight to the faulty panels instead of walking every row, cutting inspection time and recovering lost generation sooner.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Thermal Imaging</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Drone Inspection</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-eeee1af2df1ecb62.avif\" alt=\"Grid Asset Thermal Inspection\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Grid Asset Thermal Inspection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Thermal imagery of poles and lines is scanned for components running abnormally hot, with each hotspot boxed and its peak temperature reported. Utilities catch failing connectors and transformers before they trip, reducing outages and emergency call-outs.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Thermal Imaging</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Anomaly Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Power Lines</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-b3aab02ecd33e06d.avif\" alt=\"Storage Tank Mapping\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Storage Tank Mapping</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Oriented bounding boxes pick out every storage tank in aerial footage of tank farms and terminals, even when packed tightly together. Operators get an automatic asset inventory and a quick baseline for spotting changes, leaks or new construction across large sites.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">OBB Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Aerial Imagery</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Asset Inventory</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-a831ae2981a3b47b.avif\" alt=\"Emission &amp; Steam Monitoring\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Emission &amp; Steam Monitoring</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Instance segmentation outlines steam and smoke plumes rising from stacks and process units in real time. Continuous visual monitoring helps refineries and plants catch abnormal releases early and document emissions compliance without manual watch rounds.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Instance Segmentation</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Emissions</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Process Safety</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-b80a4c0dff89a2ae.webp\" alt=\"Solar Array Survey\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Solar Array Survey</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Individual solar panels are detected and counted from aerial imagery for asset inventory and inspection.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Aerial</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Counting</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-d658dcd1899fdfb8.webp\" alt=\"Tank Farm Monitoring\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Tank Farm Monitoring</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Storage tanks are located and inventoried across oil and gas terminals from satellite or drone imagery.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Aerial</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Detection</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Connect thermal feeds</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We integrate your existing thermal, IR and optical cameras, or help specify new ones for the areas that matter most.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Train on your site</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We fine-tune segmentation models on imagery from your assets, water surfaces and weather conditions so they recognise real events, not reflections.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Deploy and alert</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run on edge hardware close to the cameras and push alerts into your control room, SCADA or incident-response workflow, with ongoing monitoring and retraining.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-violet/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Protect your sites with vision AI</h3>\n<p class=\"text-slate-400 text-lg\">Tell us about your assets and cameras, and we will scope a monitoring pilot with you.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-document-intelligence\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Document Intelligence</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs combines OCR, layout analysis and vision-language models to read documents the way people do. Invoices, forms, contracts and technical drawings become clean, structured data that flows straight into your systems, with humans reviewing only what truly needs attention.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-a65333f3f24a229a.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/153ace21780c5125.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/b6272ada0fb67921.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-green\"></span>Document Intelligence</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Document digitisation</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n\n\n<div id=\"docai-demo\" class=\"glass-card rounded-2xl p-6 md:p-8 max-w-5xl mx-auto mb-14\">\n<div class=\"flex flex-wrap items-center justify-between gap-3 mb-6\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Live demo</span>\n<h3 class=\"text-xl font-bold text-white mt-1\">Try it on your own document</h3>\n</div>\n<span class=\"text-xs font-mono uppercase tracking-wider text-slate-400 border border-white/10 rounded-full px-2 py-0.5\">Vision-Language Model</span>\n</div>\n\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\n<div class=\"flex flex-col gap-4\">\n<label for=\"docai-file\" class=\"relative flex flex-col items-center justify-center aspect-[4/3] rounded-xl border border-dashed border-white/20 bg-slate-900/60 hover:border-ai-blue/60 transition-colors cursor-pointer overflow-hidden\">\n<img id=\"docai-preview\" alt=\"\" class=\"hidden absolute inset-0 w-full h-full object-contain bg-slate-900\">\n<span id=\"docai-drop-hint\" class=\"text-center px-6\">\n<i class=\"fa-solid fa-file-arrow-up text-3xl text-ai-blue mb-3\"></i>\n<span class=\"block text-sm text-white font-semibold\">Upload an invoice, receipt or form</span>\n<span class=\"block text-xs text-slate-400 mt-1\">PNG, JPG or WebP · max 5 MB</span>\n</span>\n<input id=\"docai-file\" type=\"file\" accept=\"image/png,image/jpeg,image/webp\" class=\"sr-only\" onchange=\"docaiPick(this.files[0])\">\n</label>\n<button type=\"button\" onclick=\"docaiSample()\" class=\"text-xs text-slate-400 hover:text-ai-blue transition-colors self-start\"><i class=\"fa-solid fa-wand-magic-sparkles mr-1\"></i> No document at hand? Use a sample invoice</button>\n\n<div class=\"grid grid-cols-2 gap-2\" role=\"radiogroup\" aria-label=\"Task\">\n<button type=\"button\" data-task=\"extract\" class=\"docai-task text-sm rounded-lg px-3 py-2 border border-white/10 text-slate-300 hover:bg-white/5\"><i class=\"fa-solid fa-table-list mr-1.5\"></i> Extract fields</button>\n<button type=\"button\" data-task=\"ocr\" class=\"docai-task text-sm rounded-lg px-3 py-2 border border-white/10 text-slate-300 hover:bg-white/5\"><i class=\"fa-solid fa-font mr-1.5\"></i> Read text</button>\n<button type=\"button\" data-task=\"describe\" class=\"docai-task text-sm rounded-lg px-3 py-2 border border-white/10 text-slate-300 hover:bg-white/5\"><i class=\"fa-solid fa-list-ul mr-1.5\"></i> Summarise</button>\n<button type=\"button\" data-task=\"qa\" class=\"docai-task text-sm rounded-lg px-3 py-2 border border-white/10 text-slate-300 hover:bg-white/5\"><i class=\"fa-solid fa-circle-question mr-1.5\"></i> Ask a question</button>\n</div>\n<input id=\"docai-question\" type=\"text\" maxlength=\"500\" placeholder=\"e.g. What is the total amount?\" class=\"hidden w-full rounded-lg bg-slate-900 border border-white/10 px-3 py-2 text-sm text-white placeholder-slate-500 focus:outline-none focus:border-ai-blue\">\n\n<button id=\"docai-run\" type=\"button\" onclick=\"docaiRun()\" disabled class=\"bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-40 disabled:cursor-not-allowed\">\n<i class=\"fa-solid fa-play mr-2\"></i> Analyse document\n</button>\n</div>\n\n<div class=\"flex flex-col min-h-[18rem]\">\n<div class=\"flex items-center justify-between mb-2\">\n<span class=\"text-xs font-mono uppercase tracking-wider text-slate-400\">Output</span>\n<span id=\"docai-time\" class=\"text-xs font-mono text-ai-green\"></span>\n</div>\n<pre id=\"docai-output\" class=\"flex-1 rounded-xl bg-slate-950 border border-white/10 p-4 text-xs md:text-sm text-slate-300 font-mono whitespace-pre-wrap break-words overflow-auto max-h-[28rem]\">Upload a document and pick a task to see the model's output here.</pre>\n<p class=\"text-xs text-slate-400 mt-3 leading-relaxed\">Runs on a compact model on CPU, so the first request can take up to a minute while it wakes up. Images are processed in memory and never stored. Please don't upload documents that contain personal data; use a sample or a redacted copy.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Document Intelligence</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Manual data entry does not scale</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Teams still retype information from scanned forms, emails and PDFs into business systems. Layouts vary by supplier, country and year, which breaks template-based tools. The result is slow processing, costly errors and skilled staff stuck on repetitive work.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Accurate field extraction.</span> Pull totals, dates, IDs and line items from varied layouts without rigid templates.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Multilingual understanding.</span> VLMs read documents in multiple languages, handwriting styles and scan qualities.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Human-in-the-loop review.</span> Low-confidence fields are routed to reviewers, so automation never hides uncertainty.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Private deployment.</span> Run on premises or in your cloud tenant to keep sensitive documents under your control.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-bc7c38e4ddbbc7b8.webp\" alt=\"Layout Detection\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Layout Detection</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-3e018d634c3fdd5b.webp\" alt=\"Handwriting OCR\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Handwriting OCR</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Every handwritten line is located, ordered and transcribed, even on lined notebooks and cluttered forms. Turn archives of handwritten notes, delivery slips and signed paperwork into searchable, structured text.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">OCR</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Handwriting</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Text Detection</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-ee51d7c615c3521b.webp\" alt=\"Table &amp; Formula Parsing\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Table &amp; Formula Parsing</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Complex tables with merged cells and embedded equations are rebuilt as clean, editable Markdown and LaTeX. No more retyping figures from reports: the output drops straight into spreadsheets, databases or LLM pipelines.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Table Recognition</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Formula OCR</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Markdown Export</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-a5b80ded1b84adbf.webp\" alt=\"Document Layout Parsing\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Document Layout Parsing</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Any page is broken into text, tables, figures and formulas, then rebuilt as clean structured output.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Layout Analysis</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">OCR</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Collect sample documents</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We start with a representative set of your real documents and agree on the fields and outputs that matter.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Adapt models to you</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We fine-tune extraction and VLM pipelines on your formats and validate accuracy against your own ground truth.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Integrate and scale</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We connect the pipeline to your ERP, DMS or workflow tools via API, then monitor quality and keep improving it.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-green/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Automate your document workflows</h3>\n<p class=\"text-slate-400 text-lg\">Share a few sample documents and we will show you what can be extracted automatically.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-aerospace\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Aerospace Intelligence</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs brings computer vision to aerospace inspection, maintenance and production. Our models detect surface defects, verify assemblies and document component condition consistently, helping teams meet demanding quality standards without slowing down the line or the hangar.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-2de97fae220b0ad6.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/5d213796eead0ca8.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/b5811e3f59bc7db1.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-blue\"></span>Aerospace</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Aerial OBB Detection</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"aerospace\" data-src=\"data:application/octet-stream;base64,eyJleGFtcGxlcyI6W3siaW4iOiJAbTAiLCJvdXQiOiJAbTEiLCJ2aWV3cyI6e30sInN0ZXBzIjpbeyJrIjoic190aWxlIiwiYW5pbSI6NjAwfSx7ImsiOiJzX29iYiIsIm1zIjoxNjh9LHsiayI6InNfaGVhZCIsImFuaW0iOjYwMH1dLCJtZXRyaWNzIjp7ImFpcmNyYWZ0Ijp7InYiOjE2fSwiaGVsaSI6eyJ2IjowfSwiY29uZiI6eyJ2Ijo5NC42LCJzIjoiJSJ9LCJsYXRlbmN5IjoiMTY4IG1zIn0sImpzb24iOnsiYWlyY3JhZnQiOjE2LCJoZWxpY29wdGVycyI6MCwibWVhbl9jb25maWRlbmNlIjowLjk0Niwib2JqZWN0cyI6W3siY2xhc3MiOiJwbGFuZSIsInNpemUiOiJhaXJjcmFmdCIsImNvbmZpZGVuY2UiOjAuOTUsImhlYWRpbmdfZGVnIjo4OS42LCJsZW5ndGhfcHgiOjEzNi4wLCJjZW50ZXIiOlswLjY0NDIsMC4xNjYzXX0seyJjbGFzcyI6InBsYW5lIiwic2l6ZSI6ImFpcmNyYWZ0IiwiY29uZmlkZW5jZSI6MC45NDksImhlYWRpbmdfZGVnIjowLjAsImxlbmd0aF9weCI6MTY2LjAsImNlbnRlciI6WzAuMzg4NywwLjE4MDVdfSx7ImNsYXNzIjoicGxhbmUiLCJzaXplIjoiYWlyY3JhZnQiLCJjb25maWRlbmNlIjowLjk0OSwiaGVhZGluZ19kZWciOjAuMCwibGVuZ3RoX3B4IjoxNDUuNywiY2VudGVyIjpbMC44Njg4LDAuNDk2MV19LHsiY2xhc3MiOiJwbGFuZSIsInNpemUiOiJhaXJjcmFmdCIsImNvbmZpZGVuY2UiOjAuOTQ4LCJoZWFkaW5nX2RlZyI6MTc5LjYsImxlbmd0aF9weCI6MTQ3LjksImNlbnRlciI6WzAuMzg3NSwwLjYyMjJdfSx7ImNsYXNzIjoicGxhbmUiLCJzaXplIjoiYWlyY3JhZnQiLCJjb25maWRlbmNlIjowLjk0OCwiaGVhZGluZ19kZWciOjE3OS42LCJsZW5ndGhfcHgiOjE0OS45LCJjZW50ZXIiOlswLjg2NzksMC42NzU4XX0seyJjbGFzcyI6InBsYW5lIiwic2l6ZSI6ImFpcmNyYWZ0IiwiY29uZmlkZW5jZSI6MC45NDgsImhlYWRpbmdfZGVnIjo5MC4wLCJsZW5ndGhfcHgiOjE1OC42LCJjZW50ZXIiOlswLjUyNjcsMC4xODE2XX1dLCJsYXRlbmN5X21zIjp7ImRldGVjdGlvbiI6MTY4fX0sInZlcmRpY3QiOm51bGx9LHsiaW4iOiJAbTIiLCJvdXQiOiJAbTMiLCJ2aWV3cyI6e30sInN0ZXBzIjpbeyJrIjoic190aWxlIiwiYW5pbSI6NjAwfSx7ImsiOiJzX29iYiIsIm1zIjozMDN9LHsiayI6InNfaGVhZCIsImFuaW0iOjYwMH1dLCJtZXRyaWNzIjp7ImFpcmNyYWZ0Ijp7InYiOjh9LCJoZWxpIjp7InYiOjF9LCJjb25mIjp7InYiOjg3LjcsInMiOiIlIn0sImxhdGVuY3kiOiIzMDMgbXMifSwianNvbiI6eyJhaXJjcmFmdCI6OCwiaGVsaWNvcHRlcnMiOjEsIm1lYW5fY29uZmlkZW5jZSI6MC44NzcsIm9iamVjdHMiOlt7ImNsYXNzIjoicGxhbmUiLCJzaXplIjoiYWlyY3JhZnQiLCJjb25maWRlbmNlIjowLjkzNiwiaGVhZGluZ19kZWciOjE3Mi42LCJsZW5ndGhfcHgiOjY5LjUsImNlbnRlciI6WzAuNTI1NCwwLjYyNV19LHsiY2xhc3MiOiJwbGFuZSIsInNpemUiOiJhaXJjcmFmdCIsImNvbmZpZGVuY2UiOjAuOTM0LCJoZWFkaW5nX2RlZyI6MC4wLCJsZW5ndGhfcHgiOjgzLjMsImNlbnRlciI6WzAuNTIyNSwwLjI4NjhdfSx7ImNsYXNzIjoicGxhbmUiLCJzaXplIjoiYWlyY3JhZnQiLCJjb25maWRlbmNlIjowLjkzMiwiaGVhZGluZ19kZWciOjE3Ny41LCJsZW5ndGhfcHgiOjY5LjksImNlbnRlciI6WzAuNTE3MSwwLjQ4MDVdfSx7ImNsYXNzIjoicGxhbmUiLCJzaXplIjoiYWlyY3JhZnQiLCJjb25maWRlbmNlIjowLjkyOSwiaGVhZGluZ19kZWciOjE2MS4zLCJsZW5ndGhfcHgiOjc3LjYsImNlbnRlciI6WzAuNTIxNSwwLjM5MzddfSx7ImNsYXNzIjoicGxhbmUiLCJzaXplIjoiYWlyY3JhZnQiLCJjb25maWRlbmNlIjowLjkyNCwiaGVhZGluZ19kZWciOjEzMS42LCJsZW5ndGhfcHgiOjU4LjcsImNlbnRlciI6WzAuNjE1OCwwLjY3NzVdfSx7ImNsYXNzIjoicGxhbmUiLCJzaXplIjoiYWlyY3JhZnQiLCJjb25maWRlbmNlIjowLjkxNSwiaGVhZGluZ19kZWciOjE3LjEsImxlbmd0aF9weCI6NTQuMywiY2VudGVyIjpbMC42MDk2LDAuNDMxNF19XSwibGF0ZW5jeV9tcyI6eyJkZXRlY3Rpb24iOjMwM319LCJ2ZXJkaWN0IjpudWxsfV19\" data-kind=\"compare\" id=\"lab-aerospace\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Count every aircraft from orbit</h3>\n<p class=\"text-slate-400 leading-relaxed\">Pick a satellite image of an airport. Our model detects each aircraft with an oriented box that follows its fuselage, estimates its heading and counts the apron in a fraction of a second.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/ddcb8addc93a33d2.webp\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/550861b4fcfb09b3.webp\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/71cae81216ae711c.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/50e356d4f9a717d3.webp\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/ddcb8addc93a33d2.webp\" alt=\"International hub\" loading=\"lazy\"><span>International hub</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/71cae81216ae711c.webp\" alt=\"Regional airport\" loading=\"lazy\"><span>Regional airport</span></button></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-stage relative w-full aspect-[4/3] rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><img class=\"lab-in absolute inset-0 w-full h-full object-contain\" alt=\"Satellite image of an airport\" loading=\"lazy\"><div class=\"lab-outwrap absolute inset-0 hidden\" style=\"clip-path: inset(0 0 0 50%)\"><img class=\"lab-out absolute inset-0 w-full h-full object-contain\" alt=\"\"></div><div class=\"lab-divider absolute top-0 bottom-0 w-0.5 bg-white/90 hidden cursor-ew-resize\" style=\"left:50%\"><span class=\"absolute top-1/2 -translate-y-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-white text-slate-900 flex items-center justify-center shadow-lg\"><i class=\"fa-solid fa-arrows-left-right text-xs\"></i></span></div><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Aircraft</div><div class=\"lab-m lab-mv\" data-k=\"aircraft\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Helicopters</div><div class=\"lab-m lab-mv\" data-k=\"heli\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Mean confidence</div><div class=\"lab-m lab-mv\" data-k=\"conf\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Inference time</div><div class=\"lab-m lab-mv\" data-k=\"latency\">–</div></div></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_tile\">Preparing the satellite tile</span><span data-m=\"s_obb\">Detecting aircraft with oriented boxes</span><span data-m=\"s_head\">Estimating headings</span><span data-m=\"model\">Gekko aerial vision model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Aerospace</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Zero tolerance, limited inspectors</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Aerospace components must meet strict safety and quality requirements, yet visual inspection remains largely manual. Experienced inspectors are scarce, and fatigue leads to inconsistency across shifts. Every hour an aircraft spends grounded for checks carries a real operational cost.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Fine defect detection.</span> Find cracks, dents, corrosion and coating flaws that are easy to miss by eye.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Faster MRO inspections.</span> Speed up visual checks on fuselage, engines and components during maintenance turnarounds.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Assembly verification.</span> Confirm fasteners, connectors and parts are present and correctly installed.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Traceable records.</span> Store annotated images with each inspection to support certification and audits.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-2cc2f3d472bc0ff8.webp\" alt=\"Apron Operations\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Apron Operations</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-6dbb3ef6f48b9ec6.webp\" alt=\"Turbine Crack Detection\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Turbine Crack Detection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Hairline cracks and surface damage on engine fan blades are flagged automatically during borescope and visual inspections. Inspectors get a consistent second pair of eyes, catching defects before they become costly failures.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Defect Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">MRO Inspection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Quality Control</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-aabb63698ca11b19.webp\" alt=\"Part Feature Verification\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Part Feature Verification</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Every cut-out, rivet hole and threaded insert on an airframe part is detected and checked against its specification. Missing or misplaced features are caught at the workstation, not at final assembly.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Assembly Verification</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Quality Control</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Capture inspection imagery</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We work with your existing inspection cameras, borescopes or drones, and define capture setups where needed.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Train on your defects</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We build segmentation and detection models on your parts and defect classes, validated with your quality engineers.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Deploy with traceability</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run on edge stations or secure cloud and integrate with your MES or MRO systems, with versioned models and ongoing support.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-blue/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Raise your inspection standard</h3>\n<p class=\"text-slate-400 text-lg\">Talk to our team about a vision pilot for your production line or maintenance hangar.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-automotive\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Automotive Intelligence</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs helps automotive manufacturers and suppliers inspect every part, weld and finish as it moves down the line. Our models run in real time on edge hardware, catching defects early and verifying assemblies before they reach the next station.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-61b50d5629347cab.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/e29a2194ad627bf8.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/15de3f3b89515cf1.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-violet\"></span>Automotive</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Component Segmentation</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"automotive\" data-src=\"data:application/octet-stream;base64,eyJleGFtcGxlcyI6W3siaW4iOiJAbTAiLCJvdXQiOiJAbTEiLCJ2aWV3cyI6eyJkZXB0aCI6IkBtMiIsImJldiI6IkBtMyJ9LCJzdGVwcyI6W3siayI6InNfZGV0IiwibXMiOjMwMH0seyJrIjoic19kZXB0aCIsIm1zIjoxMDF9LHsiayI6InNfcmFuZ2UiLCJhbmltIjo2MDB9LHsiayI6InNfYmV2IiwiYW5pbSI6NTAwfV0sIm1ldHJpY3MiOnsidXNlcnMiOnsidiI6MjB9LCJ2cnUiOnsidiI6Nn0sIm5lYXJlc3QiOnsidiI6Ny4xLCJkIjoxLCJzIjoiIG0ifSwibGF0ZW5jeSI6IjQwMSBtcyJ9LCJqc29uIjp7InJvYWRfdXNlcnMiOjIwLCJieV9jbGFzcyI6eyJjYXIiOjE0LCJ0cnVjayI6MCwicGVkZXN0cmlhbiI6NSwiY3ljbGlzdCI6MSwibW90b3JjeWNsZSI6MH0sIm5lYXJlc3RfbSI6Ny4xLCJvYmplY3RzIjpbeyJjbGFzcyI6ImNhciIsImNvbmZpZGVuY2UiOjAuOTQ1LCJkaXN0YW5jZV9tIjo3LjEsImxhdGVyYWxfbSI6NC4yLCJib3giOlswLjc1NDksMC40OTYzLDAuOTQyMywwLjY2NDhdfSx7ImNsYXNzIjoiY2FyIiwiY29uZmlkZW5jZSI6MC45NDgsImRpc3RhbmNlX20iOjcuMywibGF0ZXJhbF9tIjotMi4yLCJib3giOlswLjIyNjIsMC41MDQ0LDAuNDE0OCwwLjY2NzhdfSx7ImNsYXNzIjoicGVkZXN0cmlhbiIsImNvbmZpZGVuY2UiOjAuODg1LCJkaXN0YW5jZV9tIjo4LjMsImxhdGVyYWxfbSI6Mi44LCJib3giOlswLjY3NjEsMC40NzMxLDAuNzI0MiwwLjYzNzRdfSx7ImNsYXNzIjoiY2FyIiwiY29uZmlkZW5jZSI6MC44ODYsImRpc3RhbmNlX20iOjkuMywibGF0ZXJhbF9tIjotNS40LCJib3giOlswLjA5NzYsMC41MTg0LDAuMjA5NSwwLjY0NzRdfSx7ImNsYXNzIjoiY2FyIiwiY29uZmlkZW5jZSI6MC45MTYsImRpc3RhbmNlX20iOjEwLjksImxhdGVyYWxfbSI6NC43LCJib3giOlswLjcxNzUsMC41MDM3LDAuNzk4NiwwLjYxMzZdfSx7ImNsYXNzIjoiY2FyIiwiY29uZmlkZW5jZSI6MC45MDYsImRpc3RhbmNlX20iOjEyLjAsImxhdGVyYWxfbSI6LTUuMywiYm94IjpbMC4xOTA3LDAuNTE1OCwwLjI3ODMsMC42MTU2XX1dLCJsYXRlbmN5X21zIjp7ImRldGVjdGlvbiI6MzAwLCJkZXB0aCI6MTAxfX0sInZlcmRpY3QiOm51bGx9LHsiaW4iOiJAbTQiLCJvdXQiOiJAbTUiLCJ2aWV3cyI6eyJkZXB0aCI6IkBtNiIsImJldiI6IkBtNyJ9LCJzdGVwcyI6W3siayI6InNfZGV0IiwibXMiOjE5MH0seyJrIjoic19kZXB0aCIsIm1zIjo5NX0seyJrIjoic19yYW5nZSIsImFuaW0iOjYwMH0seyJrIjoic19iZXYiLCJhbmltIjo1MDB9XSwibWV0cmljcyI6eyJ1c2VycyI6eyJ2Ijo5fSwidnJ1Ijp7InYiOjF9LCJuZWFyZXN0Ijp7InYiOjExLjMsImQiOjEsInMiOiIgbSJ9LCJsYXRlbmN5IjoiMjg1IG1zIn0sImpzb24iOnsicm9hZF91c2VycyI6OSwiYnlfY2xhc3MiOnsiY2FyIjo3LCJ0cnVjayI6MSwicGVkZXN0cmlhbiI6MSwiY3ljbGlzdCI6MCwibW90b3JjeWNsZSI6MH0sIm5lYXJlc3RfbSI6MTEuMywib2JqZWN0cyI6W3siY2xhc3MiOiJ0cnVjayIsImNvbmZpZGVuY2UiOjAuOTUsImRpc3RhbmNlX20iOjExLjMsImxhdGVyYWxfbSI6Mi42LCJib3giOlswLjU0MzUsMC4yNzg2LDAuNzMwMywwLjUzMzRdfSx7ImNsYXNzIjoicGVkZXN0cmlhbiIsImNvbmZpZGVuY2UiOjAuODMsImRpc3RhbmNlX20iOjEzLjQsImxhdGVyYWxfbSI6LTQuMSwiYm94IjpbMC4zMDAxLDAuNDM2LDAuMzM3LDAuNTM3NF19LHsiY2xhc3MiOiJjYXIiLCJjb25maWRlbmNlIjowLjkyMiwiZGlzdGFuY2VfbSI6MzAuNywibGF0ZXJhbF9tIjoxOS4xLCJib3giOlswLjgyNjMsMC40NTMyLDAuOTE1NSwwLjQ5MjNdfSx7ImNsYXNzIjoiY2FyIiwiY29uZmlkZW5jZSI6MC45MTUsImRpc3RhbmNlX20iOjMxLjQsImxhdGVyYWxfbSI6LTMuNiwiYm94IjpbMC40MTIyLDAuNDYyLDAuNDUwNCwwLjUwMDFdfSx7ImNsYXNzIjoiY2FyIiwiY29uZmlkZW5jZSI6MC44OTgsImRpc3RhbmNlX20iOjM3LjIsImxhdGVyYWxfbSI6LTAuMiwiYm94IjpbMC40ODM1LDAuNDYyMiwwLjUxMTMsMC40OTQ0XX0seyJjbGFzcyI6ImNhciIsImNvbmZpZGVuY2UiOjAuODIsImRpc3RhbmNlX20iOjUwLjEsImxhdGVyYWxfbSI6MjAuNSwiYm94IjpbMC43MjcyLDAuNDU5NiwwLjc2MDMsMC40ODM1XX1dLCJsYXRlbmN5X21zIjp7ImRldGVjdGlvbiI6MTkwLCJkZXB0aCI6OTV9fSwidmVyZGljdCI6bnVsbH1dfQ==\" data-kind=\"compare\" id=\"lab-automotive\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">See the road like an ADAS system</h3>\n<p class=\"text-slate-400 leading-relaxed\">Pick a dashcam frame. Our model detects every road user, estimates depth from a single camera, ranges each object and draws a bird's-eye view of the scene.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/807b2a16c2ed715a.webp\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/719fecf2007da7cd.webp\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/ad96205ca623bb20.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/61a5c2e17ad3540a.webp\"></i><i data-k=\"@m4\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/1fa71408535357e1.webp\"></i><i data-k=\"@m5\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/41a7735b3412df0a.webp\"></i><i data-k=\"@m6\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/13e2c1122dcb283f.webp\"></i><i data-k=\"@m7\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/d2b0870098756ece.webp\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/807b2a16c2ed715a.webp\" alt=\"City street\" loading=\"lazy\"><span>City street</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/1fa71408535357e1.webp\" alt=\"Motorway at dusk\" loading=\"lazy\"><span>Motorway at dusk</span></button></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-tabs flex gap-1 mb-2 text-xs font-mono\"><button type=\"button\" data-view=\"result\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\">Result</button><button type=\"button\" data-view=\"depth\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\">Depth</button><button type=\"button\" data-view=\"bev\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\">Bird's-eye view</button></div><div class=\"lab-stage relative w-full aspect-[4/3] rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><img class=\"lab-in absolute inset-0 w-full h-full object-contain\" alt=\"Dashcam frame\" loading=\"lazy\"><div class=\"lab-outwrap absolute inset-0 hidden\" style=\"clip-path: inset(0 0 0 50%)\"><img class=\"lab-out absolute inset-0 w-full h-full object-contain\" alt=\"\"></div><div class=\"lab-divider absolute top-0 bottom-0 w-0.5 bg-white/90 hidden cursor-ew-resize\" style=\"left:50%\"><span class=\"absolute top-1/2 -translate-y-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-white text-slate-900 flex items-center justify-center shadow-lg\"><i class=\"fa-solid fa-arrows-left-right text-xs\"></i></span></div><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Road users</div><div class=\"lab-m lab-mv\" data-k=\"users\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Pedestrians and riders</div><div class=\"lab-m lab-mv\" data-k=\"vru\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Nearest object</div><div class=\"lab-m lab-mv\" data-k=\"nearest\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Inference time</div><div class=\"lab-m lab-mv\" data-k=\"latency\">–</div></div></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_det\">Detecting road users</span><span data-m=\"s_depth\">Estimating depth from one camera</span><span data-m=\"s_range\">Ranging every object</span><span data-m=\"s_bev\">Building the bird's-eye view</span><span data-m=\"model\">Gekko driving perception model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Automotive</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">High volume, tight tolerances</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Automotive lines produce huge volumes with very little room for error. Manual inspection struggles to keep up with cycle times and model variants. Defects found late lead to rework, scrap and recalls that are far more expensive than catching them at the source.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Paint and body inspection.</span> Detect scratches, dents and paint defects on body panels consistently, shift after shift.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Assembly verification.</span> Check that components, clips and connectors are present and correctly positioned.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Real-time at the line.</span> Edge inference keeps pace with production without adding cycle time.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Worker safety.</span> Monitor PPE and restricted zones around robots and heavy equipment.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-38d6facbf2f7e6e3.webp\" alt=\"Car Parts Segmentation\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Car Parts Segmentation</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 max-w-xl gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-930b9a46dee2e291.webp\" alt=\"Plate Detection\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Plate Detection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">License plates are located on moving vehicles for access control and tolling.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">ANPR</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Connect line cameras</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We integrate with your existing industrial cameras and PLCs, or help design inspection stations where coverage is missing.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Train on your variants</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We fine-tune detection and segmentation models on your parts, finishes and defect types across model variants.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Deploy and integrate</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run on edge devices at the station and report to your MES or quality systems, with monitoring and retraining as products change.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-violet/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Bring vision AI to your line</h3>\n<p class=\"text-slate-400 text-lg\">Tell us about your inspection points and we will scope a pilot that fits your production.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-consumer-goods\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Consumer Goods Intelligence</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs gives consumer goods producers automated eyes on packaging, labelling and product quality. Our models check every unit at line speed, so the product that reaches the shelf matches your brand standards every time.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-fb2d50daa126365e.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/54821a0252107f82.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/28d6227c89660300.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-green\"></span>Consumer Goods</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Label Inspection</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"consumer-goods\" data-src=\"data:application/octet-stream;base64,eyJleGFtcGxlcyI6W3siaW4iOiJAbTAiLCJvdXQiOiJAbTEiLCJ2aWV3cyI6eyJjdXQiOiJAbTIifSwic3RlcHMiOlt7ImsiOiJzX2ZpbmQiLCJtcyI6NTY5fSx7ImsiOiJzX21hdHRlIiwibXMiOjc1NX0seyJrIjoic19jb21wIiwibXMiOjEwMn1dLCJtZXRyaWNzIjp7ImVkZ2UiOnsidiI6MzAxM30sInJlcyI6IjE2MDB4MTIwMCBweCIsImNvbmYiOnsidiI6NTkuNCwicyI6IiUifSwibGF0ZW5jeSI6IjEuNCBzIn0sImpzb24iOnsicHJvZHVjdCI6ImRyb3BwZXIgYm90dGxlIiwiZGV0ZWN0aW9uX2NvbmZpZGVuY2UiOjAuNTk0LCJiYm94X25vcm0iOlswLjQ0MDgsMC4yNjksMC41NjgzLDAuODEzNl0sInNvZnRfZWRnZV9waXhlbHMiOjMwMTMsIm91dHB1dCI6IjE2MDB4MTIwMCBzdHVkaW8gc2hvdCArIHRyYW5zcGFyZW50IGN1dC1vdXQiLCJsYXRlbmN5X21zIjp7Imdyb3VuZGluZyI6NTY5LCJtYXR0aW5nIjo3NTUsImNvbXBvc2l0aW5nIjoxMDJ9fSwidmVyZGljdCI6bnVsbH0seyJpbiI6IkBtMyIsIm91dCI6IkBtNCIsInZpZXdzIjp7ImN1dCI6IkBtNSJ9LCJzdGVwcyI6W3siayI6InNfZmluZCIsIm1zIjo0OTd9LHsiayI6InNfbWF0dGUiLCJtcyI6NzQzfSx7ImsiOiJzX2NvbXAiLCJtcyI6Njh9XSwibWV0cmljcyI6eyJlZGdlIjp7InYiOjYzNDN9LCJyZXMiOiIxNjAweDEyMDAgcHgiLCJjb25mIjp7InYiOjg5LjksInMiOiIlIn0sImxhdGVuY3kiOiIxLjMgcyJ9LCJqc29uIjp7InByb2R1Y3QiOiJzbmVha2VyIiwiZGV0ZWN0aW9uX2NvbmZpZGVuY2UiOjAuODk5LCJiYm94X25vcm0iOlswLjE0NTgsMC4yMzg4LDAuODEzMywwLjcwODddLCJzb2Z0X2VkZ2VfcGl4ZWxzIjo2MzQzLCJvdXRwdXQiOiIxNjAweDEyMDAgc3R1ZGlvIHNob3QgKyB0cmFuc3BhcmVudCBjdXQtb3V0IiwibGF0ZW5jeV9tcyI6eyJncm91bmRpbmciOjQ5NywibWF0dGluZyI6NzQzLCJjb21wb3NpdGluZyI6Njh9fSwidmVyZGljdCI6bnVsbH0seyJpbiI6IkBtNiIsIm91dCI6IkBtNyIsInZpZXdzIjp7ImN1dCI6IkBtOCJ9LCJzdGVwcyI6W3siayI6InNfZmluZCIsIm1zIjo0Njd9LHsiayI6InNfbWF0dGUiLCJtcyI6ODI5fSx7ImsiOiJzX2NvbXAiLCJtcyI6NzN9XSwibWV0cmljcyI6eyJlZGdlIjp7InYiOjYwMzR9LCJyZXMiOiIxNjAweDEyMDAgcHgiLCJjb25mIjp7InYiOjkyLjUsInMiOiIlIn0sImxhdGVuY3kiOiIxLjQgcyJ9LCJqc29uIjp7InByb2R1Y3QiOiJoZWFkcGhvbmVzIiwiZGV0ZWN0aW9uX2NvbmZpZGVuY2UiOjAuOTI1LCJiYm94X25vcm0iOlswLjEyODMsMC40NDg3LDAuNjAzMywwLjgyMTRdLCJzb2Z0X2VkZ2VfcGl4ZWxzIjo2MDM0LCJvdXRwdXQiOiIxNjAweDEyMDAgc3R1ZGlvIHNob3QgKyB0cmFuc3BhcmVudCBjdXQtb3V0IiwibGF0ZW5jeV9tcyI6eyJncm91bmRpbmciOjQ2NywibWF0dGluZyI6ODI5LCJjb21wb3NpdGluZyI6NzN9fSwidmVyZGljdCI6bnVsbH1dfQ==\" data-kind=\"compare\" id=\"lab-consumer-goods\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Turn a phone photo into a catalogue shot</h3>\n<p class=\"text-slate-400 leading-relaxed\">Pick a product photo taken at home. Our model isolates the product with pixel-accurate edges, even fine laces and reflections, and places it in a clean studio scene with a natural shadow.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/dec85fc637382d8d.webp\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/fc7e7524bda7d988.webp\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/458db5cbc348a351.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/b98865bc7661fb2b.webp\"></i><i data-k=\"@m4\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/dffd570100fea9d0.webp\"></i><i data-k=\"@m5\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/4e5806aed4dcc5e5.webp\"></i><i data-k=\"@m6\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/3487fb73c95a0206.webp\"></i><i data-k=\"@m7\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/0a584e82b31ce24b.webp\"></i><i data-k=\"@m8\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/51c78cac39424f08.webp\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/dec85fc637382d8d.webp\" alt=\"Serum bottle\" loading=\"lazy\"><span>Serum bottle</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/b98865bc7661fb2b.webp\" alt=\"Sneaker\" loading=\"lazy\"><span>Sneaker</span></button><button type=\"button\" data-ex=\"2\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/3487fb73c95a0206.webp\" alt=\"Headphones\" loading=\"lazy\"><span>Headphones</span></button></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-tabs flex gap-1 mb-2 text-xs font-mono\"><button type=\"button\" data-view=\"result\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\">Result</button><button type=\"button\" data-view=\"cut\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\">Cut-out</button></div><div class=\"lab-stage relative w-full aspect-[4/3] rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><img class=\"lab-in absolute inset-0 w-full h-full object-contain\" alt=\"Product photo\" loading=\"lazy\"><div class=\"lab-outwrap absolute inset-0 hidden\" style=\"clip-path: inset(0 0 0 50%)\"><img class=\"lab-out absolute inset-0 w-full h-full object-contain\" alt=\"\"></div><div class=\"lab-divider absolute top-0 bottom-0 w-0.5 bg-white/90 hidden cursor-ew-resize\" style=\"left:50%\"><span class=\"absolute top-1/2 -translate-y-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-white text-slate-900 flex items-center justify-center shadow-lg\"><i class=\"fa-solid fa-arrows-left-right text-xs\"></i></span></div><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Soft-edge pixels refined</div><div class=\"lab-m lab-mv\" data-k=\"edge\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Output resolution</div><div class=\"lab-m lab-mv\" data-k=\"res\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Product detection</div><div class=\"lab-m lab-mv\" data-k=\"conf\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Inference time</div><div class=\"lab-m lab-mv\" data-k=\"latency\">–</div></div></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_find\">Locating the product</span><span data-m=\"s_matte\">Computing a pixel-accurate matte</span><span data-m=\"s_comp\">Composing the studio shot</span><span data-m=\"model\">Gekko product imaging model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Consumer Goods</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Many SKUs, constant change</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Consumer goods lines run at high speed across many products and frequent packaging updates. Rule-based vision systems are costly to reconfigure for every change. Small errors in labels or packaging can trigger returns, retailer penalties and damage to brand trust.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Label and print checks.</span> Verify labels, dates, barcodes and print quality on every item.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Packaging integrity.</span> Detect damaged, misaligned, open or underfilled packages before they ship.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">SKU flexibility.</span> Adapt models quickly to new products, seasonal designs and packaging changes.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Line performance insights.</span> Track defect trends by line and shift to target root causes.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-ed61f2cb8412a879.webp\" alt=\"Cap Counting\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Cap Counting</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-58963b4562c6fac1.webp\" alt=\"Seal Defect Detection\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Seal Defect Detection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Damaged lids, broken seals and dented caps are detected automatically as products move down the line. Catch defects at the source and stop a single bad pack from shipping.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Defect Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Quality Control</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Packaging</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-a7c9cbe8c34b3b04.webp\" alt=\"Bottle Line Throughput\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Bottle Line Throughput</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Every bottle is tracked through production to measure throughput live.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Tracking</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Counting</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-43a32ac0cb9bee35.webp\" alt=\"Pack Verification\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Pack Verification</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Each pack is verified as complete before it leaves the line.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">QA</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Connect your lines</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We use your existing inspection cameras or add compact capture points at key packaging stations.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Train per product family</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We fine-tune models on your SKUs and defect examples, designed to adapt quickly as designs change.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Run and improve</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run on edge at the line, trigger rejects and report to your MES, with ongoing retraining for new products.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-green/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Protect your brand on the line</h3>\n<p class=\"text-slate-400 text-lg\">Talk to our team about automating quality checks across your product range.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-healthcare\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Vision AI for Healthcare</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs builds vision and document AI that helps healthcare teams work faster and more consistently. From medical imaging support to patient monitoring and clinical paperwork, our models are designed to assist professionals, with privacy and human oversight built in from day one.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-c821d49806c7d534.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/9eee4858d786f815.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/74826931b66d29c5.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-blue\"></span>Healthcare</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Surgical Instrument Segmentation</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"healthcare\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/221629d3c2612311.bin\" id=\"lab-healthcare\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Segment a whole-body CT into 3D anatomy</h3>\n<p class=\"text-slate-400 leading-relaxed\">Run our medical imaging model on an anonymised CT scan from a public research dataset. It labels more than a hundred structures voxel by voxel, measures their volumes and rebuilds the anatomy in 3D. Research demonstration, not for diagnosis.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/edc896464c3363e5.bin\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/4a1c429a3552d763.webp\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/f599d32280c37307.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/80a63d72fc75486d.webp\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/80a63d72fc75486d.webp\" alt=\"Whole-body CT\" loading=\"lazy\"><span>Whole-body CT</span></button></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-tabs flex gap-1 mb-2 text-xs font-mono\"><button type=\"button\" data-view=\"slices\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\">Slices</button><button type=\"button\" data-view=\"3d\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\" disabled>3D anatomy</button></div><div class=\"lab-stage relative w-full aspect-[4/3] rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><canvas class=\"lab-slices absolute inset-0 w-full h-full\"></canvas><canvas class=\"lab-gl absolute inset-0 w-full h-full hidden cursor-grab\"></canvas><input type=\"range\" min=\"0\" max=\"63\" value=\"32\" class=\"lab-slider absolute bottom-3 left-1/2 -translate-x-1/2 w-2/3 accent-blue-500\" aria-label=\"Slice\"><span class=\"lab-hint absolute bottom-2 right-2 text-xs font-mono text-slate-300 bg-slate-950/70 rounded px-2 py-0.5 hidden\">Drag to rotate · scroll to zoom</span><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Structures segmented</div><div class=\"lab-m lab-mv\" data-k=\"structures\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Inference time</div><div class=\"lab-m lab-mv\" data-k=\"time\">–</div></div></div><div class=\"rounded-xl bg-white/5 border border-white/10 p-3\"><div class=\"text-xs text-slate-400 mb-2\">Show in 3D</div><div class=\"flex flex-wrap gap-1.5\"><button type=\"button\" data-g=\"organs\" class=\"lab-g text-xs font-mono px-2.5 py-1 rounded-full border border-ai-blue bg-ai-blue/20 text-white\">Organs</button><button type=\"button\" data-g=\"lungs\" class=\"lab-g text-xs font-mono px-2.5 py-1 rounded-full border border-ai-blue bg-ai-blue/20 text-white\">Lungs</button><button type=\"button\" data-g=\"vessels\" class=\"lab-g text-xs font-mono px-2.5 py-1 rounded-full border border-ai-blue bg-ai-blue/20 text-white\">Heart & vessels</button><button type=\"button\" data-g=\"bones\" class=\"lab-g text-xs font-mono px-2.5 py-1 rounded-full border border-ai-blue bg-ai-blue/20 text-white\">Bones</button><button type=\"button\" data-g=\"muscles\" class=\"lab-g text-xs font-mono px-2.5 py-1 rounded-full border border-ai-blue bg-ai-blue/20 text-white\">Muscles</button><button type=\"button\" data-g=\"nervous\" class=\"lab-g text-xs font-mono px-2.5 py-1 rounded-full border border-ai-blue bg-ai-blue/20 text-white\">Nervous system</button></div></div><div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3\"><div class=\"text-xs text-slate-400 mb-2\">Largest organs (volume)</div><ul class=\"lab-organs space-y-1 font-mono text-xs text-slate-300\"></ul></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_resample\">Resampling the CT to 1.5 mm voxels</span><span data-m=\"s_seg\">Segmenting anatomical structures</span><span data-m=\"s_mesh\">Building 3D surfaces</span><span data-m=\"s_vol\">Measuring organ volumes</span><span data-m=\"model\">Gekko medical imaging model</span><span data-m=\"min\">min</span><span data-m=\"liver\">Liver</span><span data-m=\"spleen\">Spleen</span><span data-m=\"kidney_left\">Left kidney</span><span data-m=\"kidney_right\">Right kidney</span><span data-m=\"stomach\">Stomach</span><span data-m=\"pancreas\">Pancreas</span><span data-m=\"heart\">Heart</span><span data-m=\"brain\">Brain</span><span data-m=\"aorta\">Aorta</span><span data-m=\"urinary_bladder\">Bladder</span><span data-m=\"gallbladder\">Gallbladder</span><span data-m=\"small_bowel\">Small bowel</span><span data-m=\"colon\">Colon</span><span data-m=\"lungs_total\">Lungs (5 lobes)</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Healthcare</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Stretched staff, growing data</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Clinical teams face rising volumes of images, documents and patients with limited time and staff. Manual review is slow and varies from person to person. Valuable information stays locked in images and paperwork instead of reaching the people who need it.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Imaging assistance.</span> Highlight regions of interest in medical images to support, not replace, clinical review.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Patient monitoring.</span> Detect falls, movement and room events to help staff respond sooner.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Clinical document processing.</span> Extract structured data from referrals, forms and reports to reduce administrative load.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Privacy by design.</span> On-premises or private-cloud deployment keeps patient data inside your environment.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-fb0e20600635758d.webp\" alt=\"Dental X-ray Analysis\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Dental X-ray Analysis</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-6e390c77f0d99e2b.avif\" alt=\"Pill Detection &amp; Counting\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Pill Detection &amp; Counting</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Every tablet and capsule is located and counted in a single pass, regardless of shape or colour. Automate pharmacy QA, dispensing checks and blister-pack verification with near-instant results.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Counting</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Pharma QA</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-8d2775f9173d4d56.avif\" alt=\"Rehab Exercise Tracking\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Rehab Exercise Tracking</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Pose keypoints follow the body to count repetitions and measure joint angles in real time. Patients get guided physiotherapy at home while clinicians receive objective progress data.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Pose Estimation</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Workout Monitoring</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Remote Care</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Define the clinical need</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We work with your clinicians and IT to select a focused use case, data sources and privacy requirements.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Develop with oversight</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We train and validate models on de-identified data, with clinicians reviewing outputs throughout.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Deploy securely</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run on premises or in a private cloud and integrate with your EHR or PACS, with monitoring and ongoing support.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-blue/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Explore AI for your care setting</h3>\n<p class=\"text-slate-400 text-lg\">Talk to our team about a secure, clinically guided pilot for your organisation.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-manufacturing\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Smart Manufacturing</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs brings custom computer vision to the factory floor. We turn the cameras on your lines into automated inspectors that spot defects, verify assemblies and monitor safety in real time, running on edge hardware right where production happens.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-10c7f1ff94ca6e78.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/93c7250ae8741ea5.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/e63cd4a0ad1d2d86.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-violet\"></span>Manufacturing</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Conveyor Carton Inspection</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"manufacturing\" data-src=\"data:application/octet-stream;base64,eyJleGFtcGxlcyI6W3siaW4iOiJAbTAiLCJvdXQiOiJAbTEiLCJ2aWV3cyI6e30sInN0ZXBzIjpbeyJrIjoic19maXQiLCJ0aW1lIjoiNTAgXHUyNzEzIiwiYW5pbSI6NzAwfSx7ImsiOiJzX2ZlYXQiLCJtcyI6Mjd9LHsiayI6InNfbWVtIiwibXMiOjQwfV0sIm1ldHJpY3MiOnsic2NvcmUiOnsidiI6MS4zNiwiZCI6Mn0sImFyZWEiOnsidiI6MC42OCwiZCI6MiwicyI6IiUifSwicmVnaW9ucyI6eyJ2IjoxfSwibGF0ZW5jeSI6IjY3IG1zIn0sImpzb24iOnsiZGVjaXNpb24iOiJERUZFQ1QiLCJhbm9tYWx5X3Njb3JlIjoxLjM2LCJ0aHJlc2hvbGQiOjEuMCwiZGVmZWN0X2FyZWFfcGN0IjowLjY4LCJyZWdpb25zIjoxLCJsZWFybmVkX2Zyb21fZ29vZF9wYXJ0cyI6NTAsImxhdGVuY3lfbXMiOnsiZmVhdHVyZXMiOjI3LCJtZW1vcnlfc2VhcmNoIjo0MCwiZml0X29uX2dvb2RfcGFydHMiOjQ1ODA3fSwic291cmNlIjoiVmlzQSBkYXRhc2V0IChDQyBCWSA0LjApLCBwY2I0LzAzMi5KUEcifSwidmVyZGljdCI6ImRlZmVjdCJ9LHsiaW4iOiJAbTIiLCJvdXQiOiJAbTMiLCJ2aWV3cyI6e30sInN0ZXBzIjpbeyJrIjoic19maXQiLCJ0aW1lIjoiNTAgXHUyNzEzIiwiYW5pbSI6NzAwfSx7ImsiOiJzX2ZlYXQiLCJtcyI6MjN9LHsiayI6InNfbWVtIiwibXMiOjMzfV0sIm1ldHJpY3MiOnsic2NvcmUiOnsidiI6MS40MzYsImQiOjJ9LCJhcmVhIjp7InYiOjMuMDcsImQiOjIsInMiOiIlIn0sInJlZ2lvbnMiOnsidiI6MX0sImxhdGVuY3kiOiI1NiBtcyJ9LCJqc29uIjp7ImRlY2lzaW9uIjoiREVGRUNUIiwiYW5vbWFseV9zY29yZSI6MS40MzYsInRocmVzaG9sZCI6MS4wLCJkZWZlY3RfYXJlYV9wY3QiOjMuMDcsInJlZ2lvbnMiOjEsImxlYXJuZWRfZnJvbV9nb29kX3BhcnRzIjo1MCwibGF0ZW5jeV9tcyI6eyJmZWF0dXJlcyI6MjMsIm1lbW9yeV9zZWFyY2giOjMzLCJmaXRfb25fZ29vZF9wYXJ0cyI6NDUwMjB9LCJzb3VyY2UiOiJWaXNBIGRhdGFzZXQgKENDIEJZIDQuMCksIGNoZXdpbmdndW0vMDQ1LkpQRyJ9LCJ2ZXJkaWN0IjoiZGVmZWN0In0seyJpbiI6IkBtNCIsIm91dCI6IkBtNSIsInZpZXdzIjp7fSwic3RlcHMiOlt7ImsiOiJzX2ZpdCIsInRpbWUiOiI1MCBcdTI3MTMiLCJhbmltIjo3MDB9LHsiayI6InNfZmVhdCIsIm1zIjoyOH0seyJrIjoic19tZW0iLCJtcyI6NDF9XSwibWV0cmljcyI6eyJzY29yZSI6eyJ2IjoxLjY2LCJkIjoyfSwiYXJlYSI6eyJ2IjoxLjU5LCJkIjoyLCJzIjoiJSJ9LCJyZWdpb25zIjp7InYiOjF9LCJsYXRlbmN5IjoiNjkgbXMifSwianNvbiI6eyJkZWNpc2lvbiI6IkRFRkVDVCIsImFub21hbHlfc2NvcmUiOjEuNjYsInRocmVzaG9sZCI6MS4wLCJkZWZlY3RfYXJlYV9wY3QiOjEuNTksInJlZ2lvbnMiOjEsImxlYXJuZWRfZnJvbV9nb29kX3BhcnRzIjo1MCwibGF0ZW5jeV9tcyI6eyJmZWF0dXJlcyI6MjgsIm1lbW9yeV9zZWFyY2giOjQxLCJmaXRfb25fZ29vZF9wYXJ0cyI6NDc1NzN9LCJzb3VyY2UiOiJWaXNBIGRhdGFzZXQgKENDIEJZIDQuMCksIGNhc2hldy8wMzAuSlBHIn0sInZlcmRpY3QiOiJkZWZlY3QifSx7ImluIjoiQG02Iiwib3V0IjoiQG03Iiwidmlld3MiOnt9LCJzdGVwcyI6W3siayI6InNfZml0IiwidGltZSI6IjUwIFx1MjcxMyIsImFuaW0iOjcwMH0seyJrIjoic19mZWF0IiwibXMiOjM1fSx7ImsiOiJzX21lbSIsIm1zIjo1MH1dLCJtZXRyaWNzIjp7InNjb3JlIjp7InYiOjAuNzUxLCJkIjoyfSwiYXJlYSI6eyJ2IjowLjAsImQiOjIsInMiOiIlIn0sInJlZ2lvbnMiOnsidiI6MH0sImxhdGVuY3kiOiI4NSBtcyJ9LCJqc29uIjp7ImRlY2lzaW9uIjoiT0siLCJhbm9tYWx5X3Njb3JlIjowLjc1MSwidGhyZXNob2xkIjoxLjAsImRlZmVjdF9hcmVhX3BjdCI6MC4wLCJyZWdpb25zIjowLCJsZWFybmVkX2Zyb21fZ29vZF9wYXJ0cyI6NTAsImxhdGVuY3lfbXMiOnsiZmVhdHVyZXMiOjM1LCJtZW1vcnlfc2VhcmNoIjo1MCwiZml0X29uX2dvb2RfcGFydHMiOjQ1Njc5fSwic291cmNlIjoiVmlzQSBkYXRhc2V0IChDQyBCWSA0LjApLCBjYW5kbGUvMDk0Ny5KUEcifSwidmVyZGljdCI6Im9rIn1dfQ==\" data-kind=\"compare\" id=\"lab-manufacturing\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Find defects it has never seen</h3>\n<p class=\"text-slate-400 leading-relaxed\">No defect examples needed: our model learns what a good part looks like from a few dozen photos, then highlights anything that deviates, from scratches to missing components. Drag the divider to compare.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/ec81d2c6a9fd9670.webp\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/11ef6ede62649821.webp\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/46ec76ef117d8f70.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/a515205ee9a973ad.webp\"></i><i data-k=\"@m4\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/b1af579a7fc99fd1.webp\"></i><i data-k=\"@m5\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/80343c41d54d5cd4.webp\"></i><i data-k=\"@m6\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/7ef0b0f772263c02.webp\"></i><i data-k=\"@m7\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/56b19e7da7bf0e42.webp\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/ec81d2c6a9fd9670.webp\" alt=\"Circuit board\" loading=\"lazy\"><span>Circuit board</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/46ec76ef117d8f70.webp\" alt=\"Food product\" loading=\"lazy\"><span>Food product</span></button><button type=\"button\" data-ex=\"2\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/b1af579a7fc99fd1.webp\" alt=\"Natural product\" loading=\"lazy\"><span>Natural product</span></button><button type=\"button\" data-ex=\"3\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/7ef0b0f772263c02.webp\" alt=\"Candle\" loading=\"lazy\"><span>Candle</span></button></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-stage relative w-full aspect-[4/3] rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><img class=\"lab-in absolute inset-0 w-full h-full object-contain\" alt=\"Part on the inspection line\" loading=\"lazy\"><div class=\"lab-outwrap absolute inset-0 hidden\" style=\"clip-path: inset(0 0 0 50%)\"><img class=\"lab-out absolute inset-0 w-full h-full object-contain\" alt=\"\"></div><div class=\"lab-divider absolute top-0 bottom-0 w-0.5 bg-white/90 hidden cursor-ew-resize\" style=\"left:50%\"><span class=\"absolute top-1/2 -translate-y-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-white text-slate-900 flex items-center justify-center shadow-lg\"><i class=\"fa-solid fa-arrows-left-right text-xs\"></i></span></div><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"flex flex-wrap gap-2\"><span class=\"lab-badge-verdict hidden inline-flex items-center gap-2 text-sm font-bold rounded-full px-3 py-1 bg-red-500/15 text-red-300 border border-red-500/40\" data-v=\"defect\"><i class=\"fa-solid fa-triangle-exclamation\"></i>DEFECT</span><span class=\"lab-badge-verdict hidden inline-flex items-center gap-2 text-sm font-bold rounded-full px-3 py-1 bg-emerald-500/15 text-emerald-300 border border-emerald-500/40\" data-v=\"ok\"><i class=\"fa-solid fa-circle-check\"></i>OK</span></div><div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Anomaly score (threshold 1.0)</div><div class=\"lab-m lab-mv\" data-k=\"score\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Defect area</div><div class=\"lab-m lab-mv\" data-k=\"area\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Defect regions</div><div class=\"lab-m lab-mv\" data-k=\"regions\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Inference time</div><div class=\"lab-m lab-mv\" data-k=\"latency\">–</div></div></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_fit\">Learning normal appearance from good parts</span><span data-m=\"s_feat\">Extracting multi-scale features</span><span data-m=\"s_mem\">Comparing with the memory of good parts</span><span data-m=\"model\">Gekko anomaly detection model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Manufacturing</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Manual inspection cannot keep pace</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Human inspectors get tired, and sampling-based checks let defects slip through. Traditional machine vision is rigid and expensive to adapt when products change. Defects caught late mean scrap, rework and unhappy customers.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Automated defect detection.</span> Catch surface flaws, missing features and dimensional issues before parts move downstream.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Process monitoring.</span> Watch machines and workstations to detect jams, anomalies and deviations early.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Safety compliance.</span> Monitor PPE use and restricted zones to keep people safe around machinery.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Edge inference.</span> Low-latency models run on site, even without a reliable internet connection.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-8617e82fd752d29a.webp\" alt=\"Production Line Monitoring\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Production Line Monitoring</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-04948b1873225d7d.webp\" alt=\"Bottle Cap &amp; Label QA\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Bottle Cap &amp; Label QA</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Each bottle is counted as it passes while caps and labels are verified on the moving belt. Missing caps or misapplied labels trigger instant alerts without slowing production.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Counting</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Quality Control</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-2eff3c495e3ae9dc.webp\" alt=\"Conveyor Counting\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Conveyor Counting</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Products are counted automatically as they cross the line, keeping production on target.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Counting</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Tracking</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Connect your cameras</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We start with the cameras you already have on the line, adding capture points only where coverage is missing.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Train on your parts</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We fine-tune detection and segmentation models on your products and defect types, validated with your quality team.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Deploy and integrate</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run on edge devices and connect to your MES, PLCs and dashboards, with continuous monitoring and retraining.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-violet/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Automate your quality control</h3>\n<p class=\"text-slate-400 text-lg\">Tell us about your line and we will design a pilot around your toughest inspection problem.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-media\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Media &amp; Sports Analytics</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs helps media companies make sense of huge video and image libraries. Our detection models and VLMs tag scenes, objects, text and people automatically, so archives become searchable and production workflows move faster.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-8d37d5442e9b0d20.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/47ba279cf5493192.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/8e671b1b4c648824.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-green\"></span>Media</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Live Sports Detection</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"media\" data-src=\"data:application/octet-stream;base64,eyJleGFtcGxlcyI6W3sicGljayI6IkBtMCIsImZyYW1lcyI6MTI0LCJ0YXJnZXRzIjpbeyJsYWJlbCI6InBlcnNvbiIsImNvbmZpZGVuY2UiOjAuOTUzLCJib3giOlswLjY0MDIsMC4zMjQ2LDAuNzYxNCwwLjcyMjldLCJ0cmFja2VkX2ZyYW1lcyI6MTI0LCJjb3ZlcmFnZV9wY3QiOjEwMC4wLCJwYXRoX3B4IjoxNDgxLCJtZWFuX2FyZWFfcHgiOjE0MzE4LCJ0aW1pbmdfbXMiOnsidHJhY2tpbmciOjkxNzgwLCJwZXJfZnJhbWUiOjc0MH0sInZpZGVvIjoiQG0xIn0seyJsYWJlbCI6InBlcnNvbiIsImNvbmZpZGVuY2UiOjAuOTI1LCJib3giOlswLjI4MSwwLjMwMzcsMC4zODc1LDAuNjI4N10sInRyYWNrZWRfZnJhbWVzIjoxMjQsImNvdmVyYWdlX3BjdCI6MTAwLjAsInBhdGhfcHgiOjE3NzYsIm1lYW5fYXJlYV9weCI6OTgwNSwidGltaW5nX21zIjp7InRyYWNraW5nIjo5NDIwOSwicGVyX2ZyYW1lIjo3NjB9LCJ2aWRlbyI6IkBtMiJ9LHsibGFiZWwiOiJzcG9ydHMgYmFsbCIsImNvbmZpZGVuY2UiOjAuOTA1LCJib3giOlswLjMzODMsMC41OTk4LDAuMzY3NywwLjY0NjNdLCJ0cmFja2VkX2ZyYW1lcyI6MTE5LCJjb3ZlcmFnZV9wY3QiOjk2LjAsInBhdGhfcHgiOjE1ODEsIm1lYW5fYXJlYV9weCI6NTExLCJ0aW1pbmdfbXMiOnsidHJhY2tpbmciOjk5MjA1LCJwZXJfZnJhbWUiOjgwMH0sInZpZGVvIjoiQG0zIn1dfSx7InBpY2siOiJAbTQiLCJmcmFtZXMiOjE5MSwidGFyZ2V0cyI6W3sibGFiZWwiOiJwZXJzb24iLCJjb25maWRlbmNlIjowLjkzOCwiYm94IjpbMC41LDAuMzM2MiwwLjc3ODUsMC45NzYxXSwidHJhY2tlZF9mcmFtZXMiOjE5MSwiY292ZXJhZ2VfcGN0IjoxMDAuMCwicGF0aF9weCI6MTM5MywibWVhbl9hcmVhX3B4IjoyOTE0OCwidGltaW5nX21zIjp7InRyYWNraW5nIjoxNTA2MzAsInBlcl9mcmFtZSI6Nzg5fSwidmlkZW8iOiJAbTUifSx7ImxhYmVsIjoicGVyc29uIiwiY29uZmlkZW5jZSI6MC41MDQsImJveCI6WzAuNTY5MSwwLjMzNzgsMC43NjEsMC43Njk1XSwidHJhY2tlZF9mcmFtZXMiOjE5MSwiY292ZXJhZ2VfcGN0IjoxMDAuMCwicGF0aF9weCI6MTY1NiwibWVhbl9hcmVhX3B4IjoxMzA1OCwidGltaW5nX21zIjp7InRyYWNraW5nIjoxNTQ1MTgsInBlcl9mcmFtZSI6ODA5fSwidmlkZW8iOiJAbTYifSx7ImxhYmVsIjoic3BvcnRzIGJhbGwiLCJjb25maWRlbmNlIjowLjg3MiwiYm94IjpbMC42OTY4LDAuNzI2NiwwLjc0NTYsMC44MTVdLCJ0cmFja2VkX2ZyYW1lcyI6MTkxLCJjb3ZlcmFnZV9wY3QiOjEwMC4wLCJwYXRoX3B4IjozMzA2LCJtZWFuX2FyZWFfcHgiOjE3NjIsInRpbWluZ19tcyI6eyJ0cmFja2luZyI6MTQ4MDI3LCJwZXJfZnJhbWUiOjc3NX0sInZpZGVvIjoiQG03In1dfV19\" data-kind=\"track\" id=\"lab-media\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Follow any player through the clip</h3>\n<p class=\"text-slate-400 leading-relaxed\">Pick a clip and a target. Our video model locks on to it in the first frame and keeps its exact silhouette through fast motion, occlusions and camera moves, ready for highlights, graphics or analytics.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/631659e1e577fb41.webp\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/9853a10e7d30bcc8.mp4\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/ed560790ee21a308.mp4\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/3df93b1c67f112ad.mp4\"></i><i data-k=\"@m4\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/3d52432b7eaab46d.webp\"></i><i data-k=\"@m5\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/b7689447803f8534.mp4\"></i><i data-k=\"@m6\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/05396d63fc1e3170.mp4\"></i><i data-k=\"@m7\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/7efc8aa20738e104.mp4\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/c61c64e4ef1449bd.webp\" alt=\"Football\" loading=\"lazy\"><span>Football</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/d209c7f41c421021.webp\" alt=\"Basketball\" loading=\"lazy\"><span>Basketball</span></button></div><div class=\"mb-4\"><div class=\"text-xs text-slate-400 mb-2\">Pick a target (outlined on the first frame)</div><div class=\"lab-chipset flex flex-wrap gap-2\" data-for=\"0\"><button type=\"button\" data-obj=\"0\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60 bg-ai-blue/20 border-ai-blue text-white\"><i class=\"fa-solid fa-crosshairs mr-1.5 text-sky-300\"></i>Follow player 1</button><button type=\"button\" data-obj=\"1\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-solid fa-crosshairs mr-1.5 text-amber-300\"></i>Follow player 2</button><button type=\"button\" data-obj=\"2\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-solid fa-crosshairs mr-1.5 text-pink-300\"></i>Follow the ball</button></div><div class=\"lab-chipset flex flex-wrap gap-2 hidden\" data-for=\"1\"><button type=\"button\" data-obj=\"0\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60 bg-ai-blue/20 border-ai-blue text-white\"><i class=\"fa-solid fa-crosshairs mr-1.5 text-sky-300\"></i>Follow player 1</button><button type=\"button\" data-obj=\"1\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-solid fa-crosshairs mr-1.5 text-amber-300\"></i>Follow player 2</button><button type=\"button\" data-obj=\"2\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-solid fa-crosshairs mr-1.5 text-pink-300\"></i>Follow the ball</button></div></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-stage relative w-full aspect-video rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><video class=\"lab-in absolute inset-0 w-full h-full object-cover\" muted playsinline preload=\"none\"></video><video class=\"lab-out absolute inset-0 w-full h-full object-cover hidden\" muted playsinline preload=\"none\"></video><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Frames tracked</div><div class=\"lab-m lab-mv\" data-k=\"frames\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Coverage</div><div class=\"lab-m lab-mv\" data-k=\"coverage\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Path length</div><div class=\"lab-m lab-mv\" data-k=\"path\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Time per frame</div><div class=\"lab-m lab-mv\" data-k=\"latency\">–</div></div></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_decode\">Decoding the clip</span><span data-m=\"s_prompt\">Locking on to the selected target</span><span data-m=\"s_track\">Following it frame by frame</span><span data-m=\"frames\">frames</span><span data-m=\"model\">Gekko video segmentation model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Media</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Too much content, too little metadata</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Media organisations generate and store more footage than teams can ever tag by hand. Without good metadata, valuable content sits unused in archives. Manual logging and moderation slow down production and increase the risk of publishing errors.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Automated tagging.</span> Generate rich metadata for scenes, objects and on-screen text across your library.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Searchable archives.</span> Find the exact clip or image with natural-language search powered by VLMs.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Content moderation.</span> Flag sensitive or non-compliant content before it is published.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Faster production.</span> Speed up logging, highlight selection and clip preparation for editorial teams.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-191678f465b48130.webp\" alt=\"Action Pose Tracking\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Action Pose Tracking</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 max-w-xl gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-7c4ad5f33e6f27b5.webp\" alt=\"Text-Prompted Object Tracking\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Text-Prompted Object Tracking</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Any object described in plain language is cut out and followed through the clip, ready for editing, graphics and effects.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Segmentation</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Tracking</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Editing</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Connect your library</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We integrate with your MAM, storage or live feeds and define the metadata your teams actually need.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Tailor the models</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We adapt detection and VLM pipelines to your content, brands, formats and editorial taxonomy.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Scale in production</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Pipelines run in the cloud or on premises, writing metadata back into your MAM, with ongoing quality monitoring.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-green/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Unlock your content library</h3>\n<p class=\"text-slate-400 text-lg\">Talk to our team about making your video and image archive searchable.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-retail\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Smart Retail</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs turns in-store cameras into a real-time view of shelves, queues and customer flow. Our models help retailers keep products available, understand how stores are used and reduce loss, without changing how customers shop.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-1f0d0a8ac16e0f80.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/7d29bffbce20bb88.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/7ef914d9c8b51333.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-blue\"></span>Retail</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Shelf &amp; Shopper Analytics</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"retail\" data-src=\"data:application/octet-stream;base64,eyJleGFtcGxlcyI6W3siaW4iOiJAbTAiLCJvdXQiOiJAbTEiLCJmYWNpbmdzIjo5NywicHJvZHVjdHMiOjcsInJvd3MiOjQsInBlcl9yb3ciOlsyNSwxOCwyOCwyNl0sImdhcHMiOjEsIm1pc3NpbmdfZmFjaW5ncyI6OCwibWlzcGxhY2VkIjoxLCJjb21wbGlhbmNlIjo5MS40LCJnYXBfYm94ZXMiOltbMC4zNDc4LDAuNDE5MywwLjY0NzUsMC41OTI5XV0sIm1pc3BsYWNlZF9ib3hlcyI6W1swLjQ5MDUsMC42Mjg0LDAuNTIzOCwwLjc5NzhdXSwibWVhbl9jb25mIjowLjgyNSwidGltaW5nX21zIjp7ImRldGVjdGlvbiI6MTYxLCJlbWJlZGRpbmciOjExNzcsInJ1bGVzIjoxfX0seyJpbiI6IkBtMiIsIm91dCI6IkBtMyIsImZhY2luZ3MiOjYwLCJwcm9kdWN0cyI6MTIsInJvd3MiOjQsInBlcl9yb3ciOlsyMSwxNCwxMywxMl0sImdhcHMiOjEsIm1pc3NpbmdfZmFjaW5ncyI6NiwibWlzcGxhY2VkIjoxLCJjb21wbGlhbmNlIjo4OS40LCJnYXBfYm94ZXMiOltbMC4zMjIxLDAuNTM1NiwwLjY0MDIsMC43MDY1XV0sIm1pc3BsYWNlZF9ib3hlcyI6W1swLjU2NjcsMC43NjIxLDAuNjIzOCwwLjk0NTldXSwibWVhbl9jb25mIjowLjgxNCwidGltaW5nX21zIjp7ImRldGVjdGlvbiI6MTI5LCJlbWJlZGRpbmciOjY5NywicnVsZXMiOjB9fSx7ImluIjoiQG00Iiwib3V0IjoiQG01IiwiZmFjaW5ncyI6MjkxLCJwcm9kdWN0cyI6MTAsInJvd3MiOjEwLCJwZXJfcm93IjpbMjMsMjksMjUsMzEsMjgsMzMsMjcsMzMsMjgsMzRdLCJnYXBzIjoyLCJtaXNzaW5nX2ZhY2luZ3MiOjQsIm1pc3BsYWNlZCI6MSwiY29tcGxpYW5jZSI6OTguMywiZ2FwX2JveGVzIjpbWzAuNDQzMSwwLjI2NDcsMC41MDQsMC4zMjY2XSxbMC40NDQsMC4zMjg4LDAuNTA0NSwwLjM4ODRdXSwibWlzcGxhY2VkX2JveGVzIjpbWzAuNTA2MSwwLjQ3LDAuNTQyLDAuNTQ5MV1dLCJtZWFuX2NvbmYiOjAuODMxLCJ0aW1pbmdfbXMiOnsiZGV0ZWN0aW9uIjoxMzYsImVtYmVkZGluZyI6MzM2NSwicnVsZXMiOjJ9fV19\" id=\"lab-retail\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Audit a shelf in seconds</h3>\n<p class=\"text-slate-400 leading-relaxed\">Pick a shelf. Our model detects every facing, groups identical products without any catalogue, and flags empty gaps and items placed in the wrong block. Drag the divider to compare.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/162952d7df692a9e.webp\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/6e557896763e0cc8.webp\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/42dbca1fff909e1f.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/1ba25b25179b404a.webp\"></i><i data-k=\"@m4\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/87eb1aaa86716d5f.webp\"></i><i data-k=\"@m5\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/90a0cbceacc2bdfd.webp\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/162952d7df692a9e.webp\" alt=\"Beverages\" loading=\"lazy\"><span>Beverages</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/42dbca1fff909e1f.webp\" alt=\"Household\" loading=\"lazy\"><span>Household</span></button><button type=\"button\" data-ex=\"2\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/87eb1aaa86716d5f.webp\" alt=\"Canned food\" loading=\"lazy\"><span>Canned food</span></button></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-stage relative w-full aspect-[4/3] rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><img class=\"lab-in absolute inset-0 w-full h-full object-contain\" alt=\"Shelf photo\" loading=\"lazy\"><div class=\"lab-outwrap absolute inset-0 hidden\" style=\"clip-path: inset(0 0 0 50%)\"><img class=\"lab-out absolute inset-0 w-full h-full object-contain\" alt=\"Shelf audit result\"></div><div class=\"lab-divider absolute top-0 bottom-0 w-0.5 bg-white/90 hidden cursor-ew-resize\" style=\"left:50%\"><span class=\"absolute top-1/2 -translate-y-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-white text-slate-900 flex items-center justify-center shadow-lg\"><i class=\"fa-solid fa-arrows-left-right text-xs\"></i></span></div><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"rounded-xl bg-white/5 border border-white/10 p-4 text-center\"><div class=\"text-xs text-slate-400\">Planogram compliance</div><div class=\"lab-m text-4xl font-extrabold text-gradient font-mono mt-1\" data-k=\"compliance\">–</div></div><div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Facings detected</div><div class=\"lab-m lab-mv\" data-k=\"facings\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Product types</div><div class=\"lab-m lab-mv\" data-k=\"products\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Empty gaps</div><div class=\"lab-m lab-mv\" data-k=\"gaps\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Misplaced items</div><div class=\"lab-m lab-mv\" data-k=\"misplaced\">–</div></div></div><div class=\"flex flex-wrap gap-x-4 gap-y-1 text-xs text-slate-400\"><span><i class=\"fa-solid fa-square text-ai-blue mr-1\"></i>Product group</span><span><i class=\"fa-solid fa-square mr-1\" style=\"color:#ffb000\"></i>Empty gap</span><span><i class=\"fa-solid fa-square mr-1\" style=\"color:#ff283c\"></i>Misplaced item</span></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_detect\">Detecting every product facing</span><span data-m=\"s_embed\">Grouping products by visual similarity</span><span data-m=\"s_rules\">Checking gaps and planogram rules</span><span data-m=\"model\">Gekko shelf model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Retail</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Store teams cannot see everything</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Retailers run many stores with thin margins and limited staff on the floor. Out-of-stocks, long queues and display errors cost sales but are often noticed too late. Manual audits are periodic and inconsistent across locations.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Shelf availability.</span> Detect empty shelves and misplaced products so staff can restock faster.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Footfall and queues.</span> Measure traffic and queue lengths to staff checkouts and floors effectively.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Planogram compliance.</span> Check displays, pricing and promotions match the plan across every store.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Loss prevention.</span> Highlight unusual checkout and shelf activity for review by your team.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-bc210a01bf431dce.webp\" alt=\"Checkout Dwell Time\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Checkout Dwell Time</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-df1438712646107e.avif\" alt=\"Footfall Heatmaps\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Footfall Heatmaps</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Customer movement is aggregated over time into a heatmap that reveals hot zones and dead aisles at a glance. Optimise store layouts, product placement and staffing with real behavioural data.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Tracking</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Heatmaps</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Store Analytics</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-42c60aad1aceca29.avif\" alt=\"Queue Management\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Queue Management</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">People waiting in line are detected and counted in real time inside a defined region. Staff are alerted to open more tills before queues build, improving service and reducing walk-outs.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Region Counting</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Queue Analytics</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Use existing cameras</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We connect to your in-store CCTV and add shelf cameras only where they add clear value.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Train on your stores</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We fine-tune models on your products, fixtures and store layouts, with privacy-preserving processing.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Deploy and act</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run on in-store edge devices or cloud and send alerts and insights to staff apps, BI tools or your retail systems.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-blue/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">See your stores in real time</h3>\n<p class=\"text-slate-400 text-lg\">Talk to our team about a pilot in a few of your locations.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-robotics\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Vision-Guided Robotics</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs builds the perception layer that lets robots see, understand and act in the real world. Our compact detection, segmentation and VLM models run on embedded hardware, giving robots reliable object recognition and scene understanding in changing environments.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-1c7f44b28e6145e9.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/7f2222e20dc89184.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/b22e938c192f45bf.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-violet\"></span>Robotics</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Robotic Cell Perception</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"robotics\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/19f40eab48c5d1f7.bin\" id=\"lab-robotics\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Tell the robot what to pick</h3>\n<p class=\"text-slate-400 leading-relaxed\">Choose a scene and an instruction. Our vision model finds the object from plain language, cuts it out at pixel level, estimates depth from a single camera and plans where the gripper should close. Then explore the scene in 3D.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/81396a18305d855e.webp\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/323680ae8c39b03e.bin\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/bab4d063d8d070d6.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/5f7ffa2d5b828699.bin\"></i><i data-k=\"@m4\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/ea25649f8ea42323.webp\"></i><i data-k=\"@m5\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/5160094a609b816c.bin\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/81396a18305d855e.webp\" alt=\"Workbench\" loading=\"lazy\"><span>Workbench</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/bab4d063d8d070d6.webp\" alt=\"Picking bin\" loading=\"lazy\"><span>Picking bin</span></button><button type=\"button\" data-ex=\"2\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/ea25649f8ea42323.webp\" alt=\"Cobot table\" loading=\"lazy\"><span>Cobot table</span></button></div><div class=\"mb-4\"><div class=\"text-xs text-slate-400 mb-2\">Instruction to the robot</div><div class=\"lab-chipset flex flex-wrap gap-2\" data-for=\"0\"><button type=\"button\" data-obj=\"0\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60 bg-ai-blue/20 border-ai-blue text-white\"><i class=\"fa-solid fa-terminal mr-1.5 opacity-60\"></i>Pick up the red screwdriver</button><button type=\"button\" data-obj=\"1\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-solid fa-terminal mr-1.5 opacity-60\"></i>Pick up the pliers</button><button type=\"button\" data-obj=\"2\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-solid fa-terminal mr-1.5 opacity-60\"></i>Pick up the cordless drill</button></div><div class=\"lab-chipset flex flex-wrap gap-2 hidden\" data-for=\"1\"><button type=\"button\" data-obj=\"0\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60 bg-ai-blue/20 border-ai-blue text-white\"><i class=\"fa-solid fa-terminal mr-1.5 opacity-60\"></i>Pick up the mug</button><button type=\"button\" data-obj=\"1\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-solid fa-terminal mr-1.5 opacity-60\"></i>Pick up the work gloves</button><button type=\"button\" data-obj=\"2\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-solid fa-terminal mr-1.5 opacity-60\"></i>Pick up the white bottle</button></div><div class=\"lab-chipset flex flex-wrap gap-2 hidden\" data-for=\"2\"><button type=\"button\" data-obj=\"0\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60 bg-ai-blue/20 border-ai-blue text-white\"><i class=\"fa-solid fa-terminal mr-1.5 opacity-60\"></i>Pick up the banana</button><button type=\"button\" data-obj=\"1\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-solid fa-terminal mr-1.5 opacity-60\"></i>Pick up the scissors</button><button type=\"button\" data-obj=\"2\" class=\"lab-chip text-xs font-mono px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-solid fa-terminal mr-1.5 opacity-60\"></i>Pick up the blue cup</button></div></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-tabs flex gap-1 mb-2 text-xs font-mono\"><button type=\"button\" data-view=\"2d\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\">Camera</button><button type=\"button\" data-view=\"3d\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\" disabled>3D scene</button><button type=\"button\" data-view=\"depth\" class=\"lab-tab px-3 py-1.5 rounded-lg border border-white/10 text-slate-300 hover:text-white disabled:opacity-40\" disabled>Depth</button></div><div class=\"lab-stage relative w-full aspect-[4/3] rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><img class=\"lab-in absolute inset-0 w-full h-full object-contain\" alt=\"Robot camera view\" loading=\"lazy\"><canvas class=\"lab-overlay absolute inset-0 w-full h-full\"></canvas><canvas class=\"lab-gl absolute inset-0 w-full h-full hidden cursor-grab\"></canvas><span class=\"lab-hint absolute bottom-2 right-2 text-xs font-mono text-slate-300 bg-slate-950/70 rounded px-2 py-0.5 hidden\">Drag to rotate · scroll to zoom</span><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Detection confidence</div><div class=\"lab-m lab-mv\" data-k=\"conf\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Gripper angle</div><div class=\"lab-m lab-mv\" data-k=\"angle\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Grasp width</div><div class=\"lab-m lab-mv\" data-k=\"width\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Relative depth</div><div class=\"lab-m lab-mv\" data-k=\"depth\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Object pixels</div><div class=\"lab-m lab-mv\" data-k=\"pixels\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Inference time</div><div class=\"lab-m lab-mv\" data-k=\"latency\">–</div></div></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_depth\">Estimating depth from a single camera</span><span data-m=\"s_ground\">Finding the object from the instruction</span><span data-m=\"s_seg\">Segmenting the object at pixel level</span><span data-m=\"s_grasp\">Planning a stable grasp</span><span data-m=\"s_3d\">Building the 3D scene</span><span data-m=\"model\">Gekko robotics vision model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Robotics</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Real environments are messy</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Robots that work well in the lab often struggle with new objects, clutter and changing light in real facilities. Off-the-shelf models rarely match the exact items and conditions a robot faces. Perception failures lead to missed picks, stoppages and lost trust in automation.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Robust perception.</span> Detect and segment objects reliably under varying lighting, clutter and viewpoints.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Grasp and pick support.</span> Precise object masks and poses help arms pick varied items accurately.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Embedded efficiency.</span> Models optimised for Jetson-class and other edge hardware with tight power budgets.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Scene understanding.</span> VLMs let robots interpret instructions and context, not just bounding boxes.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-7fa957af8142245c.webp\" alt=\"Vision-Guided Pick &amp; Place\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Vision-Guided Pick &amp; Place</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-8497198baf1a2053.webp\" alt=\"6-DoF Object Pose\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">6-DoF Object Pose</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">The full 3D position and orientation of everyday items is estimated from camera images. Grippers know exactly where and how to grasp, enabling flexible bin picking and assembly.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">6-DoF Pose</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">3D Vision</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Grasp Planning</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-fc98e8b421109c3e.webp\" alt=\"Vision-Guided Arm\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Vision-Guided Arm</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Live detection guides a robot arm to pick parts and reject the defective ones.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Robotics</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Detection</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Capture robot data</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We collect imagery from your robot&#x27;s own cameras and sensors in the environments where it operates.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Train and optimise</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We train perception models on your objects and tasks, then compress and optimise them for your onboard compute.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Integrate and iterate</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We integrate with your ROS or control stack and keep improving models as new objects and edge cases appear.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-violet/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Give your robots better vision</h3>\n<p class=\"text-slate-400 text-lg\">Talk to our team about the perception challenge holding your robots back.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-transportation\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Intelligent Transportation</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs applies computer vision to roads, rail and public transport networks. Our models monitor traffic, detect incidents and inspect infrastructure using existing cameras, giving operators the real-time awareness they need to keep people moving safely.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-42706277b86dcb7c.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/113359508fc3cb7c.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/0894d02e9331fc9e.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-green\"></span>Transportation</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Intersection Flow Analysis</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"transportation\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/7ca20f2d80da4193.bin\" id=\"lab-transportation\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Turn a traffic camera into live statistics</h3>\n<p class=\"text-slate-400 leading-relaxed\">Press Run inference on this aerial clip. Our model detects every vehicle, follows it across frames, estimates its speed and builds the traffic dashboard as the video plays.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/84a77be7192235f2.mp4\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/c124dea79411b9d4.mp4\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/c522381084608190.jpg\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/c522381084608190.jpg\" alt=\"Urban highway\" loading=\"lazy\"><span>Urban highway</span></button></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-stage relative w-full aspect-video rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><video class=\"lab-in absolute inset-0 w-full h-full object-cover\" muted loop playsinline preload=\"none\" poster=\"https://gekko-assets.gekkolabs.workers.dev/c522381084608190.jpg\"></video><video class=\"lab-out absolute inset-0 w-full h-full object-cover hidden\" muted playsinline preload=\"none\"></video><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Vehicles counted</div><div class=\"lab-m lab-mv\" data-k=\"vehicles\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">In view now</div><div class=\"lab-m lab-mv\" data-k=\"in_view\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Heading right →</div><div class=\"lab-m lab-mv\" data-k=\"right\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Heading left ←</div><div class=\"lab-m lab-mv\" data-k=\"left\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Average speed</div><div class=\"lab-m lab-mv\" data-k=\"avg\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Top speed</div><div class=\"lab-m lab-mv\" data-k=\"max\">–</div></div></div><div class=\"rounded-xl bg-white/5 border border-white/10 p-3\"><div class=\"text-xs text-slate-400 mb-2\">Vehicle mix</div><div class=\"flex items-center gap-2 text-xs text-slate-300 mb-1\"><span class=\"w-12\">Cars</span><div class=\"flex-1 h-2 rounded bg-white/10 overflow-hidden\"><div class=\"lab-bar h-full bg-ai-gradient transition-[width] duration-300\" data-k=\"car\" style=\"width:0\"></div></div><span class=\"lab-m w-6 text-right font-mono\" data-k=\"car\">0</span></div><div class=\"flex items-center gap-2 text-xs text-slate-300 mb-1\"><span class=\"w-12\">Vans</span><div class=\"flex-1 h-2 rounded bg-white/10 overflow-hidden\"><div class=\"lab-bar h-full bg-ai-gradient transition-[width] duration-300\" data-k=\"van\" style=\"width:0\"></div></div><span class=\"lab-m w-6 text-right font-mono\" data-k=\"van\">0</span></div><div class=\"flex items-center gap-2 text-xs text-slate-300 mb-1\"><span class=\"w-12\">Trucks</span><div class=\"flex-1 h-2 rounded bg-white/10 overflow-hidden\"><div class=\"lab-bar h-full bg-ai-gradient transition-[width] duration-300\" data-k=\"truck\" style=\"width:0\"></div></div><span class=\"lab-m w-6 text-right font-mono\" data-k=\"truck\">0</span></div></div><div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3\"><div class=\"text-xs text-slate-400 mb-2\">Live events</div><ul class=\"lab-feed space-y-1 font-mono text-xs text-slate-300 min-h-[5.5rem]\"></ul></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_decode\">Decoding the video stream</span><span data-m=\"s_detect\">Detecting vehicles in every frame</span><span data-m=\"s_track\">Tracking each vehicle and measuring speed</span><span data-m=\"s_agg\">Counting by direction, lane and vehicle type</span><span data-m=\"model\">Gekko traffic model</span><span data-m=\"frames\">frames</span><span data-m=\"car\">car</span><span data-m=\"van\">van</span><span data-m=\"truck\">truck</span><span data-m=\"lane\">lane</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Transportation</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Huge networks, few eyes</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Transport operators manage thousands of cameras and kilometres of infrastructure with small control-room teams. Incidents are often reported late, and inspections are slow and periodic. Delays in detection mean congestion, safety risks and higher maintenance costs.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Traffic analytics.</span> Count and classify vehicles, cyclists and pedestrians to understand real traffic patterns.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Incident detection.</span> Spot stopped vehicles, debris and wrong-way driving as soon as they happen.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Infrastructure inspection.</span> Detect cracks, potholes and track defects from vehicle-mounted or fixed cameras.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-green mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Passenger flow.</span> Measure crowding at stations and stops to plan capacity and services.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-0684160e468368f7.webp\" alt=\"Highway Vehicle Tracking\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Highway Vehicle Tracking</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-10d549444672072f.avif\" alt=\"Parking Management\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Parking Management</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Each parking bay is classified as free or occupied from a single overhead camera, with live totals on screen. Guide drivers to open spaces and understand occupancy patterns without in-ground sensors.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Parking Analytics</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Smart City</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-f8b175c062e5e1c0.webp\" alt=\"Speed Estimation\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Speed Estimation</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">The speed of every vehicle is estimated from a single fixed camera.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Tracking</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Speed</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-9dabb2e33360e236.webp\" alt=\"Road Crack Detection\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Road Crack Detection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Cracks in roads, bridges and walls are segmented at pixel level so maintenance crews can prioritise repairs.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Segmentation</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Infrastructure</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-b1108e74d08455c5.webp\" alt=\"Aerial Surveillance\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Aerial Surveillance</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Hundreds of small vehicles are detected in high-altitude drone footage of busy interchanges.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Aerial</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Small Objects</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Traffic</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Connect network cameras</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We integrate with your existing traffic, station and vehicle-mounted cameras through your VMS or video streams.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Tune for your network</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We train detection and segmentation models on your roads, vehicles, weather and lighting conditions.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-green/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Deploy and alert</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run at the roadside edge or in the cloud and push events to your traffic management or maintenance systems, with ongoing support.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-green/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Get real-time network awareness</h3>\n<p class=\"text-slate-400 text-lg\">Talk to our team about bringing vision AI to your transport network.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-warehousing\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Smart Warehousing &amp; Logistics</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs helps warehouses and fulfilment centres see their operations in real time. Our models count stock, read labels, verify packages and monitor safety across docks and aisles, feeding accurate data straight into your warehouse systems.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-b530b83481fff2fd.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/8e62eb71e033ac11.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/fe87abe50677443a.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-blue\"></span>Warehousing</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Conveyor Package Detection</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"warehousing\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/a15c75e7e3fa52d2.bin\" data-kind=\"safety\" id=\"lab-warehousing\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Stop forklift near-misses before they happen</h3>\n<p class=\"text-slate-400 leading-relaxed\">Press Run inference on a warehouse camera. Our model detects people and forklifts, follows them, draws a danger zone around every moving forklift and raises an alert the moment someone steps inside.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/286f6e5fae3715fc.mp4\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/d5bda1b988b3cc9b.mp4\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/2fbcdcee84ad3ca2.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/f94e9565cf5c4e67.mp4\"></i><i data-k=\"@m4\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/e4d0fbd3b8d6d7bf.mp4\"></i><i data-k=\"@m5\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/852960a964a24b7b.webp\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/2fbcdcee84ad3ca2.webp\" alt=\"Aisle camera\" loading=\"lazy\"><span>Aisle camera</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/852960a964a24b7b.webp\" alt=\"Cross-aisle camera\" loading=\"lazy\"><span>Cross-aisle camera</span></button></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-stage relative w-full aspect-video rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><video class=\"lab-in absolute inset-0 w-full h-full object-cover\" muted loop playsinline preload=\"none\"></video><video class=\"lab-out absolute inset-0 w-full h-full object-cover hidden\" muted playsinline preload=\"none\"></video><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">People in view</div><div class=\"lab-m lab-mv\" data-k=\"people\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Forklifts in view</div><div class=\"lab-m lab-mv\" data-k=\"forklifts\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">People in danger zone</div><div class=\"lab-m lab-mv\" data-k=\"in_zone\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Proximity alerts</div><div class=\"lab-m lab-mv\" data-k=\"alerts\">–</div></div></div><div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3\"><div class=\"text-xs text-slate-400 mb-2\">Incident log</div><ul class=\"lab-feed space-y-1 font-mono text-xs text-slate-300 min-h-[5rem]\"></ul></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_decode\">Decoding the camera stream</span><span data-m=\"s_detect\">Detecting people and forklifts in every frame</span><span data-m=\"s_zones\">Tracking and checking danger zones</span><span data-m=\"frames\">frames</span><span data-m=\"ev_person\">Person</span><span data-m=\"ev_zone\">entered forklift zone</span><span data-m=\"alerts_word\">alerts</span><span data-m=\"model\">Gekko industrial safety model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Warehousing</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Fast flows, error-prone checks</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Warehouses handle growing volumes with tight delivery windows and labour shortages. Manual counts, scans and damage checks are slow and easy to get wrong. Inventory errors and accidents ripple into missed orders, claims and downtime.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Inventory visibility.</span> Count pallets and cartons and detect empty or misplaced locations automatically.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Label and parcel reading.</span> Read labels and check parcel condition at inbound and outbound docks.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Safer aisles.</span> Detect people near moving equipment and flag unsafe behaviour in real time.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-blue mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Faster dock operations.</span> Track loading progress and dock usage to reduce waiting and handling time.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-02a8fd73ddd25ae6.webp\" alt=\"Parcel Detection\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Parcel Detection</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-cc71abda0a10ea5a.webp\" alt=\"Human-Aware AMR Mapping\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Human-Aware AMR Mapping</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">A mobile robot builds a live 3D map of warehouse aisles while segmenting people, so it can plan routes that keep a safe distance. Safer autonomy in spaces shared with workers.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">3D Mapping</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">People Segmentation</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Autonomous Robots</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/m-43420e6fbc9ba45d.avif\" alt=\"Automated Package Counting\" loading=\"lazy\" class=\"w-full h-full object-cover gk-static\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Automated Package Counting</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Parcels are tracked and counted as they cross a virtual line on the conveyor, with IN/OUT totals updated live. Reconcile shipments automatically and spot throughput drops instantly.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Tracking</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Object Counting</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Throughput Analytics</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Connect warehouse cameras</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We use your existing CCTV and scanners, adding cameras at key docks and stations where needed.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Train on your goods</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We fine-tune models on your packaging, labels, racking and equipment for reliable results in your facility.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-blue/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Integrate with your WMS</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run on edge or cloud and sync events with your WMS and dashboards, with monitoring and continuous improvement.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-blue/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Make your warehouse visible</h3>\n<p class=\"text-slate-400 text-lg\">Talk to our team about a pilot at one of your docks or sites.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n<div id=\"solution-security\" class=\"hidden\">\n<a href=\"#/solutions\" class=\"text-sm text-slate-400 hover:text-ai-blue transition-colors inline-flex items-center gap-2 mb-8\"><i class=\"fa-solid fa-arrow-left\"></i> Back to all solutions</a>\n\n<div class=\"max-w-6xl mx-auto mb-8\">\n<h2 class=\"text-4xl md:text-6xl font-bold text-white tracking-tight leading-[1.05] max-w-4xl\">Security &amp; Surveillance</h2>\n<div class=\"mt-8 pt-6 border-t border-white/10 flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6\">\n<p class=\"text-slate-400 text-lg leading-relaxed max-w-2xl\">Gekko Labs turns security cameras into an intelligent detection layer. Our models recognise intrusions, loitering, unattended objects and unsafe activity in real time, so operators focus on genuine events instead of watching endless video walls.</p>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n<div class=\"max-w-6xl mx-auto mb-16\">\n<div class=\"relative aspect-video md:aspect-[2.2/1] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/50\">\n<video poster=\"https://gekko-assets.gekkolabs.workers.dev/p-6965a28b54a6e488.webp\" class=\"absolute inset-0 w-full h-full object-cover\" loop muted playsinline preload=\"none\" data-hero=\"1\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/d4c65308155402f6.mp4\" data-src-sm=\"https://gekko-assets.gekkolabs.workers.dev/ff64529d5bd6b57c.mp4\"></video>\n<div class=\"absolute inset-x-0 bottom-0 h-1/3 bg-gradient-to-t from-slate-950/80 to-transparent pointer-events-none\"></div>\n<span class=\"absolute top-3 left-3 inline-flex items-center gap-2 text-xs font-mono uppercase tracking-wider text-white bg-slate-950/70 border border-white/15 rounded-md px-2.5 py-1\"><span class=\"w-1.5 h-1.5 rounded-full bg-ai-violet\"></span>Security</span>\n<span class=\"absolute bottom-3 left-3 inline-flex items-center gap-2 text-xs text-white/90\"><span class=\"inline-flex items-center gap-1.5 text-xs font-mono uppercase tracking-wider bg-red-500/90 text-white rounded px-1.5 py-0.5\"><span class=\"w-1.5 h-1.5 rounded-full bg-white animate-pulse\"></span>Live demo</span>Line-Crossing Counting</span>\n<button type=\"button\" onclick=\"heroToggle(this)\" class=\"absolute bottom-3 right-3 w-8 h-8 rounded-lg bg-slate-950/70 border border-white/15 text-white text-xs\" aria-label=\"Pause video\"><i class=\"fa-solid fa-pause\"></i></button>\n</div>\n</div>\n<div class=\"lab max-w-6xl mx-auto mb-24\" data-lab=\"security\" data-src=\"https://gekko-assets.gekkolabs.workers.dev/e223e5bcb67220fe.bin\" data-kind=\"ask\" id=\"lab-security\">\n<div class=\"flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6 mb-8\">\n<div class=\"max-w-3xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-3\">Ask the camera anything</h3>\n<p class=\"text-slate-400 leading-relaxed\">Pick a camera and a question. Our vision-language model answers in plain words and marks the people and objects that support its answer, turning every camera into a searchable safety assistant.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\">\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a>\n<a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a>\n</div>\n</div>\n<div class=\"hidden lab-media\"><i data-k=\"@m0\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/8d84cb9a57992013.webp\"></i><i data-k=\"@m1\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/f0c2cc6ea5de212d.webp\"></i><i data-k=\"@m2\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/7a72537cb3b137b5.webp\"></i><i data-k=\"@m3\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/86fb288b876d56c9.webp\"></i><i data-k=\"@m4\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/a766b6cbe583045d.webp\"></i><i data-k=\"@m5\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/e281e7bfa3005048.webp\"></i><i data-k=\"@m6\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/a965dc4684285a7e.webp\"></i><i data-k=\"@m7\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/1365f2a338f2eb49.webp\"></i><i data-k=\"@m8\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/310cefc39bc8afde.webp\"></i><i data-k=\"@m9\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/19cde5fed8babbd2.webp\"></i><i data-k=\"@m10\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/7a9c525a87349d63.webp\"></i><i data-k=\"@m11\" data-u=\"https://gekko-assets.gekkolabs.workers.dev/ff8a269e28a6857f.webp\"></i></div>\n<div class=\"glass-card rounded-2xl p-4 md:p-6\">\n<div class=\"lab-examples flex flex-wrap gap-3 mb-4\"><button type=\"button\" data-ex=\"0\" class=\"lab-ex border-ai-blue ring-2 ring-ai-blue\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/8d84cb9a57992013.webp\" alt=\"Construction site\" loading=\"lazy\"><span>Construction site</span></button><button type=\"button\" data-ex=\"1\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/a766b6cbe583045d.webp\" alt=\"Train station\" loading=\"lazy\"><span>Train station</span></button><button type=\"button\" data-ex=\"2\" class=\"lab-ex\"><img src=\"https://gekko-assets.gekkolabs.workers.dev/310cefc39bc8afde.webp\" alt=\"Warehouse\" loading=\"lazy\"><span>Warehouse</span></button></div><div class=\"mb-4\"><div class=\"text-xs text-slate-400 mb-2\">Ask the camera</div><div class=\"lab-chipset flex flex-wrap gap-2\" data-for=\"0\"><button type=\"button\" data-obj=\"0\" class=\"lab-chip text-xs px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60 bg-ai-blue/20 border-ai-blue text-white\"><i class=\"fa-regular fa-comment mr-1.5 opacity-60\"></i>Is any heavy machinery operating near people?</button><button type=\"button\" data-obj=\"1\" class=\"lab-chip text-xs px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-regular fa-comment mr-1.5 opacity-60\"></i>Which workers are wearing hard hats?</button><button type=\"button\" data-obj=\"2\" class=\"lab-chip text-xs px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-regular fa-comment mr-1.5 opacity-60\"></i>How many workers are wearing high-visibility vests?</button></div><div class=\"lab-chipset flex flex-wrap gap-2 hidden\" data-for=\"1\"><button type=\"button\" data-obj=\"0\" class=\"lab-chip text-xs px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60 bg-ai-blue/20 border-ai-blue text-white\"><i class=\"fa-regular fa-comment mr-1.5 opacity-60\"></i>Is there any unattended bag?</button><button type=\"button\" data-obj=\"1\" class=\"lab-chip text-xs px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-regular fa-comment mr-1.5 opacity-60\"></i>How many people can you see?</button><button type=\"button\" data-obj=\"2\" class=\"lab-chip text-xs px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-regular fa-comment mr-1.5 opacity-60\"></i>Is anyone pulling a suitcase?</button></div><div class=\"lab-chipset flex flex-wrap gap-2 hidden\" data-for=\"2\"><button type=\"button\" data-obj=\"0\" class=\"lab-chip text-xs px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60 bg-ai-blue/20 border-ai-blue text-white\"><i class=\"fa-regular fa-comment mr-1.5 opacity-60\"></i>What is stacked in front of the emergency exit door?</button><button type=\"button\" data-obj=\"1\" class=\"lab-chip text-xs px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-regular fa-comment mr-1.5 opacity-60\"></i>Where is the fire extinguisher?</button><button type=\"button\" data-obj=\"2\" class=\"lab-chip text-xs px-3 py-1.5 rounded-full border border-white/15 text-slate-300 hover:border-ai-blue/60\"><i class=\"fa-regular fa-comment mr-1.5 opacity-60\"></i>How many workers are wearing high-visibility vests?</button></div></div>\n<div class=\"grid grid-cols-1 lg:grid-cols-3 gap-5\">\n<div class=\"lg:col-span-2 min-w-0\"><div class=\"lab-stage relative w-full aspect-[4/3] rounded-xl overflow-hidden bg-slate-950 border border-white/10 select-none\"><img class=\"lab-in absolute inset-0 w-full h-full object-contain\" alt=\"CCTV frame\" loading=\"lazy\"><img class=\"lab-out absolute inset-0 w-full h-full object-contain opacity-0 transition-opacity duration-500\" alt=\"Answer with regions\"><div class=\"lab-scan pointer-events-none absolute inset-0 hidden\"></div><span class=\"lab-badge absolute top-2 left-2 text-xs font-mono bg-slate-950/80 text-white rounded px-2 py-0.5\">Input</span></div></div>\n<div class=\"min-w-0 flex flex-col gap-4\">\n<button type=\"button\" class=\"lab-run bg-ai-gradient hover:bg-ai-gradient-hover text-white font-bold py-3 px-6 rounded-full transition-all shadow-lg shadow-ai-blue/20 disabled:opacity-60 disabled:cursor-wait\"><i class=\"fa-solid fa-bolt mr-2\"></i><span class=\"lab-run-label\">Run inference</span></button>\n<div class=\"rounded-xl bg-slate-950/70 border border-white/10 p-3 font-mono text-xs leading-relaxed h-44 overflow-y-auto lab-log\" aria-live=\"polite\"></div>\n<div class=\"h-1.5 rounded-full bg-white/10 overflow-hidden\"><div class=\"lab-progress h-full w-0 bg-ai-gradient transition-[width] duration-300\"></div></div>\n<div class=\"lab-answer hidden rounded-xl bg-white/5 border border-white/10 p-4\"><div class=\"flex items-center gap-2 mb-2\"><span class=\"lab-verdict hidden inline-flex items-center gap-1.5 text-xs font-bold rounded-full px-2.5 py-1 bg-red-500/15 text-red-300\" data-v=\"alert\"><i class=\"fa-solid fa-triangle-exclamation\"></i>Alert</span><span class=\"lab-verdict hidden inline-flex items-center gap-1.5 text-xs font-bold rounded-full px-2.5 py-1 bg-emerald-500/15 text-emerald-300\" data-v=\"ok\"><i class=\"fa-solid fa-circle-check\"></i>All clear</span><span class=\"lab-verdict hidden inline-flex items-center gap-1.5 text-xs font-bold rounded-full px-2.5 py-1 bg-sky-500/15 text-sky-300\" data-v=\"info\"><i class=\"fa-solid fa-circle-info\"></i>Insight</span></div><p class=\"lab-answer-text text-white leading-relaxed min-h-[3rem]\"></p></div><div class=\"grid grid-cols-2 gap-2\"><div class=\"lab-mc \"><div class=\"lab-ml\">Regions cited</div><div class=\"lab-m lab-mv\" data-k=\"regions\">–</div></div><div class=\"lab-mc \"><div class=\"lab-ml\">Inference time</div><div class=\"lab-m lab-mv\" data-k=\"latency\">–</div></div></div>\n<details class=\"rounded-xl bg-slate-950/70 border border-white/10 lab-json-wrap hidden\"><summary class=\"cursor-pointer px-3 py-2 text-xs text-slate-300 font-mono\">JSON output</summary><pre class=\"lab-json px-3 pb-3 text-xs leading-snug text-slate-300 overflow-x-auto max-h-64\"></pre></details>\n</div>\n</div>\n</div>\n<div class=\"hidden\"><span data-m=\"run\">Run inference</span><span data-m=\"running\">Running…</span><span data-m=\"again\">Run again</span><span data-m=\"ready\">Ready. Pick an example and press Run inference.</span><span data-m=\"done\">Inference complete</span><span data-m=\"measured\">measured</span><span data-m=\"input\">Input</span><span data-m=\"result\">Result</span><span data-m=\"loading\">Loading model weights</span><span data-m=\"s_scene\">Reading the scene</span><span data-m=\"s_reason\">Reasoning about the question</span><span data-m=\"s_ground\">Locating the evidence</span><span data-m=\"model\">Gekko vision-language model</span></div>\n</div>\n\n<div class=\"max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-10 lg:gap-16 items-center mb-24\">\n<div>\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Security</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight leading-tight mt-3 mb-5\">Too many screens, too few operators</h3>\n<p class=\"text-slate-400 text-lg leading-relaxed mb-8\">Security teams monitor large numbers of cameras, and attention drops quickly when watching video for hours. Basic motion detection floods operators with false alarms from weather, animals and lighting. Real threats can be missed or found only after the fact.</p>\n<ul class=\"space-y-4\">\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Perimeter protection.</span> Detect people and vehicles crossing boundaries, day or night, with fewer false alarms.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Real-time alerts.</span> Send relevant events with video clips straight to operators and response teams.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Works with existing CCTV.</span> Add intelligence to the cameras and VMS you already run.</span></li>\n<li class=\"flex gap-3\"><i class=\"fa-solid fa-circle-check text-ai-violet mt-1\"></i><span class=\"text-slate-400 leading-relaxed\"><span class=\"text-white font-semibold\">Fast forensic search.</span> Find people, vehicles or events across hours of footage in seconds.</span></li>\n</ul>\n</div>\n<div class=\"relative aspect-[4/3] rounded-2xl overflow-hidden border border-white/10 bg-slate-900 shadow-2xl shadow-black/40\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-3dfc5a414496b9d4.webp\" alt=\"Crowd Tracking\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n<span class=\"absolute bottom-3 left-3 right-3 text-xs text-white/90 bg-slate-950/70 border border-white/10 rounded-lg px-3 py-2\">Crowd Tracking</span>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<div class=\"flex flex-col md:flex-row md:items-end md:justify-between gap-4 mb-10\">\n<div><span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">Use cases</span><h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3\">Vision AI in action</h3></div>\n</div>\n<div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8\">\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-2e03cba5bdfbf256.webp\" alt=\"PPE Compliance\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">PPE Compliance</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Hard hats and vests are verified on every worker to enforce site safety.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Detection</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Safety</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-ae33f187b511351b.webp\" alt=\"Crowd Zone Counting\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Crowd Zone Counting</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">People are counted per zone in dense crowds to manage capacity and safety.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Tracking</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Counting</span></div>\n</div>\n</div>\n<div class=\"glass-card rounded-2xl overflow-hidden flex flex-col hover:-translate-y-1 hover:border-white/20 transition-all duration-300\">\n<div class=\"aspect-video bg-slate-900 overflow-hidden\">\n<img src=\"https://gekko-assets.gekkolabs.workers.dev/p-31f2ef7b8c20275b.webp\" alt=\"Smoke Detection\" loading=\"lazy\" decoding=\"async\" class=\"w-full h-full object-cover\">\n</div>\n<div class=\"p-6 flex flex-col flex-1\">\n<h4 class=\"text-white font-bold mb-2\">Smoke Detection</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed mb-5\">Smoke is detected early to raise fire alarms before flames spread.</p>\n<div class=\"mt-auto flex gap-2 flex-wrap\"><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Segmentation</span><span class=\"text-xs font-mono uppercase tracking-wider border rounded-full px-2 py-0.5 text-slate-400 border-white/10\">Safety</span></div>\n</div>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto mb-24\">\n<span class=\"text-ai-blue font-mono tracking-wider text-xs uppercase\">How we work</span>\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mt-3 mb-10\">From pilot to production</h3>\n<div class=\"grid grid-cols-1 md:grid-cols-3 gap-10\">\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">01</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Connect your VMS</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We integrate with your existing cameras and video management system through standard streams and APIs.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">02</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Tune to your sites</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">We adapt detection models to your perimeters, zones and rules to cut false alarms.</p>\n</div>\n<div class=\"relative\">\n<div class=\"flex items-center gap-4 mb-5\"><span class=\"w-12 h-12 rounded-full bg-slate-950 border border-ai-violet/60 flex items-center justify-center font-mono font-bold text-white relative z-10\">03</span><span class=\"hidden md:block flex-1 h-px bg-gradient-to-r from-white/20 to-transparent\"></span></div>\n<h4 class=\"text-white font-bold text-lg mb-2\">Deploy and refine</h4>\n<p class=\"text-slate-400 text-sm leading-relaxed\">Models run on edge appliances or in the cloud, sending alerts to your VMS or control room, with ongoing tuning and support.</p>\n</div>\n</div>\n</div>\n\n<div class=\"max-w-6xl mx-auto relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-slate-900 via-slate-900 to-slate-950 p-8 md:p-14\">\n<div class=\"absolute -top-32 -right-24 w-[28rem] h-[28rem] bg-ai-violet/15 rounded-full filter blur-[120px] pointer-events-none\"></div>\n<div class=\"relative flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8\">\n<div class=\"max-w-2xl\">\n<h3 class=\"text-3xl md:text-4xl font-bold text-white tracking-tight mb-4\">Upgrade your security operations</h3>\n<p class=\"text-slate-400 text-lg\">Talk to our team about adding real-time vision AI to your existing cameras.</p>\n</div>\n<div class=\"flex flex-wrap gap-3 shrink-0\"><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta bg-ai-gradient hover:bg-ai-gradient-hover shadow-lg shadow-ai-blue/20\">Get started</a><a href=\"#/products/custom-ai\" onclick=\"goToProposal(event)\" class=\"gk-cta gk-cta-ghost\">Request a demo</a></div>\n</div>\n</div>\n</div>\n\n</div>\n</section>\n"}