/* ============================================================
   Wellness Dental — shared page design system
   Namespace: wd- classes, --wd-* custom properties, scoped under .wd-page
   Reference build: wellness-dental-results.html (Concept D base, v2 typography spec)
   Typography spec: 11-typography-spec-for-designer.md
   Also powers: wellness-dental-location-{chandler,glendale,mesa,oro-valley,
   surprise,tucson-east}.html — migrated 2026-08-27 off their older, withdrawn
   v1 type scale onto this shared v2 system — and wellness-dental-scholarship.html
   (see "scholarship-page additions" below). Do not reintroduce a page-local
   copy of :root vars or h1/h2/h3/eyebrow rules — that's exactly the drift
   this file exists to prevent.

   USAGE ON A NEW PAGE
   1. Link this file (in <head> if you control it, otherwise a <link>
      tag placed at the top of the pasted snippet works too):
        <link rel="stylesheet" href="/path/to/wd-design-system.css">
   2. Wrap the page content in <div class="wd-page"> ... </div>.
   3. Reuse the existing wd-* component classes (wd-hero, wd-story,
      wd-vidgrid, wd-t20, wd-acc, wd-final, wd-docmod, wd-docgrid,
      wd-qstats, wd-maprow, wd-reviews, etc.) — do not fork new
      one-off styles per page; extend this file instead so every
      page stays visually consistent.
   4. Note: wd-qstats/wd-qstat/wd-qstat-icn (icon-led quick-facts row,
      used in location page heroes) is intentionally NOT named wd-stats/
      wd-stat — that name is taken by the numeral stat band (wd-statsband
      .wd-stat .wd-n/.wd-l) used on the results page. Keep them distinct.
   5. Page-specific CSS (unique to one page only) should stay local
      to that page's own <style> block, not get added here.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Poppins:wght@500;600;700;800&display=swap');
/* CSS ISOLATION POLICY 2026-08-12: scoped under .wd-page; absolute px/clamp only;
   typography locked with !important + element+class selectors. */
:root{
  --wd-font-body:"Poppins",sans-serif !important;
  --wd-font-heading:"Crimson Pro",sans-serif !important;
  --wd-fs-base:17px;--wd-fs-h1:clamp(36px,5.4vw,56px);--wd-fs-h2:clamp(30px,4.4vw,48px);--wd-fs-h3:clamp(21px,2vw,26px);
  --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;
}
html,body{margin:0;padding:0}
.wd-page,.wd-page *{box-sizing:border-box;margin:0;padding:0}
/* scroll-behavior handled at site level */
@media(prefers-reduced-motion:reduce){.wd-page *{transition:none!important}}
.wd-page{font-family:var(--wd-font-body);font-size:var(--wd-fs-base);line-height:1.75;color:var(--wd-ink);background:var(--wd-paper)}
.wd-h1,.wd-h2,.wd-h3{font-family:var(--wd-font-heading);color:var(--wd-ink);line-height:1.22}
.wd-h1{font-size:var(--wd-fs-h1);font-weight:600;line-height:1.03;letter-spacing:-1.5px}
.wd-h2{font-size:var(--wd-fs-h2);font-weight:600;line-height:1.05;letter-spacing:-1.5px;margin-bottom:20px}
.wd-h3{font-size:var(--wd-fs-h3);font-weight:600;line-height:1.15;letter-spacing:-0.5px;margin-bottom:8px}
.wd-p{margin-bottom:14px;max-width:66ch}
.wd-a{color:var(--wd-teal-600)}
.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);
  font-family:var(--wd-font-heading);font-size:21px;font-weight:600;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-note-sm{font-size:15px;color:var(--wd-ink-soft);margin-top:12px}
.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:50px 0 46px;align-items:start}
@media(min-width:880px){.wd-hero{grid-template-columns:7fr 5fr}}
.wd-eyebrow{display:inline-block;font-size:14px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--wd-teal-600);margin-bottom:8px}
.wd-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
.wd-nap{font-size:17px;margin:10px 0 0}
.wd-nap .wd-phone-lg{font-size:21px;font-weight:700;color:var(--wd-teal-900);text-decoration:none}
.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;font-size:15px;font-weight:600;color:var(--wd-ink);text-align:left}
.wd-media-caption small{display:block;font-weight:400;color:var(--wd-ink-soft)}
.wd-trust{display:flex;flex-wrap:wrap;justify-content:center;row-gap:8px;border-top:1px solid var(--wd-line);border-bottom:1px solid var(--wd-line);
  padding:20px 0;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--wd-ink-soft)}
