@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;700&display=swap');
/* Purple is reserved for headings and visual accents; body copy uses neutral near-black. */
:root{
 --paper:#fdfcfe;
 --ink:#5b2a5b;
 --body:#202020;
 --muted:#404040;
 --lavender:#f6f1f8;
 --soft:#faf8fb;
 --panel:#ffffff;
 --line:#e7e1e9;
 --border:#c9b9d0;
 --accent:#80528b;
 --hover:#713e79;
 --serif:Georgia,'Times New Roman',serif;
}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--body);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:var(--ink)}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.04}h2{font-size:clamp(42px,4.5vw,69px)}h3{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.25;letter-spacing:-.025em}em{font-weight:400;color:inherit}h1 em,h2 em,h3 em{color:var(--accent)}h3 small{color:var(--body)}p{color:var(--body)}.topbar{height:35px;background:var(--paper);color:var(--muted);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.2%;font-size:9px;letter-spacing:1.7px}.header{display:flex;justify-content:space-between;align-items:center;padding:22px 4.2%;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px}.monogram{font-family:var(--serif);font-size:39px;letter-spacing:-6px;border-right:1px solid var(--line);padding-right:23px;line-height:1.2;position:relative}.monogram span{font-size:13px;position:absolute;right:10px;top:-5px;letter-spacing:0}.brand-name{font-family:'Manrope',sans-serif;font-weight:500;font-size:20px;letter-spacing:3.5px;line-height:1.1}.brand-name small{display:block;font-family:'DM Sans',sans-serif;font-size:7px;letter-spacing:1.3px;margin-top:9px}.header nav{color: var(--body);display:flex;align-items:center;gap:28px;font-size:12px}.header nav>a:not(.button):hover{color:var(--accent)}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;background:var(--ink);color:white;padding:17px 23px;font-size:12px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:var(--hover);transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.button.small{padding:12px 20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:660px;padding:48px 4.2% 50px;gap:32px}.hero-copy{padding:25px 0 0}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:600;color: var(--body);line-height:1.6}.hero .eyebrow{font-size:8px;display:flex;align-items:center;gap:10px}.line{width:25px;height:1px;background:var(--accent)}h1{font-size:clamp(66px,6.7vw,104px);margin:28px 0 24px;line-height:.98}.hero-intro{font-size:15px;line-height:1.8;max-width:400px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.text-link{color: var(--body);font-size:12px;border-bottom:1px solid var(--border);padding-bottom:6px;display:inline-flex;align-items:center;gap:18px;font-weight:500}.text-link:hover{color:var(--accent);border-color:var(--accent)}.review-line{display:flex;align-items:center;gap:11px;font-size:10px;color:var(--muted);margin-top:33px}.stars{color:var(--accent);letter-spacing:3px;font-size:12px}.review-line strong{color: var(--body)}.hero-art{position:relative;isolation:isolate;background:var(--soft);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:30px 28px;min-height:560px}.hero-art:before{content:'';position:absolute;z-index:-1;inset:0;background:none}.art-top{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.6px}.orbit{position:absolute;border:1px solid var(--border);border-radius:50%;width:580px;height:580px;left:5%;top:15%;z-index:-1}.orbit-two{left:10%;top:20%}.portrait-pair{display:flex;align-items:center;gap:17px;margin:45px 0 35px;position:relative}.portrait{width:50%}.portrait.father{margin-top:-30px}.portrait.son{margin-top:60px}.portrait-image{height:235px;overflow:hidden;border-radius:110px 110px 0 0;background:var(--border);position:relative}.father img{width:100%;height:100%;object-fit:cover;object-position:38% center;filter:grayscale(1) sepia(.18)}.ampersand{position:absolute;left:44%;top:35%;font-family:var(--serif);font-style:italic;font-size:65px;color:var(--paper);z-index:2}figcaption{padding-top:17px}figcaption>span{display:block;font-size:7px;letter-spacing:1.7px;margin-bottom:6px}figcaption strong{display:block;font:23px var(--serif);letter-spacing:-.7px}figcaption small{font-size:10px;color:var(--muted)}.art-bottom{border-top:1px solid var(--border);padding-top:20px;display:flex;align-items:center;gap:20px}.family-seal{border:1px solid var(--border);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:18px}.family-seal span{font-size:10px;margin:0 2px}.art-bottom p{font-family:var(--serif);font-size:16px;line-height:1.35;color: var(--body)}.art-number{margin-left:auto;font-size:8px;letter-spacing:1px}.principles{padding:24px 4.2%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}.dot{font-size:17px;color:var(--accent)}.section{padding:90px 7%}.section-label{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:55px;font-size:9px;letter-spacing:1.8px}.tiny-star{font-size:24px;font-weight:400;line-height:1}.story-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:10%}.lead{font-size:21px;line-height:1.6;color: var(--body);margin-bottom:22px}.story-body>p+p{margin-top:16px}.doctor-notes{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:38px;border-top:1px solid var(--line);padding-top:30px}.doctor-notes h3{font-size:24px;margin:13px 0}.doctor-notes h3 small{font:10px 'DM Sans',sans-serif;display:block;margin-top:7px;letter-spacing:2px}.doctor-notes p{font-size:12px;line-height:1.9}.doctor-notes .eyebrow{font-size:7px}.doctor-notes a{font-size:10px;margin-top:18px}.care-section{background:var(--soft)}.care-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:45px}.care-heading>p{width:330px;max-width:100%}.care-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:7%}.care-option{border:0;border-bottom:1px solid var(--line);background:none;width:100%;display:flex;align-items:center;text-align:left;padding:27px 0;gap:22px;cursor:pointer}.care-option>span:first-child{font-size:10px;color:var(--muted)}.care-option strong{font:27px var(--serif);font-weight:400}.care-option>span:last-child{margin-left:auto;font-size:24px}.care-option.active{color: var(--body);border-bottom-color:var(--ink)}.care-option:not(.active){color:var(--muted)}.care-option:hover{color: var(--body)}.care-detail{padding:30px 35px;background:var(--panel);position:relative;min-height:380px;border:1px solid var(--line)}.care-detail .eyebrow{font-size:8px}.care-detail h3{font-size:30px;margin:15px 0}.care-detail p{font-size:13px;max-width:350px}.care-detail ul{padding:0;list-style:none;margin:23px 0;font-size:11px;display:flex;flex-wrap:wrap;gap:8px}.care-detail li{border:1px solid var(--line);border-radius:20px;padding:5px 10px}.care-symbol{position:absolute;right:20px;top:15px;opacity:.5;line-height:1}.care-symbol span{font-size:38px}.care-symbol i{position:absolute;top:0;right:0;font-size:15px}.care-footnote{font-size:10px;margin-top:30px}.approach{background:var(--lavender);color: var(--body)}.approach .section-label{border-color:var(--border);color:var(--body)}.approach-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.approach h2{font-size:clamp(39px,4.1vw,64px);margin:22px 0}.approach em{color:inherit}.approach h2 em,.approach h3 em{color:var(--accent)}.approach .eyebrow{color:var(--body)}.approach-intro{color:var(--muted);max-width:430px;font-size:14px;margin-bottom:29px}.button.light{background:var(--ink);color:white}.button.light:hover{background:var(--hover)}.approach-steps article{display:flex;gap:23px;border-bottom:1px solid var(--border);padding:29px 0}.approach-steps article:first-child{padding-top:15px}.approach-steps article>span{font-size:10px;color:var(--accent);padding-top:5px}.approach-steps h3{font-size:25px;margin-bottom:12px}.approach-steps p{color:var(--muted);font-size:12px;line-height:1.9}.dawson-note{display:flex;gap:60px;justify-content:space-between;align-items:center;border-top:1px solid var(--border);margin-top:55px;padding-top:25px}.dawson-note span{font-size:9px;letter-spacing:1.4px}.dawson-note p{font-size:11px;color:var(--muted);max-width:430px}.review-section{text-align:center;padding-top:85px;padding-bottom:85px}.review-section>.stars{display:block;margin:28px 0 22px;font-size:15px}.review-section blockquote{font:clamp(27px,3.3vw,46px)/1.35 var(--serif);letter-spacing:-1px;max-width:860px;margin:0 auto 28px}.quote-credit{font-size:9px;letter-spacing:1.5px;color: var(--body);margin-bottom:22px}.quote-credit span{margin:0 12px}.review-section small{display:block;font-size:9px;margin-top:16px;color:var(--muted)}.visit{background:var(--lavender)}.visit-heading{display:flex;justify-content:space-between;align-items:center}.visit-heading>p{font-size:17px}.visit-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:55px}.visit-steps article{border-top:1px solid var(--border);padding-top:23px}.visit-steps span{font-size:8px;letter-spacing:1.4px}.visit-steps h3{margin:18px 0 14px}.visit-steps p{font-size:13px}.faq{margin-top:65px;display:grid;grid-template-columns:1fr 1.25fr;column-gap:10%}.faq>h3{grid-row:1 / span 4;font-size:36px;max-width:300px}.faq details{grid-column:2;border-bottom:1px solid var(--border)}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:25px;padding:19px 0;font-size:12px;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:20px;line-height:1}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:12px;margin-bottom:22px;max-width:470px}.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;background:var(--lavender)}.contact h2{font-size:clamp(40px,4.3vw,64px);margin:24px 0 32px}.contact-copy>p:last-child{font-size:10px;margin-top:23px}.contact-number{display:block;margin-top:22px;font-size:21px;font-family:var(--serif)}.contact-card{background:var(--panel);padding:35px;align-self:center}.contact-card h3{font-size:31px;margin:19px 0 24px}.contact-card address{font-style:normal;font-size:13px;margin-bottom:20px}.contact-card address small{font-size:10px;color:var(--muted)}.contact-rule{height:1px;background:var(--line);margin:26px 0}.contact-card p{font-size:12px}.contact-card strong{font-weight:500;color: var(--body)}.contact-card .small-copy{font-size:10px;margin-top:20px}footer{padding:40px 4.2% 25px}.footer-brand{font-family:'Manrope',sans-serif;letter-spacing:4px;font-size:24px}.footer-brand span{font-size:20px;color:var(--accent);margin-left:14px}footer>p{font:italic 18px var(--serif);margin:12px 0 30px}footer>div{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:30px;font-size:10px;color:var(--muted)}footer>div>span{margin-right:auto}.mobile-call{display:none}.skip{position:fixed;left:20px;top:-80px;padding:15px;background:white;z-index:100}.skip:focus{top:10px}
@media(min-width:1500px){.hero{min-height:760px}.hero-art{min-height:650px}.portrait-image{height:310px}.portrait-pair{gap:30px}.hero-copy{padding-top:50px}}
@media(max-width:1100px){.header nav{gap:17px;font-size:10px}.brand-name{font-size:17px}.hero{gap:25px}.hero-actions{align-items:start;flex-direction:column;gap:15px}.hero-art{padding:25px 20px}.portrait-image{height:205px}.portrait-pair{gap:12px}.portrait figcaption strong{font-size:19px}.art-top{font-size:6px}.section{padding:70px 5%}.doctor-notes{grid-template-columns:1fr;gap:25px}.care-option strong{font-size:23px}.approach-grid{gap:6%}.contact{gap:6%}.hero .eyebrow{font-size:7px}}


