:root{--ink:#292720;--muted:#706a5b;--cream:#f7f3e8;--line:#ded7c4;--sand:#eae2c9;--white:#fffdf7}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:154px}
html.lenis{scroll-behavior:auto}
body{margin:0;color:var(--ink);background:var(--white);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}
a{color:inherit;text-decoration:none}
button,summary,a{-webkit-tap-highlight-color:transparent}
a,button,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b77935;outline-offset:5px}
button{font:inherit}
img{display:block;max-width:100%}
p{margin:0 0 1.2em}
h1,h2,h3,h4{font-family:Manrope,sans-serif;margin:0;line-height:1.18;font-weight:500;letter-spacing:-.045em}
h2{font-size:clamp(34px,3.4vw,49px)}
h2 em,h1 em{font-style:normal;color:#82764e}
h3{font-size:24px}
h4{font-size:20px}
ul{padding-left:22px}
li{margin:8px 0}
.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.utility{background:#d8cba1;color:var(--ink);font-size:11px;letter-spacing:.035em}
.utility .wrap{display:flex;justify-content:space-between;padding-block:9px}
.utility a{display:flex;gap:16px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}
.nav-row{height:146px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:27px;font-weight:600;line-height:1.05;letter-spacing:-1.5px;flex-shrink:0}
.brand img{width:82px;height:130px;object-fit:contain}
.brand-small{display:block;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:3.3px;margin-top:7px}
#main-nav{display:flex;gap:26px;align-items:center;font-size:12px;font-weight:500}
#main-nav>a:hover,.text-link:hover{color:#82764e}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.mega summary{display:flex;gap:9px;align-items:center}
.mega-panel{position:absolute;top:146px;left:0;width:100%;padding:32px max(56px,calc((100vw - 1320px)/2)) 42px;background:var(--white);box-shadow:0 18px 28px #30291812;border-bottom:1px solid var(--line)}
.mega-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}
.mega-heading>span{font-size:22px;font-family:Manrope,sans-serif}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:#b8aa78;color:#25231d;padding:16px 24px;font-size:13px;font-weight:500;border-radius:4px;transition:background .2s,transform .2s;line-height:1.4}
.button:hover{background:#c2b581;transform:translateY(-2px)}
.button span{font-size:20px}
.nav-book{padding:13px 18px;gap:20px;font-size:12px}
.menu-toggle{display:none}
.hero{background:var(--cream);padding:55px 0 59px}
.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:76px;align-items:center}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.5;margin-bottom:23px}
.small-cross{font-size:19px;vertical-align:middle;margin-right:9px}
.hero h1{font-size:clamp(39px,3.55vw,55px);line-height:1.12;max-width:620px;letter-spacing:-2.1px}
.hero-description{font-size:17px;max-width:365px;color:var(--muted);margin:24px 0 29px}
.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.text-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;font-weight:600}
.hero-note{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:21px;margin-top:30px;font-size:11px;color:var(--muted)}
.check{border:1px solid #9c916c;border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font-size:10px}
.hero-photo{position:relative;height:550px;border-radius:110px 5px 5px 5px;overflow:hidden;background:#c6b878}
.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:57% center}
.hero-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#332b1780)}
.photo-label{position:absolute;z-index:1;bottom:62px;left:28px;right:28px;background:#fbf7eaf0;border:1px solid #ffffff80;backdrop-filter:blur(12px);display:flex;gap:19px;align-items:center;padding:20px 22px;border-radius:4px}
.photo-label p{margin:0;font-size:21px;line-height:1.4;letter-spacing:-.7px;font-family:Manrope,sans-serif}
.photo-label strong{font-weight:500}
.photo-mark{font-size:43px;font-weight:400}
.photo-corner{margin-left:auto;font-size:26px}
.image-caption{position:absolute;bottom:25px;left:29px;color:white;font-size:8px;letter-spacing:2px;z-index:1}
.care-strip{background:var(--sand);border-block:1px solid #d9cfaf}
.care-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:23px;font-size:13px}
.care-strip span:first-child{font-size:11px;color:#706747}
.care-strip i{font-size:16px;font-style:normal;color:#928461}
.section{padding-block:94px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}
.section-heading>p{max-width:410px;color:var(--muted);font-size:14px;margin-bottom:3px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.service-card{border:1px solid var(--line);border-radius:5px;padding:27px 25px 23px;background:var(--white);transition:background .2s,transform .2s}
.service-card:hover{background:var(--sand);transform:translateY(-4px)}
.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:39px}
.service-symbol{width:48px;height:48px;border:1px solid #d3c8a8;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f0ead7;font-size:30px}
.number{font-size:10px;color:#8b826b}
.service-card h3{font-size:23px;letter-spacing:-.8px;margin-bottom:14px;min-height:55px}
.service-card>p{font-size:12px;color:var(--muted);min-height:41px;max-width:170px}
.card-link{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-top:27px;padding-top:16px;border-top:1px solid var(--line)}
.card-link>span{font-size:21px}
.service-foot{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:29px;font-size:12px}
.service-foot p{margin:0;color:var(--muted)}
.about{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.about-grid h2{margin-bottom:24px}
.about-grid p{color:var(--muted);font-size:14px}
.clinic-photo{position:relative}
.clinic-photo img{width:100%;height:375px;object-fit:cover;border-radius:4px 70px 4px 4px;image-rendering:auto}
.clinic-photo>span{position:absolute;bottom:20px;left:20px;background:var(--cream);padding:12px 16px;font-size:8px;letter-spacing:1.6px}
.inline-details{border-top:1px solid var(--line);margin:26px 0}
.inline-details summary{font-size:13px;padding-block:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.inline-details h3{font-size:20px;margin:22px 0 12px}
.inline-details p{font-size:14px}
.values{padding-top:62px;margin-top:63px;border-top:1px solid var(--line)}
.values>h3{max-width:570px;font-size:31px;margin-bottom:35px}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.values-grid h4{margin:12px 0 15px;font-size:20px;letter-spacing:-.6px}
.values-grid p{font-size:13px;color:var(--muted);margin:0}
.welcome{display:grid;grid-template-columns:.7fr 1.3fr;gap:0;background:var(--sand);border-radius:5px;overflow:hidden}
.portrait{min-height:455px}
.portrait img{width:100%;height:100%;max-height:610px;object-fit:cover;object-position:center 30%}
.welcome-copy{padding:48px 55px}
.welcome-copy h3{font-size:39px}
.credentials{font-size:12px;margin-top:15px}
.start-date{font-size:11px;display:inline-block;border:1px solid #c8ba8e;padding:5px 10px;border-radius:3px}
.welcome-copy>p:not(.eyebrow):not(.credentials):not(.start-date){font-size:14px}
.provider-list{margin-top:35px}
.provider-list details{border-bottom:1px solid var(--line)}
.provider-list summary{display:grid;grid-template-columns:220px 1fr 20px;gap:30px;align-items:center;padding:24px 0;font-size:12px;color:var(--muted)}
.provider-category{font-family:Manrope,sans-serif;font-size:19px;color:var(--ink);letter-spacing:-.6px}
.provider-list b{font-weight:400;font-size:23px}
.provider-body{padding:0 35px 24px 250px;font-size:14px}
.provider-body a{display:flex;gap:20px;text-decoration:underline;text-underline-offset:5px}
.treatments{background:#e1d3a7;color:var(--ink)}
.treatments h2 em{color:#75663f}
.treatments .section-heading>p{color:#655a40}
.directory{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}
.directory h3{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:0;margin-bottom:17px}
.directory a{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px;padding:11px 0;border-bottom:1px solid #aa9c7250}
.directory a:hover{color:#b88e56}
.directory a span{font-size:16px}
.treatments .directory h3{color:#5d5135}
.conditions{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.conditions>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:25px}
.accordion details{border-bottom:1px solid var(--line)}
.accordion details:first-child{border-top:1px solid var(--line)}
.accordion summary{padding:23px 0;display:flex;justify-content:space-between;align-items:center;gap:30px;line-height:1.6;font-size:14px}
.accordion summary span{font-size:24px;font-weight:400;flex-shrink:0}
.accordion details[open]>summary span,.inline-details[open]>summary span{transform:rotate(45deg)}
.accordion p,.accordion ul{font-size:13px;color:var(--muted);padding-right:20px}
.accordion details>a{display:flex;justify-content:space-between;margin:24px 0;font-size:12px}
.patient-section{background:var(--cream)}
.faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.faq-grid h2{margin-bottom:25px}
.faq-grid>div>p:not(.eyebrow){font-size:14px;color:var(--muted)}
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:110px;align-items:center}
.contact h2{font-size:55px;margin-bottom:26px}
.contact>div>p:not(.eyebrow){max-width:470px;color:var(--muted);font-size:14px}
.contact .hero-actions{margin-top:28px}
.contact-card{background:var(--sand);padding:38px 42px;border-radius:5px}
.contact-card h3{margin-bottom:19px}
.contact-card p{font-size:14px}
.contact-card hr{border:0;border-top:1px solid #d0c4a2;margin:25px 0}
.contact-links{display:grid;gap:7px;font-size:13px}
.contact-small{font-size:11px!important;margin-top:20px;margin-bottom:0;color:var(--muted)}
footer{background:#ded1a9;color:var(--ink);padding:48px 0 20px}
.footer-main{display:grid;grid-template-columns:1fr 1.1fr 1fr .5fr;gap:35px;align-items:start;padding-bottom:45px}
.footer-main>.brand{display:block}.footer-main .brand img{width:110px;height:auto;mix-blend-mode:multiply}
.footer-main p,.footer-main>div{font-size:12px;color:#5c533e}
.footer-main>div{display:grid;gap:8px}
.footer-bottom{border-top:1px solid #a99b7055;padding-top:21px;display:flex;justify-content:space-between;color:#655a43;font-size:10px}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--ink);color:white;padding:12px}
.skip-link:focus{top:12px}

@media(min-width:1600px){.hero h1{font-size:56px}
}
@media(max-width:1200px){.wrap{width:calc(100% - 64px)}
#main-nav{gap:16px;font-size:11px}
.nav-row{gap:18px}
.brand{font-size:23px}
.brand svg{width:36px}
.brand-small{font-size:8px}
.nav-book{font-size:11px;padding:12px;gap:15px}
.hero-grid{gap:40px}
.hero-photo{height:520px}
.hero h1{font-size:43px}
.service-card{padding:22px 18px}
.service-card h3{font-size:20px}
.about-grid,.conditions,.faq-grid{gap:55px}
.contact{gap:65px}
.hero-actions{gap:20px}
}

@media(max-width:980px){.brand img{height:112px;width:71px}.menu-toggle{display:flex;gap:15px;align-items:center;background:none;border:0;color:var(--ink);margin-left:auto;padding:10px;font-size:13px}
#main-nav{display:none;position:absolute;top:126px;left:0;right:0;background:var(--white);padding:20px 32px;box-shadow:0 20px 20px #29272015;max-height:calc(100dvh - 150px);overflow:auto}
#main-nav.is-open{display:grid;gap:0}
#main-nav>a,.mega>summary{padding:14px 0;font-size:15px;border-bottom:1px solid var(--line)}
.nav-row{height:126px}
.mega-panel{position:static;padding:20px 0;box-shadow:none}
.mega-heading{display:none}
.mega .directory{grid-template-columns:1fr 1fr;gap:25px}
.hero-grid{gap:30px}
.hero h1{font-size:37px;letter-spacing:-1.5px}
.hero-photo{height:510px}
.photo-label{left:20px;right:20px;padding:17px;gap:12px}
.photo-label p{font-size:18px}
.photo-mark{font-size:33px}
.hero-note{font-size:10px}
.hero-actions{gap:18px}
.hero-actions .button{gap:16px;padding:15px 18px}
.hero-description{font-size:15px}
.care-strip .wrap{font-size:11px;gap:12px}
.care-strip span:first-child{display:none}
.section{padding-block:70px}
.section-heading{gap:35px}
.section-heading>p{max-width:340px;font-size:13px}
.service-grid{grid-template-columns:repeat(2,1fr)}
.service-card h3{min-height:0;font-size:24px}
.service-top{margin-bottom:22px}
.service-card>p{min-height:0;max-width:none}
.about-grid{gap:35px}
.clinic-photo img{height:340px}
.values-grid{gap:30px}
.welcome-copy{padding:35px}
.welcome-copy h3{font-size:31px}
.provider-list summary{grid-template-columns:170px 1fr 15px;gap:20px}
.provider-body{padding-left:190px}
.directory{grid-template-columns:repeat(2,1fr);gap:35px}
.conditions,.faq-grid{gap:40px}
.contact{gap:40px}
.contact h2{font-size:43px}
.contact-card{padding:28px}
.footer-main{grid-template-columns:1fr 1fr}
.footer-main .brand{font-size:27px}
.footer-main .brand-small{font-size:10px}
}

@media(max-width:640px){.brand img{height:100px;width:64px}html{scroll-padding-top:120px}
.wrap{width:calc(100% - 40px)}
.utility .wrap{padding-block:7px;justify-content:center;font-size:9px}
.utility a{display:none}
.nav-row{height:110px;gap:10px}
.brand{font-size:23px;gap:7px}
.brand-small{font-size:8px;letter-spacing:2.9px}
.brand svg{width:34px;height:36px}
.nav-book{display:none}
#main-nav{top:110px;padding:12px 20px}
.menu-toggle{font-size:12px;padding:10px 0 10px 10px}
.hero{padding:36px 0 30px}
.hero-grid{grid-template-columns:1fr;gap:30px}
.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:19px}
.hero h1{font-size:42px;line-height:1.13;max-width:460px;letter-spacing:-1.9px}
.hero-description{max-width:310px;font-size:16px;margin-block:22px}
.hero-actions{gap:23px}
.hero-actions .button{font-size:12px;padding:16px 19px;gap:19px}
.text-link{font-size:12px;gap:12px}
.hero-note{margin-top:24px;padding-top:18px;font-size:10px}
.hero-photo{height:340px;border-top-left-radius:70px}
.hero-photo>img{object-position:center 58%}
.photo-label{bottom:49px;left:20px;right:20px;padding:15px 20px}
.photo-label p{font-size:18px}
.photo-mark{font-size:36px}
.image-caption{font-size:7px;left:20px;bottom:21px;letter-spacing:1.5px}
.care-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;padding-block:19px;font-size:11px}
.care-strip i{display:none}
.section{padding-block:55px}
.section-heading{display:block;margin-bottom:28px}
.section-heading>p{margin-top:23px;max-width:none;font-size:14px}
h2{font-size:34px}
.service-grid{gap:12px}
.service-card{padding:19px 15px 16px}
.service-card h3{font-size:19px;min-height:46px;letter-spacing:-.7px}
.service-top{margin-bottom:28px}
.service-symbol{height:40px;width:40px;font-size:26px}
.service-card>p{font-size:11px;min-height:38px}
.card-link{font-size:10px;gap:10px;margin-top:20px;line-height:1.5}
.card-link>span{font-size:18px}
.service-foot{flex-direction:column;gap:6px;margin-top:24px}
.about-grid{grid-template-columns:1fr;gap:30px}
.clinic-photo img{height:260px}
.clinic-photo>span{font-size:7px;padding:10px 12px;left:15px;bottom:15px}
.values{padding-top:35px;margin-top:30px}
.values>h3{font-size:26px}
.values-grid{grid-template-columns:1fr;gap:26px}
.values-grid>div{border-bottom:1px solid var(--line);padding-bottom:22px}
.welcome{grid-template-columns:1fr}
.portrait{min-height:0;height:360px}
.portrait img{object-position:center 23%}
.welcome-copy{padding:29px 24px}
.welcome-copy h3{font-size:31px}
.credentials{font-size:10px}
.provider-list summary{grid-template-columns:1fr 20px;gap:10px;padding:21px 0}
.provider-category{font-size:20px}
.provider-list summary>span:nth-child(2){grid-column:1;font-size:11px}
.provider-list summary b{grid-row:1;grid-column:2}
.provider-body{padding:0 0 22px}
.directory{gap:30px 22px}
.directory h3{font-size:11px;line-height:1.5}
.directory a{font-size:11px;padding:12px 0;line-height:1.5}
.conditions,.faq-grid,.contact{grid-template-columns:1fr;gap:30px}
.conditions>div>p:not(.eyebrow){margin-bottom:0}
.accordion summary{font-size:13px;padding:20px 0;gap:20px}
.faq-grid>div>p:last-child{margin-bottom:0}
.contact h2{font-size:39px}
.contact-card{padding:29px}
.footer-main{grid-template-columns:1fr 1fr;gap:28px 20px;padding-bottom:28px}
.footer-main>.brand,.footer-main>p{grid-column:1 / -1}
.footer-main>p{margin-top:-8px;margin-bottom:0}
.footer-main p,.footer-main>div{font-size:11px}
.footer-bottom{font-size:9px;gap:20px}
.mega .directory{gap:26px 20px}
.mega .directory a{font-size:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important}
}


/* Symbol-only header logo; full wordmark remains in the footer. */
.site-header .brand img{width:88px;height:91px}
@media(max-width:640px){.site-header .brand img{width:70px;height:72px}}
/* Refined navigation, service discovery, and calls to action. */
html{scroll-padding-top:112px}
.site-header{background:rgba(255,253,248,.97);backdrop-filter:blur(16px);border-bottom:1px solid #d9d0ba80;box-shadow:0 3px 18px #3b321204}
.nav-row{height:100px;gap:30px;position:relative}
.site-header .header-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:180px}
.wordmark-name{font-family:Georgia,'Times New Roman',serif;font-size:35px;font-weight:400;letter-spacing:-1.5px;line-height:1}
.wordmark-descriptor{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:3.5px;font-weight:500;line-height:1;margin-top:10px;padding-left:2px}
#main-nav{gap:6px;font-size:12px;font-weight:500}
#main-nav>a:not(.button),.mega>summary{padding:12px 13px;border-radius:30px;transition:background .18s,color .18s}
#main-nav>a:not(.button):hover,.mega>summary:hover,.mega[open]>summary{background:#eee6d0;color:#292720}
.mega>summary{gap:12px;min-height:44px}
.nav-chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.mega[open] .nav-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.button{min-height:54px;padding:8px 9px 8px 23px;border:1px solid #bbae7c;border-radius:40px;background:#d6c695;color:#292720;font-size:13px;font-weight:600;gap:26px;box-shadow:inset 0 1px 0 #fff8df80,0 3px 8px #5541170a;transition:background .18s,box-shadow .18s,transform .18s}
.button>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#292720;color:#fff9e7;font-size:19px;line-height:1;transition:transform .18s,background .18s}
.button:hover{background:#e2d3a9;box-shadow:0 5px 14px #55411716;transform:translateY(-1px)}
.button:hover>span{transform:rotate(5deg);background:#4a4330}
.button:active{transform:translateY(0);box-shadow:none}
.nav-book{background:#302d24;border-color:#302d24;color:#fff9e7;min-height:49px;font-size:11px;padding:7px 8px 7px 19px;gap:19px;white-space:nowrap}
.nav-book>span{background:#d6c695;color:#292720;width:32px;height:32px;flex-basis:32px}
.nav-book:hover{background:#484131;color:white}
.nav-book:hover>span{background:#e7d8ad}
.text-link{padding-block:7px;border-bottom:1px solid transparent;transition:border-color .18s,color .18s}
.text-link:hover{border-bottom-color:#9c8956;color:#665630}
.mega-panel{top:calc(100% - 3px);left:0;width:100%;padding:30px 32px 0;background:#fffdf8;border:1px solid #ddd3bc;border-radius:16px;box-shadow:0 24px 55px #3b311b24,0 4px 12px #3b311b08;max-height:calc(100dvh - 135px);overflow:auto}
.mega-heading{padding-bottom:23px;margin-bottom:25px;gap:20px;border-color:#e7dfce}
.mega-heading .eyebrow{font-size:9px;color:#84734d;letter-spacing:1.8px;margin:0 0 10px}
.mega-heading>div>span{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.8px;line-height:1.25}
.menu-overview{display:flex;gap:20px;align-items:center;font-size:12px;white-space:nowrap}
.menu-overview>span{display:flex;align-items:center;justify-content:center;border:1px solid #d7ccb0;border-radius:50%;width:32px;height:32px;font-size:17px}
.menu-overview:hover>span{background:#eae2c9}
.mega-panel .directory{grid-template-columns:1.08fr 1fr 1fr 1fr;gap:26px;padding-bottom:28px}
.mega-panel .directory h3{font-size:10px;font-weight:600;color:#7f7050;letter-spacing:.25px;margin:0 0 15px;padding-inline:10px;line-height:1.4}
.mega-panel .directory a{border:0;padding:11px 10px;min-height:44px;border-radius:7px;font-size:12px;line-height:1.5;transition:background .18s,color .18s}
.mega-panel .directory a:hover{background:#eee6d0;color:#292720}
.mega-panel .directory a>span{color:#98845a;font-size:16px;transition:transform .18s}
.mega-panel .directory a:hover>span{transform:translate(2px,-2px)}
.mega-panel .directory-group:first-child{background:#f3eddd;border-radius:10px;padding:17px 10px 10px;margin-top:-2px}
.mega-panel .directory-group:first-child h3{margin-bottom:8px}
.mega-panel .directory-group:first-child a{font-weight:600}
.mega-panel .directory-group:not(:first-child){padding-top:15px}
.mega-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e2d9c3;background:#faf6eb;margin:0 -32px;padding:17px 32px;font-size:11px;color:#7a6c50}
.mega-bottom a{color:#393327;font-weight:500}
.mega-bottom>span>a{margin-left:7px;text-decoration:underline;text-decoration-color:#c0b28d;text-underline-offset:4px}
.mega-bottom>a{display:flex;gap:17px;white-space:nowrap}
#main-nav .mobile-book{display:none}
@media(max-width:1200px){.nav-row{gap:15px}.site-header .header-wordmark{min-width:160px}.wordmark-name{font-size:31px}.wordmark-descriptor{font-size:8px;letter-spacing:3.2px}#main-nav{gap:0}#main-nav>a:not(.button),.mega>summary{padding:12px 9px;font-size:11px}.nav-book{gap:12px;padding-left:16px}.mega-panel .directory{gap:14px}}
@media(max-width:980px){.nav-row{height:88px}.wordmark-name{font-size:33px}.wordmark-descriptor{font-size:9px}.menu-toggle{border:1px solid #d8ceb6;border-radius:30px;padding:9px 16px;gap:13px;min-height:44px;background:#faf7ef}.menu-toggle[aria-expanded=true]{background:#eae2c9}#main-nav{top:calc(100% + 7px);left:0;right:0;padding:15px;background:#fffdf8;border:1px solid #ddd3bc;border-radius:14px;box-shadow:0 20px 40px #3b311b20;max-height:calc(100dvh - 145px)}#main-nav>a:not(.button),.mega>summary{padding:15px;font-size:14px;border:0;border-radius:7px}.mega>summary{justify-content:space-between}.mega-panel{position:static;max-height:none;overflow:visible;border:0;box-shadow:none;border-radius:0;padding:15px 0 0;width:auto}.mega-heading{display:none}.mega-panel .directory{grid-template-columns:1fr 1fr;gap:20px 12px;padding-bottom:20px}.mega-panel .directory a{font-size:12px}.mega-bottom{margin:0;padding:16px 10px;display:block;border-radius:8px;line-height:1.8}.mega-bottom>span>a{display:block;margin-left:0}.mega-bottom>a{margin-top:9px}#main-nav .mobile-book{display:flex;margin:12px 0 0;justify-content:space-between}.nav-book{display:none}.hero-actions .button{padding:8px 9px 8px 23px;gap:24px}}
@media(max-width:640px){html{scroll-padding-top:96px}.nav-row{height:82px}.site-header .header-wordmark{min-width:0}.wordmark-name{font-size:30px}.wordmark-descriptor{font-size:8px;letter-spacing:3px;margin-top:8px}.menu-toggle{font-size:11px;padding:9px 14px}.button,.hero-actions .button{font-size:12px;min-height:52px;padding:8px 8px 8px 20px;gap:18px}.hero-actions{gap:17px}.mega-panel .directory h3{font-size:10px}.mega-panel .directory a{font-size:11px;padding:10px 8px}.mega-panel .directory-group:first-child{padding-inline:5px}.mega-panel .directory{gap:15px 8px}.mega-panel .directory-group:not(:first-child){padding-top:15px}}
/* Full-bleed sunrise hero. */
.cinematic-hero{position:relative;isolation:isolate;overflow:hidden;background:#27231b;padding:0;color:#fffaf0}
.hero-backdrop{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-backdrop img{width:120%;max-width:none;height:100%;object-fit:cover;object-position:50% 45%;animation:sunrise-reveal 1.6s ease-out both}
.cinematic-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(25,24,18,.89) 0%,rgba(29,25,17,.79) 30%,rgba(35,27,16,.46) 55%,rgba(32,25,16,.03) 83%),linear-gradient(0deg,rgba(25,23,17,.66),transparent 36%)}
.cinematic-content{min-height:690px;min-height:clamp(640px,calc(100svh - 138px),830px);display:flex;flex-direction:column;justify-content:center;position:relative;padding-top:72px;padding-bottom:88px}
.cinematic-hero .hero-copy{max-width:740px;padding-bottom:54px}
.cinematic-hero .eyebrow{display:flex;align-items:center;gap:14px;color:#eee3c5;font-size:10px;letter-spacing:2.5px;margin-bottom:29px}
.hero-rule{height:1px;width:34px;background:#d9c48d}
.cinematic-hero h1{font-size:clamp(45px,4.45vw,68px);line-height:1.1;letter-spacing:-2.5px;max-width:760px;font-weight:400;text-wrap:balance;color:#fffaf0;text-shadow:0 2px 25px #20190820}
.cinematic-hero h1 em{color:#e6d29b}
.cinematic-hero .hero-description{font-size:17px;line-height:1.8;color:#eee7d8;max-width:390px;margin:28px 0 30px}
.cinematic-hero .hero-actions{gap:30px}
.cinematic-hero .button{background:#e3d09a;border-color:#e9d8a9;box-shadow:0 4px 25px #1b160f20}
.cinematic-hero .button:hover{background:#f0dfb2}
.cinematic-hero .text-link{color:#fff4db;border-bottom:1px solid #e4d4ac65;padding-block:12px;font-weight:500}
.cinematic-hero .text-link:hover{border-color:#fff4db}
.cinematic-footer{position:absolute;bottom:28px;left:0;right:0;border-top:1px solid #f1e4c738;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:28px;color:#e4dbc6}
.cinematic-footer p{font-size:11px;letter-spacing:.2px;margin:0}
.cinematic-footer>span{display:flex;gap:16px;font-size:8px;letter-spacing:1.8px}
@keyframes sunrise-reveal{from{transform:scale(1.035);opacity:.7}to{transform:scale(1);opacity:1}}
@media(min-width:1600px){.cinematic-hero .hero-copy{max-width:820px}.cinematic-hero h1{max-width:820px;font-size:72px}}
@media(max-width:980px){.cinematic-content{min-height:710px;padding-top:65px}.cinematic-hero .hero-copy{max-width:630px}.cinematic-hero h1{font-size:54px}.hero-backdrop img{width:140%;object-position:center}.cinematic-hero:after{background:linear-gradient(90deg,#191812e8,#201c12a8 55%,#201c1230),linear-gradient(0deg,#1917119e,transparent 45%)}.cinematic-footer>span{font-size:7px;letter-spacing:1.2px;gap:10px}}
@media(max-width:640px){.cinematic-content{min-height:760px;min-height:max(740px,calc(100svh - 110px));padding-top:58px;padding-bottom:108px;justify-content:center}.cinematic-hero .hero-copy{padding-bottom:20px;max-width:100%}.cinematic-hero h1{font-size:clamp(37px,10.4vw,48px);letter-spacing:-1.6px;line-height:1.13;text-wrap:initial}.cinematic-hero .eyebrow{font-size:8px;letter-spacing:1.8px;gap:12px;margin-bottom:27px}.hero-rule{width:24px}.hero-backdrop img{width:100%;object-position:58% center}.cinematic-hero:after{background:linear-gradient(90deg,#191812d9,#211b1599),linear-gradient(0deg,#1b160e8c,transparent 45%)}.cinematic-hero .hero-description{font-size:15px;max-width:290px;line-height:1.8;margin:24px 0 27px}.cinematic-hero .hero-actions{gap:18px}.cinematic-hero .text-link{font-size:11px}.cinematic-footer{bottom:25px;display:block;padding-top:19px}.cinematic-footer p{font-size:10px}.cinematic-footer>span{margin-top:13px;font-size:7px;letter-spacing:1.5px}}
@media(prefers-reduced-motion:reduce){.hero-backdrop img{animation:none}}
/* Four services, presented side by side. */
.care-cards .service-card{display:flex;flex-direction:column;background:#faf7ee;border:1px solid #e1d7bf;border-radius:10px;padding:27px 24px 22px;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.care-cards .service-top{margin-bottom:34px}
.care-cards .number{font-family:Georgia,serif;font-size:26px;font-style:italic;color:#968257;line-height:1}
.care-cards .service-card h3{font-size:24px;min-height:58px;letter-spacing:-.9px}
.care-cards .service-card>p{font-size:12px;color:#716753;min-height:42px;max-width:190px}
.care-cards .card-link{margin-top:auto;padding-top:19px;border-color:#ded2b6;font-size:11px;gap:12px;min-height:58px}
.care-cards .card-link>span{width:31px;height:31px;flex:0 0 31px;border:1px solid #cdbd94;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;transition:background .2s,color .2s}
.care-cards .service-card:hover{background:#eee5ce;border-color:#c5b17e;box-shadow:0 12px 24px #58421b0c;transform:translateY(-4px)}
.care-cards .service-card:hover .card-link>span{background:#302c22;border-color:#302c22;color:#fff7df}
@media(max-width:980px){.care-cards .service-card h3{min-height:0}.care-cards .service-card>p{max-width:none}}
@media(max-width:640px){.care-cards .service-card{padding:20px 16px 17px}.care-cards .service-top{margin-bottom:27px}.care-cards .number{font-size:24px}.care-cards .service-card h3{font-size:19px;min-height:46px;letter-spacing:-.6px}.care-cards .service-card>p{font-size:11px;min-height:43px}.care-cards .card-link{font-size:10px;gap:8px}.care-cards .card-link>span{width:25px;height:25px;flex-basis:25px;font-size:16px}}
/* Mission and approach stay visible beneath the clinic introduction. */
.mission-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px}
.mission-card{padding:33px 36px 35px;border:1px solid #ddd2b7;border-radius:10px;background:#fffdf7}
.mission-card:first-child{background:#eee5ce;border-color:#d8c99f}
.mission-card .eyebrow{font-size:9px;letter-spacing:1.8px;color:#837149;margin-bottom:19px}
.mission-card h3{font-size:25px;line-height:1.25;letter-spacing:-.7px;max-width:430px;margin-bottom:18px}
.mission-card>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#706858;margin-bottom:0}
@media(max-width:800px){.mission-cards{gap:18px}.mission-card{padding:27px}.mission-card h3{font-size:23px}.mission-card>p:not(.eyebrow){font-size:13px}}
@media(max-width:640px){.mission-cards{grid-template-columns:1fr;margin-top:28px;gap:16px}.mission-card{padding:26px 24px}.mission-card h3{font-size:24px}}
/* A unified clinic story with photograph, mission, and approach. */
.clinic-story{background:#ede5d2;padding:88px 0 80px;border-block:1px solid #e1d7bd}
.clinic-story-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:end;margin-bottom:42px}
.clinic-story-intro .eyebrow{color:#7b6b48;font-size:9px;letter-spacing:1.9px;margin-bottom:23px}
.clinic-story-intro h2{font-size:clamp(36px,3.6vw,53px);font-weight:400;line-height:1.12;letter-spacing:-1.8px}
.clinic-story-intro h2 em{font-family:Georgia,serif;font-style:italic;font-size:1.08em;letter-spacing:-1.8px;color:#806e43;display:inline-block;margin-top:8px}
.clinic-story-description p{font-size:14px;line-height:1.9;color:#6c624f;margin:0;max-width:485px}
.clinic-story-panels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:stretch}
.clinic-story-photo{margin:0;background:#ddd0ae;display:flex;flex-direction:column;border-radius:9px;overflow:hidden;min-width:0}
.clinic-story-photo img{display:block;width:100%;height:225px;object-fit:cover}
.clinic-story-photo figcaption{padding:25px 28px 27px;flex:1;display:flex;flex-direction:column;align-items:start}
.clinic-story-photo figcaption>span{font-size:8px;letter-spacing:1.7px;color:#685a39}
.clinic-story-photo figcaption p{font-family:Manrope,sans-serif;font-size:27px;line-height:1.25;letter-spacing:-.9px;margin:13px 0 22px}
.clinic-story-photo figcaption a{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;font-size:11px;border-top:1px solid #b7a67e;padding-top:15px}
.clinic-story-photo figcaption a>span{font-size:20px}
.clinic-principle{background:#fffdf7;padding:34px 30px 27px;border-radius:9px;display:flex;flex-direction:column;border:1px solid #e4dac5}
.clinic-principle .eyebrow{font-size:8px;color:#8d7950;letter-spacing:1.8px;margin:0 0 37px}
.clinic-principle h3{font-size:28px;line-height:1.22;font-weight:400;letter-spacing:-.9px;margin-bottom:24px}
.clinic-principle>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#776d59;margin-bottom:27px}
.principle-baseline{margin-top:auto;padding-top:20px;border-top:1px solid #e3dac6;font-size:10px;line-height:1.6;color:#8b7750}
.clinic-principle-dark{background:#363127;border-color:#363127;color:#fff5de}
.clinic-principle-dark .eyebrow{color:#d2ba80}
.clinic-principle-dark>p:not(.eyebrow){color:#dfd5bf}
.clinic-principle-dark .principle-baseline{border-color:#6c6046;color:#dac18a}
.clinic-promises{padding-top:44px;margin-top:48px;border-top:1px solid #d5c7a8}
.clinic-promises-heading{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:31px}
.clinic-promises-heading .eyebrow{margin:0;color:#85724c;font-size:8px;letter-spacing:1.5px}
.clinic-promises-heading h3{font-size:23px;letter-spacing:-.7px;line-height:1.3}
.clinic-promises-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:37px}
.clinic-promises-grid>div+div{border-left:1px solid #d5c7a8;padding-left:30px}
.clinic-promises-grid h4{font-size:17px;font-weight:500;line-height:1.4;letter-spacing:-.4px;margin-bottom:13px}
.clinic-promises-grid p{font-size:12px;color:#786c55;line-height:1.85;margin:0}
@media(max-width:1100px){.clinic-story-intro{gap:45px}.clinic-principle{padding:27px 23px}.clinic-principle h3{font-size:25px}.clinic-story-photo figcaption{padding:23px}.clinic-story-photo figcaption p{font-size:25px}.clinic-principle>p:not(.eyebrow){font-size:12px}.clinic-promises-grid{gap:24px}.clinic-promises-grid>div+div{padding-left:24px}}
@media(max-width:850px){.clinic-story{padding:65px 0}.clinic-story-intro{grid-template-columns:1fr;gap:25px}.clinic-story-description p{max-width:650px}.clinic-story-panels{grid-template-columns:1fr 1fr}.clinic-story-photo{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}.clinic-story-photo img{height:260px}.clinic-story-photo figcaption{padding:29px}.clinic-principle{padding:28px}.clinic-principle .eyebrow{margin-bottom:24px}.clinic-promises-heading{display:block}.clinic-promises-heading .eyebrow{margin-bottom:15px}.clinic-promises-grid{gap:20px}.clinic-promises-grid>div+div{padding-left:20px}}
@media(max-width:600px){.clinic-story{padding:52px 0}.clinic-story-intro{gap:22px;margin-bottom:28px}.clinic-story-intro h2{font-size:35px;letter-spacing:-1.3px}.clinic-story-intro h2 em{letter-spacing:-1.3px;font-size:1.05em}.clinic-story-intro .eyebrow{font-size:8px;margin-bottom:20px}.clinic-story-description p{font-size:13px;line-height:1.85}.clinic-story-panels{grid-template-columns:1fr;gap:14px}.clinic-story-photo{display:flex;grid-column:auto}.clinic-story-photo img{height:225px}.clinic-story-photo figcaption{padding:23px 25px}.clinic-story-photo figcaption p{font-size:27px}.clinic-story-photo figcaption p br{display:none}.clinic-principle{padding:28px 25px}.clinic-principle h3{font-size:28px;margin-bottom:19px}.clinic-principle>p:not(.eyebrow){font-size:13px}.clinic-principle .eyebrow{margin-bottom:23px}.clinic-promises{margin-top:34px;padding-top:31px}.clinic-promises-heading h3{font-size:23px}.clinic-promises-grid{grid-template-columns:1fr;gap:24px}.clinic-promises-grid>div+div{padding:22px 0 0;border-left:0;border-top:1px solid #d5c7a8}.clinic-promises-grid h4{font-size:18px}.clinic-promises-grid p{font-size:13px}}
/* Disclosure indicators follow the same motion as their content. */
.accordion summary>span,.inline-details summary>span,.provider-list summary>b{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.provider-list details[open]>summary>b{transform:rotate(45deg)}
details[data-animating="closing"]>summary>span,details[data-animating="closing"]>summary>b{transform:rotate(0deg)}
@media(prefers-reduced-motion:reduce){.accordion summary>span,.inline-details summary>span,.provider-list summary>b{transition:none}}
/* Complete clinic footer. */
.clinic-footer{background:#eee6ce;color:#302c22;padding:0;border-top:1px solid #d6c8a3}
.footer-welcome{display:grid;grid-template-columns:1.8fr .85fr 1fr;gap:48px;padding:59px 0 48px;align-items:start}
.footer-identity{display:flex;gap:29px;align-items:flex-start}
.footer-logo{display:block;flex:0 0 110px;background:white;border-radius:5px;overflow:hidden;box-shadow:0 1px 7px #5c482408}
.footer-logo img{width:110px;height:auto}
.footer-description .eyebrow{font-size:8px;letter-spacing:1.5px;color:#80704b;margin:4px 0 16px}
.footer-description h2{font-size:31px;line-height:1.18;letter-spacing:-1px;margin-bottom:18px}
.footer-description>p:last-child{font-size:12px;color:#71664e;line-height:1.85;max-width:305px;margin:0}
.footer-visit h3{font-size:20px;letter-spacing:-.5px;margin:2px 0 20px}
.footer-visit address{font-size:12px;font-style:normal;line-height:1.9;color:#71664e;margin-bottom:10px}
.footer-directions{display:inline-flex;align-items:center;gap:19px;font-size:11px;padding-bottom:5px;border-bottom:1px solid #bead80}
.footer-phone{display:block;font-size:17px;font-weight:500;letter-spacing:-.3px;margin:20px 0 2px}
.footer-email{font-size:12px}
.practitioner-bio.page-prose ul{list-style:disc;padding-left:1.4em;margin:24px 0}
.practitioner-bio.page-prose ul li{padding-left:.3em;margin:0 0 16px;line-height:1.75}
.practitioner-bio.page-prose ul li::marker{color:#78845f}
.footer-clinic-hours{margin-top:24px;grid-column:2;grid-row:3}
.footer-visit .footer-clinic-hours h3{font-size:16px;font-weight:600;letter-spacing:0;margin:0 0 8px}
.footer-clinic-hours p{font-size:16px;line-height:1.75;color:#e0e3d9;margin:0}
.footer-booking>p{font-family:Manrope,sans-serif;font-size:20px;line-height:1.35;letter-spacing:-.5px;margin:0 0 19px}
.footer-booking .button{font-size:11px;gap:15px;background:#302c22;color:#fff6dc;border-color:#302c22;padding-left:18px;white-space:nowrap}
.footer-booking .button>span{background:#ddcb95;color:#302c22;width:31px;height:31px;flex-basis:31px}
.footer-booking .button:hover{background:#4a4030}
.footer-hours-note{display:block;color:#807354;font-size:10px;line-height:1.85;margin-top:15px}
.footer-social{display:flex;gap:20px;margin-top:23px;font-size:11px}
.footer-social a{display:flex;gap:10px;align-items:center}
.footer-navigation{display:grid;grid-template-columns:1fr 4fr;gap:32px;border-block:1px solid #d5c7a5;padding:37px 0 40px}
.footer-care-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.footer-navigation h3{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.3px;color:#756442;margin:0 0 16px}
.footer-navigation a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:6px 0;font-size:11px;line-height:1.6;color:#514936;border:0;transition:color .18s}
.footer-navigation a>span{font-size:13px;color:#94825a}
.clinic-footer a:not(.button):not(.footer-logo):hover{color:#7b6127;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#aa8e50}
.footer-colophon{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:23px 0 27px;color:#76694c;font-size:9px}
.footer-colophon strong{font-weight:500;color:#4c422b}
.footer-colophon a{display:flex;align-items:center;gap:6px}
.footer-colophon>a:last-child{gap:16px}
@media(max-width:1150px){.footer-welcome{grid-template-columns:1.65fr 1fr;gap:35px}.footer-identity{grid-row:span 2}.footer-booking{grid-column:2}.footer-visit{display:grid;grid-template-columns:1fr 1fr;column-gap:15px}.footer-visit h3,.footer-visit address,.footer-directions{grid-column:1}.footer-phone{grid-row:2;grid-column:2;margin:0;align-self:start;font-size:15px}.footer-email{grid-row:2;grid-column:2;align-self:end;font-size:11px}.footer-directions{justify-self:start}.footer-booking>p{display:none}.footer-social{margin-top:16px}.footer-navigation,.footer-care-links{gap:22px}}
@media(max-width:850px){.footer-welcome{grid-template-columns:1fr 1fr;padding:45px 0 35px}.footer-identity{grid-row:auto;grid-column:1/-1;gap:30px}.footer-description>p:last-child{max-width:470px}.footer-visit{display:block}.footer-booking{grid-column:2}.footer-booking>p{display:block}.footer-phone{margin-top:20px}.footer-logo{flex-basis:105px}.footer-logo img{width:105px}.footer-navigation{grid-template-columns:1fr 2fr;gap:35px}.footer-care-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}.footer-navigation a{min-height:38px;font-size:12px}.footer-navigation h3{font-size:11px}.footer-colophon{flex-wrap:wrap;row-gap:12px}.footer-colophon>span{flex:1 0 100%}}
@media(max-width:520px){.footer-welcome{gap:30px 20px}.footer-identity{gap:22px}.footer-logo{flex-basis:83px}.footer-logo img{width:83px}.footer-description h2{font-size:27px}.footer-description .eyebrow{font-size:7px;letter-spacing:1px;margin-top:0;margin-bottom:12px}.footer-description>p:last-child{font-size:11px;line-height:1.85}.footer-visit{grid-column:1/-1}.footer-visit h3{font-size:22px;margin-bottom:13px}.footer-visit address{font-size:13px}.footer-phone{font-size:18px}.footer-email{font-size:13px}.footer-booking{grid-column:1/-1;padding-top:26px;border-top:1px solid #d5c7a5}.footer-booking>p{font-size:23px}.footer-booking>p br{display:none}.footer-booking .button{font-size:12px;gap:26px}.footer-hours-note{font-size:11px}.footer-social{font-size:12px;gap:26px;margin-top:23px}.footer-navigation{grid-template-columns:1fr;gap:30px;padding:30px 0}.footer-clinic-links{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.footer-clinic-links h3{grid-column:1/-1;margin-bottom:10px}.footer-care-links{gap:26px 22px}.footer-colophon{font-size:9px;gap:14px}.footer-navigation a{min-height:42px;font-size:11px}.footer-navigation h3{font-size:10px;margin-bottom:10px}}
/* Readable type and a restrained gold-accent palette. */
:root{--ink:#282923;--muted:#595b54;--cream:#f5f5f0;--line:#d9dbd3;--sand:#e8dec1;--white:#ffffff}
body{font-size:18px;line-height:1.8;background:white;color:var(--ink)}
.arrow-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}
.button .arrow-icon{width:19px;height:19px}
#main h2{font-size:clamp(40px,4.3vw,62px);line-height:1.13;letter-spacing:-1.8px}
#main h3{font-size:30px;line-height:1.25;letter-spacing:-.8px}
#main h4{font-size:23px;line-height:1.35}
#main p:not(.eyebrow):not(.credentials):not(.start-date),#main .accordion li{font-size:18px;line-height:1.8;color:#595b54}
#main .eyebrow,.clinic-footer .eyebrow{font-size:12px;letter-spacing:1.5px;color:#746037}
#main .text-link,#main .button,#main .card-link,#main .provider-body a,#main .accordion details>a{font-size:16px}
#main .section-heading>p{max-width:470px}
#main .cinematic-hero h1{font-size:clamp(43px,4.8vw,74px)}
#main .cinematic-hero .hero-copy{max-width:850px}
#main .cinematic-hero .hero-description{font-size:21px;color:#fff5e1;max-width:470px}
#main .cinematic-hero .eyebrow{color:#eee3c5}
#main .cinematic-footer p{font-size:15px;color:#f1e8d4}
.cinematic-footer>span{font-size:12px}
.cinematic-content{padding-top:76px;padding-bottom:105px;min-height:790px}
#main .cinematic-hero .text-link{color:#fff5df}
.utility{background:#eee8d6;font-size:14px}
.site-header{background:#fffffffa}
#main-nav>a:not(.button),.mega>summary{font-size:14px;padding-inline:10px}
.nav-row{gap:20px}.site-header .header-wordmark{min-width:170px}
.button,.nav-book{font-size:15px;min-height:54px}
.wordmark-name{font-size:36px}.wordmark-descriptor{font-size:11px;letter-spacing:3px}
.menu-toggle{font-size:16px}
.mega-heading .eyebrow{font-size:12px}.mega-heading>div>span{font-size:30px}
.menu-overview,.mega-bottom{font-size:15px}
.mega-panel .directory h3{font-size:15px;color:#5d5036;letter-spacing:0}
.mega-panel .directory a{font-size:16px;min-height:46px}
.mega-panel .directory-group:first-child{background:#f5f1e5}
.mega-bottom{background:#f7f7f3}
#main .care-cards .service-card{background:#fff;border-color:#d9dcd4;border-top:3px solid #b4a16e;padding:29px 23px 24px;box-shadow:0 6px 24px #22291806}
#main .care-cards .service-card:hover{background:#faf8f0;border-color:#b4a16e;box-shadow:0 10px 28px #2229180d}
#main .care-cards .service-card h3{font-size:30px;min-height:76px}
#main .care-cards .service-card>p{font-size:18px;max-width:none;min-height:96px}
#main .care-cards .card-link{font-size:15px;line-height:1.5;min-height:70px}
.care-cards .service-foot{gap:20px}.care-cards .service-top{margin-bottom:25px}
.clinic-story{background:#f2f3ef;border-color:#e0e2da}
.clinic-story-intro{grid-template-columns:1.1fr 1fr;gap:60px}
#main .clinic-story-description p{max-width:540px}
#main .clinic-story-intro h2 em{color:#786337}
.clinic-story-photo{background:#fff;border:1px solid #dadcd4}
.clinic-story-photo img{height:250px}
#main .clinic-story-photo figcaption p{font-size:30px;line-height:1.25;color:#282923}
.clinic-story-photo figcaption>span{font-size:12px;color:#665a3e}
.clinic-story-photo figcaption a{font-size:16px;min-height:48px;border-color:#d8dccf}
.clinic-principle{background:#fff;border-color:#dadcd4}
#main .clinic-principle h3{font-size:32px}
#main .clinic-principle .eyebrow{font-size:12px}
.principle-baseline{font-size:14px;color:#6d5c35;border-color:#d9dccf}
.clinic-principle-dark{background:#2d302a;border-color:#2d302a}
#main .clinic-principle-dark h3{color:#fff}
#main .clinic-principle-dark>p:not(.eyebrow){color:#e8e9df}
#main .clinic-principle-dark .eyebrow{color:#e6ce91}
.clinic-principle-dark .principle-baseline{color:#e6ce91;border-color:#5d6156}
.clinic-promises{border-color:#d3d7cd}.clinic-promises-grid>div+div{border-color:#d3d7cd}
.clinic-promises-heading{align-items:flex-start}
#main .clinic-promises-heading h3{font-size:30px}
#main .clinic-promises-grid h4{font-size:23px}
#main .clinic-promises-grid p{font-size:17px}
.welcome{background:#f1f3ee;border:1px solid #dfe3d9}
#main .welcome-copy h3{font-size:46px}
.credentials,.start-date{font-size:16px;color:#56594f}
.provider-list summary{font-size:17px;grid-template-columns:245px 1fr 24px;padding-block:27px;color:#595b54}
.provider-category{font-size:25px;line-height:1.3}
.provider-body{padding-left:275px}
.treatments{background:#2d302a;color:#fff}
#main .treatments h2 em{color:#e1c786}
#main .treatments .eyebrow{color:#e1c786}
#main .treatments .section-heading>p{color:#e5e8dd}
#main .directory h3{font-family:'DM Sans',sans-serif;font-size:20px;color:#e1c786;letter-spacing:0}
.directory a{font-size:18px;padding:15px 0;border-color:#ffffff30;color:inherit}
.treatments .directory a:hover{color:#f1d89d}
.conditions,.faq-grid{grid-template-columns:1fr 1.2fr;gap:65px}
.accordion summary{font-size:19px;line-height:1.55;padding-block:25px}
.inline-details summary{font-size:17px;min-height:52px}
.accordion ul{font-size:18px}
.patient-section{background:#f4f5f1}
.contact{gap:65px}
.contact-card{background:#f7f7f3;border:1px solid #daddd3;border-top:4px solid #b5a06a}
.contact-links{font-size:18px}
#main .contact-small{font-size:16px!important}
.contact-card hr{border-color:#d8ddcf}
.clinic-footer{background:#252822;color:#fff;border-top:4px solid #b4a16e}
.footer-welcome{grid-template-columns:1.7fr 1fr 1.1fr;gap:38px}
.footer-description h2{font-size:38px;color:#fff}
.footer-description>p:last-child,.footer-visit address{font-size:17px;color:#e0e3d9}
.clinic-footer .eyebrow{color:#e1c786;font-size:12px}
.footer-visit h3{font-size:28px;color:#fff}
.footer-visit{display:block}
.footer-directions,.footer-email,.footer-social{font-size:16px;color:#edf0e5}
.footer-phone{font-size:23px;margin-top:20px}
.footer-booking>p{font-size:27px;color:#fff}
.footer-booking .button{font-size:15px;background:#dbc793;color:#252822;border-color:#dbc793;white-space:normal}
.footer-booking .button>span{background:#252822;color:#fff}
.footer-booking .button:hover{background:#ead9ac}
.footer-hours-note{font-size:15px;color:#d9ddcf}
.footer-navigation{border-color:#ffffff30}
.footer-navigation h3{font-size:16px;color:#e1c786}
.footer-navigation a{font-size:16px;min-height:44px;color:#e6e9de}
.footer-navigation a>span{color:#e1c786}
.footer-colophon{font-size:14px;color:#d9ddcf}
.footer-colophon strong{color:#fff}
.clinic-footer a:not(.button):not(.footer-logo):hover{color:#f1d89d}
@media(max-width:1200px){.footer-welcome{grid-template-columns:1fr 1fr}.footer-identity{grid-column:1/-1;grid-row:auto}.footer-description>p:last-child{max-width:600px}.footer-booking{grid-column:2}.footer-booking>p{display:block}.footer-visit{display:block}.footer-navigation{grid-template-columns:1fr 2fr}.footer-care-links{grid-template-columns:1fr 1fr}.clinic-story-panels{grid-template-columns:1fr 1fr}.clinic-story-photo{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.clinic-story-photo img{height:290px}.clinic-story-photo figcaption{justify-content:center}.clinic-story-photo figcaption a{margin-top:18px}.cinematic-footer>span{font-size:10px}}
@media(min-width:981px) and (max-width:1250px){.nav-book{display:none}.nav-row{gap:15px}.site-header .header-wordmark{min-width:160px}#main-nav{margin-left:auto}}
@media(max-width:980px){#main-nav>a:not(.button),.mega>summary{font-size:17px;padding:15px}.mega-panel .directory a{font-size:16px}.mega-panel .directory h3{font-size:15px}.provider-list summary{grid-template-columns:210px 1fr 24px}.provider-body{padding-left:235px}.cinematic-content{min-height:790px}.section-heading{align-items:start}.clinic-story-intro{grid-template-columns:1fr;gap:25px}.section-heading>p{max-width:none}.conditions,.faq-grid{gap:35px}.footer-colophon>span{flex-basis:100%}.footer-colophon{flex-wrap:wrap}}
@media(max-width:700px){#main h2{font-size:42px;letter-spacing:-1.2px}.section-heading{display:block}.section-heading>p{margin-top:24px}.service-grid{grid-template-columns:1fr 1fr}.clinic-promises-grid{grid-template-columns:1fr;gap:25px}.clinic-promises-grid>div+div{padding:24px 0 0;border-left:0;border-top:1px solid #d3d7cd}.clinic-promises-heading{display:block}.clinic-promises-heading .eyebrow{margin-bottom:20px}.conditions,.faq-grid,.contact{grid-template-columns:1fr;gap:35px}.cinematic-footer>span{display:none}.provider-list summary{grid-template-columns:1fr 24px;gap:12px}.provider-list summary>span:nth-child(2){grid-column:1;font-size:17px}.provider-list summary b{grid-column:2;grid-row:1}.provider-body{padding-left:0}.footer-identity{gap:25px}.footer-description h2{font-size:32px}.footer-visit,.footer-booking{grid-column:1/-1}.footer-navigation{grid-template-columns:1fr}.footer-clinic-links{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.footer-clinic-links h3{grid-column:1/-1}}
@media(max-width:600px){#main h2{font-size:39px}#main h3{font-size:28px}#main p:not(.eyebrow):not(.credentials):not(.start-date),#main .accordion li{font-size:18px}.service-grid{grid-template-columns:1fr}.care-cards .service-top{margin-bottom:20px}#main .care-cards .service-card h3{min-height:0;font-size:32px}#main .care-cards .service-card>p{min-height:0;margin-bottom:24px}#main .care-cards .card-link{font-size:17px;min-height:56px}.service-foot{align-items:start}.clinic-story-panels{grid-template-columns:1fr}.clinic-story-photo{display:flex;grid-column:auto}.clinic-story-photo img{height:225px}#main .clinic-story-intro h2 em{font-size:1em}.clinic-principle{padding:29px 25px}.clinic-principle .eyebrow{margin-bottom:25px}.cinematic-content{min-height:830px;padding-top:52px;padding-bottom:110px}#main .cinematic-hero .hero-description{font-size:20px}#main .cinematic-footer p{font-size:14px}.hero-actions{align-items:flex-start;gap:16px;flex-wrap:wrap}.hero-actions .button{font-size:16px}.cinematic-hero .hero-actions{gap:20px}.welcome-copy{padding:28px 24px}#main .welcome-copy h3{font-size:38px}.directory{grid-template-columns:1fr;gap:30px}.mega-panel .directory{grid-template-columns:1fr}.mega-panel .directory a{font-size:17px}.mega-panel .directory h3{font-size:16px}.mega-panel .directory-group{padding:12px!important}.footer-identity{flex-wrap:wrap}.footer-logo{flex-basis:100px}.footer-logo img{width:100px}.footer-description{flex:1 1 190px}.footer-description>p:last-child{font-size:17px}.footer-description .eyebrow{font-size:12px;line-height:1.6}.footer-hours-note{font-size:15px}.footer-social{font-size:16px}.footer-navigation a{font-size:16px;overflow-wrap:anywhere}.footer-navigation h3{font-size:16px}.footer-care-links{gap:28px 23px}.footer-colophon{font-size:14px;align-items:start}.footer-booking{border-color:#ffffff30}.footer-booking .button{font-size:16px}.utility .wrap{font-size:12px}.clinic-promises-heading h3{font-size:28px}#main .contact-small{font-size:16px!important}}
/* Keep body-copy contrast and sizing appropriate on dark surfaces. */
#main .cinematic-hero p:not(.eyebrow):not(.credentials):not(.start-date){color:#fff5e1}
#main .cinematic-hero .hero-description:not(.eyebrow):not(.credentials):not(.start-date){font-size:21px}
#main .cinematic-footer p:not(.eyebrow):not(.credentials):not(.start-date){font-size:15px;color:#f1e8d4}
#main .clinic-principle-dark p:not(.eyebrow):not(.credentials):not(.start-date){color:#e8e9df}
#main .treatments p:not(.eyebrow):not(.credentials):not(.start-date){color:#e5e8dd}
#main .clinic-story-photo figcaption p:not(.eyebrow):not(.credentials):not(.start-date){font-size:30px;line-height:1.25;color:#282923}
@media(max-width:600px){.footer-identity{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px 22px;align-items:start}.footer-logo{grid-column:1;grid-row:1/3}.footer-description{display:contents}.footer-description .eyebrow{grid-column:2;margin:0}.footer-description h2{grid-column:2;font-size:31px;margin:0}.footer-description>p:last-child{grid-column:1/-1;max-width:none;margin-top:8px}}
/* GSAP owns photo transforms when motion is enabled. */
.gsap-motion .hero-backdrop img{animation:none}
.clinic-story-photo,.portrait{overflow:hidden}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Interior pages share the homepage's type, palette, navigation and motion. */
.interior-hero{background:#252722;color:#fff;padding:34px 0 80px;position:relative;overflow:hidden}
.interior-hero::after{content:'';position:absolute;right:-120px;top:-260px;width:650px;height:650px;border:1px solid #aaa27b55;border-radius:50%;pointer-events:none}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:15px;color:#ddd9c9;margin-bottom:65px;position:relative;z-index:1}
.breadcrumbs a{text-decoration:underline;text-underline-offset:5px}
.interior-hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:end;position:relative;z-index:1}
.interior-hero .eyebrow{color:#d3c595}.interior-hero h1{font-size:clamp(44px,5.5vw,78px);max-width:850px;line-height:1.06;letter-spacing:-.055em;text-wrap:balance}
.interior-intro{border-left:1px solid #ffffff30;padding-left:40px}.interior-intro p{font-size:20px;color:#e4e2d8;line-height:1.65}.interior-intro .button{font-size:16px}
.interior-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:68px;padding-top:76px;padding-bottom:90px;align-items:start}
.page-index{position:sticky;top:150px;max-height:calc(100vh - 180px);overflow:auto;padding-right:15px}.page-index .eyebrow{font-size:12px;margin-bottom:18px}
.page-index nav{display:grid;border-top:1px solid #deded7}.page-index nav a{padding:12px 0;font-size:15px;line-height:1.45;border-bottom:1px solid #deded7;transition:color .2s}.page-index nav a:hover{color:#766638}.page-help{display:block;margin-top:30px;font-size:16px;line-height:1.7}
.page-sections{min-width:0}.interior-section{padding-bottom:64px;margin-bottom:64px;border-bottom:1px solid #dddcd5;scroll-margin-top:20px}.interior-section:last-child{margin-bottom:0}
.interior-section-heading{margin-bottom:32px}.interior-section h2{font-size:clamp(30px,3vw,46px);line-height:1.17;text-wrap:balance}.interior-section h3{font-size:clamp(25px,2.2vw,32px);margin:26px 0 18px;line-height:1.25}
.section-content{display:flow-root}.section-content>.page-photo:first-child{float:right;width:44%;margin:0 0 28px 35px}.page-photo{margin:28px 0;overflow:hidden;border-radius:5px;background:#ecebe5}.page-photo img{width:100%;max-height:560px;object-fit:contain}.page-prose{font-size:18px;line-height:1.85;color:#484b43;overflow-wrap:anywhere}.page-prose p{margin:0 0 1.2em}.page-prose a:not(.button){color:#66552a;text-decoration:underline;text-underline-offset:4px}.page-prose h2,.page-prose h3,.page-prose h4{color:#262923;margin:1.4em 0 .65em}.page-prose h4{font-size:23px}.page-prose ul{list-style:disc}.page-prose ol{list-style:decimal}.page-prose li{padding-left:5px}.page-prose strong{font-weight:700}.page-prose img{max-height:600px;object-fit:contain;width:auto;margin:30px auto}.page-prose blockquote{border-left:3px solid #b3a475;padding:15px 26px;background:#f3f2eb}
.page-prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin:30px 0;font-size:16px}.page-prose td,.page-prose th{padding:16px;border:1px solid #dcded4;text-align:left;min-width:135px}.page-prose th{background:#eeeee7;color:#262923}.page-prose details{border-block-end:1px solid #ddd;padding:20px 0}.page-prose summary{cursor:pointer;color:#262923;font-weight:600}.page-prose details>p{margin-top:20px}
.page-action{margin:12px 12px 12px 0;max-width:100%;white-space:normal;text-align:left;font-size:16px}.interior-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.interior-card{padding:28px;border:1px solid #dcded5;background:#f7f7f2;border-radius:6px;min-width:0}.interior-card h3:first-child{margin-top:0}.interior-card h3{font-size:26px}.interior-card .page-photo{margin:20px -28px}.interior-card .page-photo img{height:230px;object-fit:cover}.interior-card .page-prose{font-size:17px;line-height:1.75}.interior-faq .accordion summary{font-size:20px}.interior-faq .accordion .page-prose{padding:8px 25px 25px}
.interior-next{background:#eeeee6;padding:75px 0}.interior-next>.wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:75px;align-items:center}.interior-next h2{font-size:clamp(36px,4vw,58px)}.interior-back{display:block;margin-top:25px;text-decoration:underline;text-underline-offset:5px}
.article-layout{display:grid;grid-template-columns:230px minmax(0,790px);gap:70px;padding-block:80px}.article-aside{font-size:16px}.article-aside p:not(.eyebrow){margin-top:35px}.article-aside a{text-decoration:underline;text-underline-offset:5px}.article-body{font-size:20px;line-height:1.9}.article-body>img:first-child{width:100%;max-height:540px;object-fit:cover;margin:0 0 40px;border-radius:5px}.article-library{padding-block:70px 100px}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.article-card{display:flex;flex-direction:column;background:#fff;border:1px solid #deded7;border-radius:6px;overflow:hidden;transition:box-shadow .25s}.article-card:hover{box-shadow:0 14px 45px #25272212}.article-card>img{width:100%;height:230px;object-fit:cover}.article-card>div{padding:28px}.article-card h2{font-size:28px;margin-bottom:18px}.article-card p:not(.eyebrow){font-size:17px;line-height:1.7}.article-card .eyebrow{font-size:12px}.article-read{display:flex;gap:15px;align-items:center;font-size:16px;font-weight:600}
@media(max-width:1100px){.interior-layout{grid-template-columns:190px minmax(0,1fr);gap:35px}.interior-hero-grid{gap:35px}.interior-intro{padding-left:25px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.interior-hero{padding:25px 0 48px}.breadcrumbs{margin-bottom:38px;font-size:13px}.interior-hero-grid,.interior-layout,.article-layout,.interior-next>.wrap{grid-template-columns:1fr;gap:30px}.interior-hero h1{font-size:44px}.interior-intro{border-left:0;padding:0}.interior-intro p{font-size:18px}.interior-layout{padding-top:30px}.page-index{position:static;max-height:none;padding:0}.page-index nav{display:flex;overflow:auto;gap:12px;padding:12px 0}.page-index nav a{flex:0 0 190px;border:1px solid #ddd;padding:14px;border-radius:4px}.page-help{display:none}.interior-section{padding-bottom:40px;margin-bottom:40px}.interior-section-heading{gap:14px}.interior-card-grid,.article-grid{grid-template-columns:1fr}.section-content>.page-photo:first-child{float:none;width:100%;margin:0 0 26px}.interior-next{padding:48px 0}.article-layout{padding-block:40px}.article-aside{display:none}.article-body{font-size:18px}.article-card>img{height:250px}.page-prose table{max-width:100%}}
#main .interior-hero .eyebrow{color:#d3c595}#main .interior-hero .interior-intro p{color:#e4e2d8}#main .interior-section h2{font-size:clamp(30px,3vw,46px)}#main .interior-card h3{font-size:26px}#main .article-card h2{font-size:28px}#main .article-card .eyebrow{font-size:12px}#main .interior-next h2{font-size:clamp(36px,4vw,58px)}
.article-search{max-width:650px;margin-bottom:25px}.article-search label{display:block;font-size:20px;margin-bottom:12px;font-weight:600}.article-search>div{display:flex;gap:12px}.article-search input{min-width:0;flex:1;border:1px solid #bbbdb0;border-radius:5px;padding:15px;background:#fff;color:#252722;font-size:18px}.article-count{margin-bottom:35px}.article-count a{text-decoration:underline}
.contact-page-form{max-width:900px;padding-block:65px 90px}.contact-page-form h2,.contact-page-form h1{margin-bottom:25px}.clinic-contact-form{margin-top:32px}.clinic-contact-form label{font-size:18px}.clinic-contact-form input,.clinic-contact-form textarea{font-family:inherit;font-size:18px;border-color:#b7bbad;border-radius:5px;padding:15px}.clinic-contact-form input:focus,.clinic-contact-form textarea:focus{outline:2px solid #a89a68;outline-offset:2px;box-shadow:none}.clinic-contact-form .errorlist{color:#9d2b28}
#main .interior-card .page-price{font-size:30px;font-weight:600;color:#706037;margin:15px 0}.page-index{scrollbar-width:thin;scrollbar-color:#b7b7a8 transparent}
.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}.source-grid>div{padding:25px;background:#f6f6f1;border:1px solid #deded5;border-radius:5px}.source-grid h3{margin-top:0}.source-item{padding:10px 0;border-bottom:1px solid #deded5}.source-note{padding:25px;background:#f2efdf;border-left:3px solid #a99b6c;margin:25px 0}.source-stat{font-size:34px;font-weight:600;color:#706037;margin:14px 0}.page-prose .source-grid p:last-child{margin-bottom:0}@media(max-width:760px){.source-grid{grid-template-columns:1fr}}
/* Keep interior contrast and fee emphasis above the homepage-wide paragraph rules. */
#main .interior-hero .interior-intro p{color:#e4e2d8!important}
#main .interior-card .page-price{font-size:30px!important;color:#706037!important}
/* CMS practitioner profiles: one shared presentation across all service pages. */
.practitioner-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;padding:35px 0;border-bottom:1px solid #dcdfd5;align-items:start}.practitioner-card:first-child{padding-top:0}.practitioner-card:last-child{border-bottom:0}.practitioner-card:not(:has(.practitioner-photo)){grid-template-columns:1fr}.practitioner-photo{margin:0;position:sticky;top:150px}.practitioner-photo img{width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:6px;background:#f3f3ed}.practitioner-info{min-width:0}#main .practitioner-info h3{margin:0 0 12px;font-size:clamp(28px,3vw,40px)}#main .practitioner-info .eyebrow{margin:0 0 12px;color:#776735;font-size:13px;line-height:1.5}#main .practitioner-info .credentials{font-size:16px;color:#62665b;margin:0 0 20px}.practitioner-services{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 24px}.practitioner-services li{margin:0}.practitioner-services a{display:block;padding:7px 12px;border:1px solid #d7d9cc;border-radius:4px;font-size:14px;text-decoration:none;background:#f6f6ef}.practitioner-booking-note{border-left:3px solid #b6a570;padding:15px 20px;background:#f4f3ea;margin:25px 0}.practitioner-booking-note p:last-child{margin-bottom:0}.practitioner-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;overflow-wrap:anywhere}.practitioner-actions>a:not(.button){text-decoration:underline;text-underline-offset:4px;font-size:17px}.practitioner-actions .button{white-space:normal;text-align:left;font-size:16px}.practitioner-anchor{display:block;scroll-margin-top:155px}.provider-body .practitioner-card{padding-block:35px}.provider-body .practitioner-photo{position:static}.provider-body .practitioner-actions>a{display:inline-flex}.provider-body .practitioner-services a{display:block;font-weight:400}.provider-body>.practitioner-list{margin-bottom:25px}
@media(max-width:760px){.practitioner-card{grid-template-columns:1fr;gap:25px}.practitioner-photo{position:static;width:min(240px,100%)}.practitioner-photo img{max-height:320px}.practitioner-actions{align-items:flex-start;flex-direction:column}.practitioner-booking-note{padding:15px}.practitioner-services a{font-size:15px}}

/* Service pages flow in one centered column without an in-page sidebar. */
.interior-layout.service-layout{display:block;max-width:1080px}
.service-layout .page-prose{max-width:78ch}

/* Editorial interiors: preserve the original photography and readable measures. */
.interior-hero::after{display:none}
.interior-hero .breadcrumbs{margin-bottom:48px}
.service-layout .interior-section{padding-bottom:56px;margin-bottom:56px}
.service-layout .interior-section-heading{max-width:850px;margin-bottom:30px}
.service-layout .section-content:has(>.page-photo:first-child){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:44px;align-items:start}
.service-layout .section-content>.page-photo:first-child{float:none;grid-column:2;grid-row:1 / span 6;width:100%;margin:0}
.service-layout .section-content:has(>.page-photo:first-child)>:not(.page-photo){grid-column:1}
.service-layout .section-content>.page-photo:first-child+h3{margin-top:0}
.service-layout .page-photo{background:transparent;border-radius:4px}
.service-layout .page-photo img{width:auto;height:auto;max-width:100%;max-height:520px;margin-inline:auto;object-fit:contain;border-radius:4px}
.service-layout .interior-card-grid{gap:40px 32px}
.service-layout .interior-card{background:#fff;border:0;border-top:1px solid #dcd8cc;border-radius:0;padding:26px 0 0}
.service-layout .interior-card .page-photo{margin:22px 0}
.service-layout .interior-card .page-photo img{width:100%;height:auto;max-height:none;object-fit:contain}
#main .service-layout .interior-card h3{font-size:clamp(25px,2.3vw,31px);line-height:1.3}
.service-layout .interior-card .page-prose{font-size:18px;line-height:1.8}
.service-layout .practitioner-card{grid-template-columns:210px minmax(0,1fr);gap:44px;padding-block:46px}
.service-layout .practitioner-card:not(:has(.practitioner-photo)){grid-template-columns:1fr}
.service-layout .practitioner-photo img{width:100%;height:auto;max-height:none;background:transparent}
.service-layout .practitioner-bio{max-width:66ch}
.article-hero{padding-bottom:58px}
.article-hero .interior-hero-grid{display:block;max-width:980px}
.article-hero h1{font-size:clamp(38px,4.8vw,66px);max-width:950px;line-height:1.14;letter-spacing:-.04em}
.article-hero .interior-intro{border:0;padding:24px 0 0}
#main .article-hero .interior-intro p{font-size:16px;margin:0}
.article-layout{grid-template-columns:180px minmax(0,720px);justify-content:center;gap:60px;padding-block:64px 88px}
.article-aside{border-top:1px solid #c9bea0;padding-top:22px}
.article-body{min-width:0;font-size:20px;line-height:1.85}
.article-body>img,.article-body>img:first-child{width:auto;height:auto;max-width:100%;max-height:480px;object-fit:contain;margin:0 auto 38px;border-radius:4px}
.article-body p{margin-bottom:1.5em}
.article-card{border:0;border-top:1px solid #d9d4c6;border-radius:0;box-shadow:none}
.article-card:hover{box-shadow:none}
.article-card:hover h2{color:#756437}
.article-card .article-media{height:240px;padding:18px 0;background:#f7f6f2;display:flex;align-items:center;justify-content:center;overflow:hidden}
.article-card .article-media img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.article-card>div:not(.article-media){padding:24px 0;display:flex;flex-direction:column;flex:1}
#main .article-card h2{font-size:26px;line-height:1.3;letter-spacing:-.035em}
.article-read{margin-top:auto;padding-top:14px;color:#65552d}
.article-card .eyebrow{margin-bottom:12px}
.article-search input{border-radius:3px}
@media(max-width:900px){
 .service-layout .section-content:has(>.page-photo:first-child){column-gap:28px}
 .article-layout{grid-template-columns:150px minmax(0,1fr);gap:32px}
}
@media(max-width:760px){
 .interior-hero .breadcrumbs{margin-bottom:30px}
 .service-layout .section-content:has(>.page-photo:first-child){display:flex;flex-direction:column;gap:0}
 .service-layout .section-content>.page-photo:first-child{margin:0 0 28px}
 .service-layout .page-photo img{max-height:420px}
 .service-layout .interior-section{padding-bottom:40px;margin-bottom:40px}
 .service-layout .practitioner-card{grid-template-columns:1fr;gap:24px;padding-block:32px}
 .service-layout .practitioner-photo{width:min(220px,100%)}
 .article-layout{display:block;padding-block:36px 56px}
 .article-hero{padding-bottom:38px}
 .article-body{font-size:18px}
 .article-card .article-media{height:230px}
 .article-grid{gap:30px}
 .article-search>div{flex-wrap:wrap}
 .article-search input{flex-basis:200px}
}

/* Main service heroes fill the available first screen without a fixed minimum. */
.service-hero .cinematic-content {
  min-height: calc(100svh - var(--service-chrome-height, 142px));
  padding-top: clamp(28px, 5svh, 60px);
  padding-bottom: 24px;
  gap: 28px;
}
.service-hero .hero-copy { margin-block: auto; padding-bottom: 0; }
.service-hero .cinematic-footer { position: static; margin-top: 0; flex-shrink: 0; padding-top: 18px; }
@media (max-width: 640px) {
  .service-hero .cinematic-content { gap: 24px; padding-top: 28px; padding-bottom: 20px; }
  #main .service-hero h1 { font-size: clamp(35px, 9vw, 43px); }
  .service-hero .eyebrow { margin-bottom: 22px; }
  #main .service-hero .hero-description:not(.eyebrow):not(.credentials):not(.start-date) { font-size: 18px; margin: 22px 0; }
}

/* Keep the photo frame still while GSAP moves the oversized image inside it. */
.image-parallax-frame { display: block; width: 100%; min-width: 0; overflow: hidden; border-radius: inherit; isolation: isolate; }
#main .image-parallax-frame > img { margin: 0; border-radius: 0; object-fit: cover; }
.article-body > .image-parallax-frame { width: fit-content; max-width: 100%; margin: 34px auto; border-radius: 2px; }
.article-body > .image-parallax-frame:first-child { margin-top: 0; }
.article-media > .image-parallax-frame { width: 100%; height: 100%; }
#main .article-media > .image-parallax-frame > img { width: 100%; height: 100%; max-height: 100%; }
.clinic-story-photo > .image-parallax-frame { flex-shrink: 0; }

/* Soft olive and bronze light, animated with transforms rather than blur filters. */
.clinic-footer { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg, #252b23, #22261f 60%, #302c23); }
.clinic-footer::before {
  content: ''; position: absolute; inset: -12%; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 18% 28%, #77805b40, transparent 54%), radial-gradient(ellipse at 83% 72%, #a1844d30, transparent 50%);
}
@media (prefers-reduced-motion: no-preference) {
  .clinic-footer::before { animation: footer-light-drift 28s ease-in-out infinite alternate; }
}
@keyframes footer-light-drift {
  from { transform: translate3d(-3%, -2%, 0) scale(1); }
  to { transform: translate3d(3%, 2%, 0) scale(1.06); }
}

/* Homepage summaries lead to full staff profiles. */
#main #team .practitioner-bio-preview {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  line-height: 1.75;
  max-height: 7em;
  margin: 0 0 24px;
}

/* Five core disciplines: a balanced three-over-two arrangement. */
@media (min-width: 981px) {
  .care-cards .service-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .care-cards .service-card { grid-column: span 2; }
  .care-cards .service-card:nth-child(n+4) { grid-column: span 3; }
}
@media (min-width: 601px) and (max-width: 980px) {
  .care-cards .service-card:last-child { grid-column: 1 / -1; }
}
