<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="/track.js" async></script>
    <meta name="theme-color" content="#020617">
    <title>Calgary AI Automation &amp; Software Studio — B Scanned AI Inc. | From $25/mo</title>
    <meta name="description" content="Calgary-based AI automation studio. AI receptionists, custom websites, mobile apps, social media automation. Built to amplify your team — not replace them. Free 15-min audit. Live in days, not months.">
    <meta name="keywords" content="business automation Calgary, AI automation Calgary, Calgary website design, AI receptionist Calgary, custom software Calgary, small business automation Alberta">
    <meta name="author" content="BSCANNED AI Inc.">
    <meta name="google-site-verification" content="iUlgq7CNqD-LccVSbL3wtdtIgDIoJ6-wFlR_8YP_y_U" />
    <link rel="canonical" href="https://bscanned.com/">
    <link rel="manifest" href="/manifest.json">
    <link rel="apple-touch-icon" href="/icon-192.png">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-title" content="BSCANNED">
    <meta property="og:type" content="website">
    <meta property="og:url" content="https://bscanned.com/">
    <meta property="og:title" content="Calgary AI Automation Studio — B Scanned AI Inc.">
    <meta property="og:description" content="Calgary's AI automation studio. AI receptionists, websites, apps, social media automation — built to amplify your team. Free 15-min audit.">
    <meta property="og:site_name" content="BSCANNED">
    <meta property="og:image" content="https://bscanned.com/assets/og/og-home.svg">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="630">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:image" content="https://bscanned.com/assets/og/og-home.svg">
    <meta name="twitter:title" content="BSCANNED — Calgary's AI Automation Studio">
    <meta name="twitter:description" content="Websites from $299. AI tools that amplify your team.">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="preconnect" href="https://cdnjs.cloudflare.com">
    <link rel="preconnect" href="https://accounts.google.com">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet">
    <script src="https://accounts.google.com/gsi/client" async defer></script>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "LocalBusiness",
      "@id": "https://bscanned.com/#business",
      "name": "B Scanned AI Inc.",
      "alternateName": "BSCANNED",
      "url": "https://bscanned.com",
      "logo": "https://bscanned.com/icon-512.png",
      "image": "https://bscanned.com/icon-512.png",
      "description": "Calgary AI automation studio. We build AI-powered websites, mobile apps, ops platforms, social media systems, and custom automations for small business — designed to amplify your team, not replace them.",
      "telephone": "+1-825-900-9944",
      "email": "brandon.thomas@bscanned.com",
      "priceRange": "$$",
      "currenciesAccepted": "CAD, USD",
      "paymentAccepted": "Cash, Credit Card, Debit Card, Square, Stripe, Etransfer",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Calgary",
        "addressRegion": "AB",
        "addressCountry": "CA"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 51.0447,
        "longitude": -114.0719
      },
      "areaServed": [
        { "@type": "City", "name": "Calgary" },
        { "@type": "AdministrativeArea", "name": "Alberta" },
        { "@type": "Country", "name": "Canada" }
      ],
      "openingHoursSpecification": [
        { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"], "opens": "09:00", "closes": "18:00" },
        { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Saturday"], "opens": "10:00", "closes": "16:00" }
      ],
      "founder": { "@type": "Person", "name": "Brandon Thomas", "jobTitle": "Founder" },
      "sameAs": [
        "https://www.facebook.com/profile.php?id=111084025226135",
        "https://www.instagram.com/bscanned/"
      ],
      "hasOfferCatalog": {
        "@type": "OfferCatalog",
        "name": "B Scanned AI Services",
        "itemListElement": [
          { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Logo Design", "url": "https://bscanned.com/logo-design" }, "price": "75", "priceCurrency": "CAD" },
          { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Flyers & Brochures", "url": "https://bscanned.com/flyers-brochures" }, "price": "99", "priceCurrency": "CAD" },
          { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Website Landing Page", "url": "https://bscanned.com/websites" }, "price": "299", "priceCurrency": "CAD" },
          { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Multi-Page Website", "url": "https://bscanned.com/multi-page-website" }, "price": "699", "priceCurrency": "CAD" },
          { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Mobile App", "url": "https://bscanned.com/mobile-app" }, "price": "399", "priceCurrency": "CAD" },
          { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "AI Automation", "url": "https://bscanned.com/ai-automation" } },
          { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "AI Video Content", "url": "https://bscanned.com/ai-video" }, "price": "49.99", "priceCurrency": "CAD" },
          { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Social Media Marketing", "url": "https://bscanned.com/social-media" }, "price": "25", "priceCurrency": "CAD" },
          { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Ops Platform", "url": "https://bscanned.com/ops-platform" }, "price": "499", "priceCurrency": "CAD" }
        ]
      }
    }
    </script>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://bscanned.com/",
      "name": "B Scanned AI",
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://bscanned.com/?q={search_term_string}",
        "query-input": "required name=search_term_string"
      }
    }
    </script>
    <style>
        *,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
        :root {
            --bg: #ffffff;
            --bg-2: #f8fafc;
            --bg-3: #f1f5f9;
            --border: rgba(59, 130, 246, 0.20);
            --border-2: rgba(5, 150, 105, 0.30);
            --primary: #2563eb;
            --primary-dim: #1d4ed8;
            --cta: #059669;
            --cta-dim: #047857;
            --cta-glow: 0 8px 24px rgba(5, 150, 105, 0.20);
            --amber: #d97706;
            --text: #0f172a;
            --text-2: #334155;
            --gray: #64748b;
            --red: #dc2626;
        }
        html { scroll-behavior: smooth; }
        body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; font-size: 16px; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
        .container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
        a { color: var(--cta); text-decoration: none; transition: color .2s; }
        a:hover { color: var(--cta-dim); }
        #navbar { position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, 0.80); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid transparent; transition: border-color .2s, background .2s; }
        #navbar.scrolled { border-bottom-color: var(--border); background: rgba(255,255,255,0.95); }
        .nav-inner { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; max-width: 1240px; margin: 0 auto; }
        .logo { font-size: 28px; font-weight: 800; letter-spacing: -0.5px; color: var(--text); display: inline-flex; align-items: center; text-decoration: none; }
        .logo b { color: var(--cta); }
        .logo img { height: 96px; width: auto; display: block; border-radius: 10px; box-shadow: 0 4px 14px rgba(59,130,246,0.22); }
        @media (max-width: 640px) { .logo img { height: 72px; } .logo { font-size: 22px; } }
        .nav-links { display: flex; gap: 28px; align-items: center; list-style: none; }
        .nav-links a { color: var(--text-2); font-size: 14px; font-weight: 500; }
        .nav-links a:hover { color: var(--text); }
        .nav-cta { background: var(--cta); color: #fff !important; padding: 10px 18px; border-radius: 100px; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.8px; }
        .nav-cta:hover { background: var(--cta-dim); }
        #mobileMenu { display: none; background: none; border: none; color: var(--text); font-size: 22px; cursor: pointer; }
        @media (max-width: 820px) {
            #mobileMenu { display: block; }
            .nav-links { position: absolute; top: 100%; left: 0; right: 0; background: rgba(255,255,255,0.98); flex-direction: column; padding: 20px; gap: 16px; border-bottom: 1px solid var(--border); display: none; }
            .nav-links.active { display: flex; }
        }
        #hero { padding: 80px 0 100px; background: radial-gradient(ellipse at 0% 0%, rgba(59,130,246,0.15), transparent 50%), radial-gradient(ellipse at 100% 100%, rgba(16,185,129,0.10), transparent 50%); }
        .hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: center; }
        @media (max-width: 920px) {
            .hero-grid { grid-template-columns: 1fr; gap: 40px; }
            #hero { padding: 50px 0 70px; }
        }
        .hero-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; background: rgba(16,185,129,0.12); border: 1px solid var(--border-2); border-radius: 100px; font-size: 13px; font-weight: 600; color: var(--cta); margin-bottom: 20px; }
        .live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cta); box-shadow: 0 0 8px var(--cta); animation: pulse 2s infinite; }
        @keyframes pulse { 0%,100%{ opacity:1; } 50%{ opacity:0.4; } }
        .hero h1 { font-size: clamp(36px, 5.5vw, 60px); font-weight: 900; letter-spacing: -1.6px; line-height: 1.05; margin-bottom: 18px; min-height: 4.5em; }
        @media (min-width: 768px) { .hero h1 { min-height: 2.5em; } }
        .hero h1 .accent { color: var(--cta); }
        .hero #typingText { display: inline-block; min-height: 3.3em; color: var(--primary); vertical-align: top; }
        .hero-lede { font-size: clamp(16px, 1.5vw, 18px); color: var(--text-2); margin-bottom: 22px; max-width: 560px; }
        .hero-trust { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-bottom: 28px; font-size: 13px; color: var(--gray); }
        .hero-trust strong { color: var(--cta); font-size: 16px; }
        .hero-cta-row { display: flex; gap: 12px; flex-wrap: wrap; }
        .btn-cta { display: inline-flex; align-items: center; gap: 8px; padding: 16px 28px; border-radius: 12px; font-weight: 700; font-size: 15px; background: var(--cta); color: #fff !important; border: none; cursor: pointer; transition: all .2s; box-shadow: var(--cta-glow); text-decoration: none; }
        .btn-cta:hover { background: var(--cta-dim); transform: translateY(-2px); box-shadow: 0 15px 40px rgba(16,185,129,0.4); }
        .btn-outline { display: inline-flex; align-items: center; gap: 8px; padding: 16px 28px; border-radius: 12px; font-weight: 700; font-size: 15px; background: transparent; color: var(--text) !important; border: 1px solid var(--border); cursor: pointer; transition: all .2s; text-decoration: none; }
        .btn-outline:hover { border-color: var(--cta); color: var(--cta) !important; }
        #heroFormCard { background: #ffffff; border: 1px solid var(--border-2); border-radius: 20px; padding: 32px; box-shadow: 0 20px 50px rgba(15, 23, 42, 0.10), 0 8px 20px rgba(15, 23, 42, 0.06); }
        .form-title { font-size: 22px; font-weight: 800; margin-bottom: 6px; letter-spacing: -0.5px; }
        .form-subtitle { font-size: 14px; color: var(--gray); margin-bottom: 22px; }
        .form-group { margin-bottom: 14px; }
        .form-group label { display: block; font-size: 12px; font-weight: 600; color: var(--gray); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.6px; }
        .form-input { width: 100%; padding: 12px 14px; background: #ffffff; border: 1px solid #cbd5e1; border-radius: 8px; color: var(--text); font-size: 15px; font-family: inherit; transition: border-color .2s, box-shadow .2s; outline: none; }
        .form-input:focus { border-color: var(--cta); box-shadow: 0 0 0 3px rgba(5,150,105,0.15); }
        .form-input::placeholder { color: #94a3b8; }
        select.form-input { cursor: pointer; }
        .google-btn { width: 100%; padding: 12px; background: #fff; color: #1f2937 !important; border: 1px solid #cbd5e1; border-radius: 8px; font-weight: 600; font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; transition: opacity .2s; font-family: inherit; }
        .google-btn:hover:not(:disabled) { opacity: 0.92; }
        .google-btn:disabled { opacity: 0.6; cursor: wait; }
        .google-status { display: none; align-items: center; gap: 8px; padding: 10px 14px; background: rgba(16,185,129,0.12); border: 1px solid var(--border-2); border-radius: 8px; color: var(--cta); font-size: 13px; margin-top: 8px; }
        .submit-btn { width: 100%; padding: 14px; background: var(--cta); color: #fff !important; border: none; border-radius: 8px; font-weight: 700; font-size: 15px; cursor: pointer; margin-top: 14px; transition: background .2s; font-family: inherit; display: flex; align-items: center; justify-content: center; gap: 8px; }
        .submit-btn:hover:not(:disabled) { background: var(--cta-dim); }
        #heroFormSuccess { display: none; text-align: center; padding: 30px 10px; }
        #heroFormSuccess .success-icon { font-size: 56px; margin-bottom: 12px; }
        #heroFormSuccess h3 { font-size: 22px; margin-bottom: 8px; }
        #heroFormSuccess p { color: var(--gray); font-size: 14px; }
        .form-tiny { font-size: 11px; color: var(--gray); margin-top: 10px; text-align: center; }
        .form-explain { display: flex; gap: 10px; align-items: flex-start; background: rgba(16,185,129,0.08); border: 1px solid var(--border-2); border-radius: 10px; padding: 12px 14px; margin-bottom: 12px; font-size: 12.5px; color: var(--text-2); line-height: 1.45; }
        .form-explain i { color: var(--cta); font-size: 16px; margin-top: 2px; flex-shrink: 0; }
        .form-explain strong { color: var(--text); display: block; margin-bottom: 2px; font-size: 13px; }
        section { padding: 80px 0; }
        .eyebrow { display: inline-block; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--cta); font-weight: 700; margin-bottom: 12px; }
        h2 { font-size: clamp(28px, 3.5vw, 42px); font-weight: 800; letter-spacing: -1px; line-height: 1.1; margin-bottom: 14px; }
        h2 + .section-lede { font-size: clamp(15px, 1.4vw, 18px); color: var(--text-2); max-width: 720px; margin-bottom: 48px; }
        h3 { font-size: 19px; font-weight: 700; margin-bottom: 10px; }
        .reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s, transform .6s; }
        .reveal.revealed { opacity: 1; transform: translateY(0); }
        .trust-strip { padding: 30px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); text-align: center; }
        .trust-label { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin-bottom: 18px; }
        .trust-logos { display: flex; justify-content: center; gap: 40px; flex-wrap: wrap; opacity: 0.7; }
        .trust-logo { font-size: 17px; font-weight: 800; color: var(--text-2); letter-spacing: -0.5px; }
        #stats { padding: 60px 0; }
        .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 24px; text-align: center; }
        .stat-item { padding: 18px 12px; }
        .stat-item .counter, .stat-item .stat-prefix, .stat-item .stat-suffix { font-size: 48px; font-weight: 900; color: var(--cta); letter-spacing: -1.5px; line-height: 1; background: linear-gradient(180deg, var(--cta), var(--cta-dim)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }
        .stat-item .stat-prefix, .stat-item .stat-suffix { font-size: 32px; vertical-align: top; }
        .stat-item .stat-label { display: block; margin-top: 8px; font-size: 13px; color: var(--gray); text-transform: uppercase; letter-spacing: 0.8px; font-weight: 600; -webkit-text-fill-color: var(--gray); }
        .pain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
        .pain-card { background: var(--bg-2); border: 1px solid var(--border); border-radius: 14px; padding: 24px; transition: border-color .2s, transform .2s; }
        .pain-card:hover { border-color: var(--cta); transform: translateY(-4px); }
        .pain-icon { width: 64px; height: 64px; margin-bottom: 14px; display: block; }
        .pain-icon img { width: 100%; height: 100%; object-fit: contain; border-radius: 14px; display: block; }
        .pain-card h3 { font-size: 17px; margin-bottom: 8px; }
        .pain-card p { font-size: 13px; color: var(--text-2); }
        .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
        .service-card { background: var(--bg-2); border: 1px solid var(--border); border-radius: 16px; padding: 26px; position: relative; display: flex; flex-direction: column; transition: border-color .2s, transform .2s, box-shadow .2s; }
        .service-card:hover { border-color: var(--cta); transform: translateY(-4px); box-shadow: 0 12px 30px rgba(15, 23, 42, 0.10); }
        .service-badge { position: absolute; top: -10px; right: 18px; padding: 4px 10px; border-radius: 100px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }
        .badge-premium { background: var(--amber); color: #1f2937; }
        .badge-new { background: var(--primary); color: #fff; }
        .badge-popular { background: var(--cta); color: #fff; }
        .service-icon { width: 84px; height: 84px; margin-bottom: 16px; display: block; }
        .service-icon img { width: 100%; height: 100%; object-fit: contain; border-radius: 16px; display: block; transition: transform .25s ease; }
        .service-card:hover .service-icon img { transform: scale(1.06); }
        .service-card h3 { font-size: 19px; margin-bottom: 12px; }
        .service-price { margin-bottom: 16px; }
        .price-from-label { display: block; font-size: 10.5px; color: var(--gray); font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 4px; }
        .price-current { font-size: 28px; font-weight: 900; color: var(--cta); letter-spacing: -1px; }
        .price-old { display: block; font-size: 12px; color: var(--gray); text-decoration: line-through; margin-top: 2px; }
        .service-features { list-style: none; padding: 0; margin: 0 0 18px; flex-grow: 1; }
        .service-features li { font-size: 13px; color: var(--text-2); padding: 5px 0 5px 22px; position: relative; }
        .service-features li::before { content: "✓"; position: absolute; left: 0; top: 5px; color: var(--cta); font-weight: 700; }
        .service-btn { width: 100%; padding: 12px; background: transparent; color: var(--text) !important; border: 1px solid var(--cta); border-radius: 8px; font-weight: 700; font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s, color .2s; font-family: inherit; }
        .service-btn:hover { background: var(--cta); color: #fff !important; }
        .roi-card { background: var(--bg-2); border: 1px solid var(--border-2); border-radius: 20px; padding: 36px; max-width: 720px; margin: 0 auto; }
        .slider-group { margin-bottom: 22px; }
        .slider-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 14px; color: var(--text-2); font-weight: 600; }
        .slider-value { color: var(--cta); font-size: 17px; font-weight: 800; }
        .roi-slider { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 3px; background: var(--bg-3); outline: none; }
        .roi-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%; background: var(--cta); cursor: pointer; box-shadow: 0 0 12px rgba(16,185,129,0.5); }
        .roi-slider::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--cta); cursor: pointer; border: none; }
        .roi-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--border); }
        @media (max-width: 600px) { .roi-results { grid-template-columns: 1fr; } }
        .roi-result { text-align: center; padding: 12px; }
        .result-value { font-size: 28px; font-weight: 900; color: var(--cta); letter-spacing: -0.5px; }
        .result-label { font-size: 11px; color: var(--gray); text-transform: uppercase; letter-spacing: 1px; margin-top: 4px; }
        .portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
        @media (max-width: 980px) { .portfolio-grid { grid-template-columns: repeat(2, 1fr); } }
        @media (max-width: 600px) { .portfolio-grid { grid-template-columns: 1fr; } }
        .portfolio-card { background: var(--bg-2); border: 1px solid var(--border); border-radius: 16px; padding: 26px; position: relative; overflow: hidden; transition: border-color .2s, transform .2s; }
        .portfolio-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--cta), var(--primary)); }
        .portfolio-card:hover { border-color: var(--cta); transform: translateY(-4px); }
        .portfolio-tag { display: inline-block; padding: 3px 10px; background: rgba(16,185,129,0.15); color: var(--cta); border-radius: 100px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 14px; }
        .portfolio-card h3 { font-size: 19px; margin-bottom: 8px; }
        .portfolio-card .portfolio-sub { font-size: 12px; color: var(--gray); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 14px; }
        .portfolio-card p { font-size: 14px; color: var(--text-2); margin-bottom: 14px; }
        .portfolio-stats { display: flex; gap: 14px; flex-wrap: wrap; padding-top: 14px; border-top: 1px solid var(--border); }
        .portfolio-stats .stat { font-size: 11px; color: var(--gray); }
        .portfolio-stats .stat strong { color: var(--cta); display: block; font-size: 16px; font-weight: 800; }
        .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; counter-reset: step; }
        @media (max-width: 720px) { .steps { grid-template-columns: 1fr; } }
        .step-card { background: var(--bg-2); border: 1px solid var(--border); border-radius: 16px; padding: 32px; position: relative; opacity: 0.4; transform: translateX(-20px); transition: opacity .5s, transform .5s, border-color .2s; }
        .step-card.active { opacity: 1; transform: translateX(0); }
        .step-card::before { counter-increment: step; content: counter(step, decimal-leading-zero); position: absolute; top: -16px; right: 24px; font-size: 56px; font-weight: 900; color: rgba(16,185,129,0.18); letter-spacing: -2px; }
        .step-card h3 { font-size: 18px; margin-bottom: 10px; }
        .step-card p { font-size: 13px; color: var(--text-2); }
        .final-cta { background: radial-gradient(ellipse at center, rgba(16,185,129,0.10), transparent 60%), var(--bg); text-align: center; padding: 90px 0; border-top: 1px solid var(--border); }
        .final-cta h2 { font-size: clamp(30px, 4vw, 44px); margin-bottom: 14px; }
        .final-cta p { font-size: 17px; color: var(--text-2); max-width: 560px; margin: 0 auto 32px; }
        .cta-buttons { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
        .modal-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(8px); z-index: 1000; display: none; align-items: center; justify-content: center; padding: 20px; }
        .modal-overlay.active { display: flex; }
        .modal-content { background: var(--bg-3); border: 1px solid var(--border-2); border-radius: 16px; padding: 32px; max-width: 640px; width: 100%; max-height: 90vh; overflow-y: auto; position: relative; }
        .modal-close { position: absolute; top: 16px; right: 16px; background: none; border: none; color: var(--gray); font-size: 28px; cursor: pointer; line-height: 1; }
        .modal-close:hover { color: var(--text); }
        .modal-sub { color: var(--gray); font-size: 14px; margin-bottom: 22px; }
        .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
        @media (max-width: 520px) { .form-row { grid-template-columns: 1fr; } }
        .services-checkbox-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
        @media (max-width: 520px) { .services-checkbox-grid { grid-template-columns: 1fr; } }
        .service-checkbox { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: var(--bg-2); border: 1px solid var(--border); border-radius: 8px; font-size: 13px; cursor: pointer; transition: border-color .2s; }
        .service-checkbox:hover { border-color: var(--cta); }
        .service-checkbox input { accent-color: var(--cta); cursor: pointer; }
        .success-message { text-align: center; padding: 30px 10px; }
        .success-icon { font-size: 56px; margin-bottom: 14px; }
        .success-message h3 { font-size: 22px; margin-bottom: 8px; }
        .credentials-box { background: rgba(16,185,129,0.08); border: 1px solid var(--border-2); border-radius: 10px; padding: 16px; margin: 16px 0; text-align: left; font-family: 'SF Mono', Monaco, monospace; font-size: 13px; }
        .credentials-box p { margin: 4px 0; }
        .exit-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(6px); z-index: 1001; display: none; align-items: center; justify-content: center; padding: 20px; }
        .exit-overlay.active { display: flex; }
        .exit-popup { background: var(--bg-3); border: 1px solid var(--border-2); border-radius: 16px; padding: 32px; max-width: 480px; width: 100%; position: relative; text-align: center; }
        .exit-popup h2 { font-size: 26px; margin-bottom: 10px; }
        .exit-sub { color: var(--text-2); font-size: 15px; margin-bottom: 22px; }
        .exit-form { display: flex; gap: 8px; }
        @media (max-width: 480px) { .exit-form { flex-direction: column; } }
        .exit-footer-text { font-size: 11px; color: var(--gray); margin-top: 14px; }
        .toast-container { position: fixed; bottom: 24px; left: 24px; z-index: 90; display: flex; flex-direction: column; gap: 10px; }
        .toast { background: var(--bg-3); border: 1px solid var(--border-2); border-radius: 12px; padding: 14px 18px; max-width: 320px; position: relative; animation: slideIn .4s; box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12); }
        @keyframes slideIn { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } }
        .toast-close { position: absolute; top: 8px; right: 10px; background: none; border: none; color: var(--gray); cursor: pointer; font-size: 18px; }
        .toast-text { font-size: 13px; color: var(--text); }
        .toast-time { font-size: 11px; color: var(--gray); margin-top: 4px; }
        .toast-progress { position: absolute; bottom: 0; left: 0; height: 2px; background: var(--cta); width: 100%; animation: shrink 5s linear; }
        @keyframes shrink { from { width: 100%; } to { width: 0; } }
        .sticky-cta { position: fixed; bottom: 16px; left: 16px; right: 16px; z-index: 90; text-align: center; display: none; }
        .sticky-cta .btn-cta { width: 100%; justify-content: center; }
        @media (max-width: 820px) { .sticky-cta { display: block; } }
        footer { background: var(--bg-3); padding: 60px 0 28px; border-top: 1px solid var(--border); }
        .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 36px; }
        @media (max-width: 720px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
        .footer-col h4 { font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--gray); margin-bottom: 14px; font-weight: 700; }
        .footer-col a { display: block; font-size: 14px; color: var(--text-2); margin-bottom: 8px; }
        .footer-col a:hover { color: var(--cta); }
        .footer-brand p { font-size: 13px; color: var(--gray); margin-top: 10px; max-width: 320px; }
        .footer-bottom { border-top: 1px solid var(--border); padding-top: 22px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: 12px; color: var(--gray); }
    </style>
