<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="preload" href="/fonts/space-grotesk-latin.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/inter-latin.woff2" as="font" type="font/woff2" crossorigin><title>Adstack | Digital Marketing Agency</title><meta name="description" content="Adstack is a results-driven digital marketing agency specializing in SEO, Google Ads, Local Service Ads, web design, and more. 97% first-page Google placement rate. Serving Home Services, Healthcare, and Law Firms nationwide."><link rel="canonical" href="https://adstackmarketing.com/"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><meta name="keywords" content="digital marketing agency, SEO services, Google Ads, local service ads, Google My Business, web design, content marketing, link building, marketing agency, Adstack"><meta name="author" content="Adstack"><!-- Open Graph --><meta property="og:type" content="website"><meta property="og:title" content="Adstack | Digital Marketing Agency"><meta property="og:description" content="Stack the odds in your favor. 97% first-page Google placement rate. SEO, Google Ads, Local Service Ads, Web Design & more."><meta property="og:url" content="https://adstackmarketing.com"><meta property="og:locale" content="en_US"><meta property="og:site_name" content="Adstack"><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Adstack | Digital Marketing Agency"><meta name="twitter:description" content="Results-driven digital marketing. 97% first-page Google placement rate."><!-- Structured Data --><script type="application/ld+json">{"@context":"https://schema.org","@type":["ProfessionalService","LocalBusiness"],"name":"Adstack","description":"Full-service digital marketing agency specializing in SEO, Google Ads, Local Service Ads, web design, content marketing, and graphic design.","url":"https://adstackmarketing.com","telephone":"(307) 271-8410","email":"Sales@AdStackMarketing.com","address":{"@type":"PostalAddress","streetAddress":"","addressLocality":"Sheridan","addressRegion":"WY","postalCode":"","addressCountry":"US"},"priceRange":"$$","knowsAbout":["SEO","Google Ads","Local Service Ads","Web Design","Content Marketing","Link Building","Graphic Design","Google My Business"]}</script><link rel="stylesheet" href="/_astro/index.BXhRGjFe.css">
<link rel="stylesheet" href="/_astro/index.C4vzaKFC.css"><script type="module" src="/_astro/hoisted.Bi9nv_m9.js"></script></head> <body> <a href="#main-content" class="skip-link">Skip to main content</a>  <nav id="mainNav" aria-label="Main navigation"> <!-- Logo --> <a href="/" class="nav-logo" aria-label="Adstack, go to home page"> <img src="/_astro/adstack-logo-tsp.6-R3pwK9_CTE2h.webp" alt="Adstack" loading="eager" width="872" height="220" decoding="async"> </a> <!-- Desktop nav --> <ul class="nav-links" role="menubar"> <!-- Services dropdown --> <li class="has-dropdown" role="none"> <button class="nav-dd-trigger" role="menuitem" aria-haspopup="true" aria-expanded="false">
Services
<svg class="dd-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg> </button> <div class="dropdown dd-services" role="menu"> <a href="/services/seo" class="dd-item" role="menuitem"> <div class="dd-item-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg></div> <div class="dd-item-text"> <strong>SEO Services</strong> <span>Rank higher, get found</span> </div> </a><a href="/services/google-adwords" class="dd-item" role="menuitem"> <div class="dd-item-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg></div> <div class="dd-item-text"> <strong>Google AdWords</strong> <span>PPC that converts</span> </div> </a><a href="/services/local-service-ads" class="dd-item" role="menuitem"> <div class="dd-item-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div> <div class="dd-item-text"> <strong>Local Service Ads</strong> <span>Google Guaranteed top placement</span> </div> </a><a href="/services/web-design" class="dd-item" role="menuitem"> <div class="dd-item-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18"/><path d="M9 21V9"/></svg></div> <div class="dd-item-text"> <strong>Custom Web Design</strong> <span>Sites that generate leads</span> </div> </a><a href="/services/google-my-business" class="dd-item" role="menuitem"> <div class="dd-item-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg></div> <div class="dd-item-text"> <strong>Google My Business</strong> <span>Own your local presence</span> </div> </a><a href="/services/content-marketing" class="dd-item" role="menuitem"> <div class="dd-item-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg></div> <div class="dd-item-text"> <strong>Content Marketing</strong> <span>Content that converts</span> </div> </a><a href="/services/link-building" class="dd-item" role="menuitem"> <div class="dd-item-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></div> <div class="dd-item-text"> <strong>Link Building</strong> <span>Authority that compounds</span> </div> </a><a href="/services/graphic-design" class="dd-item" role="menuitem"> <div class="dd-item-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="13.5" cy="6.5" r=".5"/><circle cx="17.5" cy="10.5" r=".5"/><circle cx="8.5" cy="7.5" r=".5"/><circle cx="6.5" cy="12.5" r=".5"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"/></svg></div> <div class="dd-item-text"> <strong>Graphic Design</strong> <span>Visuals that build trust</span> </div> </a> </div> </li> <!-- Industries dropdown --> <li class="has-dropdown" role="none"> <button class="nav-dd-trigger" role="menuitem" aria-haspopup="true" aria-expanded="false">
Industries
<svg class="dd-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg> </button> <div class="dropdown dd-industries" role="menu"> <a href="/industries/home-services" class="dd-simple-item" role="menuitem"> <div class="dd-simple-icon"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg></div> <div> <div style="font-weight:600;font-size:0.85rem;color:var(--navy);">Home Services</div> <div style="font-size:0.72rem;color:var(--text-muted);margin-top:1px;">Electricians, Plumbers, HVAC…</div> </div> </a><a href="/industries/healthcare" class="dd-simple-item" role="menuitem"> <div class="dd-simple-icon"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg></div> <div> <div style="font-weight:600;font-size:0.85rem;color:var(--navy);">Healthcare</div> <div style="font-size:0.72rem;color:var(--text-muted);margin-top:1px;">Dentists, Vets, Senior Living</div> </div> </a><a href="/industries/law-firms" class="dd-simple-item" role="menuitem"> <div class="dd-simple-icon"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div> <div> <div style="font-weight:600;font-size:0.85rem;color:var(--navy);">Law Firms</div> <div style="font-size:0.72rem;color:var(--text-muted);margin-top:1px;">PI, Family, Criminal Defense…</div> </div> </a> </div> </li> <li role="none"><a href="/#why-us" role="menuitem">Why Us</a></li> <li role="none"><a href="/#how-it-works" role="menuitem">How It Works</a></li> <li role="none"><a href="/#contact" role="menuitem">Contact</a></li> <li role="none"> <a href="tel:+13072718410" role="menuitem" style="color:var(--orange-dim);font-weight:700;white-space:nowrap;"> (307) 271-8410 </a> </li> <li role="none"> <a href="/#contact" class="btn-nav" role="menuitem">Free Consultation</a> </li> </ul> <!-- Mobile/tablet actions: keep the CTA visible alongside the hamburger --> <div class="nav-mobile-actions"> <a href="tel:+13072718410" class="nav-phone-compact">(307) 271-8410</a> <a href="/#contact" class="btn-nav nav-cta-compact">Free Consultation</a> <button class="nav-hamburger" id="navToggle" aria-label="Toggle menu" aria-expanded="false"> <svg id="hamburgerIcon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <line x1="3" y1="6" x2="21" y2="6"></line> <line x1="3" y1="12" x2="21" y2="12"></line> <line x1="3" y1="18" x2="21" y2="18"></line> </svg> </button> </div> </nav> <!-- Mobile menu drawer --> <div class="mobile-nav" id="mobileNav" aria-hidden="true"> <span class="mobile-nav-section-title">Services</span> <a href="/services/seo">SEO Services</a><a href="/services/google-adwords">Google AdWords</a><a href="/services/local-service-ads">Local Service Ads</a><a href="/services/web-design">Custom Web Design</a><a href="/services/google-my-business">Google My Business</a><a href="/services/content-marketing">Content Marketing</a><a href="/services/link-building">Link Building</a><a href="/services/graphic-design">Graphic Design</a> <span class="mobile-nav-section-title">Industries</span> <a href="/industries/home-services">Home Services</a><a href="/industries/healthcare">Healthcare</a><a href="/industries/law-firms">Law Firms</a> <span class="mobile-nav-section-title">Company</span> <a href="/">Home</a> <a href="/#why-us">Why Us</a> <a href="/#how-it-works">How It Works</a> <a href="/#contact">Contact</a> <a href="tel:+13072718410">(307) 271-8410</a> <a href="/#contact" class="btn-nav-mobile">Get a Free Consultation</a> </div>  <main id="main-content" class="home"> <section class="hn2" data-astro-cid-bbe6dxrz> <!-- ── Animated WebGL US lattice background ── --> <div class="lattice-bg" aria-hidden="true" data-astro-cid-q3e35kd3> <canvas class="lattice-canvas" data-astro-cid-q3e35kd3></canvas> </div>   <div aria-hidden="true" class="hn2-scrim" data-astro-cid-bbe6dxrz></div> <!-- ── Wrapper ── --> <div class="hn2-content" data-astro-cid-bbe6dxrz> <!-- Announcement pill — full width, above grid --> <div class="hn2-banner-wrap" data-astro-cid-bbe6dxrz> <div class="hn2-banner" data-astro-cid-bbe6dxrz>
Hundreds of businesses grown nationwide.&nbsp;
<a href="#reviews" class="hn2-banner-link" data-astro-cid-bbe6dxrz>See their results <span aria-hidden="true" data-astro-cid-bbe6dxrz>→</span></a> </div> </div> <!-- ── Two-column grid ── --> <div class="hn2-grid" data-astro-cid-bbe6dxrz> <!-- LEFT: pitch copy --> <div class="hn2-left" data-astro-cid-bbe6dxrz> <h1 class="hn2-title" data-astro-cid-bbe6dxrz>
Dominate Local Search.<br data-astro-cid-bbe6dxrz>Grow Your Business Online.
</h1> <p class="hn2-desc" data-astro-cid-bbe6dxrz>
Targeted strategies. Measurable results. Sustainable growth. Adstack blends paid search, precision SEO, and proven organic strategies to put you in front of customers who are ready to buy.
</p> <div class="hn2-actions" data-astro-cid-bbe6dxrz> <a href="#contact" class="btn-primary btn-large" data-astro-cid-bbe6dxrz>Get a Free Consultation</a> <a href="#why-us" class="hn2-learn" data-astro-cid-bbe6dxrz>
See how it works <span aria-hidden="true" data-astro-cid-bbe6dxrz>→</span> </a> </div> <!-- Trust pills --> <div class="hn2-trust" data-astro-cid-bbe6dxrz> <span class="hn2-trust-pill" data-astro-cid-bbe6dxrz>&#x2713; 97% First-Page Rate</span> <span class="hn2-trust-pill" data-astro-cid-bbe6dxrz>&#x2713; Free Audit</span> <span class="hn2-trust-pill" data-astro-cid-bbe6dxrz>&#x2713; Annual Plans</span> </div> </div> <!-- RIGHT: visual proof — business dashboard --> <div class="hn2-right" data-astro-cid-bbe6dxrz> <div class="hn2-dashboard" aria-hidden="true" data-astro-cid-bbe6dxrz> <!-- Dashboard header bar --> <div class="hn2-db-header" data-astro-cid-bbe6dxrz> <div class="hn2-db-title" data-astro-cid-bbe6dxrz> <svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-bbe6dxrz><rect x="3" y="3" width="7" height="7" data-astro-cid-bbe6dxrz></rect><rect x="14" y="3" width="7" height="7" data-astro-cid-bbe6dxrz></rect><rect x="3" y="14" width="7" height="7" data-astro-cid-bbe6dxrz></rect><rect x="14" y="14" width="7" height="7" data-astro-cid-bbe6dxrz></rect></svg>
Campaign Dashboard
</div> </div> <!-- KPI tiles row --> <div class="hn2-kpi-row" data-astro-cid-bbe6dxrz> <div class="hn2-kpi" data-astro-cid-bbe6dxrz> <span class="hn2-kpi-label" data-astro-cid-bbe6dxrz>Organic Traffic</span> <span class="hn2-kpi-num" data-astro-cid-bbe6dxrz>+127%</span> <span class="hn2-kpi-trend hn2-kpi-trend--up" data-astro-cid-bbe6dxrz>↑ 9-month growth</span> </div> <div class="hn2-kpi" data-astro-cid-bbe6dxrz> <span class="hn2-kpi-label" data-astro-cid-bbe6dxrz>Leads / Month</span> <span class="hn2-kpi-num" data-astro-cid-bbe6dxrz>284</span> <span class="hn2-kpi-trend hn2-kpi-trend--up" data-astro-cid-bbe6dxrz>↑ 38% vs. prior</span> </div> <div class="hn2-kpi" data-astro-cid-bbe6dxrz> <span class="hn2-kpi-label" data-astro-cid-bbe6dxrz>Google Rank</span> <span class="hn2-kpi-num" data-astro-cid-bbe6dxrz>#1</span> <span class="hn2-kpi-trend hn2-kpi-trend--up" data-astro-cid-bbe6dxrz>↑ primary keyword</span> </div> </div> <!-- Bar chart --> <div class="hn2-chart-wrap" data-astro-cid-bbe6dxrz> <div class="hn2-chart-label" data-astro-cid-bbe6dxrz> <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-bbe6dxrz><polyline points="23 6 13.5 15.5 8.5 10.5 1 18" data-astro-cid-bbe6dxrz></polyline><polyline points="17 6 23 6 23 12" data-astro-cid-bbe6dxrz></polyline></svg>
Traffic Growth
<span class="hn2-chart-badge" data-astro-cid-bbe6dxrz>↑ 127%</span> </div> <div class="hn2-bars" id="hn2Bars" data-astro-cid-bbe6dxrz> <div class="hn2-bar-col" data-astro-cid-bbe6dxrz><div class="hn2-bar" style="--h:12%" data-astro-cid-bbe6dxrz></div><span data-astro-cid-bbe6dxrz>Jan</span></div> <div class="hn2-bar-col" data-astro-cid-bbe6dxrz><div class="hn2-bar" style="--h:19%" data-astro-cid-bbe6dxrz></div><span data-astro-cid-bbe6dxrz>Feb</span></div> <div class="hn2-bar-col" data-astro-cid-bbe6dxrz><div class="hn2-bar" style="--h:27%" data-astro-cid-bbe6dxrz></div><span data-astro-cid-bbe6dxrz>Mar</span></div> <div class="hn2-bar-col" data-astro-cid-bbe6dxrz><div class="hn2-bar" style="--h:36%" data-astro-cid-bbe6dxrz></div><span data-astro-cid-bbe6dxrz>Apr</span></div> <div class="hn2-bar-col" data-astro-cid-bbe6dxrz><div class="hn2-bar" style="--h:47%" data-astro-cid-bbe6dxrz></div><span data-astro-cid-bbe6dxrz>May</span></div> <div class="hn2-bar-col" data-astro-cid-bbe6dxrz><div class="hn2-bar" style="--h:58%" data-astro-cid-bbe6dxrz></div><span data-astro-cid-bbe6dxrz>Jun</span></div> <div class="hn2-bar-col" data-astro-cid-bbe6dxrz><div class="hn2-bar" style="--h:70%" data-astro-cid-bbe6dxrz></div><span data-astro-cid-bbe6dxrz>Jul</span></div> <div class="hn2-bar-col" data-astro-cid-bbe6dxrz><div class="hn2-bar" style="--h:83%" data-astro-cid-bbe6dxrz></div><span data-astro-cid-bbe6dxrz>Aug</span></div> <div class="hn2-bar-col hn2-bar-col--active" data-astro-cid-bbe6dxrz><div class="hn2-bar" style="--h:97%" data-astro-cid-bbe6dxrz></div><span data-astro-cid-bbe6dxrz>Sep</span></div> </div> </div> <!-- Keyword rankings table --> <div class="hn2-rankings" data-astro-cid-bbe6dxrz> <div class="hn2-rankings-title" data-astro-cid-bbe6dxrz>Top Keyword Rankings</div> <div class="hn2-ranking-row" data-astro-cid-bbe6dxrz> <span class="hn2-rk-kw" data-astro-cid-bbe6dxrz>HVAC repair [city]</span> <span class="hn2-rk-delta up" data-astro-cid-bbe6dxrz>↑4</span> <span class="hn2-rk-pos pos-1" data-astro-cid-bbe6dxrz>#1</span> </div> <div class="hn2-ranking-row" data-astro-cid-bbe6dxrz> <span class="hn2-rk-kw" data-astro-cid-bbe6dxrz>emergency plumber near me</span> <span class="hn2-rk-delta up" data-astro-cid-bbe6dxrz>↑7</span> <span class="hn2-rk-pos pos-1" data-astro-cid-bbe6dxrz>#2</span> </div> <div class="hn2-ranking-row hn2-ranking-row--extra" data-astro-cid-bbe6dxrz> <span class="hn2-rk-kw" data-astro-cid-bbe6dxrz>roofing contractor [city]</span> <span class="hn2-rk-delta up" data-astro-cid-bbe6dxrz>↑12</span> <span class="hn2-rk-pos pos-3" data-astro-cid-bbe6dxrz>#3</span> </div> </div> </div><!-- /hn2-dashboard --> </div><!-- /hn2-right --> </div><!-- /hn2-grid --> </div><!-- /hn2-content --> </section>   <div class="marquee-strip" aria-hidden="true"> <div class="marquee-track">  <span>SEO Services</span> <span class="mdot">&#9679;</span> <span>Google AdWords</span> <span class="mdot">&#9679;</span> <span>Local Service Ads</span> <span class="mdot">&#9679;</span> <span>Custom Web Design</span> <span class="mdot">&#9679;</span> <span>Google My Business</span> <span class="mdot">&#9679;</span> <span>Content Marketing</span> <span class="mdot">&#9679;</span> <span>Link Building</span> <span class="mdot">&#9679;</span> <span>Graphic Design</span> <span class="mdot">&#9679;</span> <span>97% First-Page Rate</span> <span class="mdot">&#9679;</span> <span>Free Consultation</span> <span class="mdot">&#9679;</span> <span>Transparent Contracts</span> <span class="mdot">&#9679;</span> <span>SEO Services</span> <span class="mdot">&#9679;</span> <span>Google AdWords</span> <span class="mdot">&#9679;</span> <span>Local Service Ads</span> <span class="mdot">&#9679;</span> <span>Custom Web Design</span> <span class="mdot">&#9679;</span> <span>Google My Business</span> <span class="mdot">&#9679;</span> <span>Content Marketing</span> <span class="mdot">&#9679;</span> <span>Link Building</span> <span class="mdot">&#9679;</span> <span>Graphic Design</span> <span class="mdot">&#9679;</span> <span>97% First-Page Rate</span> <span class="mdot">&#9679;</span> <span>Free Consultation</span> <span class="mdot">&#9679;</span> <span>Transparent Contracts</span>  </div> </div> <section class="results-strip" aria-label="Our results"> <div class="results-inner"> <div class="fade-up"> <div class="result-num" data-target="3.2" data-suffix="×">3.2×</div> <div class="result-label">Avg. Revenue<br>Growth</div> </div><div class="fade-up"> <div class="result-num" data-target="97" data-suffix="%">97%</div> <div class="result-label">First-Page<br>Placement Rate</div> </div><div class="fade-up"> <div class="result-num" data-target="100" data-suffix="+">100+</div> <div class="result-label">Businesses<br>Served</div> </div><div class="fade-up"> <div class="result-num" data-target="10" data-suffix="+">10+</div> <div class="result-label">Years of<br>Experience</div> </div> </div> </section>  <section class="section" id="services"> <div class="container"> <p class="section-tag">What We Do</p> <h2 class="section-title">Full-Service Digital Marketing</h2> <p class="section-subtitle">
Everything your business needs to dominate online, under one roof, managed by dedicated experts.
</p> <div class="svc-seq" id="svcSeq"> <!-- SVG zigzag path injected by script --> <div class="svc-item svc-item--left" data-idx="0"> <!-- Card --> <a class="svc-card" href="/services/seo"> <div class="svc-card-head"> <img class="svc-card-photo" src="https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&w=200&q=70" alt="SEO Services" loading="lazy"> <h3>SEO Services</h3> </div> <p>Dominate organic search with data-driven keyword strategies that put your business on page 1 of Google, and keep it there.</p> <span class="svc-card-arrow" aria-hidden="true">
Learn more
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a> <!-- Numbered node sitting on the line --> <div class="svc-node" aria-hidden="true"> <div class="svc-node-ring"> <span class="svc-node-num">1</span> </div> </div> </div><div class="svc-item svc-item--right" data-idx="1"> <!-- Card --> <a class="svc-card" href="/services/web-design"> <div class="svc-card-head"> <img class="svc-card-photo" src="https://images.unsplash.com/photo-1547658719-da2b51169166?auto=format&fit=crop&w=200&q=70" alt="Custom Web Design" loading="lazy"> <h3>Custom Web Design</h3> </div> <p>High-converting websites built to impress, load fast, and generate leads around the clock — no templates, no compromises.</p> <span class="svc-card-arrow" aria-hidden="true">
Learn more
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a> <!-- Numbered node sitting on the line --> <div class="svc-node" aria-hidden="true"> <div class="svc-node-ring"> <span class="svc-node-num">2</span> </div> </div> </div><div class="svc-item svc-item--left" data-idx="2"> <!-- Card --> <a class="svc-card" href="/services/google-adwords"> <div class="svc-card-head"> <img class="svc-card-photo" src="https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&w=200&q=70" alt="Google AdWords" loading="lazy"> <h3>Google AdWords</h3> </div> <p>Precision PPC campaigns that put your ad directly in front of customers who are actively searching for what you offer.</p> <span class="svc-card-arrow" aria-hidden="true">
Learn more
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a> <!-- Numbered node sitting on the line --> <div class="svc-node" aria-hidden="true"> <div class="svc-node-ring"> <span class="svc-node-num">3</span> </div> </div> </div><div class="svc-item svc-item--right" data-idx="3"> <!-- Card --> <a class="svc-card" href="/services/local-service-ads"> <div class="svc-card-head"> <img class="svc-card-photo" src="https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?auto=format&fit=crop&w=200&q=70" alt="Local Service Ads" loading="lazy"> <h3>Local Service Ads</h3> </div> <p>Appear at the very top of Google search results with a Google Guaranteed badge — the highest-trust placement available.</p> <span class="svc-card-arrow" aria-hidden="true">
Learn more
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a> <!-- Numbered node sitting on the line --> <div class="svc-node" aria-hidden="true"> <div class="svc-node-ring"> <span class="svc-node-num">4</span> </div> </div> </div><div class="svc-item svc-item--left" data-idx="4"> <!-- Card --> <a class="svc-card" href="/services/google-my-business"> <div class="svc-card-head"> <img class="svc-card-photo" src="https://images.unsplash.com/photo-1576153192621-7a3be10b356e?auto=format&fit=crop&w=200&q=70" alt="Google My Business" loading="lazy"> <h3>Google My Business</h3> </div> <p>Fully optimized GMB profiles that drive calls, earn reviews, and increase foot traffic for your local business.</p> <span class="svc-card-arrow" aria-hidden="true">
Learn more
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a> <!-- Numbered node sitting on the line --> <div class="svc-node" aria-hidden="true"> <div class="svc-node-ring"> <span class="svc-node-num">5</span> </div> </div> </div><div class="svc-item svc-item--right" data-idx="5"> <!-- Card --> <a class="svc-card" href="/services/content-marketing"> <div class="svc-card-head"> <img class="svc-card-photo" src="https://images.unsplash.com/photo-1499750310107-5fef28a66643?auto=format&fit=crop&w=200&q=70" alt="Content Marketing" loading="lazy"> <h3>Content Marketing</h3> </div> <p>Strategic content that educates prospects, builds trust, and keeps your brand top-of-mind throughout the buyer journey.</p> <span class="svc-card-arrow" aria-hidden="true">
Learn more
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a> <!-- Numbered node sitting on the line --> <div class="svc-node" aria-hidden="true"> <div class="svc-node-ring"> <span class="svc-node-num">6</span> </div> </div> </div><div class="svc-item svc-item--left" data-idx="6"> <!-- Card --> <a class="svc-card" href="/services/link-building"> <div class="svc-card-head"> <img class="svc-card-photo" src="https://images.unsplash.com/photo-1558655146-9f40138edfeb?auto=format&fit=crop&w=200&q=70" alt="Link Building" loading="lazy"> <h3>Link Building</h3> </div> <p>Build domain authority with high-quality backlinks from reputable sources, boosting your rankings across every keyword.</p> <span class="svc-card-arrow" aria-hidden="true">
Learn more
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a> <!-- Numbered node sitting on the line --> <div class="svc-node" aria-hidden="true"> <div class="svc-node-ring"> <span class="svc-node-num">7</span> </div> </div> </div><div class="svc-item svc-item--right" data-idx="7"> <!-- Card --> <a class="svc-card" href="/services/graphic-design"> <div class="svc-card-head"> <img class="svc-card-photo" src="https://images.unsplash.com/photo-1561070791-2526d30994b5?auto=format&fit=crop&w=200&q=70" alt="Graphic Design" loading="lazy"> <h3>Graphic Design</h3> </div> <p>Visual branding that makes your business instantly recognizable — logos, ads, social graphics, and print materials.</p> <span class="svc-card-arrow" aria-hidden="true">
Learn more
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </a> <!-- Numbered node sitting on the line --> <div class="svc-node" aria-hidden="true"> <div class="svc-node-ring"> <span class="svc-node-num">8</span> </div> </div> </div> </div> </div> </section>  <!-- white → dark --> <div class="wave-div wave-to-dark" aria-hidden="true"> <svg viewBox="0 0 1440 72" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0,40 C360,72 720,4  1080,46 C1260,62 1380,18 1440,34 L1440,72 L0,72 Z" fill="#0d1b3e" opacity="0.45"></path> <path d="M0,52 C240,72 480,18 720,50 C960,72 1200,12 1440,42 L1440,72 L0,72 Z" fill="#0d1b3e"></path> </svg> </div> <section class="section section-dark" id="industries"> <div class="container"> <p class="section-tag">Who We Serve</p> <h2 class="section-title">Specialized Industry Expertise</h2> <p class="section-subtitle">
We've built proven marketing systems for 20+ industries. Your competitors are already advertising — let us help you outrank them.
</p> <div class="industries-grid"> <a href="/industries/home-services" class="industry-card fade-up" style="text-decoration:none;color:inherit;display:flex;flex-direction:column;"> <div class="industry-photo"> <img src="https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=600&q=80" alt="Professional home service contractor at work" loading="lazy"> <div class="industry-overlay"> <span class="industry-cta">
View Solutions
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </div> </div> <div class="industry-header"> <div class="industry-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg></div> <h3>Home Services</h3> </div> <ul class="industry-list"> <li>Electricians</li><li>Plumbers</li><li>HVAC</li><li>Pest Control</li><li>Roofers</li><li>Movers</li><li>Glass Services</li><li>Garage Door</li> </ul> </a><a href="/industries/healthcare" class="industry-card fade-up" style="text-decoration:none;color:inherit;display:flex;flex-direction:column;"> <div class="industry-photo"> <img src="https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=600&q=80" alt="Healthcare professional in a modern medical facility" loading="lazy"> <div class="industry-overlay"> <span class="industry-cta">
View Solutions
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </div> </div> <div class="industry-header"> <div class="industry-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg></div> <h3>Healthcare</h3> </div> <ul class="industry-list"> <li>Dentists</li><li>Veterinarians</li><li>Senior Living</li><li>Chiropractors</li><li>Orthodontists</li><li>Physical Therapy</li> </ul> </a><a href="/industries/law-firms" class="industry-card fade-up" style="text-decoration:none;color:inherit;display:flex;flex-direction:column;"> <div class="industry-photo"> <img src="https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=600&q=80" alt="Professional law office environment with legal materials" loading="lazy"> <div class="industry-overlay"> <span class="industry-cta">
View Solutions
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </div> </div> <div class="industry-header"> <div class="industry-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div> <h3>Law Firms</h3> </div> <ul class="industry-list"> <li>Bankruptcy</li><li>Criminal Defense</li><li>Employment Law</li><li>Estate Planning</li><li>Family Law</li><li>Personal Injury</li> </ul> </a> </div> </div> </section> <!-- dark → cream --> <div class="wave-div wave-to-light" aria-hidden="true"> <svg viewBox="0 0 1440 72" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0,32 C360,68 720,4  1080,38 C1260,56 1380,14 1440,30 L1440,72 L0,72 Z" fill="#fdf4ec" opacity="0.45"></path> <path d="M0,46 C240,72 480,14 720,44 C960,72 1200,10 1440,40 L1440,72 L0,72 Z" fill="#fdf4ec"></path> </svg> </div> <section class="section ring-l" id="about"> <div class="container"> <div class="agency-grid"> <!-- Photo column --> <div class="agency-photo fade-in"> <img src="https://images.unsplash.com/photo-1600880292203-757bb62b4baf?auto=format&fit=crop&w=900&q=80" alt="Adstack marketing team collaborating on client campaigns" loading="lazy" class="agency-photo-main"> <div class="agency-badge"> <div class="agency-badge-num">100+</div> <div class="agency-badge-label">Businesses Grown</div> </div> </div> <!-- Content column --> <div class="agency-content fade-up"> <p class="section-tag">About Adstack</p> <h2 class="section-title">A Team That Treats Your Business Like Their Own</h2> <p class="section-subtitle">
We're not a faceless agency that sets and forgets. Every client gets a dedicated account manager, transparent reporting, and a team that genuinely cares about your revenue, not just your impressions.
</p> <div class="agency-mini-stats"> <div class="agency-mini-stat"> <div class="agency-mini-stat-num">3.2×</div> <div class="agency-mini-stat-label">Avg. Revenue Growth</div> </div><div class="agency-mini-stat"> <div class="agency-mini-stat-num">97%</div> <div class="agency-mini-stat-label">First-Page Rate</div> </div><div class="agency-mini-stat"> <div class="agency-mini-stat-num">100+</div> <div class="agency-mini-stat-label">Businesses Served</div> </div><div class="agency-mini-stat"> <div class="agency-mini-stat-num">10+</div> <div class="agency-mini-stat-label">Years Experience</div> </div> </div> <div style="margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap;"> <a href="#contact" class="btn-primary">Get a Free Consultation</a> <a href="#how-it-works" class="btn-secondary">See How It Works</a> </div> </div> </div> </div> </section> <section class="section" id="why-us"> <div class="container"> <p class="section-tag">Why Choose Adstack</p> <h2 class="section-title">Credibility, Reliability &amp; a Proven Track Record</h2> <p class="section-subtitle">
Beyond running ads, we build lasting partnerships focused entirely on growing your business.
</p> <div class="why-grid"> <div class="why-card fade-up"> <span class="why-seq-num" aria-hidden="true">1</span> <div class="why-stat-block"> <div class="why-stat">97%</div> <div class="why-stat-label">first-page placement</div> </div> <div class="why-divider"></div> <div class="why-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg></div> <h3>Credibility</h3> <p>With a 97% success rate in reaching the first page of Google, our track record speaks for itself. We&#39;ve helped hundreds of businesses across the country dominate their local markets.</p> </div><div class="why-card fade-up"> <span class="why-seq-num" aria-hidden="true">2</span> <div class="why-stat-block"> <div class="why-stat">1:1</div> <div class="why-stat-label">dedicated account manager</div> </div> <div class="why-divider"></div> <div class="why-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div> <h3>Reliability</h3> <p>You get a dedicated account manager and real-time campaign tracking, so you always know exactly where your money is going and what it&#39;s producing.</p> </div><div class="why-card fade-up"> <span class="why-seq-num" aria-hidden="true">3</span> <div class="why-stat-block"> <div class="why-stat">3.2×</div> <div class="why-stat-label">avg. revenue growth</div> </div> <div class="why-divider"></div> <div class="why-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"/><polyline points="17 6 23 6 23 12"/></svg></div> <h3>Proven Track Record</h3> <p>A partnership focused on your success, not just clicks and impressions. We track what matters: leads, calls, bookings, and revenue. If you don&#39;t grow, we haven&#39;t done our job.</p> </div> </div> </div> </section> <!-- white → dark (inverted phase for variety) --> <div class="wave-div wave-to-dark" aria-hidden="true"> <svg viewBox="0 0 1440 72" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0,28 C180,4  540,68 900,28 C1080,8  1300,60 1440,38 L1440,72 L0,72 Z" fill="#0d1b3e" opacity="0.45"></path> <path d="M0,42 C180,12 540,72 900,38 C1080,18 1300,66 1440,48 L1440,72 L0,72 Z" fill="#0d1b3e"></path> </svg> </div> <section class="section section-dark" id="how-it-works"> <div class="container"> <p class="section-tag">Our Process</p> <h2 class="section-title">Simple. Transparent. Effective.</h2> <p class="section-subtitle">From your first call to a full pipeline of leads, here's how we get you there.</p> <div class="hiw-seq" id="hiwSeq"> <div class="hiw-rail" aria-hidden="true"> <div class="hiw-rail-fill" id="hiwRailFill"></div> </div> <div class="hiw-item hiw-item--left" data-step="0"> <div class="hiw-card"> <div class="hiw-card-head"> <div class="hiw-icon-wrap"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg></div> <h3>Free Consultation</h3> </div> <p>We learn your business goals, competitive landscape, and current online presence. Zero commitment, just a genuine conversation.</p> </div> <div class="hiw-node" aria-hidden="true"> <div class="hiw-node-ring"> <span class="hiw-node-num">1</span> </div> </div> </div><div class="hiw-item hiw-item--right" data-step="1"> <div class="hiw-card"> <div class="hiw-card-head"> <div class="hiw-icon-wrap"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/></svg></div> <h3>Custom Strategy</h3> </div> <p>We build a tailored marketing plan targeting your exact audience, budget, and industry — no cookie-cutter packages.</p> </div> <div class="hiw-node" aria-hidden="true"> <div class="hiw-node-ring"> <span class="hiw-node-num">2</span> </div> </div> </div><div class="hiw-item hiw-item--left" data-step="2"> <div class="hiw-card"> <div class="hiw-card-head"> <div class="hiw-icon-wrap"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"/><polyline points="17 6 23 6 23 12"/></svg></div> <h3>Grow &amp; Scale</h3> </div> <p>Track your progress daily as your rankings climb, traffic increases, and your phone fills with qualified leads.</p> </div> <div class="hiw-node" aria-hidden="true"> <div class="hiw-node-ring"> <span class="hiw-node-num">3</span> </div> </div> </div> </div> </div> </section>  <!-- dark → dark (accent separator) --> <div class="section-sep sep-dark" aria-hidden="true"></div> <section class="section" id="reviews"> <div class="container"> <div class="testimonials-split"> <!-- Left: square cycling review carousel --> <div class="reviews-carousel"> <div class="review-track"> <div class="review-slide" data-slide="0" aria-hidden="false"> <div class="slide-stars">★★★★★</div> <p class="slide-quote">Adstack got us onto the first page of Google faster than we expected. Our phones have stayed busy ever since. Best investment we&#39;ve made for our HVAC company.</p> <div class="slide-author"> <div class="slide-avatar">MT</div> <div class="slide-info"> <strong>Mike T.</strong> <span>HVAC Company Owner</span> </div> </div> </div><div class="review-slide" data-slide="1" aria-hidden="true"> <div class="slide-stars">★★★★★</div> <p class="slide-quote">The ROI we&#39;ve seen is incredible. We&#39;re bringing in more new patients than ever before, and the team is always available to answer questions. Couldn&#39;t be happier.</p> <div class="slide-author"> <div class="slide-avatar">SK</div> <div class="slide-info"> <strong>Sarah K.</strong> <span>Dental Practice Owner</span> </div> </div> </div><div class="review-slide" data-slide="2" aria-hidden="true"> <div class="slide-stars">★★★★★</div> <p class="slide-quote">Our web traffic doubled and our lead volume tripled within 6 months. Adstack truly delivered. They know exactly how to market a law firm to the right clients.</p> <div class="slide-author"> <div class="slide-avatar">JR</div> <div class="slide-info"> <strong>James R.</strong> <span>Personal Injury Attorney</span> </div> </div> </div><div class="review-slide" data-slide="3" aria-hidden="true"> <div class="slide-stars">★★★★★</div> <p class="slide-quote">We were practically invisible online before Adstack. Now we show up near the top for the keywords that matter in our service area. The transparent reporting makes it easy to see exactly what&#39;s working.</p> <div class="slide-author"> <div class="slide-avatar">DM</div> <div class="slide-info"> <strong>David M.</strong> <span>Licensed Electrician</span> </div> </div> </div><div class="review-slide" data-slide="4" aria-hidden="true"> <div class="slide-stars">★★★★★</div> <p class="slide-quote">The Local Service Ads campaign more than paid for itself. Highly recommend Adstack to any small business that needs real, measurable results.</p> <div class="slide-author"> <div class="slide-avatar">LP</div> <div class="slide-info"> <strong>Linda P.</strong> <span>Pest Control Business Owner</span> </div> </div> </div><div class="review-slide" data-slide="5" aria-hidden="true"> <div class="slide-stars">★★★★★</div> <p class="slide-quote">From web design to SEO to Google Ads, Adstack handles everything. Our revenue grew noticeably in the first year. They&#39;ve become a real growth partner for our business.</p> <div class="slide-author"> <div class="slide-avatar">CV</div> <div class="slide-info"> <strong>Carlos V.</strong> <span>Roofing Company Owner</span> </div> </div> </div> </div> <div class="review-dots" role="tablist" aria-label="Reviews"> <button class="review-dot" data-dot="0" role="tab" aria-label="Review 1"></button><button class="review-dot" data-dot="1" role="tab" aria-label="Review 2"></button><button class="review-dot" data-dot="2" role="tab" aria-label="Review 3"></button><button class="review-dot" data-dot="3" role="tab" aria-label="Review 4"></button><button class="review-dot" data-dot="4" role="tab" aria-label="Review 5"></button><button class="review-dot" data-dot="5" role="tab" aria-label="Review 6"></button> </div> </div> <!-- Right: text content --> <div class="reviews-content"> <p class="section-tag">Client Success</p> <h2 class="reviews-heading">Real Results,<br>Real Clients</h2> <p class="reviews-desc">
We work as your long-term growth partner. Every business we work with gets a dedicated team, transparent reporting, and a strategy built around real revenue rather than vanity metrics.
</p> <ul class="reviews-points"> <li> <span class="rp-icon"> <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> <span><strong>Hundreds of businesses</strong> grown across the US</span> </li> <li> <span class="rp-icon"> <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> <span><strong>97% first-page rate</strong> for SEO clients</span> </li> <li> <span class="rp-icon"> <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> <span><strong>3.2× average revenue growth</strong> across clients</span> </li> <li> <span class="rp-icon"> <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> <span><strong>Annual performance plans</strong>, we win when you win</span> </li> <li> <span class="rp-icon"> <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> </span> <span><strong>Dedicated account manager</strong> for every client</span> </li> </ul> <a href="#contact" class="btn-primary reviews-cta">
Start Growing Today
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </a> </div> </div> </div> </section>  <!-- dark → dark (accent separator) --> <div class="section-sep sep-dark" aria-hidden="true"></div> <section class="section section-dark" id="faq"> <div class="container"> <p class="section-tag">FAQ</p> <h2 class="section-title">Common Questions</h2> <p class="section-subtitle">Everything you need to know before we get started.</p> <div class="faq-seq-wrap" id="faqSeqWrap"> <div class="faq-rail" aria-hidden="true"> <div class="faq-rail-fill" id="faqRailFill"></div> </div> <div class="faq-list"> <div class="faq-row"> <div class="faq-node" aria-hidden="true"> <div class="faq-node-ring"> <span class="faq-node-num">1</span> </div> </div> <div class="faq-item"> <button class="faq-q" aria-expanded="false" onclick="toggleFaq(0)"> How soon will I see results from SEO? <span class="faq-icon" id="fi-0">+</span> </button> <div class="faq-a" id="fa-0">SEO is a long-term investment. Most clients see meaningful ranking improvements within 3–6 months, with significant traffic and lead increases by month 6–12. Paid campaigns (Google Ads, Local Service Ads) can generate leads within days of launching.</div> </div> </div><div class="faq-row"> <div class="faq-node" aria-hidden="true"> <div class="faq-node-ring"> <span class="faq-node-num">2</span> </div> </div> <div class="faq-item"> <button class="faq-q" aria-expanded="false" onclick="toggleFaq(1)"> What industries do you specialize in? <span class="faq-icon" id="fi-1">+</span> </button> <div class="faq-a" id="fa-1">We have deep expertise in Home Services (electricians, plumbers, HVAC, pest control, roofers, movers), Healthcare (dentists, vets, senior living), and Law Firms (personal injury, family law, criminal defense, and more). We bring proven playbooks from hundreds of campaigns in each vertical.</div> </div> </div><div class="faq-row"> <div class="faq-node" aria-hidden="true"> <div class="faq-node-ring"> <span class="faq-node-num">3</span> </div> </div> <div class="faq-item"> <button class="faq-q" aria-expanded="false" onclick="toggleFaq(2)"> Are there long-term contracts? <span class="faq-icon" id="fi-2">+</span> </button> <div class="faq-a" id="fa-2">Yes, we do work with contracts. This protects both you and us — it ensures we have the runway to deliver real results (SEO and paid campaigns take time to compound), and it holds us accountable to the deliverables we commit to. Contract terms vary by service and are fully outlined before you sign anything.</div> </div> </div><div class="faq-row"> <div class="faq-node" aria-hidden="true"> <div class="faq-node-ring"> <span class="faq-node-num">4</span> </div> </div> <div class="faq-item"> <button class="faq-q" aria-expanded="false" onclick="toggleFaq(3)"> How does your reporting work? <span class="faq-icon" id="fi-3">+</span> </button> <div class="faq-a" id="fa-3">We send detailed monthly reports covering your rankings, traffic, lead volume, and campaign performance, with clear ROI breakdowns so you always know exactly what your investment is producing. Your account manager is also available for regular strategy calls to walk through the numbers and next steps.</div> </div> </div><div class="faq-row"> <div class="faq-node" aria-hidden="true"> <div class="faq-node-ring"> <span class="faq-node-num">5</span> </div> </div> <div class="faq-item"> <button class="faq-q" aria-expanded="false" onclick="toggleFaq(4)"> What budget do I need to get started? <span class="faq-icon" id="fi-4">+</span> </button> <div class="faq-a" id="fa-4">Plans start at $500/month and are fully tailored to the size, goals, and competitive landscape of your business. A local service company in a mid-size market has different needs than a multi-location firm competing in a major metro. We&#39;ll build a plan around what makes sense for you — no one-size-fits-all packages.</div> </div> </div><div class="faq-row"> <div class="faq-node" aria-hidden="true"> <div class="faq-node-ring"> <span class="faq-node-num">6</span> </div> </div> <div class="faq-item"> <button class="faq-q" aria-expanded="false" onclick="toggleFaq(5)"> Do you offer a free website audit? <span class="faq-icon" id="fi-5">+</span> </button> <div class="faq-a" id="fa-5">Yes. Our free website audit covers your current Google rankings, site speed, technical SEO issues, local presence, and competitor gap analysis. It takes about 15 minutes and comes with zero obligation. Book one via the contact form below.</div> </div> </div> </div> </div> </div> </section>  <!-- dark → dark (accent separator) --> <div class="section-sep sep-dark" aria-hidden="true"></div> <!-- CtaBand owns its own wave at the bottom so the bg image fills down into it --> <section class="cta-banner" aria-labelledby="cta-heading"> <!-- Background photo with overlay --> <div style="position:absolute;inset:0;z-index:0;overflow:hidden;"> <img src="https://images.unsplash.com/photo-1552664730-d307ca884978?auto=format&fit=crop&w=1400&q=80" alt="" aria-hidden="true" loading="lazy" style="width:100%;height:100%;object-fit:cover;opacity:0.14;"> </div> <div class="cta-banner-bg"></div> <div class="cta-banner-dots"></div> <div class="container" style="position:relative;z-index:2;"> <div class="cta-banner-inner"> <div> <h2 id="cta-heading">Ready to Fill Your Schedule &amp; Build Lasting Relationships?</h2> <p>Join the hundreds of businesses that trust Adstack to grow their online presence and drive real revenue.</p> </div> <div style="display:flex;gap:1rem;flex-wrap:wrap;flex-shrink:0;justify-content:center;"> <a href="#contact" class="btn-primary btn-large">Get a Free Consultation</a> <a href="tel:+13072718410" class="btn-secondary"> <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.37 2 2 0 0 1 3.58 1h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.91 8.46a16 16 0 0 0 5.63 5.63l.61-.61a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z"></path></svg> (307) 271-8410 </a> </div> </div> </div> <!-- Wave into the next section. Sits above the bg image (which fills inset:0 down to here),
       below the content. Cream crest blends into the "Get In Touch" section. --> <div class="cta-wave" aria-hidden="true"> <svg viewBox="0 0 1440 72" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"> <path d="M0,26 C180,6  540,66 900,26 C1080,6  1300,58 1440,36 L1440,72 L0,72 Z" fill="#fdf4ec" opacity="0.45"></path> <path d="M0,40 C180,14 540,72 900,36 C1080,16 1300,66 1440,48 L1440,72 L0,72 Z" fill="#fdf4ec"></path> </svg> </div> </section> <section class="section ring-l" id="contact" data-astro-cid-svshx33u> <div class="container" data-astro-cid-svshx33u> <p class="section-tag" data-astro-cid-svshx33u>Get In Touch</p> <h2 class="section-title" data-astro-cid-svshx33u>Start Growing Today</h2> <p class="section-subtitle" data-astro-cid-svshx33u>