@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.portrait-image{height:auto;aspect-ratio:1/1}






/* Shared navigation and full-page layouts. */
.nav-group{position:relative}.nav-group>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}
.nav-group>summary::-webkit-details-marker{display:none}.nav-group[open]>summary{color:var(--accent)}
.nav-panel{position:absolute;top:100%;left:-20px;min-width:250px;padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 15px 35px #5b2a5b1a}
.nav-panel a{display:flex;justify-content:space-between;gap:16px;font-size:13px;padding:12px;line-height:1.4;min-height:44px}
.nav-panel a:hover,.nav-panel a[aria-current=page]{background:var(--lavender)}
.header nav>a:not(.button){min-height:44px;display:flex;align-items:center}
.page-hero{padding:30px 7% 65px;background:var(--soft)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted);margin-bottom:48px;line-height:1.5}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.page-hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:10%;align-items:center}
.page-hero h1{font-size:clamp(48px,5.8vw,82px);line-height:1.06;margin:22px 0;max-width:850px;overflow-wrap:break-word}
.page-intro{font-size:18px;line-height:1.7;max-width:650px;margin-bottom:28px}.hero-note{border-left:1px solid var(--border);padding:35px;align-self:center}.hero-note>.tiny-star{font-size:42px;display:block;margin-bottom:30px}.hero-note>.eyebrow{font-size:9px;margin-bottom:18px}.hero-note>p:not(.eyebrow){font:27px/1.5 var(--serif);color: var(--body);margin-bottom:25px}
.page-body{max-width:1200px;margin:auto;padding:65px 7%}.editorial-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:9%;align-items:start}.editorial-block{margin:0 0 46px;max-width:850px}.editorial-block h2,.page-faq h2,.treatment-journey h2,.related h2{font-size:clamp(32px,3.2vw,46px);line-height:1.13;margin-bottom:24px;letter-spacing:-.04em}.editorial-block p+p{margin-top:18px}.editorial-block p{font-size:16px;line-height:1.85}.check-list{list-style:none;padding:0;margin:25px 0 40px}.check-list li{padding:17px 0 17px 26px;border-bottom:1px solid var(--line);font-size:15px;position:relative}.check-list li:before{content:'✧';position:absolute;left:0;color:var(--accent)}
.appointment-note{background:var(--lavender);padding:30px;position:sticky;top:115px}.appointment-note h3{margin:18px 0}.appointment-note p{font-size:14px}.appointment-note a{margin:20px 0}.appointment-note .fine-print{font-size:11px;line-height:1.6}
.treatment-journey{padding:42px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 50px}.treatment-journey>.eyebrow,.page-faq>.eyebrow,.related>.eyebrow{margin-bottom:18px}.treatment-journey .visit-steps{gap:30px;margin-top:30px}.treatment-journey .visit-steps p{font-size:15px}.page-faq{margin:45px 0 55px}.page-faq details{border-bottom:1px solid var(--line)}.page-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;cursor:pointer;font-weight:500;min-height:60px;padding:20px 0}.page-faq summary::-webkit-details-marker{display:none}.page-faq summary span{font-size:22px;flex-shrink:0}.page-faq details[open] summary span{transform:rotate(45deg)}.page-faq details p{padding:0 35px 22px 0;max-width:820px;font-size:15px;line-height:1.8}
.source-note{font-size:12px;line-height:1.7;margin:25px 0}.source-note a{text-decoration:underline;text-underline-offset:3px}.related{border-top:1px solid var(--line);padding-top:45px;margin-top:55px}.page-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;margin:30px 0}.page-card{display:block;border:1px solid var(--line);padding:28px;position:relative;transition:background .2s}.page-card:hover{background:var(--lavender)}.page-card h3{font-size:29px;margin:18px 0}.page-card p{font-size:14px;line-height:1.7;margin-bottom:35px}.card-arrow{position:absolute;bottom:18px;right:25px;font-size:25px}
.page-cta{padding:65px 7%;background:var(--lavender);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.page-cta h2{font-size:clamp(40px,4.5vw,64px);margin-top:20px}.page-cta>div>p:not(.eyebrow){max-width:440px;margin-bottom:25px}.page-cta .text-link{margin:15px;white-space:nowrap}
.service-filters{display:flex;flex-wrap:wrap;gap:10px}.service-filters button{padding:12px 20px;border:1px solid var(--border);background:transparent;border-radius:25px;cursor:pointer;min-height:46px;font-size:13px}.service-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.filter-status{font-size:12px;margin:20px 0}.service-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:55px}.service-tile{border-top:1px solid var(--border);padding:30px;background:var(--soft);display:flex;flex-direction:column}.service-tile[hidden]{display:none}.service-tile h2{font-size:33px;line-height:1.2;margin:16px 0}.service-tile p{font-size:15px;line-height:1.8;margin-bottom:25px}.service-tile .text-link{margin-top:auto;align-self:start}.service-tile:hover{background:var(--lavender)}
.profile-portrait{max-width:310px;width:100%;margin:auto}.profile-portrait .portrait-image{border-radius:160px 160px 0 0}.profile-portrait .father img{display:block}.profile-portrait figcaption{text-align:center}.profile-portrait figcaption strong{font-size:27px}.profile-portrait figcaption small{display:block;margin-top:6px}.doctor-directory{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:55px 0}.doctor-directory article{border-top:1px solid var(--line);padding-top:30px}.doctor-directory h2{font-size:33px;line-height:1.2;margin:30px 0 18px}.doctor-directory p{margin-bottom:18px}.doctor-directory article>a{display:inline-flex;gap:20px;min-height:44px;align-items:center;border-bottom:1px solid var(--border);font-size:14px}
.credential-panel{background:var(--lavender);color: var(--body);padding:35px;margin:35px 0 50px}.credential-panel h2{font-size:40px;margin:18px 0}.credential-panel p,.credential-panel .eyebrow{color:var(--muted)}.credential-panel .text-link{margin-top:20px;color: var(--body)}
.location-note{background:var(--lavender);border:1px solid var(--border);padding:35px}.location-note h2{font-size:40px;margin:20px 0}.location-note address{font-style:normal;font-size:17px;margin:25px 0}.location-note p{font-size:13px;margin:15px 0}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:45px}.contact-options article{border:1px solid var(--line);padding:30px}.contact-options h2{font-size:30px;margin:20px 0}.contact-options p{margin-bottom:20px}.urgent-note{border-left:3px solid var(--accent);background:var(--soft);padding:25px;margin:35px 0}.urgent-note strong{display:block;margin-bottom:8px;font-size:18px}.urgent-note p{font-size:15px}.booking-call{background:var(--lavender);padding:35px;margin:35px 0}.booking-call>a{font:clamp(24px,4vw,42px) var(--serif);display:inline-flex;min-height:52px;align-items:center;margin:20px 0}.booking-call p{max-width:650px;font-size:14px}.rating-panel{padding:45px;background:var(--lavender);text-align:center;margin-bottom:50px}.rating-number{font:100px var(--serif);margin:20px 0}.rating-number span{font:24px var(--serif);margin-left:15px}.rating-panel .button{margin-top:25px}
footer .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:35px;border:0;padding:15px 0 40px;font-size:13px}footer .footer-grid>div>p{font:italic 17px var(--serif);margin:15px 0}footer .footer-grid address{font-size:12px;font-style:normal;line-height:1.8;margin:22px 0 10px}footer .footer-grid h3{font:500 12px 'DM Sans',sans-serif;letter-spacing:.5px;margin-bottom:15px;color: var(--body)}footer .footer-grid>div>a:not(.footer-brand){display:flex;gap:10px;align-items:center;min-height:40px;font-size:12px}footer .footer-grid a>span:not(.footer-brand span){margin-left:auto}footer .footer-bottom{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:25px;padding-top:20px;font-size:12px}
@media(max-width:1100px){.page-hero-grid{gap:5%;grid-template-columns:1.5fr 1fr}.hero-note{padding:25px}.hero-note>p:not(.eyebrow){font-size:23px}.page-body{padding:55px 5%}.editorial-layout{gap:5%}.page-cta{gap:5%}.page-cta .text-link{margin-left:0}.header nav{gap:16px}}