</head>
<body>

<nav id="navbar">
    <div class="nav-inner">
        <a href="#hero" class="logo" aria-label="BSCANNED home"><img src="assets/icons/bscanned-logo-white.png" alt="BSCANNED" width="240" height="96" decoding="async"></a>
        <ul class="nav-links" id="navLinks">
            <li><a href="#services">Services</a></li>
            <li><a href="#results">Results</a></li>
            <li><a href="#roi">ROI Calculator</a></li>
            <li><a href="/bschedule">Scheduler</a></li>
            <li><a href="#contact">Contact</a></li>
            <li><a href="javascript:void(0)" onclick="openIntakeModal()" class="nav-cta">Get Free Audit</a></li>
        </ul>
        <button id="mobileMenu" aria-label="Toggle menu"><i class="fas fa-bars"></i></button>
    </div>
</nav>

<section id="hero">
    <div class="container">
        <div class="hero-grid">
            <div class="hero-text">
                <div class="hero-pill"><span class="live-dot"></span> Calgary · AI Automation Studio</div>
                <h1>Your business on <span class="accent">autopilot</span>.<br><span id="typingText">Cut 40 Hours of Manual Work Every Week</span></h1>
                <p class="hero-lede">We build the AI-powered automations, websites, and apps that take repetitive work off your plate — so you can focus on the parts only you can do. Starting at $75 for a logo, $299 for a website.</p>
                <div class="hero-trust">
                    <span><strong>Calgary-based</strong></span>
                    <span><strong>Built to amplify, not replace</strong></span>
                    <span><strong>Live in days, not months</strong></span>
                </div>
                <div class="hero-cta-row">
                    <a href="#contact" class="btn-cta" onclick="document.getElementById('heroName').focus();return true;"><i class="fas fa-rocket"></i> Get My Free Audit</a>
                    <a href="tel:+18259009944" class="btn-outline"><i class="fas fa-phone"></i> Call 825-900-9944</a>
                </div>
            </div>

            <div id="heroFormCard">
                <div id="heroLeadForm">
                    <h3 class="form-title">Get Your Free Automation Audit</h3>
                    <p class="form-subtitle">15-minute scan of your business — see exactly where AI saves you time &amp; money.</p>
                    <form onsubmit="handleHeroFormSubmit(event)">
                        <div style="position:absolute;left:-9999px;top:-9999px;opacity:0;">
                            <input type="text" name="website_url" tabindex="-1" autocomplete="off">
                        </div>
                        <div class="form-group">
                            <label for="heroName">Your Name</label>
                            <input type="text" id="heroName" class="form-input" placeholder="John Smith" required>
                        </div>
                        <div class="form-group">
                            <label for="heroEmail">Email Address</label>
                            <input type="email" id="heroEmail" class="form-input" placeholder="john@business.com" required>
                        </div>
                        <div class="form-group">
                            <label for="heroChallenge">What's your biggest challenge?</label>
                            <select id="heroChallenge" class="form-input" required>
                                <option value="" disabled selected>Select a challenge...</option>
                                <option value="Manual data entry">Manual data entry</option>
                                <option value="Customer follow-ups">Customer follow-ups</option>
                                <option value="Scheduling/booking">Scheduling/booking</option>
                                <option value="Invoicing/billing">Invoicing/billing</option>
                                <option value="Website/online presence">Website/online presence</option>
                                <option value="Marketing">Marketing</option>
                                <option value="Logo/branding">Logo/branding</option>
                                <option value="Other">Other</option>
                            </select>
                        </div>
                        <div class="form-explain">
                            <i class="fas fa-shield-halved"></i>
                            <div>
                                <strong>Why Google sign-in?</strong>
                                One-tap spam protection — it verifies you're a real person without giving us your password. Sorry for the extra step; we keep our system highly secured for everyone's safety.
                            </div>
                        </div>
                        <button type="button" id="heroGoogleBtn" class="google-btn" onclick="handleGoogleSignIn('hero')">
                            <svg width="18" height="18" viewBox="0 0 48 48"><path fill="#FFC107" d="M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z"/><path fill="#FF3D00" d="M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z"/><path fill="#4CAF50" d="M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z"/><path fill="#1976D2" d="M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z"/></svg>
                            Sign in with Google to submit
                        </button>
                        <div class="google-status" id="heroGoogleStatus">
                            <i class="fas fa-check-circle"></i>
                            <span id="heroGoogleEmail"></span>
                        </div>
                        <button type="submit" id="heroSubmitBtn" class="submit-btn" disabled style="opacity:0.5;cursor:not-allowed;">
                            Get My Free Audit <i class="fas fa-arrow-right"></i>
                        </button>
                        <p class="form-tiny">No credit card · 15-minute call · We email findings within 24 hrs</p>
                    </form>
                </div>
                <div id="heroFormSuccess">
                    <div class="success-icon">✅</div>
                    <h3>Audit Request Received!</h3>
                    <p>Check your inbox — we'll be in touch within 24 hours with your custom report.</p>
                </div>
            </div>
        </div>
    </div>