Fill out the form below and a dedicated Adstack strategist will be in touch within one business day, or call us directly.
</p> <div class="form-wrapper" data-astro-cid-svshx33u> <div id="formContent" data-astro-cid-svshx33u> <form id="contactForm" method="POST" action="/api/contact" data-astro-cid-svshx33u> <div class="form-grid" data-astro-cid-svshx33u> <div class="form-group" data-astro-cid-svshx33u> <label for="firstName" data-astro-cid-svshx33u>First Name <span class="required" data-astro-cid-svshx33u>*</span></label> <input type="text" id="firstName" name="firstName" autocomplete="given-name" placeholder="John" required data-astro-cid-svshx33u> </div> <div class="form-group" data-astro-cid-svshx33u> <label for="lastName" data-astro-cid-svshx33u>Last Name <span class="required" data-astro-cid-svshx33u>*</span></label> <input type="text" id="lastName" name="lastName" autocomplete="family-name" placeholder="Smith" required data-astro-cid-svshx33u> </div> <div class="form-group" data-astro-cid-svshx33u> <label for="email" data-astro-cid-svshx33u>Email Address <span class="required" data-astro-cid-svshx33u>*</span></label> <input type="email" id="email" name="email" autocomplete="email" placeholder="john@yourbusiness.com" required data-astro-cid-svshx33u> </div> <div class="form-group" data-astro-cid-svshx33u> <label for="phone" data-astro-cid-svshx33u>Phone Number <span class="required" data-astro-cid-svshx33u>*</span></label> <input type="tel" id="phone" name="phone" autocomplete="tel" placeholder="(555) 000-0000" required data-astro-cid-svshx33u> </div> <div class="form-group" data-astro-cid-svshx33u> <label for="business" data-astro-cid-svshx33u>Business Name <span class="required" data-astro-cid-svshx33u>*</span></label> <input type="text" id="business" name="business" autocomplete="organization" placeholder="My Business LLC" required data-astro-cid-svshx33u> </div> <div class="form-group" data-astro-cid-svshx33u> <label for="website" data-astro-cid-svshx33u>Current Website URL</label> <input type="url" id="website" name="website" autocomplete="url" placeholder="https://yourbusiness.com" data-astro-cid-svshx33u> </div> <div class="form-group" data-astro-cid-svshx33u> <label for="industry" data-astro-cid-svshx33u>Industry <span class="required" data-astro-cid-svshx33u>*</span></label> <select id="industry" name="industry" required data-astro-cid-svshx33u> <option value="" disabled selected data-astro-cid-svshx33u>Select your industry...</option> <optgroup label="Home Services" data-astro-cid-svshx33u> <option data-astro-cid-svshx33u>Electrician</option> <option data-astro-cid-svshx33u>Plumber</option> <option data-astro-cid-svshx33u>HVAC</option> <option data-astro-cid-svshx33u>Pest Control</option> <option data-astro-cid-svshx33u>Roofer</option> <option data-astro-cid-svshx33u>Moving Company</option> <option data-astro-cid-svshx33u>Glass Services</option> <option data-astro-cid-svshx33u>Garage Door</option> </optgroup> <optgroup label="Healthcare" data-astro-cid-svshx33u> <option data-astro-cid-svshx33u>Dentist</option> <option data-astro-cid-svshx33u>Veterinarian</option> <option data-astro-cid-svshx33u>Senior Living</option> <option data-astro-cid-svshx33u>Chiropractor</option> <option data-astro-cid-svshx33u>Physical Therapy</option> </optgroup> <optgroup label="Law Firms" data-astro-cid-svshx33u> <option data-astro-cid-svshx33u>Personal Injury</option> <option data-astro-cid-svshx33u>Criminal Defense</option> <option data-astro-cid-svshx33u>Family Law</option> <option data-astro-cid-svshx33u>Estate Planning</option> <option data-astro-cid-svshx33u>Bankruptcy</option> <option data-astro-cid-svshx33u>Employment Law</option> </optgroup> <option data-astro-cid-svshx33u>Other</option> </select> </div> <div class="form-group" data-astro-cid-svshx33u> <label for="budget" data-astro-cid-svshx33u>Monthly Marketing Budget</label> <select id="budget" name="budget" data-astro-cid-svshx33u> <option value="" disabled selected data-astro-cid-svshx33u>Select a range...</option> <option data-astro-cid-svshx33u>Under $750/month</option> <option data-astro-cid-svshx33u>$750 – $1,500/month</option> <option data-astro-cid-svshx33u>$1,500 – $5,000/month</option> <option data-astro-cid-svshx33u>$5,000 – $10,000/month</option> <option data-astro-cid-svshx33u>$10,000 – $25,000/month</option> <option data-astro-cid-svshx33u>Above $25,000/month</option> </select> </div> <div class="form-group full-width" data-astro-cid-svshx33u> <span class="field-label" data-astro-cid-svshx33u>Services You're Interested In <span class="field-hint" data-astro-cid-svshx33u>(select all that apply)</span></span> <div class="checkbox-grid" role="group" aria-label="Services You're Interested In" data-astro-cid-svshx33u> <label class="checkbox-chip" data-astro-cid-svshx33u><input type="checkbox" name="services" value="SEO Services" data-astro-cid-svshx33u><span data-astro-cid-svshx33u>SEO Services</span></label> <label class="checkbox-chip" data-astro-cid-svshx33u><input type="checkbox" name="services" value="Google AdWords / PPC" data-astro-cid-svshx33u><span data-astro-cid-svshx33u>Google AdWords / PPC</span></label> <label class="checkbox-chip" data-astro-cid-svshx33u><input type="checkbox" name="services" value="Local Service Ads" data-astro-cid-svshx33u><span data-astro-cid-svshx33u>Local Service Ads</span></label> <label class="checkbox-chip" data-astro-cid-svshx33u><input type="checkbox" name="services" value="Custom Web Design" data-astro-cid-svshx33u><span data-astro-cid-svshx33u>Custom Web Design</span></label> <label class="checkbox-chip" data-astro-cid-svshx33u><input type="checkbox" name="services" value="Google My Business" data-astro-cid-svshx33u><span data-astro-cid-svshx33u>Google My Business</span></label> <label class="checkbox-chip" data-astro-cid-svshx33u><input type="checkbox" name="services" value="Content Marketing" data-astro-cid-svshx33u><span data-astro-cid-svshx33u>Content Marketing</span></label> <label class="checkbox-chip" data-astro-cid-svshx33u><input type="checkbox" name="services" value="Link Building" data-astro-cid-svshx33u><span data-astro-cid-svshx33u>Link Building</span></label> <label class="checkbox-chip" data-astro-cid-svshx33u><input type="checkbox" name="services" value="Graphic Design" data-astro-cid-svshx33u><span data-astro-cid-svshx33u>Graphic Design</span></label> <label class="checkbox-chip" data-astro-cid-svshx33u><input type="checkbox" name="services" value="Full-Service Package" data-astro-cid-svshx33u><span data-astro-cid-svshx33u>Full-Service Package</span></label> </div> </div> <div class="form-group full-width" data-astro-cid-svshx33u> <label for="message" data-astro-cid-svshx33u>Tell Us About Your Goals</label> <textarea id="message" name="message" placeholder="Describe your biggest marketing challenge and what success looks like for your business..." rows="4" data-astro-cid-svshx33u></textarea> </div> </div> <button type="submit" class="btn-submit" id="submitBtn" data-astro-cid-svshx33u> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-svshx33u><line x1="22" y1="2" x2="11" y2="13" data-astro-cid-svshx33u></line><polygon points="22 2 15 22 11 13 2 9 22 2" data-astro-cid-svshx33u></polygon></svg>
Send My Free Consultation Request
</button> <p class="form-privacy" data-astro-cid-svshx33u>
&#x1F512; Your information is 100% private and will never be shared. We'll only contact you to discuss your marketing goals.
</p> </form> </div> <div class="success-state" id="successState" data-astro-cid-svshx33u> <div class="success-icon" data-astro-cid-svshx33u>&#x2713;</div> <h3 data-astro-cid-svshx33u>We'll Be in Touch Soon!</h3> <p data-astro-cid-svshx33u>Thanks for reaching out. A dedicated Adstack strategist will contact you within one business day to discuss your goals.</p> <a href="#services" class="btn-primary" data-astro-cid-svshx33u>Explore Our Services</a> </div> </div> </div> </section>   </main> <footer role="contentinfo"> <div class="footer-inner"> <div class="footer-brand"> <a href="/" class="footer-logo" aria-label="Adstack, go to home page"> <img src="/_astro/adstack-logo-tsp.6-R3pwK9_CTE2h.webp" alt="Adstack" class="footer-logo-img" width="872" height="220" loading="lazy" decoding="async"> </a> <p>Full-service digital marketing agency. We help businesses dominate their local markets through SEO, paid ads, web design, and more.<br><br>Sheridan, WY</p> <div class="footer-social"> <a href="https://www.instagram.com/adstackmarketing/" class="footer-social-link" target="_blank" rel="noopener noreferrer" aria-label="Adstack on Instagram"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> <rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect> <circle cx="12" cy="12" r="4"></circle> <circle cx="17.5" cy="6.5" r="1" fill="currentColor" stroke="none"></circle> </svg> <span>Instagram</span> </a> <a href="https://www.facebook.com/profile.php?id=61591513525792" class="footer-social-link" target="_blank" rel="noopener noreferrer" aria-label="Adstack on Facebook"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> <path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path> </svg> <span>Facebook</span> </a> </div> </div> <div class="footer-col"> <h3>Services</h3> <ul> <li><a href="#services">SEO Services</a></li> <li><a href="#services">Google AdWords</a></li> <li><a href="#services">Local Service Ads</a></li> <li><a href="#services">Web Design</a></li> <li><a href="#services">Google My Business</a></li> <li><a href="#services">Graphic Design</a></li> </ul> </div> <div class="footer-col"> <h3>Industries</h3> <ul> <li><a href="#industries">Home Services</a></li> <li><a href="#industries">Healthcare</a></li> <li><a href="#industries">Law Firms</a></li> <li><a href="#how-it-works">How It Works</a></li> <li><a href="#why-us">Why Adstack</a></li> </ul> </div> <div class="footer-col"> <h3>Contact</h3> <ul> <li><a href="tel:+13072718410">(307) 271-8410</a></li> <li><a href="mailto:Sales@AdStackMarketing.com">Sales@AdStackMarketing.com</a></li> <li><a href="https://maps.google.com/?q=Sheridan%2C%20WY" target="_blank" rel="noopener">Sheridan, WY</a></li> <li><a href="#contact">Free Consultation</a></li> <li><a href="#contact">Free Website Audit</a></li> </ul> </div> </div> <div class="footer-bottom"> <span>&copy; 2026 Adstack. All rights reserved.</span> <span class="footer-legal-links"> <a href="/privacy-policy">Privacy Policy</a> <span aria-hidden="true">&bull;</span> <a href="/terms-of-service">Terms of Service</a> <span aria-hidden="true">&bull;</span> Sheridan, WY </span> </div> </footer>  <div id="cookieBanner" class="cb" role="dialog" aria-label="Cookie consent" aria-live="polite" hidden data-astro-cid-fzbxxtek> <div class="cb-inner" data-astro-cid-fzbxxtek> <div class="cb-text" data-astro-cid-fzbxxtek> <strong data-astro-cid-fzbxxtek>We use cookies</strong> to improve your experience and analyze site performance. By continuing you agree to our
<a href="/privacy-policy" data-astro-cid-fzbxxtek>Privacy Policy</a> and use of cookies.
</div> <div class="cb-actions" data-astro-cid-fzbxxtek> <button id="cbDecline" class="cb-btn cb-btn--secondary" data-astro-cid-fzbxxtek>Decline</button> <button id="cbAccept" class="cb-btn cb-btn--primary" data-astro-cid-fzbxxtek>Accept All</button> </div> </div> </div>   <script>(function(){const data = {"business":{"name":"Adstack","phone":"(307) 271-8410","email":"Sales@AdStackMarketing.com","address":"Sheridan, WY","city":"Sheridan","hours":"Monday–Friday 9:00am–5:00pm MT"},"services":[{"name":"SEO Services","summary":"Rank #1 on Google. Get Found by Buyers."},{"name":"Custom Web Design","summary":"A Website That Works as Hard as You Do."},{"name":"Google AdWords","summary":"Put Your Business In Front of Buyers the Moment They Search."},{"name":"Local Service Ads","summary":"Appear at the Very Top of Google. Get the Google Guarantee Badge."},{"name":"Google My Business","summary":"Own Your Local Google Presence. Dominate the Map Pack."},{"name":"Content Marketing","summary":"Content That Educates Buyers and Builds Lasting Authority."},{"name":"Link Building","summary":"Build the Domain Authority That Compounds Your Rankings."},{"name":"Graphic Design","summary":"Visuals That Make Your Brand Instantly Recognizable."}],"faqs":[],"formEndpoint":"/api/contact"};

  (function () {
    function register() {
      var mc = (typeof document !== 'undefined' && document.modelContext) || null;
      var biz = data.business;
      var tools = {
        list_services: {
          name: 'list_services',
          description: 'List the digital marketing services ' + biz.name + ' offers.',
          inputSchema: { type: 'object', properties: {} },
          execute: function () {
            return { content: [{ type: 'text', text: JSON.stringify(data.services) }] };
          },
        },
        check_service_area: {
          name: 'check_service_area',
          description: 'Check whether ' + biz.name + ' serves a given U.S. city or state.',
          inputSchema: { type: 'object', properties: { location: { type: 'string' } }, required: [] },
          execute: function (args) {
            var loc = String((args && (args.location || args.city)) || '').trim();
            var text = biz.name + ' works with businesses across the entire United States'
              + (loc ? ', including ' + loc : '')
              + '. Marketing is delivered remotely, so location is no barrier. Call ' + biz.phone + ' to get started.';
            return { content: [{ type: 'text', text: text }] };
          },
        },
        get_business_info: {
          name: 'get_business_info',
          description: 'Get name, phone, email, address, and hours for ' + biz.name + '.',
          inputSchema: { type: 'object', properties: {} },
          execute: function () {
            return { content: [{ type: 'text', text: JSON.stringify(biz) }] };
          },
        },
        request_quote: {
          name: 'request_quote',
          description: 'Submit a free consultation / quote request. Uses the same handler as the website contact form.',
          inputSchema: {
            type: 'object',
            properties: {
              name: { type: 'string' },
              phone: { type: 'string' },
              email: { type: 'string' },
              service: { type: 'string' },
              message: { type: 'string' },
            },
            required: ['name', 'phone'],
          },
          execute: async function (args) {
            var payload = {
              name: args.name, phone: args.phone, email: args.email || '',
              service: args.service || '', message: args.message || '', source: 'webmcp',
            };
            if (data.formEndpoint) {
              try {
                await fetch(data.formEndpoint, {
                  method: 'POST',
                  headers: { 'Content-Type': 'application/json' },
                  body: JSON.stringify(payload),
                });
              } catch (e) { /* fall through to confirmation text */ }
            }
            return { content: [{ type: 'text', text: 'Thanks ' + args.name + '. Your free consultation request was received. ' + biz.name + ' will reach out at ' + args.phone + '.' }] };
          },
        },
      };

      // Test/observability hook.
      window.__webmcpTools = tools;

      if (mc && typeof mc.registerTool === 'function') {
        var controller = new AbortController();
        Object.keys(tools).forEach(function (k) {
          try { mc.registerTool(tools[k], { signal: controller.signal }); } catch (e) {}
        });
        window.addEventListener('pagehide', function () { controller.abort(); }, { once: true });
      }
      window.dispatchEvent(new CustomEvent('webmcp:ready', { detail: { count: Object.keys(tools).length } }));
    }

    if ('requestIdleCallback' in window) {
      requestIdleCallback(register, { timeout: 2000 });
    } else {
      setTimeout(register, 1);
    }
  })();
})();</script>  </body> </html> 