* { box-sizing: border-box; } html { scroll-behavior: smooth; } html, body { margin: 0; padding: 0; } body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--text); background: var(--bg); line-height: 1.35; } a { color: inherit; text-decoration: none; } img { max-width: 100%; display: block; } p { margin: 0 0 14px 0; } p:last-child { margin-bottom: 0; } .card p { margin-bottom: 12px; } .wrap { max-width: var(--max); margin: 0 auto; padding: 0 18px; } .muted { color: var(--muted); } .center { text-align: center; } .spacer { height: 18px; } /* Announcement bar */ .announce { background: var(--blue); color: #fff; font-size: 13px; } .announce .wrap { padding: 10px 18px; display: flex; justify-content: center; align-items: center; gap: 10px; text-align: center; } #announceText { white-space: pre-line; } .announce.is-empty .wrap { padding: 0; height: 10px; } /* Header */ header { font-family: "Playfair Display", serif; position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--border); } .header-inner { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; gap: 12px; } .brand { display: flex; align-items: center; gap: 10px; min-width: 200px; } .logo { width: 160px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: flex-start; overflow: hidden; } .logo img { width: 160px; height: 44px; object-fit: contain; } .nav-desktop { display: flex; align-items: center; gap: 18px; color: var(--muted); font-size: 14px; } .nav-desktop a:hover { color: var(--text); } .header-actions { display: flex; align-items: center; gap: 10px; } /* Buttons */ .btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 14px; border-radius: 999px; border: 1px solid transparent; font-weight: 650; font-size: 14px; cursor: pointer; user-select: none; white-space: nowrap; transition: transform 0.06s ease, filter 0.12s ease, background 0.2s ease, box-shadow 0.2s ease; } .btn:active { transform: scale(0.98); } .btn-primary { background: var(--orange); color: #fff; box-shadow: 0 4px 14px rgba(212, 106, 26, 0.4); } .btn-primary:hover { background: #bf5b12; transform: translateY(-2px); } .btn-text { background: #fff; color: var(--blue); border-color: var(--blue); box-shadow: 0 4px 14px rgba(11, 79, 120, 0.15); } .btn-text:hover { background: var(--blue); color: #fff; transform: translateY(-2px); } .btn-text-dark { background: transparent; color: #fff; border-color: #fff; box-shadow: none; } .btn-text-dark:hover { background: #fff; color: var(--blue); transform: translateY(-2px); } .btn-faq { background: var(--blue); color: #fff; } .faq-btn-row { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 12px; margin-bottom: 12px; } .faq-btn-row .btn { margin: 0; } .btn-ghost { background: #fff; border-color: var(--border); color: var(--text); } .btn-blue { background: var(--blue); color: #fff; } /* Mobile Menu */ .hamburger { width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--border); background: #fff; display: none; align-items: center; justify-content: center; cursor: pointer; } .hamburger span { width: 18px; height: 2px; background: var(--text); display: block; position: relative; } .hamburger span::before, .hamburger span::after { content: ""; width: 18px; height: 2px; background: var(--text); position: absolute; left: 0; } .hamburger span::before { top: -6px; } .hamburger span::after { top: 6px; } .menu-overlay { position: fixed; inset: 0; background: rgba(2, 6, 23, 0.55); display: none; z-index: 100; padding: 18px; } .menu-overlay.open { display: block; } .menu-panel { max-width: 420px; margin: 0 auto; background: #fff; border-radius: 18px; box-shadow: var(--shadow); overflow: hidden; } .menu-head { padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); } .menu-links { padding: 10px 0; display: flex; flex-direction: column; } .menu-links a { padding: 14px 16px; border-top: 1px solid rgba(15, 23, 42, 0.06); color: var(--text); font-weight: 600; } .menu-links a:hover { background: rgba(2, 6, 23, 0.03); } .menu-foot { padding: 14px 16px; border-top: 1px solid var(--border); display: flex; gap: 10px; flex-wrap: wrap; } /* Hero */ .hero { position: relative; background: linear-gradient(180deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.62)); color: #fff; overflow: hidden; } .hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0.7)), url("images/hero.jpg"); background-size: cover; background-position: center; filter: saturate(1.05); transform: scale(1.02); } .hero .wrap { position: relative; padding: 54px 18px; } .hero-kicker { letter-spacing: 0.12em; font-size: 12px; opacity: 0.92; margin-bottom: 10px; } .hero h1 { margin: 0 0 10px 0; font-size: clamp(28px, 4vw, 44px); line-height: 1.06; text-wrap: balance; } .hero p { max-width: 760px; opacity: 0.95; } .hero-ctas { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 8px; } .trust-signals { margin-top: 24px; display: flex; align-items: center; gap: 8px; font-size: 14px; color: #fff; } /* Promise bar */ .promise-bar { background: #fff; border-bottom: 1px solid var(--border); padding: 16px 0; } .promise-items { display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; font-size: 14px; font-weight: 600; color: var(--text); } .promise-items span { display: inline-flex; align-items: center; gap: 6px; } .promise-items .check { color: var(--blue); font-size: 16px; } /* Sections with Alternating Backgrounds */ section { padding: 42px 0; } #location { background: #fff; } #services { background: var(--bg); } #reviews { background: #fff; } #help { background: var(--bg); } .card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 6px 18px rgba(2, 6, 23, 0.06); } .card-pad { padding: 18px; } .location-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 18px; align-items: stretch; } .info-block h2 { margin: 0 0 8px 0; font-size: 22px; } .info-list { margin: 0; padding: 0; display: grid; gap: 12px; } .info-list > div { display: grid; grid-template-columns: 96px 1fr; column-gap: 10px; align-items: start; } .info-list dt { font-weight: 750; white-space: nowrap; margin: 0; } .info-list dd { margin: 0; line-height: 1.4; } .hours span { white-space: nowrap; } .map-box { overflow: hidden; border-radius: var(--radius); border: 1px solid var(--border); min-height: 320px; background: #e2e8f0; } .map-box iframe { width: 100%; height: 100%; min-height: 320px; border: 0; } .contact-mini { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; } .pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 999px; border: 1px solid var(--border); background: #fff; font-weight: 650; font-size: 13px; } .services-head { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: center; } .services-photo { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); min-height: 220px; background: linear-gradient(180deg, rgba(2, 6, 23, 0.15), rgba(2, 6, 23, 0.45)), url("images/services.jpg"); background-size: cover; background-position: center; } .icon-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; } .icon-card { border: 1px solid rgba(15, 23, 42, 0.1); border-radius: 14px; background: #fff; padding: 14px; min-height: 120px; display: flex; gap: 12px; align-items: flex-start; } .icon { width: 38px; height: 38px; border-radius: 12px; background: rgba(11, 79, 120, 0.1); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; } .icon svg { width: 20px; height: 20px; } .icon-card h3 { margin: 0 0 6px 0; font-size: 15px; } .icon-card p { margin: 0; font-size: 13px; color: var(--muted); } .test-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 14px; } .quote { padding: 16px; border-radius: 14px; border: 1px solid rgba(15, 23, 42, 0.1); background: #fff; min-height: 140px; } .quote p { margin: 0 0 10px 0; color: var(--text); } .quote .by { font-weight: 750; color: var(--muted); font-size: 13px; } .reviews-cta { margin-top: 14px; text-align: center; } .reviews-cta a { color: var(--blue); font-weight: 650; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; } .reviews-cta a:hover { color: var(--orange); } .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; } .doc-photo { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); min-height: 260px; background: #d1d5db; display: flex; align-items: center; justify-content: center; color: #6b7280; font-size: 14px; font-weight: 600; } .doc-photo img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; } details { border: 1px solid rgba(15, 23, 42, 0.1); border-radius: 14px; background: #fff; padding: 12px 14px; } details + details { margin-top: 12px; } summary { cursor: pointer; font-weight: 750; color: var(--text); list-style: none; display: flex; justify-content: space-between; align-items: center; } summary::-webkit-details-marker { display: none; } summary::after { content: "+"; font-size: 18px; font-weight: 700; color: var(--muted); transition: transform 0.2s ease; } details[open] summary::after { content: "−"; } details[open] { box-shadow: 0 8px 18px rgba(2, 6, 23, 0.07); } .details-body { margin-top: 10px; color: var(--muted); font-size: 14px; } .final-cta { background: linear-gradient(180deg, var(--blue), var(--blue2)); color: #fff; padding: 44px 0; } .final-cta-buttons { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; } footer { padding: 26px 0; color: rgba(255, 255, 255, 0.85); background: #052c43; } .footer-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 18px; align-items: start; } .small { font-size: 13px; opacity: 0.92; } /* Mobile Sticky CTA */ .mobile-sticky-cta { display: none; position: fixed; bottom: 0; left: 0; right: 0; background: #fff; padding: 12px 18px; box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1); z-index: 90; border-top: 1px solid var(--border); } .mobile-sticky-cta .btn-row { display: flex; gap: 10px; } .mobile-sticky-cta .btn { flex: 1; } /* Reveal animation */ .reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; } .reveal.in { opacity: 1; transform: translateY(0); } @media (max-width: 900px) { body { padding-bottom: 70px; } .mobile-sticky-cta { display: block; } .hero-ctas { margin-top: 18px; display: flex; flex-direction: column; align-items: center; gap: 12px; } .hero-ctas a { width: 50%; max-width: 420px; justify-content: center; font-size: 15px; } .nav-desktop { display: none; } .hamburger { display: inline-flex; } .header-text-btn { display: none; } .location-grid { grid-template-columns: 1fr; } .services-head { grid-template-columns: 1fr; } .icon-grid { grid-template-columns: 1fr 1fr; } .test-grid { grid-template-columns: 1fr; } .two-col { grid-template-columns: 1fr; } .hero .wrap { padding: 42px 18px; } .promise-items { gap: 12px 20px; } } @media (max-width: 520px) { .hero-ctas a { width: 67%; } .icon-grid { grid-template-columns: 1fr; } .logo { width: 140px; } .logo img { width: 140px; } .btn { padding: 10px 12px; } } }
DR. SHAD LEWIS, DMD    READING, PA    INDEPENDENT PRACTICE    VETERAN OWNED

Real Dental Care.
No Upsells. No Fluff.

We don't run a dental spa, and we aren't going to pressure you into buying treatment you don't need. We just do good, honest work to keep your teeth healthy for life.

Haven't been to a dentist in 5 years? We don't care. No shame, no lectures. Just a clear path to a healthy mouth. Most patients are seen within a week.

★★★★★
4.7/5 from real local patients. Read our Google reviews →
Your appointment starts on time Costs explained before any work Second opinions welcome Independent, veteran, owner-operated. Not a chain

Location Hours Contact

Address
2211 Quarry Dr. STE E-67
Reading, PA 19609
Hours
Mon 10–5, Tue 10–5, Thu 10–5, Fri 10–2
Parking
Right in front. No stairs.

What's bothering you?

We don't sell procedures you don't need. We just figure out what's wrong and give you honest options to fix it.

Pain or Sensitivity

Sharp, throbbing, or just annoying. We find the root cause and tell you exactly what it costs to stop it before we do anything.

A Broken or Chipped Tooth

We stabilize it and give you honest options to repair it. No pressuring you into the most expensive fix if a simple one works.

A Fresh Perspective

If you walked away from a visit elsewhere feeling unsure about a recommended treatment, let us take a look. We’ll provide a fresh set of eyes and a clear, honest breakdown of your options so you can move forward with total clarity.

Bleeding or Sore Gums

We'll figure out what's going on and help you get it under control without trying to sell you a "deep cleaning" unless you actually need it.

"Something just feels off"

No pain yet, but it feels weird when you bite? Cracked and stress-worn teeth are more common now than ever. We'll take a look, explain what we see in plain English, and let you decide the next step.

Dr. Shad Lewis, DMD

Owner, veteran, and sole dentist. Not a chain. Not a corporation.

Dr. Shad Lewis, DMD

"My job is simple: help keep your teeth healthy, explain your options in easy terms, and do good work. I give you the facts and let you decide what's best for you."

Questions & Policies

We keep it simple around here.

Frequently Asked Questions

How fast can I get in?
We respect your time. When you book an appointment, we actually see you at that time. We usually have availability within a week, and if you have an issue, we'll try to squeeze you in sooner.

What if I'm nervous or it's been a long time?
You wouldn't believe how common this is. We don't judge, and we don't give lectures about flossing. We'll walk you through everything before we even pick up a tool.

Do I really need this crown or deep cleaning?
If you do, we'll show you exactly why on your x-rays. If you don't, we'll tell you to save your money. We thrive on second opinions.

How do I know what this will cost?
We give you the exact out-of-pocket cost before we do any work. No hidden fees. No guesswork. If you have insurance, we verify your coverage first. If you don't, we'll go over our straightforward cash pricing upfront. Nothing starts until you're comfortable. We also offer flexible monthly payment plans if you need to spread out the cost.

Appointments and Cancellations
Life happens, we get it. If you need to reschedule, we just ask for a heads-up as soon as possible so we can give that time slot to someone else who might need it.
Payment Plans & Financing
Need to spread out the cost of a bigger treatment? We offer monthly payment plans through Cherry — no hidden fees, no gotchas. You'll see your exact monthly payment and rate before you agree to anything.

See financing options and estimate your payment →

Have a question that's not here? Just text or call. We'll give you a straight answer.

Ready to see the same dentist?

Call or text us today. We'll get you on the schedule and take it from there.

Call Now Text Us