</section>

<div class="trust-strip">
    <div class="container">
        <div class="trust-label">Trusted by Calgary &amp; Canadian businesses</div>
        <div class="trust-logos">
            <span class="trust-logo">Lawn2Snow</span>
            <span class="trust-logo">Hidden Kingz</span>
            <span class="trust-logo">BANT Cleaning</span>
            <span class="trust-logo">Queen Nails</span>
            <span class="trust-logo">SNN Solution Pros</span>
        </div>
    </div>
</div>

<section id="stats" class="reveal">
    <div class="container">
        <div class="stats-grid">
            <div class="stat-item"><span class="counter" data-target="500">0</span><span class="stat-suffix">+</span><span class="stat-label">Projects Delivered</span></div>
            <div class="stat-item"><span class="stat-prefix">$</span><span class="counter" data-target="299">0</span><span class="stat-label">Starting Website Price</span></div>
            <div class="stat-item"><span class="counter" data-target="48">0</span><span class="stat-suffix">hr</span><span class="stat-label">Average Turnaround</span></div>
            <div class="stat-item"><span class="counter" data-target="99" data-decimals="1">0</span><span class="stat-suffix">%</span><span class="stat-label">Client Satisfaction</span></div>
        </div>
    </div>
</section>

<section class="reveal">
    <div class="container">
        <div class="eyebrow">Sound familiar?</div>
        <h2>You're great at your business. The tools running it... not so much.</h2>
        <p class="section-lede">If any of these are eating your weeks, you're who we build for.</p>
        <div class="pain-grid">
            <div class="pain-card"><div class="pain-icon"><img src="assets/icons/pain-time.png" alt="" width="64" height="64" loading="lazy" decoding="async"></div><h3>Drowning in manual data entry</h3><p>Copy-pasting from one app to another, retyping the same info, building reports by hand.</p></div>
            <div class="pain-card"><div class="pain-icon"><img src="assets/icons/pain-missed-call.png" alt="" width="64" height="64" loading="lazy" decoding="async"></div><h3>Missing calls + follow-ups</h3><p>Voicemail full overnight. Leads go cold while you're heads-down on real work.</p></div>
            <div class="pain-card"><div class="pain-icon"><img src="assets/icons/pain-no-website.png" alt="" width="64" height="64" loading="lazy" decoding="async"></div><h3>Website that doesn't convert</h3><p>It looks fine. Nobody fills out the form. You haven't gotten a lead from it in months.</p></div>
            <div class="pain-card"><div class="pain-icon"><img src="assets/icons/pain-money-drain.png" alt="" width="64" height="64" loading="lazy" decoding="async"></div><h3>Paying for 12 SaaS tools</h3><p>Calendly, HubSpot, Mailchimp, Canva, Zapier, Asana… each $20-100/mo. Add it up.</p></div>
            <div class="pain-card"><div class="pain-icon"><img src="assets/icons/pain-mobile.png" alt="" width="64" height="64" loading="lazy" decoding="async"></div><h3>Social media on the back burner</h3><p>You know you should post. You don't have time. Your last IG post was two months ago.</p></div>
            <div class="pain-card"><div class="pain-icon"><img src="assets/icons/pain-overwhelmed.png" alt="" width="64" height="64" loading="lazy" decoding="async"></div><h3>Working past 9pm doing admin</h3><p>The actual revenue work happens before 5. Then the paperwork starts.</p></div>
        </div>
    </div>
