A+ Exterminators | Same-Day Pest Control | Reston, VA :root { –green: #1a4a2e; –green-mid: #2d6e45; –green-light: #3d8f5a; –lime: #a8d832; –lime-bright: #c4f028; –cream: #f7f3ec; –warm-white: #fefcf8; –charcoal: #1c1c1c; –text-mid: #3a3a3a; –gold: #c9a84c; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; } body { font-family: ‘DM Sans’, sans-serif; background: var(–warm-white); color: var(–charcoal); overflow-x: hidden; } /* ── STICKY NAV ── */ nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 14px 40px; background: rgba(26,74,46,0.97); backdrop-filter: blur(10px); border-bottom: 2px solid var(–lime); animation: slideDown .5s ease; } @keyframes slideDown { from { transform: translateY(-100%); } to { transform: translateY(0); } } .nav-logo { font-family: ‘Bebas Neue’, cursive; font-size: 28px; letter-spacing: 2px; color: var(–lime); text-decoration: none; } .nav-logo span { color: #fff; } .nav-phone { display: flex; align-items: center; gap: 10px; background: var(–lime); color: var(–green); font-weight: 700; font-size: 18px; padding: 10px 22px; border-radius: 4px; text-decoration: none; transition: background .2s, transform .15s; letter-spacing: .5px; } .nav-phone:hover { background: var(–lime-bright); transform: scale(1.03); } .nav-phone svg { width: 18px; height: 18px; } /* ── HERO ── */ .hero { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; position: relative; overflow: hidden; } .hero-left { background: var(–green); display: flex; flex-direction: column; justify-content: center; padding: 140px 60px 80px 60px; position: relative; z-index: 2; } .hero-left::after { content: ”; position: absolute; top: 0; right: -80px; bottom: 0; width: 160px; background: var(–green); clip-path: polygon(0 0, 0% 100%, 100% 100%); z-index: 1; } .badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(168,216,50,0.15); border: 1px solid var(–lime); color: var(–lime); font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 7px 16px; border-radius: 100px; margin-bottom: 28px; width: fit-content; animation: fadeUp .6s ease .2s both; } .hero-title { font-family: ‘Bebas Neue’, cursive; font-size: clamp(60px, 6vw, 88px); line-height: 1; color: #fff; letter-spacing: 2px; animation: fadeUp .6s ease .3s both; } .hero-title .accent { color: var(–lime); display: block; } .hero-sub { font-size: 18px; color: rgba(255,255,255,0.75); margin-top: 20px; line-height: 1.6; max-width: 420px; animation: fadeUp .6s ease .4s both; } .hero-cta-group { display: flex; gap: 14px; margin-top: 36px; flex-wrap: wrap; animation: fadeUp .6s ease .5s both; } .btn-primary { background: var(–lime); color: var(–green); font-weight: 700; font-size: 17px; padding: 16px 32px; border-radius: 4px; text-decoration: none; transition: background .2s, transform .15s, box-shadow .2s; box-shadow: 0 4px 20px rgba(168,216,50,0.4); display: inline-flex; align-items: center; gap: 8px; } .btn-primary:hover { background: var(–lime-bright); transform: translateY(-2px); box-shadow: 0 8px 30px rgba(168,216,50,0.5); } .btn-secondary { background: transparent; color: #fff; font-weight: 600; font-size: 16px; padding: 16px 28px; border-radius: 4px; text-decoration: none; border: 2px solid rgba(255,255,255,0.3); transition: border-color .2s, background .2s; display: inline-flex; align-items: center; gap: 8px; } .btn-secondary:hover { border-color: #fff; background: rgba(255,255,255,0.08); } .hero-trust { display: flex; gap: 24px; margin-top: 48px; animation: fadeUp .6s ease .6s both; } .trust-item { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,0.65); font-size: 13px; } .trust-item .check { color: var(–lime); font-size: 16px; } /* Hero right – visual side */ .hero-right { position: relative; background: var(–cream); display: flex; align-items: center; justify-content: center; overflow: hidden; } .hero-bg-pattern { position: absolute; inset: 0; background-image: radial-gradient(circle at 70% 30%, rgba(45,110,69,0.08) 0%, transparent 50%), radial-gradient(circle at 30% 80%, rgba(168,216,50,0.06) 0%, transparent 50%); } .stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 80px 60px 80px 100px; position: relative; z-index: 2; animation: fadeUp .7s ease .4s both; } .stat-card { background: #fff; border-radius: 12px; padding: 30px 24px; box-shadow: 0 4px 24px rgba(0,0,0,0.07); border-top: 4px solid var(–green); transition: transform .2s, box-shadow .2s; } .stat-card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,0.12); } .stat-card:nth-child(2) { border-color: var(–lime); margin-top: 30px; } .stat-card:nth-child(3) { border-color: var(–gold); margin-top: -30px; } .stat-card:nth-child(4) { border-color: var(–green-light); } .stat-num { font-family: ‘Bebas Neue’, cursive; font-size: 56px; line-height: 1; color: var(–green); letter-spacing: 1px; } .stat-card:nth-child(2) .stat-num { color: #5a8a00; } .stat-card:nth-child(3) .stat-num { color: var(–gold); } .stat-label { font-size: 13px; font-weight: 600; color: var(–text-mid); margin-top: 6px; letter-spacing: .5px; text-transform: uppercase; } .stat-desc { font-size: 13px; color: #888; margin-top: 4px; line-height: 1.4; } @keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } } /* ── URGENT STRIP ── */ .urgent-strip { background: var(–lime); color: var(–green); text-align: center; padding: 16px 20px; font-weight: 700; font-size: 16px; letter-spacing: .3px; } .urgent-strip a { color: var(–green); text-decoration: underline; } /* ── FORM SECTION ── */ .form-section { background: var(–green); padding: 80px 40px; position: relative; overflow: hidden; } .form-section::before { content: ”; position: absolute; top: -60px; right: -60px; width: 300px; height: 300px; background: radial-gradient(circle, rgba(168,216,50,0.15) 0%, transparent 70%); pointer-events: none; } .form-inner { max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; } .form-headline { color: #fff; } .form-headline .eyebrow { color: var(–lime); font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 12px; } .form-headline h2 { font-family: ‘Bebas Neue’, cursive; font-size: 52px; line-height: 1.05; letter-spacing: 1px; } .form-headline p { color: rgba(255,255,255,0.7); margin-top: 16px; font-size: 16px; line-height: 1.6; } .form-perks { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; } .form-perk { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,0.8); font-size: 14px; } .form-perk .icon { width: 24px; height: 24px; background: rgba(168,216,50,0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(–lime); font-size: 13px; } .lead-form { background: #fff; border-radius: 12px; padding: 36px 32px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); } .lead-form h3 { font-family: ‘DM Serif Display’, serif; font-size: 24px; color: var(–green); margin-bottom: 6px; } .lead-form .sub { font-size: 13px; color: #888; margin-bottom: 24px; } .form-field { margin-bottom: 16px; } .form-field label { display: block; font-size: 12px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: var(–text-mid); margin-bottom: 6px; } .form-field input, .form-field select { width: 100%; padding: 12px 16px; border: 2px solid #e8e8e8; border-radius: 6px; font-family: ‘DM Sans’, sans-serif; font-size: 15px; color: var(–charcoal); background: #fafafa; transition: border-color .2s; appearance: none; } .form-field input:focus, .form-field select:focus { outline: none; border-color: var(–green-light); background: #fff; } .form-submit { width: 100%; background: var(–lime); color: var(–green); font-weight: 700; font-size: 17px; padding: 16px; border: none; border-radius: 6px; cursor: pointer; font-family: ‘DM Sans’, sans-serif; transition: background .2s, transform .15s; margin-top: 4px; letter-spacing: .3px; } .form-submit:hover { background: var(–lime-bright); transform: translateY(-1px); } .form-note { text-align: center; font-size: 12px; color: #aaa; margin-top: 12px; } /* ── PESTS SECTION ── */ .pests-section { padding: 100px 40px; background: var(–warm-white); } .section-header { text-align: center; margin-bottom: 60px; } .section-header .eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(–green-light); margin-bottom: 12px; } .section-header h2 { font-family: ‘Bebas Neue’, cursive; font-size: clamp(40px, 4vw, 60px); letter-spacing: 1px; color: var(–green); line-height: 1.05; } .section-header p { font-size: 17px; color: #666; max-width: 540px; margin: 14px auto 0; line-height: 1.6; } .pests-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; max-width: 1000px; margin: 0 auto; } .pest-card { background: #fff; border: 2px solid #f0f0f0; border-radius: 12px; padding: 28px 16px; text-align: center; transition: border-color .2s, box-shadow .2s, transform .2s; cursor: default; } .pest-card:hover { border-color: var(–green-light); box-shadow: 0 8px 24px rgba(45,110,69,0.12); transform: translateY(-4px); } .pest-emoji { font-size: 40px; display: block; margin-bottom: 10px; } .pest-name { font-weight: 600; font-size: 14px; color: var(–charcoal); letter-spacing: .3px; } /* ── WHY US ── */ .why-section { background: var(–cream); padding: 100px 40px; } .why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; max-width: 1000px; margin: 0 auto; } .why-card { background: #fff; border-radius: 12px; padding: 36px 28px; box-shadow: 0 2px 16px rgba(0,0,0,0.06); position: relative; overflow: hidden; } .why-card::before { content: ”; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(–green), var(–lime)); } .why-icon { width: 52px; height: 52px; background: rgba(45,110,69,0.08); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 18px; } .why-card h3 { font-family: ‘DM Serif Display’, serif; font-size: 20px; color: var(–green); margin-bottom: 10px; } .why-card p { font-size: 14px; color: #666; line-height: 1.65; } /* ── PROCESS SECTION ── */ .process-section { padding: 100px 40px; background: var(–warm-white); } .process-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; max-width: 1000px; margin: 0 auto; position: relative; } .process-steps::before { content: ”; position: absolute; top: 32px; left: 12%; right: 12%; height: 2px; background: linear-gradient(90deg, var(–green), var(–lime)); z-index: 0; } .step { text-align: center; position: relative; z-index: 1; } .step-num { width: 64px; height: 64px; background: var(–green); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: ‘Bebas Neue’, cursive; font-size: 28px; margin: 0 auto 20px; border: 4px solid var(–warm-white); box-shadow: 0 0 0 2px var(–green); } .step:nth-child(4) .step-num { background: var(–lime); color: var(–green); box-shadow: 0 0 0 2px var(–lime); } .step h3 { font-weight: 700; font-size: 16px; color: var(–charcoal); margin-bottom: 8px; } .step p { font-size: 13px; color: #888; line-height: 1.5; } /* ── TESTIMONIALS ── */ .reviews-section { background: var(–green); padding: 100px 40px; } .reviews-section .section-header h2 { color: #fff; } .reviews-section .section-header p { color: rgba(255,255,255,0.6); } .reviews-section .section-header .eyebrow { color: var(–lime); } .reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1000px; margin: 0 auto; } .review-card { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 12px; padding: 28px 24px; transition: background .2s; } .review-card:hover { background: rgba(255,255,255,0.12); } .stars { color: var(–lime); font-size: 18px; margin-bottom: 14px; letter-spacing: 2px; } .review-text { color: rgba(255,255,255,0.85); font-size: 15px; line-height: 1.65; font-style: italic; } .reviewer { margin-top: 18px; display: flex; align-items: center; gap: 12px; } .reviewer-avatar { width: 40px; height: 40px; background: var(–lime); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px; color: var(–green); } .reviewer-name { font-weight: 600; color: #fff; font-size: 14px; } .reviewer-loc { font-size: 12px; color: rgba(255,255,255,0.5); margin-top: 2px; } /* ── SERVICE AREA ── */ .area-section { background: var(–cream); padding: 80px 40px; text-align: center; } .area-tags { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; max-width: 800px; margin: 32px auto 0; } .area-tag { background: var(–green); color: #fff; font-size: 13px; font-weight: 600; padding: 8px 18px; border-radius: 100px; letter-spacing: .3px; } /* ── FINAL CTA ── */ .final-cta { background: var(–charcoal); padding: 100px 40px; text-align: center; position: relative; overflow: hidden; } .final-cta::before { content: ‘A+’; position: absolute; font-family: ‘Bebas Neue’, cursive; font-size: 400px; color: rgba(255,255,255,0.03); top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; letter-spacing: -10px; } .final-cta h2 { font-family: ‘Bebas Neue’, cursive; font-size: clamp(48px, 5vw, 80px); color: #fff; letter-spacing: 2px; line-height: 1.05; position: relative; } .final-cta h2 span { color: var(–lime); } .final-cta p { font-size: 18px; color: rgba(255,255,255,0.6); max-width: 480px; margin: 16px auto 40px; line-height: 1.6; position: relative; } .cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; position: relative; } .btn-big { background: var(–lime); color: var(–green); font-weight: 700; font-size: 20px; padding: 20px 40px; border-radius: 6px; text-decoration: none; transition: background .2s, transform .15s; display: inline-flex; align-items: center; gap: 10px; box-shadow: 0 8px 32px rgba(168,216,50,0.35); } .btn-big:hover { background: var(–lime-bright); transform: translateY(-2px); } .btn-outline-white { background: transparent; color: #fff; font-weight: 600; font-size: 18px; padding: 20px 36px; border-radius: 6px; text-decoration: none; border: 2px solid rgba(255,255,255,0.25); transition: border-color .2s, background .2s; display: inline-flex; align-items: center; gap: 10px; } .btn-outline-white:hover { border-color: #fff; background: rgba(255,255,255,0.05); } /* ── FOOTER ── */ footer { background: var(–green); padding: 40px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; border-top: 3px solid var(–lime); } .footer-logo { font-family: ‘Bebas Neue’, cursive; font-size: 32px; color: var(–lime); letter-spacing: 2px; } .footer-logo span { color: #fff; } .footer-info { color: rgba(255,255,255,0.6); font-size: 14px; line-height: 1.8; text-align: center; } .footer-info strong { color: #fff; } .footer-cta a { background: var(–lime); color: var(–green); font-weight: 700; padding: 12px 24px; border-radius: 4px; text-decoration: none; font-size: 16px; display: inline-flex; align-items: center; gap: 8px; } /* ── FLOATING PHONE ── */ .float-phone { position: fixed; bottom: 28px; right: 28px; z-index: 99; background: var(–lime); color: var(–green); font-weight: 700; font-size: 16px; padding: 14px 24px; border-radius: 50px; text-decoration: none; box-shadow: 0 8px 28px rgba(0,0,0,0.25); display: flex; align-items: center; gap: 8px; animation: pulse 2s ease-in-out infinite; transition: transform .2s; } .float-phone:hover { transform: scale(1.05); animation: none; } @keyframes pulse { 0%, 100% { box-shadow: 0 8px 28px rgba(0,0,0,0.25), 0 0 0 0 rgba(168,216,50,0.5); } 50% { box-shadow: 0 8px 28px rgba(0,0,0,0.25), 0 0 0 10px rgba(168,216,50,0); } } /* ── RESPONSIVE ── */ @media (max-width: 900px) { .hero { grid-template-columns: 1fr; } .hero-left { padding: 120px 32px 60px; } .hero-left::after { display: none; } .hero-right { padding: 40px 32px; } .stat-grid { grid-template-columns: 1fr 1fr; padding: 40px 32px; } .stat-card:nth-child(2), .stat-card:nth-child(3) { margin: 0; } .form-inner { grid-template-columns: 1fr; gap: 40px; } .why-grid { grid-template-columns: 1fr; } .process-steps { grid-template-columns: 1fr 1fr; } .process-steps::before { display: none; } .reviews-grid { grid-template-columns: 1fr; } nav { padding: 12px 20px; } .nav-logo { font-size: 22px; } } @media (max-width: 600px) { .pests-grid { grid-template-columns: repeat(3, 1fr); } .hero-trust { flex-direction: column; gap: 12px; } .hero-cta-group { flex-direction: column; } .btn-primary, .btn-secondary { text-align: center; justify-content: center; } footer { flex-direction: column; text-align: center; } .footer-info { text-align: center; } } /* success message */ .form-success { display: none; text-align: center; padding: 30px; } .form-success .big-check { font-size: 60px; margin-bottom: 12px; } .form-success h3 { font-family: ‘Bebas Neue’, cursive; font-size: 32px; color: var(–green); letter-spacing: 1px; } .form-success p { color: #666; margin-top: 8px; font-size: 15px; } .form-success .phone-link { display: inline-block; margin-top: 16px; background: var(–lime); color: var(–green); font-weight: 700; padding: 12px 24px; border-radius: 6px; text-decoration: none; font-size: 18px; } 571-457-2052
Same-Day Service Available

Northern Virginia’s
Pest Control Experts

Mosquitoes, bed bugs, wasps, rodents — we eliminate any pest, fast. Eco-friendly treatments, guaranteed results, serving all of Northern Virginia.

Licensed & Insured
Eco-Friendly
Satisfaction Guaranteed
A+
Rated Service
5-star reviews across Northern VA
24/7
Emergency Line
We pick up when pests don’t wait
0%
Toxic Residue
Safe for kids, pets & the planet
1 Day
Response Time
Same-day inspection & treatment
Don’t wait — pests multiply fast. Call 571-457-2052 for same-day inspection in Reston & all of Northern Virginia.
Free Estimate

Get a Free
Quote Today

Fill out the form and we’ll contact you within minutes to schedule your same-day inspection. No obligation, no pressure.

Same-day inspections available
Free, no-obligation estimate
Eco-friendly treatment options
Serving all of Northern Virginia
Licensed, insured, and local

Request Your Free Inspection

We typically respond within 15 minutes

Your Name
Phone Number
City / Area
Type of Pest Problem Select pest type… Mosquitoes Bed Bugs Wasps / Bees Ants Mice / Rats Fleas / Ticks Cockroaches Termites Spiders Multiple / Not Sure

Your info is private. We never spam.

We Got Your Request!

Our team will call you within 15 minutes to confirm your same-day inspection.

571-457-2052
What We Treat

We Handle Every Pest
That Invades Your Home

From one-time treatments to ongoing protection plans — we’ve got you covered.

Mosquitoes
Bed Bugs
Wasps & Bees
Ants
Mice & Rats
Fleas & Ticks
Cockroaches
Spiders
Termites
Crickets
Stink Bugs
& Many More
Why A+ Exterminators

The Northern Virginia
Pest Control Difference

Same-Day Service

Call before noon and we can often be at your door the same day. Pests don’t wait — and neither do we. Emergency appointments available.

Eco-Friendly Products

Our treatments are tough on pests and gentle on your family, pets, and the environment. We use EPA-registered, green-certified solutions.

Guaranteed Results

If pests return between scheduled treatments, so do we — at no extra cost. We stand behind every job we do, period.

Expert Technicians

Our licensed pest control professionals are trained on the latest techniques and local pest behavior specific to Northern Virginia.

Transparent Pricing

No hidden fees, no bait-and-switch. You get a clear, upfront quote before any work begins. Free inspections, always.

Locally Owned

We’re your neighbors. Based in Reston, we know Northern Virginia’s pest challenges inside and out. Supporting local means faster, better service.

How It Works

Pest-Free in 4 Simple Steps

From your first call to a pest-free home — here’s exactly what to expect.

1

Call or Book Online

Reach us by phone or fill out our form. We respond fast — usually within 15 minutes.

2

Free Inspection

A licensed technician visits, identifies the pest problem, and gives you a transparent quote.

3

Treatment Day

We apply targeted, eco-friendly treatments designed to eliminate your specific pest problem.

4

Pest-Free Living

Enjoy your home again. We follow up to make sure the treatment worked — guaranteed.

Customer Reviews

Northern Virginia Homeowners
Love A+ Exterminators

Don’t just take our word for it — here’s what your neighbors say.

★★★★★

“Called A+ Exterminators on a Tuesday morning about a wasp nest and they were at my house by 2pm the same day. Professional, fast, and the price was exactly what they quoted. Highly recommend!”

SM
Sarah M.
Reston, VA
★★★★★

“We had a serious bed bug issue and were panicking. A+ came out same day, explained everything clearly, and the treatment worked completely. Eco-friendly too, which was important to us with two young kids.”

DJ
David J.
Herndon, VA
★★★★★

“Best pest control company in Northern Virginia, hands down. Used them for mosquito treatment all summer and my backyard is finally usable again. Worth every penny. Will be a loyal customer.”

LK
Linda K.
McLean, VA
Service Area

Serving All of Northern Virginia

Based in Reston — we come to you, wherever you are in the region.

Reston Herndon McLean Vienna Fairfax Great Falls Sterling Ashburn Leesburg Chantilly Burke Springfield Alexandria Arlington Centreville Manassas Woodbridge & Surrounding Areas

Ready to Be Pest-Free?

Same-day service available. Free inspection. Eco-friendly treatments. Call now or book online.

Call Now — Free Quote function submitForm() { const name = document.getElementById(‘fname’).value.trim(); const phone = document.getElementById(‘fphone’).value.trim(); const city = document.getElementById(‘fcity’).value.trim(); if (!name || !phone) { alert(‘Please enter your name and phone number so we can reach you.’); return; } document.getElementById(‘lead-form-box’).style.display = ‘none’; document.getElementById(‘form-success’).style.display = ‘block’; } // Smooth scroll for anchor links document.querySelectorAll(‘a[href^=”#”]’).forEach(a => { a.addEventListener(‘click’, e => { const target = document.querySelector(a.getAttribute(‘href’)); if (target) { e.preventDefault(); target.scrollIntoView({ behavior: ‘smooth’, block: ‘start’ }); } }); });