 /* Location page template — Oro Valley instance. Approved design system (Concept D base).
CSS ISOLATION POLICY 2026-08-12: everything scoped under .wd-page; absolute px/clamp units only
(no em/rem so host rem scaling cannot cascade in); typography locked with !important +
element+class selectors to beat theme h1/h2/p rules.
Production URL: keep existing slug /our-locations/tucson-az/ (holds the live equity — see notes). */
 :root {
   --wd-font-body: "Poppins", "Open Sans", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
   --wd-font-heading: var(--wd-font-body);
   --wd-teal-900: #0E5A63;
   --wd-teal-600: #147A86;
   --wd-teal-100: #E6F3F5;
   --wd-cta: #C96F2E;
   --wd-cta-hover: #A85820;
   --wd-ink: #22343A;
   --wd-ink-soft: #4A6066;
   --wd-paper: #FFFFFF;
   --wd-paper-warm: #F8F5F0;
   --wd-line: #DCE7E9;
   --wd-green: #4F9E6B;
   --wd-radius: 14px;
 }

 .wd-page,
 .wd-page * {
   box-sizing: border-box;
   margin: 0;
   padding: 0
 }

 @media(prefers-reduced-motion:reduce) {
   .wd-page * {
     transition: none !important
   }
 }

 .wd-page {
   background: var(--wd-paper)
 }

 .wd-page :focus-visible {
   outline: 2px solid #0B57D0;
   outline-offset: 2px
 }

 .wd-wrap {
   max-width: 1080px;
   margin: 0 auto;
   padding: 0 22px
 }

 .wd-section {
   padding: 56px 0
 }

 .wd-warm {
   background: var(--wd-paper-warm)
 }

 .wd-section-rule {
   border: 0;
   height: 1px;
   background: var(--wd-line);
   position: relative;
   max-width: 1080px;
   margin: 0 auto
 }

 .wd-section-rule::after {
   content: "";
   position: absolute;
   left: 22px;
   top: -1px;
   width: 90px;
   height: 3px;
   background: var(--wd-green);
   border-radius: 2px
 }

 .wd-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 9px;
   min-height: 54px;
   padding: 14px 30px;
   border-radius: var(--wd-radius);
   text-decoration: none;
   transition: transform .15s ease-out, background .15s;
   border: 0;
   cursor: pointer
 }

 .wd-btn-primary {
   background: var(--wd-cta);
   color: #fff;
   box-shadow: 0 3px 10px rgba(201, 111, 46, .28)
 }

 .wd-btn-primary:hover {
   background: var(--wd-cta-hover);
   transform: translateY(-2px)
 }

 .wd-btn-outline {
   background: transparent;
   color: var(--wd-teal-900);
   border: 2px solid var(--wd-teal-600)
 }

 .wd-btn-outline:hover {
   background: var(--wd-teal-100)
 }

 .wd-flag {
   display: inline-block;
   background: #FFF3E0;
   border: 1px solid #E8B36A;
   color: #7A4A12;
   font-size: 12px;
   font-weight: 700;
   border-radius: 6px;
   padding: 2px 8px;
   vertical-align: middle
 }

 .wd-hero-band {
   background: var(--wd-paper-warm)
 }

 .wd-hero {
   display: grid;
   gap: 36px;
   padding-top: 50px;
   padding-bottom: 46px;
   align-items: center
 }

 @media(min-width:880px) {
   .wd-hero {
     grid-template-columns: 7fr 5fr
   }
 }

 .wd-cta-row {
   display: flex;
   gap: 14px;
   flex-wrap: wrap;
   margin-top: 18px
 }

 .wd-hero-media {
   position: relative;
   border-radius: 22px;
   overflow: hidden;
   aspect-ratio: 4/3;
   background: var(--wd-teal-100)
 }

 .wd-hero-media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block
 }

 .wd-media-caption {
   position: absolute;
   left: 14px;
   bottom: 14px;
   background: rgba(255, 255, 255, .94);
   border-radius: 10px;
   padding: 8px 16px;
   color: var(--wd-ink);
   text-align: left
 }

 /* stat band */
 .wd-stats {
   display: grid;
   grid-template-columns: 1fr;
   gap: 20px;
   margin: 26px 0 8px;
   padding: 28px 26px;
   background: linear-gradient(135deg, var(--wd-teal-100) 0%, #EAF1FE 100%);
   border-radius: var(--wd-radius)
 }

 @media(min-width:560px) {
   .wd-stats {
     grid-template-columns: repeat(2, 1fr)
   }
 }

 @media(min-width:1000px) {
   .wd-stats {
     grid-template-columns: repeat(4, 1fr)
   }
 }

 .wd-stat {
   display: flex;
   align-items: center;
   gap: 15px;
   min-width: 0
 }

 .wd-stat-icn {
   flex: none;
   width: 60px;
   height: 60px;
   border-radius: 50%;
   background: #fff;
   color: #0B57D0;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 5px 16px rgba(11, 87, 208, .16)
 }

 .wd-stat-icn svg {
   width: 31px;
   height: 31px;
   stroke: currentColor;
   fill: none;
   stroke-width: 1.9;
   stroke-linecap: round;
   stroke-linejoin: round
 }

 /* doctor voice */
 .wd-voice {
   border-left: 4px solid var(--wd-green);
   padding: 4px 0 4px 20px;
   margin: 14px 0 18px
 }

 /* icon columns */
 .wd-iconrow {
   display: grid;
   gap: 44px 32px;
   grid-template-columns: 1fr;
   text-align: center;
   max-width: 1000px;
   margin: 12px auto 0
 }

 @media(min-width:680px) {
   .wd-iconrow {
     grid-template-columns: 1fr 1fr
   }
 }

 @media(min-width:1000px) {
   .wd-iconrow {
     grid-template-columns: repeat(4, 1fr)
   }
 }

 .wd-icol .wd-icn {
   width: 74px;
   height: 74px;
   margin: 0 auto 18px;
   display: flex;
   align-items: center;
   justify-content: center
 }

 .wd-icol .wd-icn svg {
   width: 64px;
   height: 64px;
   stroke: var(--wd-teal-600);
   stroke-width: 2;
   fill: none;
   stroke-linecap: round;
   stroke-linejoin: round
 }

 .wd-center-h .wd-h2,
 .wd-center-h .wd-lede {
   text-align: center
 }

 .wd-center-h .wd-lede {
   max-width: 60ch;
   margin: 0 auto 8px;
   color: var(--wd-ink-soft)
 }

 .wd-center-h p.wd-p.wd-lede {
   margin-left: auto !important;
   margin-right: auto !important
 }

 /* service feature rows */
 .wd-feat {
   display: grid;
   gap: 34px;
   align-items: center;
   padding-top: 8px;
   padding-bottom: 8px
 }

 .wd-feat-top {
   align-items: start
 }

 @media(min-width:880px) {
   .wd-feat {
     grid-template-columns: 1fr 1fr
   }

   .wd-feat.wd-rev>.wd-txt {
     order: 2
   }

   .wd-feat.wd-rev>.wd-img {
     order: 1
   }
 }

 @media(max-width:879px) {

   #wd-book .wd-survey,
   #wd-pricing .wd-survey {
     order: -1
   }
 }

 #wd-pricing,
 #wd-book,
 #same-day-implants,
 #smile-gallery,
 #implant-candidate,
 #implant-candiate,
 #implant-solutions,
 #meet-the-doctor {
   scroll-margin-top: 96px
 }

 .wd-feat .wd-img {
   border-radius: var(--wd-radius);
   aspect-ratio: 3/2;
   background: linear-gradient(160deg, var(--wd-teal-100), #e9dfd0);
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--wd-teal-900);
   text-align: center;
   padding: 14px
 }

 /* map */
 .wd-maprow {
   display: grid;
   border: 1px solid var(--wd-line);
   border-radius: var(--wd-radius);
   overflow: hidden
 }

 @media(min-width:860px) {
   .wd-maprow {
     grid-template-columns: 7fr 5fr
   }
 }

 .wd-mapbox {
   position: relative;
   min-height: 320px;
   background: #EDF2ED
 }

 .wd-mapbox>svg {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%
 }

 .wd-mapnote {
   position: absolute;
   left: 14px;
   bottom: 12px;
   color: var(--wd-ink-soft);
   background: rgba(255, 255, 255, .92);
   border-radius: 8px;
   padding: 4px 10px;
   z-index: 2
 }

 .wd-mapside {
   padding: 30px;
   background: var(--wd-paper)
 }

 .wd-mapload {
   position: absolute;
   left: 50%;
   bottom: 46px;
   transform: translateX(-50%);
   z-index: 3;
   background: var(--wd-teal-900);
   color: #fff;
   border: 0;
   border-radius: var(--wd-radius);
   min-height: 48px;
   padding: 10px 22px;
   cursor: pointer;
   box-shadow: 0 3px 10px rgba(14, 90, 99, .3)
 }

 .wd-mapload:hover {
   background: var(--wd-teal-600)
 }

 .wd-mapbox iframe {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   border: 0
 }

 .wd-minimap {
   max-width: 420px;
   aspect-ratio: 4 / 3;
   margin-top: 4px;
   border: 1px solid var(--wd-line);
   border-radius: var(--wd-radius);
   overflow: hidden;
   background: #EDF2ED
 }

 .wd-minimap iframe {
   display: block;
   width: 100%;
   height: 100%;
   border: 0
 }

 /* cookie banner */
 .wd-cookie {
   position: fixed;
   left: 16px;
   right: 16px;
   bottom: 16px;
   z-index: 1000;
   max-width: 760px;
   margin: 0 auto;
   padding: 18px 20px;
   background: var(--wd-paper);
   color: var(--wd-ink);
   border: 1px solid var(--wd-line);
   border-radius: var(--wd-radius);
   box-shadow: 0 10px 30px rgba(14, 90, 99, .18);
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 14px 20px
 }

 .wd-cookie[hidden] {
   display: none
 }

 div.wd-cookie p.wd-cookie-text {
   flex: 1 1 360px;
   margin: 0 !important;
   font-size: 15px !important;
   line-height: 1.55 !important;
   color: var(--wd-ink-soft) !important
 }

 .wd-cookie-btns {
   display: flex;
   gap: 10px;
   flex: 0 0 auto
 }

 button.wd-cookie-btn {
   font-family: var(--wd-font-body) !important;
   font-size: 15px !important;
   font-weight: 600;
   padding: 10px 18px;
   border-radius: 999px;
   border: 2px solid var(--wd-teal-600);
   background: var(--wd-paper);
   color: var(--wd-teal-600);
   cursor: pointer
 }

 button.wd-cookie-btn.wd-cookie-accept {
   background: var(--wd-teal-600);
   color: #fff
 }

 button.wd-cookie-btn:focus-visible {
   outline: 3px solid var(--wd-cta);
   outline-offset: 2px
 }

 @media(max-width:520px) {
   .wd-cookie-btns {
     flex: 1 1 100%
   }

   button.wd-cookie-btn {
     flex: 1
   }
 }

 /* FAQ */
 .wd-acc {
   border: 1px solid var(--wd-line);
   border-radius: var(--wd-radius);
   background: var(--wd-paper);
   margin-bottom: 12px;
   overflow: hidden
 }

 .wd-acc-sum {
   list-style: none;
   cursor: pointer;
   padding: 16px 22px;
   color: var(--wd-ink);
   display: flex;
   justify-content: space-between;
   gap: 12px;
   min-height: 56px;
   align-items: center
 }

 .wd-acc-sum::-webkit-details-marker {
   display: none
 }

 .wd-acc-sum::after {
   content: "▾";
   color: var(--wd-green);
   transition: transform .15s
 }

 .wd-acc[open] .wd-acc-sum::after {
   transform: rotate(180deg)
 }

 .wd-acc .wd-inner {
   padding: 0 22px 18px
 }

 .wd-final {
   background: var(--wd-teal-900);
   color: #fff;
   border-radius: 22px;
   padding: 46px 40px;
   text-align: center
 }

 .wd-final .wd-cta-row {
   justify-content: center;
   margin-top: 22px
 }

 .wd-final .wd-btn-outline {
   color: #fff;
   border-color: #8FC1C9
 }

 .wd-final .wd-btn-outline:hover {
   background: rgba(255, 255, 255, .12)
 }

 .wd-legal {
   padding: 26px 0 40px
 }

 /* ============ TYPOGRAPHY LOCK — policy 2026-08-12 ============
Element+class compound selectors + !important + absolute px/clamp.
Beats host theme h1/h2/p rules; host rem scaling cannot cascade in. */
 div.wd-page {
   font-family: var(--wd-font-body) !important;
   font-size: 19px !important;
   line-height: 1.7 !important;
   color: var(--wd-ink) !important;
   -webkit-font-smoothing: antialiased !important;
   -moz-osx-font-smoothing: grayscale !important;
   text-rendering: optimizeLegibility !important
 }

 h1.wd-h1,
 h2.wd-h2,
 h3.wd-h3 {
   font-family: var(--wd-font-heading) !important;
   color: var(--wd-teal-900) !important;
   line-height: 1.22 !important;
   text-transform: none !important;
   letter-spacing: 0 !important
 }

 h1.wd-h1 {
   font-size: clamp(29px, 3.4vw, 38px) !important;
   font-weight: 700 !important;
   line-height: 1.2 !important;
   margin: 0 !important
 }

 h2.wd-h2 {
   font-size: clamp(25px, 3vw, 31px) !important;
   font-weight: 700 !important;
   margin: 0 0 20px !important
 }

 h3.wd-h3 {
   font-size: 21px !important;
   font-weight: 600 !important;
   margin: 0 0 8px !important
 }

 p.wd-p {
   font-family: var(--wd-font-body) !important;
   font-size: 19px !important;
   line-height: 1.7 !important;
   margin: 0 0 16px !important;
   max-width: 68ch
 }

 p.wd-p.wd-intro {
   font-size: 20px !important;
   color: var(--wd-ink-soft) !important
 }

 p.wd-p.wd-note-sm {
   font-size: 16px !important;
   color: var(--wd-ink-soft) !important;
   margin-top: 12px !important
 }

 p.wd-p.wd-nap {
   font-size: 19px !important;
   margin: 10px 0 0 !important
 }

 p.wd-p.wd-side-sm {
   font-size: 16px !important;
   color: var(--wd-ink-soft) !important
 }

 a.wd-a {
   color: var(--wd-teal-600) !important;
   font-family: var(--wd-font-body) !important;
   text-decoration: underline
 }

 a.wd-a.wd-btn,
 a.wd-btn {
   font-size: 18px !important;
   font-weight: 600 !important;
   font-family: var(--wd-font-body) !important;
   text-decoration: none !important;
   line-height: 1.3 !important
 }

 a.wd-a.wd-btn-primary,
 a.wd-btn-primary {
   color: #fff !important
 }

 a.wd-a.wd-btn-outline {
   color: var(--wd-teal-900) !important
 }

 div.wd-final a.wd-btn.wd-btn-outline {
   color: #fff !important
 }

 span.wd-eyebrow {
   display: inline-block;
   font-size: 14px !important;
   font-weight: 700 !important;
   letter-spacing: 1.3px !important;
   text-transform: uppercase !important;
   color: var(--wd-teal-600) !important;
   margin-bottom: 8px;
   font-family: var(--wd-font-body) !important
 }

 a.wd-a.wd-phone-lg {
   font-size: 23px !important;
   font-weight: 700 !important;
   color: var(--wd-teal-900) !important;
   text-decoration: none !important
 }

 div.wd-mapside a.wd-a.wd-phone-lg {
   font-size: 24px !important
 }

 span.wd-media-caption {
   font-size: 16px !important;
   font-weight: 600 !important;
   font-family: var(--wd-font-body) !important
 }

 span.wd-media-caption small {
   display: block;
   font-size: 14px !important;
   font-weight: 400 !important;
   color: var(--wd-ink-soft) !important
 }

 div.wd-stat b {
   display: block;
   font-size: 27px !important;
   font-weight: 800 !important;
   color: var(--wd-teal-900) !important;
   line-height: 1.15 !important;
   letter-spacing: -.2px !important;
   font-family: var(--wd-font-body) !important
 }

 div.wd-stat small {
   display: block;
   font-size: 17px !important;
   color: var(--wd-ink-soft) !important;
   font-weight: 600 !important;
   line-height: 1.3 !important;
   font-family: var(--wd-font-body) !important
 }

 blockquote.wd-voice p.wd-p {
   font-size: 20px !important;
   font-style: italic !important;
   color: var(--wd-ink) !important;
   margin-bottom: 6px !important
 }

 blockquote.wd-voice cite {
   font-style: normal !important;
   font-size: 16px !important;
   color: var(--wd-ink-soft) !important;
   font-family: var(--wd-font-body) !important
 }

 div.wd-icol h3.wd-h3 {
   font-size: 21px !important;
   margin-bottom: 10px !important
 }

 div.wd-icol p.wd-p {
   font-size: 17px !important;
   color: var(--wd-ink-soft) !important;
   margin: 0 auto !important;
   max-width: 34ch
 }

 p.wd-p.wd-lede {
   color: var(--wd-ink-soft) !important
 }

 div.wd-feat div.wd-img {
   font-size: 16px !important;
   font-weight: 600 !important
 }

 summary.wd-acc-sum {
   font-size: 18px !important;
   font-weight: 600 !important;
   font-family: var(--wd-font-body) !important
 }

 div.wd-mapside p.wd-p {
   font-size: 17px !important;
   margin-bottom: 10px !important
 }

 span.wd-mapnote {
   font-size: 15px !important;
   font-family: var(--wd-font-body) !important
 }

 button.wd-mapload {
   font-family: var(--wd-font-body) !important;
   font-weight: 600 !important;
   font-size: 17px !important
 }

 div.wd-final h2.wd-h2 {
   color: #fff !important
 }

 div.wd-final p.wd-p {
   margin-left: auto !important;
   margin-right: auto !important;
   color: #D7E9EC !important
 }

 footer.wd-legal p.wd-p {
   font-size: 15px !important;
   color: var(--wd-ink-soft) !important
 }

 footer.wd-legal {
   border-top: 1px solid var(--wd-line);
   margin-top: 8px
 }

 footer.wd-legal p.wd-p {
   max-width: none
 }

 /* landing-page additions */
 .wd-lphead {
   position: sticky;
   top: 0;
   z-index: 50;
   background: #fff;
   border-bottom: 1px solid var(--wd-line);
   box-shadow: 0 2px 14px rgba(14, 90, 99, .08)
 }

 .wd-lphead .wd-bar {
   max-width: 1080px;
   margin: 0 auto;
   padding: 14px 22px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   flex-wrap: wrap
 }

 .wd-lplogo {
   display: flex;
   align-items: center;
   gap: 14px;
   text-decoration: none
 }

 .wd-lplogo img {
   height: 68px;
   width: auto;
   display: block
 }

 .wd-lpcity {
   padding-left: 14px;
   border-left: 2px solid var(--wd-line)
 }

 .wd-hdr-actions {
   display: flex;
   align-items: center;
   gap: 18px;
   flex-wrap: wrap
 }

 .wd-hdr-call {
   display: flex;
   flex-direction: column;
   line-height: 1.15;
   text-decoration: none
 }

 .wd-lphead .wd-btn {
   min-height: 50px;
   padding: 12px 26px
 }

 @media(max-width:719px) {
   .wd-lphead .wd-bar {
     padding: 8px 16px;
     gap: 6px;
     justify-content: flex-start
   }

   .wd-lplogo {
     gap: 8px
   }

   .wd-lplogo img {
     height: 44px
   }

   .wd-lpcity {
     padding-left: 8px
   }

   .wd-hdr-actions {
     width: 100%;
     justify-content: space-between;
     align-items: center;
     gap: 12px
   }

   .wd-hdr-call {
     flex-direction: row;
     align-items: center
   }

   .wd-hdr-call-label {
     display: none
   }

   .wd-lphead .wd-btn {
     min-height: 36px;
     padding: 8px 16px
   }
 }

 .wd-survey {
   background: #fff;
   border: 1px solid var(--wd-line);
   border-radius: var(--wd-radius);
   overflow: hidden;
   box-shadow: 0 12px 32px rgba(14, 90, 99, .09)
 }

 .wd-survey iframe {
   width: 100%;
   height: 520px;
   border: 0;
   display: block
 }

 #wd-pricing .wd-survey {
   background: transparent;
   border: 0;
   border-radius: 0;
   box-shadow: none
 }

 .wd-check {
   list-style: none;
   margin: 14px 0 6px
 }

 .wd-check li {
   position: relative;
   padding: 0 0 12px 34px
 }

 .wd-check li::before {
   content: "";
   position: absolute;
   left: 0;
   top: 5px;
   width: 22px;
   height: 22px;
   border-radius: 50%;
   background: var(--wd-teal-100)
 }

 .wd-check li::after {
   content: "";
   position: absolute;
   left: 6px;
   top: 11px;
   width: 10px;
   height: 5px;
   border-left: 2.5px solid var(--wd-teal-600);
   border-bottom: 2.5px solid var(--wd-teal-600);
   transform: rotate(-45deg)
 }

 .wd-optgrid {
   display: grid;
   gap: 22px;
   grid-template-columns: 1fr;
   margin-top: 14px
 }

 @media(min-width:680px) {
   .wd-optgrid {
     grid-template-columns: repeat(2, 1fr)
   }
 }

 .wd-optcard {
   background: #fff;
   border: 1px solid var(--wd-line);
   border-radius: var(--wd-radius);
   padding: 26px;
   display: flex;
   flex-direction: column;
   gap: 10px
 }

 .wd-optcard .wd-icn {
   width: 64px;
   height: 64px
 }

 .wd-optcard .wd-icn svg {
   width: 60px;
   height: 60px;
   stroke: var(--wd-teal-600);
   stroke-width: 2;
   fill: none;
   stroke-linecap: round;
   stroke-linejoin: round
 }

 .wd-optcard .wd-btn {
   margin-top: auto;
   align-self: flex-start;
   min-height: 46px;
   padding: 10px 20px
 }

 .wd-docgrid {
   display: grid;
   gap: 26px;
   margin-top: 14px
 }

 @media(min-width:820px) {
   .wd-docgrid {
     grid-template-columns: repeat(var(--wd-doccols, 1), minmax(0, 420px));
     justify-content: center
   }
 }

 .wd-doccard {
   background: #fff;
   border: 1px solid var(--wd-line);
   border-radius: var(--wd-radius);
   overflow: hidden;
   box-shadow: 0 12px 32px rgba(14, 90, 99, .09);
   display: flex;
   flex-direction: column;
   text-align: left
 }

 .wd-doccard-photo {
   aspect-ratio: 1/1;
   overflow: hidden;
   border-bottom: 4px solid var(--wd-teal-600);
   background: linear-gradient(160deg, var(--wd-teal-100), #e9dfd0);
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--wd-teal-900);
   text-align: center;
   padding: 20px
 }

 .wd-doccard-photo img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center 18%;
   display: block
 }

 .wd-doccard-body {
   padding: 22px 24px 26px;
   display: flex;
   flex-direction: column;
   gap: 10px;
   flex: 1
 }

 span.wd-lpcity-name {
   display: block;
   font-family: var(--wd-font-body) !important;
   font-size: 19px !important;
   font-weight: 700 !important;
   color: var(--wd-teal-900) !important;
   line-height: 1.15 !important;
   letter-spacing: -.2px !important
 }

 span.wd-lpcity-sub {
   display: block;
   font-family: var(--wd-font-body) !important;
   font-size: 12px !important;
   font-weight: 700 !important;
   letter-spacing: 1.5px !important;
   text-transform: uppercase !important;
   color: var(--wd-teal-600) !important;
   margin-top: 3px
 }

 a.wd-hdr-call span.wd-hdr-call-label {
   font-family: var(--wd-font-body) !important;
   font-size: 12px !important;
   font-weight: 700 !important;
   letter-spacing: 1.4px !important;
   text-transform: uppercase !important;
   color: var(--wd-ink-soft) !important
 }

 a.wd-hdr-call span.wd-hdr-call-num {
   font-family: var(--wd-font-body) !important;
   font-size: 27px !important;
   font-weight: 800 !important;
   color: var(--wd-teal-900) !important;
   letter-spacing: -.3px !important;
   line-height: 1.15 !important
 }

 @media(max-width:719px) {
   span.wd-lpcity-name {
     font-size: 15px !important
   }

   a.wd-hdr-call span.wd-hdr-call-num {
     font-size: 18px !important
   }

   .wd-lphead a.wd-a.wd-btn.wd-btn-primary {
     font-size: 15px !important
   }
 }

 span.wd-docrole {
   font-size: 13px !important;
   font-weight: 800 !important;
   letter-spacing: 1.4px !important;
   text-transform: uppercase !important;
   color: var(--wd-teal-600) !important;
   font-family: var(--wd-font-body) !important
 }

 div.wd-doccard h3.wd-h3 {
   font-size: 21px !important;
   margin: 0 !important
 }

 /* self-hosted hero video */
 .wd-herovid {
   position: relative;
   overflow: hidden;
   background: #0E5A63 center/cover no-repeat
 }

 .wd-herovid video {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block
 }

 .wd-herovid::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .22));
   pointer-events: none
 }

 @media(prefers-reduced-motion:reduce) {
   .wd-herovid video {
     display: none
   }
 }

 /* hero background video (LP) */

 .wd-hero-band.wd-herovideo {
   position: relative;
   overflow: hidden;
   background: #0B3F46 url(wd-hero-poster.jpg) center/cover no-repeat;
   min-height: 480px;
   display: flex;
   align-items: center
 }

 @media(min-width:880px) {
   .wd-hero-band.wd-herovideo {
     min-height: 64vh;
     max-height: 640px
   }
 }

 .wd-hero-band.wd-herovideo>video {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   z-index: 0
 }

 .wd-hero-band.wd-herovideo::before {
   content: "";
   position: absolute;
   inset: 0;
   z-index: 1;
   background: linear-gradient(100deg, rgba(6, 52, 58, .94) 0%, rgba(6, 52, 58, .86) 46%, rgba(6, 52, 58, .60) 100%)
 }

 .wd-hero-band.wd-herovideo>.wd-wrap {
   position: relative;
   z-index: 2
 }

 @media(prefers-reduced-motion:reduce) {
   .wd-hero-band.wd-herovideo>video {
     display: none
   }
 }

 .wd-herovideo .wd-hero {
   grid-template-columns: 1fr;
   max-width: 860px;
   width: 100%;
   padding-top: 64px;
   padding-bottom: 64px
 }

 .wd-herovideo h1.wd-h1,
 .wd-herovideo p.wd-intro,
 .wd-herovideo p.wd-note-sm {
   color: #FFFFFF !important
 }

 .wd-herovideo h1.wd-h1 {
   font-size: clamp(32px, 4.6vw, 48px) !important;
   margin-bottom: 20px !important;
   white-space: nowrap
 }

 @media(max-width:640px) {
   .wd-herovideo h1.wd-h1 {
     white-space: normal
   }
 }

 .wd-herovideo p.wd-intro {
   font-size: 21px !important;
   line-height: 1.55 !important;
   margin-bottom: 0 !important
 }

 .wd-herovideo span.wd-eyebrow {
   color: #8FC1C9 !important
 }

 .wd-herovideo .wd-cta-row {
   margin-top: 32px;
   gap: 16px
 }

 .wd-herovideo .wd-btn {
   border-radius: 999px;
   min-height: 58px;
   padding: 15px 34px
 }

 .wd-herovideo .wd-btn-primary {
   color: #FFFFFF !important
 }

 .wd-herovideo .wd-a.wd-btn-outline {
   color: #FFFFFF !important;
   border-color: #8FC1C9
 }

 .wd-herovideo .wd-a.wd-btn-outline:hover {
   background: rgba(255, 255, 255, .14)
 }

 /* doctor bio panel (ClearChoice-pattern structure, Wellness palette) */
 .wd-bio {
   display: grid;
   grid-template-columns: 1fr;
   border-radius: var(--wd-radius);
   overflow: hidden;
   box-shadow: 0 14px 38px rgba(14, 90, 99, .12);
   margin-bottom: 26px;
   background: #fff
 }

 @media(min-width:860px) {
   .wd-bio {
     grid-template-columns: 1fr 1fr
   }

   .wd-bio.wd-bio-rev>.wd-bio-txt {
     order: 2
   }
 }

 .wd-bio-txt {
   background: linear-gradient(160deg, #EAF1FE 0%, #E6F3F5 100%);
   padding: 40px 38px
 }

 .wd-bio-photo {
   min-height: 340px;
   background: linear-gradient(160deg, var(--wd-teal-100), #e9dfd0);
   display: flex;
   align-items: center;
   justify-content: center;
   text-align: center;
   padding: 20px;
   color: var(--wd-teal-900)
 }

 .wd-bio-photo img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center 18%;
   display: block
 }

 .wd-bio-list {
   list-style: none;
   margin: 20px 0 0
 }

 .wd-bio-list li {
   position: relative;
   padding: 0 0 15px 38px;
   text-align: left
 }

 .wd-bio-list li svg {
   position: absolute;
   left: 0;
   top: 2px;
   width: 23px;
   height: 23px;
   fill: none;
   stroke: #0B57D0;
   stroke-width: 1.9;
   stroke-linecap: round;
   stroke-linejoin: round
 }

 li.wd-bio-li {
   font-family: var(--wd-font-body) !important;
   font-size: 18px !important;
   line-height: 1.5 !important;
   color: var(--wd-teal-900) !important;
   font-weight: 500 !important
 }

 h3.wd-bio-name {
   font-family: var(--wd-font-heading) !important;
   font-size: clamp(30px, 3.6vw, 42px) !important;
   font-weight: 700 !important;
   line-height: 1.1 !important;
   letter-spacing: -.6px !important;
   color: var(--wd-teal-900) !important;
   margin: 0 !important;
   text-align: left
 }

 .wd-results {
   background: var(--wd-paper-warm)
 }

 .wd-results-head {
   max-width: 680px;
   margin: 0 auto 26px;
   text-align: center
 }

 .wd-results-head .wd-h2 {
   margin-bottom: 10px !important
 }

 .wd-results-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 24px
 }

 @media(min-width:760px) {
   .wd-results-grid {
     grid-template-columns: repeat(2, 1fr)
   }
 }

 .wd-result {
   background: #fff;
   border: 1px solid var(--wd-line);
   border-radius: var(--wd-radius);
   overflow: hidden;
   box-shadow: 0 10px 28px rgba(14, 90, 99, .08)
 }

 .wd-t20 {
   position: relative;
   overflow: hidden;
   border-radius: var(--wd-radius) var(--wd-radius) 0 0;
   background: #000;
   line-height: 0;
   touch-action: pan-y
 }

 .wd-t20 img {
   display: block;
   width: 100%;
   height: auto;
   aspect-ratio: 4/3;
   object-fit: cover
 }

 .wd-t20-before {
   position: absolute;
   inset: 0;
   width: 50%;
   overflow: hidden;
   will-change: width
 }

 .wd-t20-before img {
   width: auto;
   height: 100%;
   max-width: none
 }

 .wd-t20-lbl {
   position: absolute;
   top: 12px;
   z-index: 3;
   background: rgba(14, 90, 99, .86);
   color: #fff;
   border-radius: 20px;
   padding: 5px 14px;
   pointer-events: none;
   font-family: var(--wd-font-body) !important;
   font-size: 14px !important;
   font-weight: 800 !important;
   letter-spacing: 1.5px !important;
   text-transform: uppercase !important;
   line-height: 1.4 !important
 }

 .wd-t20-lbl-b {
   left: 12px
 }

 .wd-t20-lbl-a {
   right: 12px
 }

 .wd-t20-handle {
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 4;
   width: 46px;
   height: 46px;
   margin: -23px 0 0 -23px;
   border-radius: 50%;
   background: #fff;
   box-shadow: 0 3px 12px rgba(0, 0, 0, .35);
   display: flex;
   align-items: center;
   justify-content: center;
   pointer-events: none
 }

 .wd-t20-handle svg {
   width: 24px;
   height: 24px;
   fill: none;
   stroke: var(--wd-teal-900);
   stroke-width: 2.2;
   stroke-linecap: round;
   stroke-linejoin: round
 }

 .wd-t20::after {
   content: "";
   position: absolute;
   top: 0;
   bottom: 0;
   left: var(--wd-t20-x, 50%);
   width: 3px;
   margin-left: -1.5px;
   background: #fff;
   z-index: 3;
   pointer-events: none;
   box-shadow: 0 0 6px rgba(0, 0, 0, .3)
 }

 .wd-t20-range {
   position: absolute;
   inset: 0;
   z-index: 5;
   width: 100%;
   height: 100%;
   margin: 0;
   cursor: ew-resize;
   touch-action: pan-y;
   -webkit-user-select: none;
   user-select: none;
   -webkit-tap-highlight-color: transparent;
   outline: none
 }

 .wd-t20-range:focus-visible {
   outline: 3px solid #0B57D0;
   outline-offset: -3px
 }

 .wd-result-body {
   padding: 18px 20px 20px
 }

 .wd-result-body .wd-h3 {
   margin-bottom: 7px !important
 }

 .wd-result-body p.wd-p {
   font-size: 16px !important;
   line-height: 1.55 !important;
   color: var(--wd-ink-soft) !important;
   margin: 0 !important
 }

 .wd-result-note {
   font-size: 13px !important;
   margin-top: 10px !important
 }

 .wd-result-more {
   display: none
 }

 .wd-results-more-row {
   text-align: center;
   margin-top: 28px
 }

 /* section menu */
 .wd-lpnav {
   border-top: 1px solid var(--wd-line)
 }

 .wd-lpnav-in {
   max-width: 1080px;
   margin: 0 auto;
   padding: 0 22px;
   display: flex;
   justify-content: center;
   gap: 6px;
   overflow-x: auto;
   scrollbar-width: none
 }

 .wd-lpnav-in::-webkit-scrollbar {
   display: none
 }

 .wd-lpnav a {
   flex: none;
   padding: 12px 14px;
   font-size: 15px;
   font-weight: 600;
   color: var(--wd-teal-900);
   text-decoration: none;
   white-space: nowrap;
   border-bottom: 3px solid transparent
 }

 .wd-lpnav a:hover,
 .wd-lpnav a:focus-visible,
 .wd-lpnav a.is-active {
   color: var(--wd-teal-600);
   border-bottom-color: var(--wd-cta)
 }

 #wd-pricing,
 #wd-book,
 #same-day-implants,
 #smile-gallery,
 #implant-candidate,
 #implant-candiate,
 #implant-solutions,
 #meet-the-doctor {
   scroll-margin-top: var(--wd-head-h, 150px)
 }

 @media(max-width:719px) {
   .wd-lpnav-in {
     justify-content: flex-start;
     padding: 0 8px
   }

   .wd-lpnav a {
     padding: 10px 10px;
     font-size: 14px
   }
 }

 /* location block in the footer */
 .wd-footloc {
   display: grid;
   gap: 24px;
   padding: 8px 0 28px;
   margin-bottom: 22px;
   border-bottom: 1px solid var(--wd-line)
 }

 @media(min-width:880px) {
   .wd-footloc {
     grid-template-columns: 1fr 1.3fr;
     gap: 40px;
     align-items: center
   }
 }

 h2.wd-h2.wd-footloc-h {
   font-size: 24px !important;
   margin: 0 0 12px
 }

 footer.wd-legal .wd-footloc p.wd-p {
   font-size: 17px !important;
   color: var(--wd-ink) !important;
   margin: 0 0 10px
 }

 footer.wd-legal .wd-footloc p.wd-p.wd-side-sm {
   font-size: 15px !important;
   color: var(--wd-ink-soft) !important
 }

 .wd-footloc .wd-minimap {
   max-width: none;
   aspect-ratio: 16 / 9;
   margin: 0
 }