</section>

<section id="services" class="reveal">
    <div class="container">
        <div class="eyebrow">Services &amp; pricing</div>
        <h2>Real prices. No "contact us for a quote."</h2>
        <p class="section-lede">Every project priced upfront. Premium quality at a fraction of agency rates — because AI does the heavy lifting.</p>
        <div class="services-grid">
            <div class="service-card"><div class="service-icon"><img src="assets/icons/svc-logo.png" alt="Logo design icon" loading="lazy" width="84" height="84"></div><h3>Logo Design</h3><div class="service-price"><span class="price-from-label">Starting at</span><span class="price-current">$75</span><span class="price-old">Agencies: $500–$2,500</span></div><ul class="service-features"><li>AI-assisted professional design</li><li>3 concepts to choose from</li><li>All file formats included</li><li>Up to 5 revisions</li></ul><a href="/logo-design" class="service-btn" style="text-decoration:none">Learn More <i class="fas fa-arrow-right"></i></a></div>
            <div class="service-card"><div class="service-icon"><img src="assets/icons/svc-flyer.png" alt="Flyer design icon" loading="lazy" width="84" height="84"></div><h3>Flyers &amp; Brochures</h3><div class="service-price"><span class="price-from-label">Starting at</span><span class="price-current">$99</span><span class="price-old">Agencies: $200–$1,000</span></div><ul class="service-features"><li>Eye-catching print-ready designs</li><li>Custom branding integration</li><li>Digital &amp; print formats</li></ul><a href="/flyers-brochures" class="service-btn" style="text-decoration:none">Learn More <i class="fas fa-arrow-right"></i></a></div>
            <div class="service-card"><span class="service-badge badge-popular">MOST POPULAR</span><div class="service-icon"><img src="assets/icons/svc-landing.png" alt="Landing page icon" loading="lazy" width="84" height="84"></div><h3>Website Landing Page</h3><div class="service-price"><span class="price-from-label">Starting at</span><span class="price-current">$299</span><span class="price-old">Agencies: $1,500–$5,000</span></div><ul class="service-features"><li>High-converting design</li><li>Mobile responsive</li><li>SEO optimized</li><li>Lead capture forms</li></ul><a href="/websites" class="service-btn" style="text-decoration:none">Learn More <i class="fas fa-arrow-right"></i></a></div>
            <div class="service-card"><div class="service-icon"><img src="assets/icons/svc-multipage.png" alt="Multi-page website icon" loading="lazy" width="84" height="84"></div><h3>Multi-Page Website</h3><div class="service-price"><span class="price-from-label">Starting at</span><span class="price-current">$699</span><span class="price-old">Agencies: $3,000–$15,000</span></div><ul class="service-features"><li>Up to 10 custom pages</li><li>CMS integration</li><li>Blog &amp; contact forms</li><li>Performance optimized</li></ul><a href="/multi-page-website" class="service-btn" style="text-decoration:none">Learn More <i class="fas fa-arrow-right"></i></a></div>
            <div class="service-card"><div class="service-icon"><img src="assets/icons/svc-mobile-app.png" alt="Mobile app icon" loading="lazy" width="84" height="84"></div><h3>Mobile Apps</h3><div class="service-price"><span class="price-from-label">Starting at</span><span class="price-current">$399</span><span class="price-old">Agencies: $10,000–$150,000</span></div><ul class="service-features"><li>iOS &amp; Android</li><li>Custom features &amp; integrations</li><li>Push notifications</li><li>App store submission</li></ul><a href="/mobile-app" class="service-btn" style="text-decoration:none">Learn More <i class="fas fa-arrow-right"></i></a></div>
            <div class="service-card"><span class="service-badge badge-premium">PREMIUM</span><div class="service-icon"><img src="assets/icons/svc-ai.png" alt="AI automation icon" loading="lazy" width="84" height="84"></div><h3>AI Automation</h3><div class="service-price"><span class="price-current">Custom Quote</span><span class="price-old">Agencies: $5,000–$50,000</span></div><ul class="service-features"><li>Workflow automation</li><li>AI chatbots &amp; assistants</li><li>Data processing pipelines</li><li>Custom integrations</li></ul><a href="/ai-automation" class="service-btn" style="text-decoration:none">Learn More <i class="fas fa-arrow-right"></i></a></div>
            <div class="service-card"><span class="service-badge badge-new">NEW</span><div class="service-icon"><img src="assets/icons/svc-video.png" alt="AI video content icon" loading="lazy" width="84" height="84"></div><h3>AI Video Content</h3><div class="service-price"><span class="price-from-label">Starting at</span><span class="price-current">$49.99</span><span class="price-old">Agencies: $500–$5,000</span></div><ul class="service-features"><li>AI-generated video ads</li><li>Social media content</li><li>Script to screen in 48hrs</li></ul><a href="/ai-video" class="service-btn" style="text-decoration:none">Learn More <i class="fas fa-arrow-right"></i></a></div>
            <div class="service-card"><div class="service-icon"><img src="assets/icons/svc-social.png" alt="Social media marketing icon" loading="lazy" width="84" height="84"></div><h3>Social Media Marketing</h3><div class="service-price"><span class="price-from-label">Starting at</span><span class="price-current">$25/mo</span><span class="price-old">Agencies: $1,000–$10,000/mo</span></div><ul class="service-features"><li><strong>Basic ($25/mo):</strong> 3 posts/wk + auto-posting</li><li><strong>Engage ($75/mo):</strong> AI replies to DMs &amp; comments</li><li><strong>Ads ($125/mo + your ad spend):</strong> AI runs FB/IG/Google ads</li><li>Pick a tier — upgrade anytime</li></ul><a href="/social-media" class="service-btn" style="text-decoration:none">See Tiers <i class="fas fa-arrow-right"></i></a></div>
        </div>
    </div>
</section>

<section id="roi" class="reveal">
    <div class="container">
        <div class="eyebrow" style="text-align:center;display:block;">See your savings</div>
        <h2 style="text-align:center;">How much could AI save you?</h2>
        <p class="section-lede" style="text-align:center;margin-left:auto;margin-right:auto;">Drag the sliders. The numbers update live based on your situation.</p>
        <div class="roi-card">
            <div class="slider-group">
                <div class="slider-label"><span>Hours/week on manual tasks</span><span class="slider-value" id="hoursValue">20 hrs</span></div>
                <input type="range" class="roi-slider" id="hoursSlider" min="5" max="60" value="20">
            </div>
            <div class="slider-group">
                <div class="slider-label"><span>Average hourly cost</span><span class="slider-value" id="rateValue">$35/hr</span></div>
                <input type="range" class="roi-slider" id="rateSlider" min="15" max="100" value="35">
            </div>
            <div class="roi-results">
                <div class="roi-result"><div class="result-value" id="monthlySavings">$2,124</div><div class="result-label">Monthly Savings</div></div>
                <div class="roi-result"><div class="result-value" id="annualSavings">$25,494</div><div class="result-label">Annual Savings</div></div>
                <div class="roi-result"><div class="result-value" id="fteSavings">0.5</div><div class="result-label">Full-Time Employees Worth</div></div>
            </div>
            <div style="text-align:center;margin-top:24px;">
                <a href="#contact" class="btn-cta" onclick="document.getElementById('heroName').focus();return true;">Lock In Your Savings →</a>
            </div>
        </div>
    </div>
</section>

<section id="results" class="reveal">
    <div class="container">
        <div class="eyebrow">Real results for real businesses</div>
        <h2>Built. Shipped. Generating revenue.</h2>
        <p class="section-lede">A sample of recent client work. From a two-sided marketplace iOS app to AI-powered receptionists.</p>
        <div class="portfolio-grid">
            <div class="portfolio-card"><span class="portfolio-tag">Marketplace · iOS App</span><h3>Lawn2Snow</h3><div class="portfolio-sub">Calgary · Year-round home services</div><p>Full two-sided marketplace: customer booking, provider dispatch, Stripe Connect auto-splits, real-time job tracking.</p><div class="portfolio-stats"><div class="stat"><strong>iOS</strong> Native app</div><div class="stat"><strong>80/20</strong> Auto-payouts</div></div></div>
            <div class="portfolio-card"><span class="portfolio-tag">Mobile Detailing · Caribbean</span><h3>Hidden Kingz</h3><div class="portfolio-sub">Antigua &amp; Barbuda · Mobile cleaning</div><p>WhatsApp blast, AI image studio for marketing, quote-to-booking automation. Owner runs the whole business from his phone.</p><div class="portfolio-stats"><div class="stat"><strong>EC$10K</strong> First quarter</div><div class="stat"><strong>46</strong> Active customers</div></div></div>
            <div class="portfolio-card"><span class="portfolio-tag">B2B Software</span><h3>SNN Solution Pros</h3><div class="portfolio-sub">Enterprise consulting platform</div><p>Custom B2B portal for a Calgary consulting firm. Client onboarding, project tracking, document management, recurring billing.</p><div class="portfolio-stats"><div class="stat"><strong>Custom</strong> Portal build</div><div class="stat"><strong>Recurring</strong> Billing</div></div></div>
            <a href="https://bscanned-scheduler.netlify.app/" target="_blank" rel="noopener" class="portfolio-card" style="text-decoration:none;color:inherit;display:block;"><span class="portfolio-tag">Scheduling Tool · Live</span><h3>BSCANNED Scheduler</h3><div class="portfolio-sub">Online booking &amp; calendar</div><p>Self-serve appointment scheduler — clients pick a slot, get confirmations, and it syncs to your calendar. No more back-and-forth booking by text.</p><div class="portfolio-stats"><div class="stat"><strong>Live</strong> Try it now →</div><div class="stat"><strong>$0</strong> Booking fees</div></div></a>
            <a href="https://queennailsss4.netlify.app/" target="_blank" rel="noopener" class="portfolio-card" style="text-decoration:none;color:inherit;display:block;"><span class="portfolio-tag">Salon Booking · Live</span><h3>Queen Nails</h3><div class="portfolio-sub">Solo nail technician</div><p>Branded booking site + press-on shop + Square checkout + Google Calendar sync. Clients self-serve appointments while she focuses on the chair, not the phone.</p><div class="portfolio-stats"><div class="stat"><strong>Live</strong> Booking + Shop</div><div class="stat"><strong>0 hrs</strong> Phone tag</div></div></a>
            <a href="https://bantcleaning.com" target="_blank" rel="noopener" class="portfolio-card" style="text-decoration:none;color:inherit;display:block;"><span class="portfolio-tag">Commercial Cleaning · Ops Platform</span><h3>Bant Cleaning</h3><div class="portfolio-sub">Multi-crew commercial cleaning</div><p>Full ops platform: dispatch crews to client sites, multi-tenant access for admin / crew leads / clients, branded site at bantcleaning.com, automated daily content on FB + IG. One dashboard runs the whole operation.</p><div class="portfolio-stats"><div class="stat"><strong>Dispatch</strong> + Multi-tenant</div><div class="stat"><strong>Daily</strong> FB + IG auto-posts</div></div></a>
        </div>
    </div>