.wd-trust span{display:inline-flex;align-items:center}
.wd-trust span b{color:var(--wd-teal-900);font-weight:800;margin-right:6px}
.wd-trust span + span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--wd-green);margin:0 22px;flex:none}
/* doctor module */
.wd-docmod{display:grid;gap:32px;align-items:start}
@media(min-width:860px){.wd-docmod{grid-template-columns:2fr 3fr}}
.wd-docphoto{border-radius:22px;aspect-ratio:4/5;max-height:400px;background:linear-gradient(160deg,var(--wd-teal-100),#e9dfd0);
  display:flex;align-items:center;justify-content:center;color:var(--wd-teal-900);font-weight:600;text-align:center;padding:20px;position:relative}
.wd-media-caption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);border-radius:10px;padding:8px 16px;font-size:15px;font-weight:600;color:var(--wd-ink);text-align:left}
.wd-media-caption small{display:block;font-weight:400;color:var(--wd-ink-soft)}
.wd-voice{border-left:4px solid var(--wd-green);padding:4px 0 4px 20px;margin:14px 0 18px}
.wd-voice .wd-p{font-size:18px;font-style:italic;color:var(--wd-ink);margin-bottom:6px}
.wd-voice cite{font-style:normal;font-size:15px;color:var(--wd-ink-soft)}
/* team strip */
.wd-teamgrid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);max-width:960px;margin:8px auto 0;text-align:center}
@media(min-width:760px){.wd-teamgrid{grid-template-columns:repeat(4,1fr)}}
.wd-tcard img{width:100%;aspect-ratio:1;object-fit:cover;object-position:top;border-radius:10px;margin:0 0 10px;display:block}
.wd-tcard .wd-tn{font-weight:700;color:var(--wd-teal-900)}
.wd-tcard .wd-tr{font-size:15px;color:var(--wd-ink-soft)}
/* optional zoom-crop photo wrapper variant, used in place of a bare img child */
.wd-tphoto{width:100%;aspect-ratio:1;overflow:hidden;border-radius:10px;margin:0 0 10px}
.wd-tcard .wd-tphoto img{width:150%;height:150%;max-width:none;object-fit:cover;object-position:top;margin:-25% 0 0 -25%;display:block}
/* 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-icol .wd-h3{font-size:19px;margin-bottom:10px}
.wd-icol .wd-p{font-size:16px;color:var(--wd-ink-soft);margin:0 auto;max-width:34ch}
.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)}
/* service feature rows */
.wd-feat{display:grid;gap:34px;align-items:start;padding:8px 0}
@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}}
.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);font-weight:600;font-size:15px;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;font-size:14px;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-mapside .wd-p{font-size:16px;margin-bottom:10px}
.wd-phone-lg{font-size:22px;font-weight:700;color:var(--wd-teal-900);text-decoration:none}
/* 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;font-weight:600;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-h2{color:#fff}
.wd-final .wd-p{margin-left:auto;margin-right:auto;color:#D7E9EC}
.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;font-size:14px;color:var(--wd-ink-soft)}

/* results-page additions */
.wd-casegrid{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:760px){.wd-casegrid{grid-template-columns:1fr 1fr}}
.wd-case{background:var(--wd-paper);border:1px solid var(--wd-line);border-radius:var(--wd-radius);overflow:hidden;box-shadow:0 1px 4px rgba(14,90,99,.06)}
.wd-case .wd-cbody{padding:18px 20px}
.wd-ctags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.wd-ctag{background:var(--wd-teal-100);color:var(--wd-teal-900);border-radius:14px;padding:3px 12px;font-size:14px;font-weight:800;letter-spacing:1.5px}
.wd-case .wd-attrib{font-size:14px;color:var(--wd-ink-soft)}
.wd-case .wd-attrib a{color:var(--wd-teal-600)}
.wd-quotegrid{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:880px){.wd-quotegrid{grid-template-columns:1fr 1fr 1fr}}
.wd-qcard{background:var(--wd-paper);border:1px solid var(--wd-line);border-left:5px solid var(--wd-green);border-radius:var(--wd-radius);padding:24px;display:flex;flex-direction:column;gap:12px}
.wd-qcard blockquote{font-style:italic;color:var(--wd-ink);font-size:17px;flex:1}
.wd-qname{font-weight:700;color:var(--wd-teal-900)}
.wd-qname small{display:block;font-weight:400;color:var(--wd-ink-soft)}
.wd-watch{font-size:15px;font-weight:700;color:var(--wd-teal-600);text-decoration:none}
.wd-statsband{background:var(--wd-teal-900);color:#fff;padding:40px 0}
.wd-statsband .wd-srow{display:grid;gap:28px;grid-template-columns:1fr;text-align:center}
@media(min-width:760px){.wd-statsband .wd-srow{grid-template-columns:1fr 1fr 1fr}}
.wd-stat .wd-n{font-family:var(--wd-font-heading);font-size:clamp(36px,4vw,52px);font-weight:700;line-height:1.0;letter-spacing:-1.5px}
.wd-stat .wd-l{font-size:17px;color:#CBE4E8;letter-spacing:0.7px;text-transform:uppercase;font-weight:600;margin-top:4px}
.wd-statsband .wd-sfoot{color:#9CC6CC;font-size:14px;text-align:center;margin-top:16px}
.wd-story{display:grid;gap:32px;align-items:start;background:var(--wd-paper);border:1px solid var(--wd-line);border-radius:22px;overflow:hidden}
@media(min-width:880px){.wd-story{grid-template-columns:5fr 6fr}}
.wd-story .wd-sphoto{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--wd-teal-900);font-weight:600;padding:20px}
.wd-story .wd-sbody{padding:30px}
.wd-officegrid{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}

/* ============ 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:17px!important;line-height:1.75!important;color:var(--wd-ink)!important}
h1.wd-h1,h2.wd-h2,h3.wd-h3{font-family:var(--wd-font-heading)!important;color:var(--wd-ink)!important;line-height:1.22!important;text-transform:none!important;letter-spacing:0!important}
h1.wd-h1{font-size:clamp(36px,5.4vw,56px)!important;font-weight:600!important;line-height:1.03!important;letter-spacing:-1.5px!important;margin:0!important}
h2.wd-h2{font-size:clamp(30px,4.4vw,48px)!important;font-weight:600!important;line-height:1.05!important;letter-spacing:-1.5px!important;margin:0 0 20px!important}
h3.wd-h3{font-size:clamp(21px,2vw,26px)!important;font-weight:600!important;line-height:1.15!important;letter-spacing:-0.5px!important;margin:0 0 8px!important}
p.wd-p{font-family:var(--wd-font-body)!important;font-size:clamp(18px,1.5vw,20px)!important;font-weight:500!important;line-height:1.7!important;margin-bottom:14px!important}
p.wd-p.wd-lede{font-size:clamp(18px,1.6vw,21px)!important;font-weight:500!important;line-height:1.55!important;color:var(--wd-ink-soft)!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
p.wd-p.wd-note-sm{font-size:15px!important;font-weight:500!important;color:var(--wd-ink-soft)!important;margin-top:12px!important}
p.wd-p.wd-attrib{font-size:17px!important;font-weight:600!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,button.wd-btn{font-size:21px!important;font-weight:600!important;font-family:var(--wd-font-heading)!important;text-decoration:none!important;line-height:1.3!important}
a.wd-btn.wd-btn-primary{color:#fff!important}
a.wd-btn.wd-btn-outline{color:var(--wd-teal-900)!important}
div.wd-final a.wd-btn.wd-btn-outline{color:#fff!important}
span.wd-eyebrow{font-size:14px!important;font-weight:800!important;letter-spacing:1.5px!important;text-transform:uppercase!important;color:var(--wd-teal-600)!important;font-family:var(--wd-font-body)!important}
span.wd-ctag{font-family:var(--wd-font-body)!important;font-size:14px!important;font-weight:800!important;letter-spacing:1.5px!important;text-transform:uppercase!important}
span.wd-lite{font-weight:400!important}
spandiv.wd-qcard p.wd-p{font-size:18px!important;font-style:italic!important}
p.wd-qname,div.wd-qname{font-family:var(--wd-font-body)!important;font-size:15px!important;font-weight:700!important;color:var(--wd-teal-900)!important;font-style:normal!important}
div.wd-stat div.wd-n,div.wd-n{font-family:var(--wd-font-body)!important;font-size:clamp(36px,4vw,52px)!important;font-weight:700!important;letter-spacing:-1.5px!important;color:var(--wd-teal-900)!important;line-height:1.0!important}
div.wd-stat div.wd-l,div.wd-l{font-family:var(--wd-font-body)!important;font-size:17px!important;font-weight:600!important;color:var(--wd-ink-soft)!important;line-height:1.3!important}
div.wd-ph{font-family:var(--wd-font-body)!important;font-size:15px!important;font-weight:600!important}
span.wd-flag{font-family:var(--wd-font-body)!important;font-size:12px!important;font-weight:700!important}
a.wd-a.wd-phone-lg,a.wd-phone-lg{font-size:22px!important;font-weight:700!important;color:var(--wd-teal-900)!important;text-decoration:none!important}
div.wd-final h2.wd-h2{color:#fff!important;text-align:center!important}
div.wd-final p.wd-p{color:#D7E9EC!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.wd-statsband div.wd-stat div.wd-n{color:#fff!important}
.wd-statsband div.wd-stat div.wd-l{color:#CBE4E8!important}
.wd-statsband p.wd-sfoot{color:#fff!important}
.wd-teal-band{background:var(--wd-teal-900)}
.wd-teal-band h2.wd-h2{color:#fff!important;text-align:center!important}
.wd-teal-band p.wd-p{color:#D7E9EC!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.wd-teal-band a.wd-btn.wd-btn-outline{color:#fff!important;border-color:rgba(255,255,255,.65)!important}
.wd-teal-band .wd-btn-outline:hover{background:rgba(255,255,255,.14)}
footer.wd-legal p.wd-p{font-size:15px!important;font-weight:500!important;color:var(--wd-ink-soft)!important}
p.wd-p em,span.wd-attrib em{font-style:italic!important}

/* video testimonial cards (homepage pattern) */
.wd-vidgrid{display:grid;gap:24px;grid-template-columns:1fr;margin-top:14px}
@media(min-width:760px){.wd-vidgrid{grid-template-columns:repeat(3,1fr)}}
.wd-vcard{background:transparent;border-radius:var(--wd-radius);padding:30px 24px 26px;margin:0;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:14px}
button.wd-vthumb{position:relative!important;width:220px!important;height:220px!important;max-width:none!important;min-height:0!important;
  border-radius:50%!important;overflow:visible!important;border:0!important;padding:0!important;margin:0 0 16px!important;
  background:none!important;box-shadow:none!important;cursor:pointer;display:block!important;line-height:0!important}
.wd-vthumb img{width:220px!important;height:220px!important;max-width:none!important;border-radius:50%!important;object-fit:cover!important;display:block!important;margin:0!important}
span.wd-vplay{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);width:72px!important;height:72px!important;border-radius:50%!important;
  background:var(--wd-green)!important;display:flex!important;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:transform .15s;padding:0!important;border:0!important}
.wd-vplay svg{width:36px;height:36px;fill:#fff}
.wd-vthumb:hover .wd-vplay{transform:translateX(-50%) scale(1.08)}
button.wd-vthumb-wide{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;margin:0!important;border-radius:0!important}
.wd-vthumb-wide img{width:100%!important;height:100%!important;border-radius:0!important;object-fit:cover!important;aspect-ratio:auto}
.wd-vthumb-wide .wd-vplay{bottom:auto;top:50%;transform:translate(-50%,-50%);width:74px!important;height:74px!important}
.wd-vthumb-wide:hover .wd-vplay{transform:translate(-50%,-50%) scale(1.08)}
.wd-sphoto.wd-svideo{position:relative;padding:0;aspect-ratio:16/9;display:block}
/* video modal (patient story lightbox) */
.wd-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.wd-modal[hidden]{display:none}
.wd-modal-backdrop{position:absolute;inset:0;background:rgba(8,30,34,.85)}
.wd-modal-box{position:relative;z-index:1;width:100%;max-width:900px}
.wd-modal-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.wd-modal-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
button.wd-modal-close{position:absolute!important;top:-46px!important;right:0!important;width:38px!important;height:38px!important;min-height:0!important;max-width:none!important;
  border-radius:50%!important;background:var(--wd-green)!important;color:#fff!important;border:0!important;padding:0!important;margin:0!important;
  font-size:24px!important;line-height:1!important;cursor:pointer;display:flex!important;align-items:center;justify-content:center}
button.wd-modal-close:hover{background:var(--wd-teal-900)!important}
blockquote.wd-p.wd-vquote{font-size:clamp(17px,1.8vw,21px)!important;font-weight:600!important;font-style:italic!important;line-height:1.4!important;color:var(--wd-ink)!important;margin:0!important;flex:1}
blockquote.wd-p.wd-squote{font-size:clamp(19px,2vw,24px)!important;font-weight:600!important;font-style:italic!important;line-height:1.45!important;color:var(--wd-ink)!important;border-left:5px solid var(--wd-green);padding-left:20px;margin:0 0 24px!important}
figcaption.wd-vname{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(24px,2.4vw,30px)!important;font-weight:700!important;font-style:italic!important;letter-spacing:-0.5px!important;color:var(--wd-ink)!important;line-height:1.2!important}
p.wd-p.wd-vmeta{font-size:17px!important;font-weight:600!important;color:var(--wd-ink-soft)!important;margin:0!important}
p.wd-p.wd-cdesc{font-size:clamp(17px,1.3vw,18px)!important;font-weight:500!important;line-height:1.6!important;margin-bottom:8px!important}

/* video hero — full-bleed Vimeo background with teal scrim for text contrast */
.wd-vhero{position:relative;overflow:hidden;background:var(--wd-teal-900);min-height:clamp(560px,94vh,860px);min-height:clamp(560px,94svh,860px);display:flex;align-items:center;justify-content:center;isolation:isolate}
.wd-vhero-media{position:absolute;inset:0;overflow:hidden}
.wd-vhero-media iframe{position:absolute;top:50%;left:50%;border:0;pointer-events:none;
  width:100vw;height:56.25vw;/* 16:9 */
  min-width:177.78vh;min-height:100%;/* 100 * (9/16) fallback so it always covers regardless of container ratio */
  transform:translate(-50%,-50%)}
.wd-vhero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,54,60,.5) 0%,rgba(10,54,60,.32) 40%,rgba(8,42,47,.85) 100%),radial-gradient(120% 90% at 50% 28%,rgba(20,122,134,.22),rgba(8,42,47,.7))}
.wd-vhero-inner{position:relative;z-index:2;text-align:center;color:#fff;max-width:820px;margin:0 auto;padding:70px 22px}
@media(max-width:640px){
  .wd-vhero{min-height:clamp(480px,86vh,680px);min-height:clamp(480px,86svh,680px)}
  .wd-vhero-inner{padding:44px 20px}
  .wd-vhero-inner .wd-cta-row{flex-direction:column;align-items:stretch}
  .wd-vhero-inner .wd-cta-row .wd-btn{width:100%}
}
.wd-vhero .wd-eyebrow{color:#BFE8EC!important}
.wd-vhero h1.wd-h1{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.wd-vhero p.wd-p{color:#E7F3F4!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.wd-vhero a.wd-btn.wd-btn-outline{color:#fff!important;border-color:rgba(255,255,255,.65)}
.wd-vhero .wd-btn-outline:hover{background:rgba(255,255,255,.14)}
.wd-vhero-wave{position:absolute;left:0;right:0;bottom:-1px;z-index:2;line-height:0;pointer-events:none}
.wd-vhero-wave svg{display:block;width:100%;height:clamp(36px,6vw,70px)}
.wd-vhero-wave-fill{fill:var(--wd-paper)}
.wd-vhero-scroll{position:absolute;left:50%;bottom:clamp(76px,11vw,108px);transform:translateX(-50%);z-index:3;width:34px;height:34px;
  border:2px solid rgba(255,255,255,.7);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;
  text-decoration:none;animation:wdBounce 2.4s ease-in-out infinite}
.wd-vhero-scroll svg{width:15px;height:15px;stroke:#fff;stroke-width:2.4;fill:none}
.wd-vhero-scroll:hover{background:rgba(255,255,255,.16)}
@keyframes wdBounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}
@media(prefers-reduced-motion:reduce){.wd-vhero-media{display:none}.wd-vhero{background:linear-gradient(160deg,var(--wd-teal-900),#0a2f34)}.wd-vhero-scroll{animation:none}}

/* Twenty20-style before/after reveal (prototype of the WP plugin) */
.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}
.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}
span.wd-t20-lbl{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}

/* location-page additions (Mesa, Chandler, Glendale, Oro Valley, Surprise, Tucson East) */
.wd-page strong,.wd-page b{font-weight:700!important}
p.wd-p.wd-lede-lg,p.wd-p.wd-intro{font-size:18px!important;color:var(--wd-ink-soft)!important}
p.wd-p.wd-fs-15,p.wd-p.wd-side-sm{font-size:15px!important;color:var(--wd-ink-soft)!important}
p.wd-p.wd-fs-15b{font-size:15px!important;color:var(--wd-ink-soft)!important;margin-top:14px!important}
p.wd-rating{margin-top:14px!important;font-size:15px!important;color:var(--wd-ink-soft)!important}
p.wd-rating a{color:var(--wd-teal-900)!important;font-weight:700!important;text-decoration:underline!important;text-underline-offset:3px}
button.wd-mapload{position:absolute;left:50%;bottom:46px;transform:translateX(-50%);z-index:3;background:var(--wd-teal-900);color:#fff!important;border:0;border-radius:var(--wd-radius);min-height:48px;padding:10px 22px!important;font-family:var(--wd-font-body)!important;font-weight:600!important;font-size:16px!important;cursor:pointer;box-shadow:0 3px 10px rgba(14,90,99,.3);line-height:1.3!important}
button.wd-mapload:hover{background:var(--wd-teal-600)}
.wd-mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wd-reviews{text-align:center;background:var(--wd-paper-warm);padding:56px 0}
.wd-reviews .wd-review-embed{margin:24px auto 40px;max-width:1000px;min-height:180px}
.wd-review-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
@media(max-width:680px){.wd-review-embed{overflow:hidden}.wd-review-actions a{width:100%}}

/* provider cards (multi-doctor office grid) */
.wd-docgrid{display:grid;gap:26px;margin-top:14px}
@media(min-width:820px){.wd-docgrid{grid-template-columns:1fr 1fr}}
.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)}
.wd-doccard-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}
.wd-doccard-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:12px;flex:1}
span.wd-docrole{font-size:14px!important;font-weight:800!important;letter-spacing:1.5px!important;text-transform:uppercase!important;color:var(--wd-teal-600)!important;font-family:var(--wd-font-body)!important}
.wd-doccard h3.wd-h3{margin:0!important}
.wd-doccard .wd-voice{margin:2px 0 0}
.wd-doccard a.wd-btn{margin-top:auto;align-self:flex-start}

/* icon-led quick-facts row (renamed from the location pages' original .wd-stats/.wd-stat
   to avoid colliding with the numeral .wd-stat used inside .wd-statsband) */
.wd-qstats{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-qstats{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.wd-qstats{grid-template-columns:repeat(4,1fr)}}
.wd-qstat{display:flex;align-items:center;gap:15px;min-width:0}
.wd-qstat-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-qstat-icn svg{width:31px;height:31px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wd-qstat b{display:block;font-size:clamp(22px,2.4vw,26px)!important;font-weight:700!important;color:var(--wd-teal-900)!important;line-height:1.15!important;letter-spacing:-.01em!important;font-family:var(--wd-font-body)!important}
.wd-qstat small{display:block;font-size:16px!important;color:var(--wd-ink-soft)!important;font-weight:600!important;line-height:1.3!important;font-family:var(--wd-font-body)!important}

/* doctor-profile-page additions (dr-*.html — "person-first" Concept D layout) */
p.wd-p.wd-role{font-size:18px!important;color:var(--wd-ink-soft)!important;margin-bottom:16px!important}
.wd-hero h1.wd-h1{margin-bottom:6px!important}
.wd-candid{border-radius:22px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(160deg,var(--wd-teal-100),#e9dfd0);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--wd-teal-900);
  font-weight:600;text-align:center;padding:24px;position:relative}
.wd-candid small{font-weight:400;color:var(--wd-ink-soft)}
.wd-twocol{display:grid;gap:36px;align-items:start}
@media(min-width:880px){.wd-twocol{grid-template-columns:1fr 1fr}}
.wd-media-box{border-radius:var(--wd-radius);overflow:hidden;aspect-ratio:16/9;background:var(--wd-teal-900);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:22px;
  width:100%;border:0;cursor:pointer;font-family:var(--wd-font-body)}
.wd-media-box .wd-play{width:62px;height:62px;border-radius:50%;background:#fff;color:var(--wd-teal-900);
  display:flex;align-items:center;justify-content:center;font-size:22px}
/* "outside the office" personality slot */
.wd-outside{display:grid;gap:22px;grid-template-columns:1fr}
.wd-snap{border-radius:var(--wd-radius);width:100%;min-height:420px;aspect-ratio:16/9;
  background:linear-gradient(160deg,#e9dfd0,var(--wd-teal-100));display:flex;align-items:center;justify-content:center;
  text-align:center;color:var(--wd-teal-900);font-weight:600;font-size:15px;padding:14px;position:relative}
.wd-snap>iframe{position:absolute;top:50%;left:50%;width:100%;height:auto;min-height:100%;aspect-ratio:16/9;border:0;
  transform:translate(-50%,-50%)}
.wd-snap>iframe.wd-snap-square{aspect-ratio:1/1}
@media(min-width:760px){.wd-snap{min-height:520px}}
/* credential callouts */
.wd-cred{background:var(--wd-paper);border:1px solid var(--wd-line);border-left:5px solid var(--wd-green);
  border-radius:var(--wd-radius);padding:20px 24px;margin-bottom:14px}
.wd-cred .wd-what{font-size:14px!important;font-weight:700!important;color:var(--wd-ink-soft)!important;
  text-transform:uppercase!important;letter-spacing:.04em!important;margin-bottom:4px!important}
.wd-cred p.wd-p{margin:0!important}
/* numbered steps */
.wd-steps{display:grid;gap:16px;counter-reset:s}
@media(min-width:760px){.wd-steps{grid-template-columns:1fr 1fr}}
.wd-step{background:var(--wd-paper);border:1px solid var(--wd-line);border-radius:var(--wd-radius);
  padding:22px 22px 22px 70px;position:relative}
.wd-step::before{counter-increment:s;content:counter(s);position:absolute;left:20px;top:22px;width:34px;height:34px;
  border-radius:50%;background:var(--wd-teal-900);color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:700}
/* office cards (used on multi-office doctor bios) */
.wd-office-grid{display:grid;gap:28px}
@media(min-width:860px){.wd-office-grid{grid-template-columns:1fr 1fr}}
.wd-office-card{background:var(--wd-paper);border:1px solid var(--wd-line);border-radius:var(--wd-radius);padding:26px}

/* scholarship-page additions (wellness-dental-scholarship.html) */
.wd-award{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);max-width:900px;margin:6px auto 0}
@media(min-width:760px){.wd-award{grid-template-columns:repeat(4,1fr)}}
.wd-acard{background:var(--wd-paper);border:1px solid var(--wd-line);border-radius:var(--wd-radius);padding:22px 18px;text-align:center}
div.wd-acard div.wd-av{font-family:var(--wd-font-heading)!important;font-size:clamp(26px,2.8vw,34px)!important;font-weight:700!important;line-height:1.05!important;letter-spacing:-1px!important;color:var(--wd-teal-900)!important}
div.wd-acard div.wd-al{font-family:var(--wd-font-body)!important;font-size:14px!important;font-weight:800!important;letter-spacing:1.5px!important;text-transform:uppercase!important;color:var(--wd-ink-soft)!important;margin-top:6px}
.wd-topic{background:var(--wd-teal-900);color:#fff;border-radius:22px;padding:40px}
div.wd-topic div.wd-tl{font-family:var(--wd-font-body)!important;font-size:14px!important;font-weight:800!important;letter-spacing:1.5px!important;text-transform:uppercase!important;color:#CBE4E8!important;margin-bottom:14px}
div.wd-topic p.wd-tq{font-family:var(--wd-font-heading)!important;font-size:clamp(22px,2.8vw,32px)!important;font-weight:600!important;line-height:1.25!important;letter-spacing:-.5px!important;color:#fff!important}
.wd-check{list-style:none;max-width:760px;margin:0}
.wd-check li{padding:12px 0 12px 36px;position:relative;border-bottom:1px solid var(--wd-line)}
.wd-check li:last-child{border-bottom:0}
.wd-check li::before{content:"\2713";position:absolute;left:6px;top:12px;color:var(--wd-green);font-weight:700}
li.wd-li{font-family:var(--wd-font-body)!important;font-size:clamp(18px,1.5vw,20px)!important;font-weight:500!important;line-height:1.7!important;margin:0!important;max-width:66ch}
p.wd-p.wd-sm{font-size:clamp(16px,1.25vw,17px)!important;line-height:1.6!important;margin:0!important}
