:root{--paper:#f9f7f2;--ink:#33342f;--olive:#656553;--line:#dad7cf;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.5 var(--serif)}a{color:inherit;text-decoration:none}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #967747;outline-offset:6px}.skip{position:fixed;top:-100px;left:12px;z-index:9;background:white;padding:12px}.skip:focus{top:12px}header{min-height:104px;padding:26px 3.8%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper)}.brand>span{font-size:26px;letter-spacing:5px;white-space:nowrap}.brand .credential{font-size:16px;letter-spacing:2px}.brand small{display:block;font:10px/1.8 var(--sans);letter-spacing:2.1px;margin-top:2px}nav{display:flex;align-items:center;gap:25px}nav a,.eyebrow,summary,.button,.location{font:14px/1.6 var(--sans);letter-spacing:2px;text-transform:uppercase}nav a{font-size:12px;letter-spacing:1px}nav a:hover,footer a:hover{color:#77715c}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:18px 25px;background:var(--olive);color:white;font-size:13px;transition:background .2s}.button:hover{background:#4e5042;color:white}.button.compact{font-size:12px;letter-spacing:1px;padding:16px 20px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;background:#f1eee7}.hero-copy{padding:6% 8% 8% 10.8%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:12px;margin:0 0 26px}h1,h2,p{margin-top:0}h1{font-weight:400;font-size:clamp(36px,3.95vw,64px);line-height:1.14;letter-spacing:-1.5px;margin-bottom:25px}.hero-copy>p:not(.eyebrow){font-size:clamp(17px,1.4vw,22px);line-height:1.45;max-width:560px;margin-bottom:30px}.rule{width:50px;border-top:1px solid var(--ink);margin:5px 0 27px}.portrait{position:relative;overflow:hidden;min-height:100%;background:#d0c3b6}.portrait img{position:absolute;width:auto;max-width:none;height:276.26%;right:0;top:-14.75%;display:block}.services{padding:44px 3% 40px;display:grid;grid-template-columns:repeat(4,1fr)}.services article{padding:0 28px;text-align:center;border-right:1px solid var(--line);display:flex;flex-direction:column}.services article:last-child{border:0}.service-number{font-size:27px;font-style:italic;color:var(--olive);margin-bottom:14px}.services h2{font-size:16px;text-transform:uppercase;letter-spacing:2.5px;font-weight:400;margin-bottom:10px}.services p{line-height:1.4;font-size:18px;margin-bottom:22px}.services details{margin-top:auto}summary{list-style:none;font-size:13px;letter-spacing:2px;padding:12px 0}summary::-webkit-details-marker{display:none}summary span{display:inline-block;margin-left:12px;font-size:20px;line-height:1}details[open] summary span{transform:rotate(45deg)}details[open] p{padding-top:14px;font-size:17px}h2{font-size:clamp(31px,3.4vw,48px);line-height:1.12;letter-spacing:-.6px;font-weight:400;margin-bottom:24px}.approach{display:grid;grid-template-columns:43.4% 25.3% 31.3%;border-top:1px solid var(--line)}.approach-copy{padding:46px 36px 34px 12.5%}.approach-copy .eyebrow{margin-bottom:16px}.approach-copy p{font-size:18px;line-height:1.45}.approach-copy p.eyebrow{font-size:12px}.approach-note{align-self:center;border-left:1px solid var(--line);padding:40px 30px;text-align:center}.approach-note p{font-size:24px;font-style:italic;line-height:1.4}.approach-note .eyebrow{font-size:12px}.about{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:70px 5.4%;border-top:1px solid var(--line)}.about p{max-width:640px}.about h2{margin-bottom:0}.about .eyebrow{margin-bottom:18px}.location{font-size:12px;color:#60634f;margin-top:26px;margin-bottom:0}.consultation{background:var(--olive);color:var(--paper);padding:42px 5.4%;display:flex;align-items:center;justify-content:space-between;gap:35px}.consultation .eyebrow{margin-bottom:14px}.consultation h2{margin-bottom:12px}.consultation p{margin-bottom:12px}.light{background:var(--paper);color:var(--ink);min-width:190px}.email{font-family:var(--sans);font-size:16px;overflow-wrap:anywhere;border-bottom:1px solid #aaa99a}footer{padding:30px 5.4%;display:flex;align-items:center;justify-content:space-between;gap:28px}footer .footer-brand{font-size:14px;letter-spacing:2px}footer p{font-size:15px;font-style:italic;text-align:center;border-left:1px solid var(--line);padding-left:30px;margin:0}footer nav a{font-size:12px}@media(min-width:1550px){body{max-width:1700px;margin:auto}.hero-copy{padding-top:50px;padding-bottom:50px}}@media(max-width:1250px){header{padding:23px 4%}.brand>span{font-size:23px;letter-spacing:3px}.brand small{font-size:9px;letter-spacing:1.3px}nav{gap:18px}.button.compact{padding:14px}.hero-copy .eyebrow{font-size:12px;letter-spacing:1.1px}.hero-copy{padding:9% 6% 9% 10%}h1{font-size:4vw}.services article{padding:0 20px}.approach-copy{padding-right:24px}.approach-note{padding:20px}.approach-note p{font-size:21px}}@media(max-width:1100px){header{flex-wrap:wrap;position:relative;gap:0}.menu{display:block;background:none;border:1px solid var(--line);padding:10px;font:14px var(--sans);color:var(--ink)}header nav{display:none;width:100%;padding-top:22px;align-items:stretch;flex-direction:column;gap:0}header nav.open{display:flex}header nav>a:not(.button){font-size:14px;padding:14px 0}}@media(max-width:900px){h1{font-size:4.3vw}.hero-copy{padding:35px 8%}.hero-copy .eyebrow{line-height:1.8}.hero .button{font-size:12px;padding:16px;letter-spacing:1.2px}.approach{grid-template-columns:62% 38%}.approach-copy{padding:40px 8%}.approach-note{display:none}.services{grid-template-columns:repeat(2,1fr);row-gap:36px;padding:35px 4%}.services article:nth-child(2){border:0}.services article{padding:0 30px}.about{gap:35px;padding:50px 5.4%}footer{flex-wrap:wrap}footer p{display:none}}@media(max-width:600px){html{scroll-padding-top:20px}header{min-height:90px;padding:20px}.brand>span{font-size:19px;letter-spacing:2px}.brand .credential{font-size:12px}.brand small{font-size:9px;letter-spacing:.7px;max-width:245px}.menu{font-size:14px;padding:8px}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 25px 40px}.hero-copy .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:22px}h1{font-size:39px;letter-spacing:-1px;line-height:1.14}.wide{display:none}.hero-copy>p:not(.eyebrow){font-size:18px}.hero .button{font-size:12px;padding:18px 21px;letter-spacing:1.5px}.portrait{aspect-ratio:512/556;min-height:0}.portrait img{width:200%;height:auto;left:-100%;right:auto;top:-14.748%}.services{padding:34px 15px;gap:30px 0}.services article{padding:0 14px}.services h2{font-size:14px;letter-spacing:1.4px}.services p{font-size:17px}summary{font-size:12px;letter-spacing:1.3px}.approach{grid-template-columns:1fr}.approach-copy{padding:38px 25px}.approach h2{font-size:37px}.about{grid-template-columns:1fr;gap:25px;padding:42px 25px}.about h2{font-size:35px}.consultation{padding:35px 25px;align-items:flex-start;flex-direction:column;gap:22px}.consultation h2{font-size:34px}footer{padding:30px 25px;gap:22px}footer nav{flex-wrap:wrap;gap:23px}footer .footer-brand{font-size:13px}}@media(max-width:360px){header{padding:15px}.brand>span{font-size:17px}.brand small{max-width:205px}h1{font-size:35px}.services{grid-template-columns:1fr}.services article{border:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.about{align-items:start}.bio{min-width:0}.background-details{border-top:1px solid var(--line);margin-top:20px}.background-details summary{font-size:14px;letter-spacing:1px;padding:18px 0}.background-list{list-style:none;padding:0;margin:0 0 20px}.background-list li{padding:14px 0;border-top:1px solid var(--line);font-size:17px;line-height:1.5}.background-list strong{display:block;font-weight:400;font-size:19px}.background-list span{display:block;margin-top:4px;color:#55564c}.about .location{margin-top:28px}

.specialties{padding:50px 5.4% 55px;border-top:1px solid var(--line);background:#efede5}.specialties-heading{margin-bottom:32px}.specialties-heading .eyebrow{margin-bottom:12px}.specialties-heading h2{margin-bottom:0}.specialty-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.specialty-group h3{font:400 19px/1.35 var(--serif);margin:0 0 18px;color:#4e5042}.specialty-group ul{list-style:none;padding:0;margin:0}.specialty-group li{font-size:17px;line-height:1.45;padding:9px 0;border-top:1px solid #d4d2c7;overflow-wrap:break-word}@media(max-width:1300px) and (min-width:1101px){header nav{gap:12px}.brand>span{font-size:21px;letter-spacing:2px}.brand small{letter-spacing:1px}header .button.compact{font-size:11px;padding:12px}}@media(max-width:900px){.specialty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}@media(max-width:600px){.specialties{padding:36px 25px}.specialty-grid{grid-template-columns:1fr;gap:28px}.specialties-heading h2{font-size:35px}.specialty-group h3{font-size:21px}.specialty-group li{font-size:18px}}

.specialties-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px}.specialties-list li{font-size:18px;line-height:1.5;padding:13px 0;border-top:1px solid #d4d2c7;overflow-wrap:break-word}@media(max-width:900px){.specialties-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px}}@media(max-width:600px){.specialties-list{grid-template-columns:1fr}}

.approach.approach-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;padding:64px 5.4%;align-items:start}.approach-heading .eyebrow{margin-bottom:18px}.approach-heading h2{margin-bottom:0}.approach-body{min-width:0;max-width:640px}.approach-body>p{font-size:19px;line-height:1.6;margin-bottom:22px}.approach-body details{border-top:1px solid var(--line)}.approach-body summary{font-size:14px;letter-spacing:1px;padding:18px 0}.approach-body details[open] p{font-size:18px;line-height:1.6;padding-top:0;margin-bottom:0}@media(max-width:900px){.approach.approach-text{gap:35px;padding:48px 5.4%}}@media(max-width:600px){.approach.approach-text{grid-template-columns:1fr;gap:24px;padding:40px 25px}.approach-heading h2{font-size:35px}.approach-body>p{font-size:18px}}

.portrait img{width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center 35%;left:0;right:auto;top:0}.portrait{min-height:100%;}@media(max-width:600px){.portrait{min-height:0;aspect-ratio:1145/1374}.portrait img{width:100%;height:100%;left:0;right:auto;top:0;object-position:center center}}

.service-flower{display:block;width:76px;height:76px;object-fit:contain;align-self:center;margin:0 0 14px}.background-heading{font:400 15px/1.5 var(--sans);letter-spacing:1px;text-transform:uppercase;margin:18px 0 12px;color:var(--olive)}

.botanical-icon{display:block;flex:none;align-self:center;width:76px;height:76px;margin:0 0 14px;background-image:url("assets/botanical-outlines.webp");background-repeat:no-repeat;background-size:200% 200%}.botanical-1{background-position:0 0}.botanical-2{background-position:100% 0}.botanical-3{background-position:0 100%}.botanical-4{background-position:100% 100%}

.hero-copy>p.license-line{font:14px/1.6 var(--sans);letter-spacing:0;margin:0 0 20px}.notice-link{font:14px/1.5 var(--sans);text-decoration:underline;text-underline-offset:3px;margin-top:16px}.patient-notice{padding:42px 5.4%;display:grid;grid-template-columns:1fr 1fr;gap:55px;border-bottom:1px solid var(--line)}.patient-notice h2{font-size:30px}.patient-notice h3{font-size:24px;font-weight:400;margin:0 0 16px}.patient-notice p{font-size:17px;line-height:1.6}.text-link,.legal-page a{ text-decoration:underline;text-underline-offset:3px}.text-link{font-size:16px}.legal-navigation{padding:8px 5.4% 30px;flex-wrap:wrap;gap:12px 28px}.legal-navigation a{font-size:14px;letter-spacing:0;text-transform:none;text-decoration:underline}.legal-page{max-width:850px;margin:auto;padding:42px 28px 64px}.legal-page h1{font-size:42px;line-height:1.2;letter-spacing:-.8px}.legal-page h2{font-size:28px;margin:0 0 18px}.legal-page section{margin-top:35px;padding-top:30px;border-top:1px solid var(--line)}.legal-page p,.legal-page li{font-size:18px;line-height:1.65}.legal-page li{margin:10px 0}.legal-page a{overflow-wrap:anywhere}.legal-date{color:#626454}.notice-header{flex-wrap:wrap;gap:20px}.notice-footer{border-top:1px solid var(--line);flex-wrap:wrap}.notice-footer nav{flex-wrap:wrap}.notice-footer>a{font-size:16px}.notice-header .brand small{font-size:13px;letter-spacing:1px}footer .footer-brand{font-size:14px;line-height:1.6}@media(max-width:700px){.patient-notice{grid-template-columns:1fr;gap:30px;padding:35px 25px}.legal-page h1{font-size:34px}.legal-page{padding:30px 25px 45px}.legal-page h2{font-size:26px}.legal-navigation{padding:10px 25px 30px;align-items:flex-start;flex-direction:column}}

/* Smaller typography for patient information and privacy pages. */
.compact-notices{font-size:1rem}
.compact-notices .legal-page p,.compact-notices .legal-page li{font-size:1rem;line-height:1.6}
.compact-notices .legal-page h1{font-size:2rem}
.compact-notices .legal-page h2{font-size:1.375rem}
.compact-notices .notice-header .brand>span{font-size:1.25rem;letter-spacing:2px}
.compact-notices .notice-header .brand .credential{font-size:.875rem;letter-spacing:1px}
.compact-notices .notice-header .brand small{font-size:.75rem}
.compact-notices .text-link,.compact-notices .notice-footer>a{font-size:.875rem}
.compact-notices .notice-footer nav a{font-size:.6875rem}
@media(max-width:600px){.compact-notices .legal-page h1{font-size:1.75rem}.compact-notices .legal-page h2{font-size:1.25rem}.compact-notices .notice-header .brand>span{font-size:1.0625rem}.compact-notices .notice-header .brand .credential{font-size:.6875rem}.compact-notices .notice-header .brand small{font-size:.6875rem}}

/* Mobile readability and room for the full navigation. */
header .brand{min-width:0}.brand small{overflow-wrap:break-word}
header nav a,footer nav a{font-size:14px}
@media(max-width:1400px){header:not(.notice-header){flex-wrap:wrap;position:relative;gap:0}header:not(.notice-header) .menu{display:block;background:none;border:1px solid var(--line);min-height:44px;min-width:60px;padding:10px;font:14px var(--sans);color:var(--ink)}header:not(.notice-header) nav{display:none;width:100%;padding-top:22px;align-items:stretch;flex-direction:column;gap:0}header:not(.notice-header) nav.open{display:flex}header:not(.notice-header) nav>a:not(.button){font-size:14px;padding:14px 0}}
@media(max-width:600px){header .brand{max-width:calc(100% - 74px)}header .brand>span{white-space:normal;line-height:1.3}.brand small{font-size:12px;letter-spacing:.3px}header .brand .credential{white-space:nowrap}.notice-header .brand{max-width:100%}footer nav a,.notice-footer nav a,.legal-navigation a{display:inline-flex;align-items:center;min-height:44px}.services summary,.background-details summary,.approach-body summary{font-size:14px;min-height:44px}.services article{min-width:0}.services h2{overflow-wrap:break-word}.hero-copy .eyebrow{overflow-wrap:break-word}.compact-notices .notice-header .brand small,.compact-notices .notice-header .brand .credential{font-size:12px}}
.compact-notices .notice-footer nav a{font-size:14px}