</section>

<style>
    #philosophy { padding: 80px 0; background: radial-gradient(ellipse at 0% 50%, rgba(16,185,129,0.10), transparent 55%); }
    #philosophy .eyebrow { color: var(--cta); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 12px; }
    #philosophy h2 { font-size: clamp(30px, 4.5vw, 50px); font-weight: 900; letter-spacing: -1.2px; margin-bottom: 18px; line-height: 1.1; }
    #philosophy h2 .accent { color: var(--cta); }
    #philosophy .lede { color: var(--text-2); font-size: 18px; max-width: 70ch; margin-bottom: 32px; }
    #philosophy .lede strong { color: var(--text); font-weight: 700; }
    .principle-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin-top: 32px; }
    .principle-card { background: var(--bg-2); border: 1px solid var(--border); border-radius: 14px; padding: 24px; position: relative; }
    .principle-card .ptag { display: inline-block; background: rgba(16,185,129,0.12); border: 1px solid var(--border-2); color: var(--cta); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.8px; padding: 4px 10px; border-radius: 100px; margin-bottom: 14px; }
    .principle-card h3 { font-size: 18px; font-weight: 800; color: var(--text); margin-bottom: 8px; letter-spacing: -0.3px; }
    .principle-card p { font-size: 14.5px; color: var(--text-2); line-height: 1.55; }
    .principle-card .h-arrow { color: var(--cta); margin: 0 4px; }
    #studio { padding: 80px 0; background: radial-gradient(ellipse at 50% 0%, rgba(59,130,246,0.08), transparent 60%); }
    #studio .eyebrow { color: var(--cta); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 12px; }
    #studio h2 { font-size: clamp(28px, 4vw, 44px); font-weight: 900; letter-spacing: -1px; margin-bottom: 14px; }
    #studio .section-lede { color: var(--text-2); font-size: 17px; max-width: 64ch; margin-bottom: 36px; }
    .agent-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin: 28px 0 20px; }
    .agent-card { background: var(--bg-2); border: 1px solid var(--border); border-radius: 14px; padding: 20px; transition: border-color .2s, transform .2s; }
    .agent-card:hover { border-color: var(--cta); transform: translateY(-2px); }
    .agent-card .agent-icon { font-size: 24px; color: var(--cta); margin-bottom: 10px; }
    .agent-card h4 { font-size: 16px; font-weight: 700; color: var(--text); margin-bottom: 6px; }
    .agent-card p { font-size: 13px; color: var(--gray); line-height: 1.45; }
    .planner-box { background: linear-gradient(135deg, rgba(16,185,129,0.15), rgba(59,130,246,0.10)); border: 1px solid var(--border-2); border-radius: 16px; padding: 24px 28px; margin-bottom: 24px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
    .planner-box .planner-icon { font-size: 36px; color: var(--cta); }
    .planner-box .planner-text { flex: 1; min-width: 240px; }
    .planner-box h3 { font-size: 18px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
    .planner-box p { font-size: 14px; color: var(--text-2); }
    .stack-strip { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border); }
    .stack-chip { background: var(--bg-3); border: 1px solid var(--border); color: var(--text-2); padding: 6px 12px; border-radius: 100px; font-size: 12px; font-weight: 600; }
</style>

<section id="philosophy" class="reveal">
    <div class="container">
        <div class="eyebrow">Our philosophy</div>
        <h2>We don't build AI to <span class="accent">replace your team.</span><br>We build it to make them <span class="accent">unstoppable.</span></h2>
        <p class="lede">Every tool we ship is designed around one principle: <strong>amplify the people who already make your business work.</strong> Your receptionist still owns the relationship — the AI just answers when she's at lunch. Your dispatcher still runs the day — the platform just stops them from re-typing the same job into three apps. Your team keeps the parts that need a human. The grunt work is what disappears.</p>

        <div class="principle-grid">
            <div class="principle-card">
                <span class="ptag"><i class="fas fa-keyboard"></i> AI takes</span>
                <h3>The typing.</h3>
                <p>Receipt entry. Calendar pings. Lead research. Social captions. Inbox triage. The repetitive 80% that wears people down — handed to software so it never costs you a person's afternoon again.</p>
            </div>
            <div class="principle-card">
                <span class="ptag"><i class="fas fa-handshake"></i> Humans take</span>
                <h3>The calls.</h3>
                <p>Relationships. Judgment. Weird requests. Real conversations. The 20% that drives revenue and trust — exactly the work your team is best at, with all the boring stuff cleared off their desk.</p>
            </div>
            <div class="principle-card">
                <span class="ptag"><i class="fas fa-arrow-trend-up"></i> Your team gets</span>
                <h3>Better, not smaller.</h3>
                <p>Same headcount, more output. Faster responses, calmer days, sharper decisions. Owners we work with don't lay anyone off — they grow what their people are already good at.</p>
            </div>
        </div>
    </div>
</section>

<section id="studio" class="reveal">
    <div class="container">
        <div class="eyebrow">The studio behind the work</div>
        <h2>How we ship in days, not months.</h2>
        <p class="section-lede">Every B Scanned build runs through the same AI studio — a planner that decomposes your brief into work, and specialist agents that execute. You get a senior team's output without a senior team's billable hours.</p>

        <div class="planner-box">
            <div class="planner-icon"><i class="fas fa-sitemap"></i></div>
            <div class="planner-text">
                <h3>The Planner</h3>
                <p>Reads your brief, breaks it into a build plan, hands work to the right agent, and reconciles outputs. The conductor — not the orchestra.</p>
            </div>
        </div>

        <div class="agent-grid">
            <div class="agent-card"><div class="agent-icon"><i class="fas fa-code"></i></div><h4>Code Agent</h4><p>Next.js, React Native, Supabase schemas, RLS policies — production-grade scaffolds, not toys.</p></div>
            <div class="agent-card"><div class="agent-icon"><i class="fas fa-project-diagram"></i></div><h4>Workflow Agent</h4><p>n8n flows: lead capture, daily content, payment splits, calendar sync, Apollo enrichment.</p></div>
            <div class="agent-card"><div class="agent-icon"><i class="fas fa-phone-volume"></i></div><h4>Voice Agent</h4><p>Vapi receptionists with custom prompts, tools, and brand voice. Books leads while you sleep.</p></div>
            <div class="agent-card"><div class="agent-icon"><i class="fas fa-palette"></i></div><h4>Design Agent</h4><p>Logos, brand systems, SVGs, AI-generated images. Brand-consistent across every touchpoint.</p></div>
            <div class="agent-card"><div class="agent-icon"><i class="fas fa-video"></i></div><h4>Video Agent</h4><p>Cuts, captions, social variants, narrated ads. From raw footage to publish-ready in hours.</p></div>
            <div class="agent-card"><div class="agent-icon"><i class="fas fa-plug"></i></div><h4>Integrations Agent</h4><p>Square, Stripe, Twilio, Gmail, Calendar, FB/IG, LinkedIn — wired in, not bolted on.</p></div>
            <div class="agent-card"><div class="agent-icon"><i class="fas fa-pen-fancy"></i></div><h4>Content Agent</h4><p>Cold emails, sales decks, docs, ad copy — written for your audience and tone, not boilerplate.</p></div>
        </div>

        <div class="stack-strip">
            <span class="stack-chip">Supabase</span>
            <span class="stack-chip">Netlify</span>
            <span class="stack-chip">n8n</span>
            <span class="stack-chip">Vapi</span>
            <span class="stack-chip">Square</span>
            <span class="stack-chip">Stripe</span>
            <span class="stack-chip">fal.ai</span>
            <span class="stack-chip">xAI Grok</span>
            <span class="stack-chip">Claude</span>
            <span class="stack-chip">Google Workspace</span>
            <span class="stack-chip">Meta Graph</span>
            <span class="stack-chip">LinkedIn API</span>
        </div>
    </div>
</section>

<section class="reveal">
    <div class="container">
        <div class="eyebrow">How it works</div>
        <h2>Go live in 3 simple steps.</h2>
        <p class="section-lede">No long discovery calls. No 6-month enterprise rollouts. Just real work, fast.</p>
        <div class="steps">
            <div class="step-card"><h3>Free Discovery Call</h3><p>15-minute call where we map your current tools, your biggest time-drain, and the 1-2 automations that pay for the whole project in week one.</p></div>
            <div class="step-card"><h3>Custom Strategy &amp; Quote</h3><p>Within 24 hours we send you a fixed-price proposal with exact deliverables and timeline. No surprises, no fine print.</p></div>
            <div class="step-card"><h3>Build &amp; Launch</h3><p>Most projects ship in 48 hours to 2 weeks. We onboard your team, train you on the platform, and stay available for tuning.</p></div>
        </div>
    </div>
</section>

<style>
    #faq { padding: 80px 0; background: var(--bg-2); border-top: 1px solid var(--border); }
    #faq h2 { font-size: clamp(28px, 4vw, 42px); font-weight: 900; letter-spacing: -1px; margin-bottom: 14px; }
    #faq .eyebrow { color: var(--cta); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 12px; }
    #faq .section-lede { color: var(--text-2); font-size: 17px; max-width: 64ch; margin-bottom: 32px; }
    .faq-grid { display: grid; gap: 14px; max-width: 820px; }
    .faq-item { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 20px 24px; }
    .faq-item h3 { font-size: 17px; font-weight: 800; color: var(--text); margin-bottom: 8px; letter-spacing: -0.3px; }
    .faq-item p { font-size: 14.5px; color: var(--text-2); line-height: 1.55; }
    .faq-item p a { color: var(--cta); font-weight: 600; }
</style>

<section id="faq" class="reveal">
    <div class="container">
        <div class="eyebrow">Frequently asked</div>
        <h2>Common questions from Calgary owners.</h2>
        <p class="section-lede">The ones that come up on every discovery call.</p>
        <div class="faq-grid">

            <div class="faq-item">
                <h3>Is B Scanned a 3D scanning company?</h3>
                <p><strong>No.</strong> B Scanned AI Inc. is a Calgary <strong>AI automation studio</strong>. We build AI-powered websites, mobile apps, ops platforms, social media systems, and custom automations for small business — we don't do 3D scanning, 3D printing, cake toppers, or document scanning. The name is shorthand for "Brandon Scanned" (founder) plus "AI."</p>
            </div>

            <div class="faq-item">
                <h3>What does B Scanned actually do?</h3>
                <p>We build software and AI tools for Calgary small businesses. <a href="/websites">Websites</a> from $299, <a href="/mobile-app">mobile apps</a> from $399, <a href="/ai-automation">custom AI automations</a> (receptionists, chatbots, workflows), <a href="/social-media">social media management</a> from $25/mo, <a href="/ops-platform">multi-tenant ops platforms</a> for field service, and the design assets (<a href="/logo-design">logos</a>, <a href="/flyers-brochures">flyers</a>, <a href="/ai-video">video</a>) to round it out.</p>
            </div>

            <div class="faq-item">
                <h3>Will AI replace my team?</h3>
                <p>No — that's the whole point of how we build. Every tool we ship is designed to <strong>amplify your team, not replace them</strong>. The AI takes the typing, your people take the calls. Same headcount, more output. Read more in <a href="/blog/ai-replace-team-myth">this post</a>.</p>
            </div>

            <div class="faq-item">
                <h3>How fast can you ship?</h3>
                <p>Logos: 48 hours. Landing-page websites: 5-7 days. Multi-page websites: 1-2 weeks. Mobile apps: 4-6 weeks. Custom AI automations: 2-4 weeks. We do <a href="/#hero">free 15-min audits</a> and quote within 24 hours.</p>
            </div>

            <div class="faq-item">
                <h3>Are you based in Calgary?</h3>
                <p>Yes. B Scanned AI Inc. is a Calgary, Alberta company. We serve clients across Calgary, Alberta, and beyond — including Antigua &amp; Barbuda (Hidden Kingz). Phone: 825-900-9944.</p>
            </div>

            <div class="faq-item">
                <h3>What does it cost?</h3>
                <p>Most projects land between $75 (a logo) and $1,499/mo (custom AI studio engagement). Recurring SaaS packages start at $25/mo. <a href="/services">See full pricing</a>. Every quote is fixed-price after a free discovery call — no surprises.</p>
            </div>

        </div>
    </div>
</section>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    { "@type": "Question", "name": "Is B Scanned a 3D scanning company?", "acceptedAnswer": { "@type": "Answer", "text": "No. B Scanned AI Inc. is a Calgary AI automation studio. We build AI-powered websites, mobile apps, ops platforms, social media systems, and custom automations for small business — we don't do 3D scanning, 3D printing, cake toppers, or document scanning." } },
    { "@type": "Question", "name": "What does B Scanned actually do?", "acceptedAnswer": { "@type": "Answer", "text": "We build software and AI tools for Calgary small businesses. Websites from $299, mobile apps from $399, custom AI automations, social media management from $25/mo, multi-tenant ops platforms, and design assets." } },
    { "@type": "Question", "name": "Will AI replace my team?", "acceptedAnswer": { "@type": "Answer", "text": "No. Every tool we ship is designed to amplify your team, not replace them. The AI takes the typing, your people take the calls. Same headcount, more output." } },
    { "@type": "Question", "name": "How fast can you ship?", "acceptedAnswer": { "@type": "Answer", "text": "Logos: 48 hours. Landing pages: 5-7 days. Multi-page websites: 1-2 weeks. Mobile apps: 4-6 weeks. Custom AI automations: 2-4 weeks." } },
    { "@type": "Question", "name": "Are you based in Calgary?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. B Scanned AI Inc. is a Calgary, Alberta company. We serve clients across Calgary and beyond." } },
    { "@type": "Question", "name": "What does it cost?", "acceptedAnswer": { "@type": "Answer", "text": "Most projects land between $75 (a logo) and $1,499/mo (custom AI studio engagement). Recurring SaaS packages start at $25/mo." } }
  ]
}
</script>

<section class="final-cta" id="contact">
    <div class="container">
        <div class="eyebrow">Start today</div>
        <h2>Stop losing time &amp; money.</h2>
        <p>15-minute free audit. Custom strategy in 24 hours. Project live in days, not months.</p>
        <div class="cta-buttons">
            <a href="#hero" class="btn-cta" onclick="setTimeout(function(){document.getElementById('heroName').focus();},600)"><i class="fas fa-rocket"></i> Get My Free Audit</a>
            <a href="tel:+18259009944" class="btn-outline"><i class="fas fa-phone"></i> Call 825-900-9944</a>
            <a href="javascript:void(0)" onclick="openIntakeModal()" class="btn-outline"><i class="fas fa-envelope"></i> Start a Project</a>
        </div>
    </div>
</section>

<footer>
    <div class="container">
        <div class="footer-grid">
            <div class="footer-col footer-brand">
                <div class="logo"><img src="assets/icons/bscanned-logo-white.png" alt="BSCANNED" width="240" height="96" decoding="async"></div>
                <p>Calgary AI automation studio. Logos, websites, mobile apps, AI workflows. Premium quality at a fraction of agency rates.</p>
            </div>
            <div class="footer-col">
                <h4>Services</h4>
                <a href="#services">Logo Design</a>
                <a href="#services">Websites</a>
                <a href="#services">Mobile Apps</a>
                <a href="#services">AI Automation</a>
                <a href="#services">Social Media</a>
            </div>
            <div class="footer-col">
                <h4>Company</h4>
                <a href="#results">Portfolio</a>
                <a href="#roi">ROI Calculator</a>
                <a href="javascript:void(0)" onclick="openIntakeModal()">Get Free Audit</a>
                <a href="tel:+18259009944">825-900-9944</a>
            </div>
            <div class="footer-col">
                <h4>Contact</h4>
                <a href="mailto:brandon.thomas@bscanned.com">Email</a>
                <a href="tel:+18259009944">Phone</a>
                <a href="https://bscanned.com">bscanned.com</a>
            </div>
        </div>
        <div class="footer-bottom">
            <div>© <span id="year">2026</span> BSCANNED AI Inc. · Calgary, Canada</div>
            <div>Built fast. Built right. Built by humans &amp; AI.</div>
        </div>
    </div>
</footer>

<div class="modal-overlay" id="intakeModal">
    <div class="modal-content">
        <button class="modal-close" onclick="closeIntakeModal()">&times;</button>
        <div id="intakeFormContainer">
            <h2>Start Your Project</h2>
            <p class="modal-sub">Tell us what you need. We'll create your client account and send a custom quote.</p>
            <form id="intakeForm" onsubmit="handleIntakeSubmit(event)">
                <div style="position:absolute;left:-9999px;top:-9999px;opacity:0;">
                    <input type="text" name="website_url" tabindex="-1" autocomplete="off">
                </div>
                <div class="form-group">
                    <label>Services Needed</label>
                    <div class="services-checkbox-grid">
                        <label class="service-checkbox"><input type="checkbox" name="services" value="Logo Design"> Logo Design</label>
                        <label class="service-checkbox"><input type="checkbox" name="services" value="Flyers & Brochures"> Flyers &amp; Brochures</label>
                        <label class="service-checkbox"><input type="checkbox" name="services" value="Website Landing Page"> Website Landing Page</label>
                        <label class="service-checkbox"><input type="checkbox" name="services" value="Multi-Page Website"> Multi-Page Website</label>
                        <label class="service-checkbox"><input type="checkbox" name="services" value="Mobile App"> Mobile App</label>
                        <label class="service-checkbox"><input type="checkbox" name="services" value="AI Automation"> AI Automation</label>
                        <label class="service-checkbox"><input type="checkbox" name="services" value="AI Video Content"> AI Video Content</label>
                        <label class="service-checkbox"><input type="checkbox" name="services" value="Social Media Marketing"> Social Media Marketing</label>
                    </div>
                </div>
                <div class="form-row">
                    <div class="form-group">
                        <label for="intakeFirstName">First Name</label>
                        <input type="text" id="intakeFirstName" class="form-input" placeholder="John" required>
                    </div>
                    <div class="form-group">
                        <label for="intakeLastName">Last Name</label>
                        <input type="text" id="intakeLastName" class="form-input" placeholder="Smith" required>
                    </div>
                </div>
                <div class="form-group">
                    <label for="intakeEmail">Email</label>
                    <input type="email" id="intakeEmail" class="form-input" placeholder="john@business.com" required>
                </div>
                <div class="form-group">
                    <label for="intakePhone">Phone</label>
                    <input type="tel" id="intakePhone" class="form-input" placeholder="(555) 123-4567">
                </div>
                <div class="form-group">
                    <label for="intakeBusiness">Business Name</label>
                    <input type="text" id="intakeBusiness" class="form-input" placeholder="Your Business Inc.">
                </div>
                <div class="form-group">
                    <label for="intakeIndustry">Industry</label>
                    <select id="intakeIndustry" class="form-input">
                        <option value="" disabled selected>Select your industry...</option>
                        <option value="Retail/E-commerce">Retail/E-commerce</option>
                        <option value="Home Services">Home Services</option>
                        <option value="Healthcare">Healthcare</option>
                        <option value="Real Estate">Real Estate</option>
                        <option value="Finance">Finance</option>
                        <option value="Food & Beverage">Food &amp; Beverage</option>
                        <option value="Construction">Construction</option>
                        <option value="Technology">Technology</option>
                        <option value="Education">Education</option>
                        <option value="Other">Other</option>
                    </select>
                </div>
                <div class="form-group">
                    <label for="intakeNotes">Project Notes</label>
                    <textarea id="intakeNotes" class="form-input" rows="3" placeholder="Tell us about your project..."></textarea>
                </div>
                <div class="form-explain">
                    <i class="fas fa-shield-halved"></i>
                    <div>
                        <strong>Why Google sign-in?</strong>
                        One-tap spam protection — it verifies you're a real person without giving us your password. Sorry for the extra step; we keep our system highly secured for everyone's safety.
                    </div>
                </div>
                <button type="button" id="modalGoogleBtn" class="google-btn" onclick="handleGoogleSignIn('modal')">
                    <svg width="18" height="18" viewBox="0 0 48 48"><path fill="#FFC107" d="M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z"/><path fill="#FF3D00" d="M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z"/><path fill="#4CAF50" d="M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z"/><path fill="#1976D2" d="M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z"/></svg>
                    Sign in with Google to submit
                </button>
                <div class="google-status" id="modalGoogleStatus">
                    <i class="fas fa-check-circle"></i>
                    <span id="modalGoogleEmail"></span>
                </div>
                <button type="submit" id="submitBtn" class="submit-btn" disabled style="opacity:0.5;cursor:not-allowed;">
                    <i class="fas fa-paper-plane"></i> Submit Request
                </button>
            </form>
        </div>
    </div>
</div>

<div class="exit-overlay" id="exitOverlay">
    <div class="exit-popup">
        <button class="modal-close" onclick="closeExitPopup()">&times;</button>
        <h2>Wait — Before You Go</h2>
        <p class="exit-sub">Get our free checklist: <strong>"10 Tasks AI Can Automate in Your Business Today"</strong></p>
        <form class="exit-form" onsubmit="handleExitSubmit(event)">
            <input type="email" id="exitEmail" class="form-input" placeholder="your@email.com" required>
            <button type="submit" class="submit-btn" id="exitSubmitBtn" style="width:auto;padding:12px 22px;margin-top:0;white-space:nowrap;">Send It</button>
        </form>
        <p class="exit-footer-text">No spam. Unsubscribe anytime.</p>
    </div>
</div>

<div class="toast-container" id="toastContainer"></div>

<div class="sticky-cta" id="stickyCta">
    <a href="#hero" class="btn-cta" onclick="setTimeout(function(){document.getElementById('heroName').focus()},600)">
        <i class="fas fa-rocket"></i> Get My Free Audit
    </a>
</div>

<script>
const API_URL = 'https://script.google.com/macros/s/AKfycby5YSfodNe0eq0PQ1Wv6AWl8rsd5FVmwSb95KpmbufvvHsFEJIDERki-y5yTkbKfQmE/exec';
const PAGE_LOAD_TIME = Date.now();
const GOOGLE_CLIENT_ID = '420164295583-cqgrq7sdg25g9u2fp6d17roj1ud15u23.apps.googleusercontent.com';
let googleTokenClient = null;
let googleUser = null;
let pendingSignInTarget = null;
function initGoogleSignIn() {
    if (typeof google === 'undefined' || !google.accounts) { setTimeout(initGoogleSignIn, 200); return; }
    googleTokenClient = google.accounts.oauth2.initTokenClient({ client_id: GOOGLE_CLIENT_ID, scope: 'email profile', callback: handleGoogleCallback });
}
function handleGoogleSignIn(target) {
    if (!googleTokenClient) { alert('Google Sign-In is loading. Please try again in a moment.'); return; }
    pendingSignInTarget = target;
    const btn = document.getElementById(target === 'hero' ? 'heroGoogleBtn' : 'modalGoogleBtn');
    btn.disabled = true;
    btn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Signing in...';
    googleTokenClient.requestAccessToken();
}
async function handleGoogleCallback(response) {
    const target = pendingSignInTarget || 'hero';
    const btnId = target === 'hero' ? 'heroGoogleBtn' : 'modalGoogleBtn';
    const statusId = target === 'hero' ? 'heroGoogleStatus' : 'modalGoogleStatus';
    const emailId = target === 'hero' ? 'heroGoogleEmail' : 'modalGoogleEmail';
    const submitId = target === 'hero' ? 'heroSubmitBtn' : 'submitBtn';
    const googleSvg = '<svg width="18" height="18" viewBox="0 0 48 48"><path fill="#FFC107" d="M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z"/><path fill="#FF3D00" d="M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z"/><path fill="#4CAF50" d="M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z"/><path fill="#1976D2" d="M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z"/></svg>';
    if (response.error) { const btn = document.getElementById(btnId); btn.disabled = false; btn.innerHTML = googleSvg + ' Sign in with Google to submit'; return; }
    try {
        const userInfo = await fetch('https://www.googleapis.com/oauth2/v2/userinfo', { headers: { Authorization: 'Bearer ' + response.access_token } }).then(r => r.json());
        googleUser = { email: userInfo.email, name: userInfo.name };
        document.getElementById(btnId).style.display = 'none';
        const statusEl = document.getElementById(statusId);
        statusEl.style.display = 'flex';
        document.getElementById(emailId).textContent = 'Verified: ' + userInfo.email;
        const submitBtn = document.getElementById(submitId);
        submitBtn.disabled = false; submitBtn.style.opacity = '1'; submitBtn.style.cursor = 'pointer';
        if (target === 'hero') {
            const heroEmail = document.getElementById('heroEmail');
            if (!heroEmail.value) heroEmail.value = userInfo.email;
            const heroName = document.getElementById('heroName');
            if (!heroName.value && userInfo.name) heroName.value = userInfo.name;
        } else {
            const modalEmail = document.getElementById('intakeEmail');
            if (!modalEmail.value) modalEmail.value = userInfo.email;
        }
        enableAllForms(userInfo.email);
    } catch (error) {
        console.error('Google sign-in error:', error);
        const btn = document.getElementById(btnId);
        btn.disabled = false;
        btn.innerHTML = googleSvg + ' Sign in with Google to submit';
        alert('Error signing in. Please try again.');
    }
}
function enableAllForms(email) {
    ['hero', 'modal'].forEach(t => {
        const btnId = t === 'hero' ? 'heroGoogleBtn' : 'modalGoogleBtn';
        const statusId = t === 'hero' ? 'heroGoogleStatus' : 'modalGoogleStatus';
        const emailId = t === 'hero' ? 'heroGoogleEmail' : 'modalGoogleEmail';
        const submitId = t === 'hero' ? 'heroSubmitBtn' : 'submitBtn';
        const btn = document.getElementById(btnId);
        const status = document.getElementById(statusId);
        const emailEl = document.getElementById(emailId);
        const submit = document.getElementById(submitId);
        if (btn) btn.style.display = 'none';
        if (status) status.style.display = 'flex';
        if (emailEl) emailEl.textContent = 'Verified: ' + email;
        if (submit) { submit.disabled = false; submit.style.opacity = '1'; submit.style.cursor = 'pointer'; }
    });
}
async function handleHeroFormSubmit(e) {
    e.preventDefault();
    const honeypot = e.target.querySelector('input[name="website_url"]');
    if (honeypot && honeypot.value) return;
    if (Date.now() - PAGE_LOAD_TIME < 3000) return;
    const btn = document.getElementById('heroSubmitBtn');
    btn.disabled = true;
    btn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Sending...';
    const name = document.getElementById('heroName').value.trim();
    const email = document.getElementById('heroEmail').value.trim();
    const challenge = document.getElementById('heroChallenge').value;
    try {
        const leadData = {
            firstName: name.split(' ')[0] || name,
            lastName: name.split(' ').slice(1).join(' ') || '',
            email: email, phone: '', business: '',
            source: 'Website Hero Form',
            notes: 'Biggest Challenge: ' + (challenge || 'Not specified'),
            googleEmail: googleUser ? googleUser.email : '',
            googleName: googleUser ? googleUser.name : ''
        };
        const response = await fetch(API_URL + '?action=createLead&data=' + encodeURIComponent(JSON.stringify(leadData)));
        const result = await response.json();
        if (!result.success) throw new Error(result.error || 'Failed to submit');
        document.getElementById('heroLeadForm').style.display = 'none';
        document.getElementById('heroFormSuccess').style.display = 'block';
    } catch (error) {
        console.error('Hero form error:', error);
        btn.disabled = false;
        btn.innerHTML = 'Get My Free Audit <i class="fas fa-arrow-right"></i>';
        alert('Something went wrong. Please try again or call us at (825) 900-9944.');
    }
}
function openIntakeModal() { document.getElementById('intakeModal').classList.add('active'); document.body.style.overflow = 'hidden'; }
function closeIntakeModal() { document.getElementById('intakeModal').classList.remove('active'); document.body.style.overflow = ''; document.getElementById('intakeForm').reset(); }
document.getElementById('intakeModal').addEventListener('click', function(e) { if (e.target === this) closeIntakeModal(); });
document.addEventListener('keydown', function(e) { if (e.key === 'Escape') { closeIntakeModal(); closeExitPopup(); } });
async function handleIntakeSubmit(e) {
    e.preventDefault();
    const honeypot = e.target.querySelector('input[name="website_url"]');
    if (honeypot && honeypot.value) return;
    if (Date.now() - PAGE_LOAD_TIME < 3000) return;
    const submitBtn = document.getElementById('submitBtn');
    submitBtn.disabled = true;
    submitBtn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Submitting...';
    const serviceCheckboxes = document.querySelectorAll('input[name="services"]:checked');
    const selectedServices = Array.from(serviceCheckboxes).map(cb => cb.value);
    const formData = {
        firstName: document.getElementById('intakeFirstName').value.trim(),
        lastName: document.getElementById('intakeLastName').value.trim(),
        email: document.getElementById('intakeEmail').value.trim(),
        phone: document.getElementById('intakePhone').value.trim(),
        business: document.getElementById('intakeBusiness').value.trim(),
        industry: document.getElementById('intakeIndustry').value,
        notes: document.getElementById('intakeNotes').value.trim(),
        services: selectedServices.join(', '),
        googleEmail: googleUser ? googleUser.email : '',
        googleName: googleUser ? googleUser.name : ''
    };
    try {
        const newClient = {
            firstName: formData.firstName, lastName: formData.lastName,
            email: formData.email, phone: formData.phone,
            business: formData.business, industry: formData.industry,
            password: 'Welcome123!'
        };
        const clientResponse = await fetch(API_URL + '?action=createClient&data=' + encodeURIComponent(JSON.stringify(newClient)));
        const clientResult = await clientResponse.json();
        if (!clientResult.success) throw new Error(clientResult.error || 'Failed to create client');
        const clientId = clientResult.clientId;
        if (selectedServices.length > 0) {
            const quoteData = { clientId: clientId, services: formData.services, notes: formData.notes || 'Submitted via website intake form' };
            await fetch(API_URL + '?action=createQuoteRequest&data=' + encodeURIComponent(JSON.stringify(quoteData)));
        }
        const leadData = {
            clientId: clientId, firstName: formData.firstName, lastName: formData.lastName,
            email: formData.email, phone: formData.phone, business: formData.business,
            source: 'Website Intake Form',
            notes: 'Services: ' + formData.services + '\n\nNotes: ' + formData.notes
        };
        await fetch(API_URL + '?action=createLead&data=' + encodeURIComponent(JSON.stringify(leadData)));
        document.getElementById('intakeFormContainer').innerHTML =
            '<div class="success-message">' +
                '<div class="success-icon">&#9989;</div>' +
                '<h3>Welcome to BSCANNED!</h3>' +
                '<p>Your client dashboard has been created.</p>' +
                '<div class="credentials-box">' +
                    '<p><strong>Login Email:</strong> ' + formData.email + '</p>' +
                    '<p><strong>Temporary Password:</strong> Welcome123!</p>' +
                '</div>' +
                '<p style="font-size: 0.9rem; color: var(--gray);">Save these credentials. Change your password after first login.</p>' +
                '<a href="client-portal.html" class="submit-btn" style="margin-top: 1rem; text-decoration: none; display: inline-block; text-align: center;">' +
                    '<i class="fas fa-sign-in-alt"></i> Go to Client Dashboard' +
                '</a>' +
            '</div>';
    } catch (error) {
        console.error('Intake submission error:', error);
        submitBtn.disabled = false;
        submitBtn.innerHTML = '<i class="fas fa-paper-plane"></i> Submit Request';
        alert('There was an error. Please try again or call us at (825) 900-9944.');
    }
}
function selectServiceAndScroll(serviceName) {
    const dropdown = document.getElementById('heroChallenge');
    if (dropdown) {
        const serviceMap = {
            'Logo Design': 'Logo/branding',
            'Flyers & Brochures': 'Marketing',
            'Website Landing Page': 'Website/online presence',
            'Multi-Page Website': 'Website/online presence',
            'Mobile Apps': 'Other',
            'AI Automation': 'Manual data entry',
            'AI Video Content': 'Marketing',
            'Social Media Marketing': 'Marketing'
        };
        const challenge = serviceMap[serviceName] || 'Other';
        for (let i = 0; i < dropdown.options.length; i++) {
            if (dropdown.options[i].value === challenge) { dropdown.selectedIndex = i; break; }
        }
    }
    document.getElementById('hero').scrollIntoView({ behavior: 'smooth' });
    setTimeout(function() { document.getElementById('heroName').focus(); }, 600);
}
(function() {
    const phrases = ['Cut 40 Hours of Manual Work Every Week', 'Websites starting at $299. Logos at $75.', 'Same Team. More Output. Better Days.', 'Your Business on Autopilot by Friday'];
    const el = document.getElementById('typingText');
    if (!el) return;
    let phraseIndex = 0, charIndex = 0, isDeleting = false, typingSpeed = 50;
    function type() {
        const current = phrases[phraseIndex];
        if (isDeleting) { el.textContent = current.substring(0, charIndex - 1); charIndex--; typingSpeed = 30; }
        else { el.textContent = current.substring(0, charIndex + 1); charIndex++; typingSpeed = 50; }
        if (!isDeleting && charIndex === current.length) { typingSpeed = 2500; isDeleting = true; }
        else if (isDeleting && charIndex === 0) { isDeleting = false; phraseIndex = (phraseIndex + 1) % phrases.length; typingSpeed = 300; }
        setTimeout(type, typingSpeed);
    }
    type();
})();
function animateCounters() {
    document.querySelectorAll('.counter').forEach(function(counter) {
        const target = parseFloat(counter.getAttribute('data-target'));
        const decimals = parseInt(counter.getAttribute('data-decimals') || '0');
        const duration = 2000;
        const start = performance.now();
        function update(now) {
            const elapsed = now - start;
            const progress = Math.min(elapsed / duration, 1);
            const eased = 1 - Math.pow(1 - progress, 3);
            const current = eased * target;
            counter.textContent = decimals > 0 ? current.toFixed(decimals) : Math.floor(current);
            if (progress < 1) requestAnimationFrame(update);
        }
        requestAnimationFrame(update);
    });
}
function animateInlineCounters() {
    document.querySelectorAll('.counter-inline').forEach(function(counter) {
        const target = parseInt(counter.getAttribute('data-target'));
        const duration = 1500;
        const start = performance.now();
        function update(now) {
            const elapsed = now - start;
            const progress = Math.min(elapsed / duration, 1);
            const eased = 1 - Math.pow(1 - progress, 3);
            counter.textContent = Math.floor(eased * target);
            if (progress < 1) requestAnimationFrame(update);
        }
        requestAnimationFrame(update);
    });
}
(function() {
    var countersAnimated = false;
    var inlineCountersAnimated = false;
    var observer = new IntersectionObserver(function(entries) {
        entries.forEach(function(entry) {
            if (entry.isIntersecting) {
                entry.target.classList.add('revealed');
                if (entry.target.id === 'stats' && !countersAnimated) { countersAnimated = true; animateCounters(); }
            }
        });
    }, { threshold: 0.15 });
    document.querySelectorAll('.reveal').forEach(function(el) { observer.observe(el); });
    var heroObserver = new IntersectionObserver(function(entries) {
        entries.forEach(function(entry) {
            if (entry.isIntersecting && !inlineCountersAnimated) { inlineCountersAnimated = true; animateInlineCounters(); }
        });
    }, { threshold: 0.3 });
    var hero = document.getElementById('hero');
    if (hero) heroObserver.observe(hero);
})();
(function() {
    var stepObserver = new IntersectionObserver(function(entries) {
        entries.forEach(function(entry) { if (entry.isIntersecting) entry.target.classList.add('active'); });
    }, { threshold: 0.5 });
    document.querySelectorAll('.step-card').forEach(function(card) { stepObserver.observe(card); });
})();
(function() {
    var hoursSlider = document.getElementById('hoursSlider');
    var rateSlider = document.getElementById('rateSlider');
    var hoursValue = document.getElementById('hoursValue');
    var rateValue = document.getElementById('rateValue');
    var monthlySavings = document.getElementById('monthlySavings');
    var annualSavings = document.getElementById('annualSavings');
    var fteSavings = document.getElementById('fteSavings');
    function updateROI() {
        var hours = parseInt(hoursSlider.value);
        var rate = parseInt(rateSlider.value);
        hoursValue.textContent = hours + ' hrs';
        rateValue.textContent = '$' + rate + '/hr';
        var monthly = Math.round(hours * rate * 4.33 * 0.7);
        var annual = monthly * 12;
        var fte = (annual / 50000).toFixed(1);
        monthlySavings.textContent = '$' + monthly.toLocaleString();
        annualSavings.textContent = '$' + annual.toLocaleString();
        fteSavings.textContent = fte;
    }
    hoursSlider.addEventListener('input', updateROI);
    rateSlider.addEventListener('input', updateROI);
    updateROI();
})();
(function() {
    if (window.innerWidth < 768) return;
    var toasts = [
        { text: 'Sarah from Calgary just requested a free audit', time: '2 hours ago' },
        { text: "Mark's automation saves him 32 hours/week", time: 'Verified client' },
        { text: 'New client onboarded from Toronto', time: 'Yesterday' },
        { text: "Jake from Edmonton: 'Best investment we've made'", time: 'Last week' }
    ];
    var toastIndex = 0;
    var container = document.getElementById('toastContainer');
    function showToast() {
        var data = toasts[toastIndex];
        var toast = document.createElement('div');
        toast.className = 'toast';
        toast.innerHTML = '<button class="toast-close" onclick="this.parentElement.remove()">&times;</button>' +
            '<div class="toast-text">' + data.text + '</div>' +
            '<div class="toast-time">' + data.time + '</div>' +
            '<div class="toast-progress"></div>';
        container.appendChild(toast);
        setTimeout(function() { if (toast.parentElement) toast.remove(); }, 5000);
        toastIndex = (toastIndex + 1) % toasts.length;
    }
    setTimeout(function() { showToast(); setInterval(showToast, 8000); }, 5000);
})();
function closeExitPopup() { document.getElementById('exitOverlay').classList.remove('active'); }
(function() {
    var shown = false;
    document.addEventListener('mouseleave', function(e) {
        if (e.clientY < 5 && !shown && !sessionStorage.getItem('exitShown') && window.innerWidth > 768) {
            shown = true;
            sessionStorage.setItem('exitShown', 'true');
            document.getElementById('exitOverlay').classList.add('active');
        }
    });
    document.getElementById('exitOverlay').addEventListener('click', function(e) { if (e.target === this) closeExitPopup(); });
})();
async function handleExitSubmit(e) {
    e.preventDefault();
    var btn = document.getElementById('exitSubmitBtn');
    var email = document.getElementById('exitEmail').value.trim();
    btn.disabled = true;
    btn.textContent = 'Sending...';
    try {
        var leadData = {
            firstName: '', lastName: '', email: email, phone: '', business: '',
            source: 'Exit Intent Checklist',
            notes: 'Requested: 10 Tasks AI Can Automate checklist',
            googleEmail: '', googleName: ''
        };
        await fetch(API_URL + '?action=createLead&data=' + encodeURIComponent(JSON.stringify(leadData)));
        document.querySelector('.exit-popup').innerHTML =
            '<div style="text-align:center;padding:2rem;">' +
                '<div style="font-size:3rem;margin-bottom:1rem;">&#9989;</div>' +
                '<h3>Check Your Inbox!</h3>' +
                '<p style="color:var(--gray);margin-top:0.5rem;">Your checklist is on its way.</p>' +
            '</div>';
    } catch (err) {
        btn.disabled = false;
        btn.textContent = 'Send It';
        alert('Something went wrong. Please try again.');
    }
}
window.addEventListener('scroll', function() {
    var navbar = document.getElementById('navbar');
    if (window.scrollY > 100) navbar.classList.add('scrolled');
    else navbar.classList.remove('scrolled');
    var stickyCta = document.getElementById('stickyCta');
    var heroForm = document.getElementById('heroFormCard');
    if (stickyCta && heroForm) {
        var rect = heroForm.getBoundingClientRect();
        stickyCta.style.display = (rect.bottom > 0 && rect.top < window.innerHeight) ? 'none' : '';
    }
});
document.getElementById('mobileMenu').addEventListener('click', function() {
    document.getElementById('navLinks').classList.toggle('active');
    var icon = this.querySelector('i');
    icon.classList.toggle('fa-bars');
    icon.classList.toggle('fa-times');
});
document.querySelectorAll('a[href^="#"]').forEach(function(anchor) {
    anchor.addEventListener('click', function(e) {
        e.preventDefault();
        var target = document.querySelector(this.getAttribute('href'));
        if (target) {
            target.scrollIntoView({ behavior: 'smooth' });
            document.getElementById('navLinks').classList.remove('active');
            var icon = document.querySelector('#mobileMenu i');
            if (icon) { icon.classList.add('fa-bars'); icon.classList.remove('fa-times'); }
        }
    });
});
document.addEventListener('DOMContentLoaded', initGoogleSignIn);
document.getElementById('year').textContent = new Date().getFullYear();
</script>
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/sw.js').catch(function(){});}</script>
</body>
</html>
