/* v0.3 — appointment highlight, first visit and full-screen mobile navigation. */
.hero-content .button,.appointment-cta{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(115deg,#b39a74,#dbc5a4 48%,#b59e7d);color:#201b14!important;border-color:#ddc8a7;box-shadow:0 7px 25px #0000001c;font-weight:600;letter-spacing:.09em;transition:transform .25s,box-shadow .25s}
.hero-content .button{padding:18px 30px;min-width:245px;backdrop-filter:none}.hero-content .button:hover,.appointment-cta:hover,.floating-book:hover{transform:translateY(-2px);box-shadow:0 10px 32px #b59e7d35;background:linear-gradient(115deg,#bea27a,#ead8ba,#b59e7d)}
.hero-content .button:before,.appointment-cta:before,.floating-book:before{content:'';position:absolute;inset:-50% -40%;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 38%,#fff7 49%,#fff9 50%,transparent 61%);transform:translateX(-100%);animation:appointment-sheen 6s ease-in-out infinite}.floating-book{padding:16px 25px}.floating-book:before{animation-delay:1.2s}
@keyframes appointment-sheen{0%,60%{transform:translateX(-100%)}88%,100%{transform:translateX(100%)}}
.consultation{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:95px 0 125px;border-top:1px solid var(--line)}.consultation-heading>p:not(.eyebrow){color:#65615d;max-width:390px}.consultation-heading h2{font-size:clamp(2.8rem,4.6vw,4.5rem)}.consultation-steps{list-style:none;padding:0;margin:0}.consultation-steps li{display:grid;grid-template-columns:50px 1fr;gap:25px;padding:27px 0;border-bottom:1px solid var(--line)}.consultation-steps li:first-child{padding-top:0}.step-number{font:italic 30px/1.4 var(--serif);color:#aa8e65}.consultation-steps h3{font-size:26px;line-height:1.2;margin-bottom:12px}.consultation-steps p{font-size:15px;color:#65615d;margin:0}
.mobile-nav-intro,.mobile-nav-bottom{display:none}.menu-icon{display:block;width:27px;height:20px;position:relative;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}.menu-icon:before,.menu-icon:after{content:'';position:absolute;height:1.5px;background:currentColor;left:0;right:0;top:8px;transition:transform .25s}.menu-open .menu-icon{border-color:transparent}.menu-open .menu-icon:before{transform:rotate(45deg)}.menu-open .menu-icon:after{transform:rotate(-45deg)}
@media(max-width:760px){
 .masthead{position:relative;height:100px;min-height:100px}.masthead .brand{width:215px}.masthead .brand img{width:215px;transform-origin:left center;transition:width .3s,transform .3s}.menu-toggle{flex-direction:row;gap:10px;padding:12px 0;flex-shrink:0}.menu-toggle>span:not(.menu-icon){font:14px/1 Arial,sans-serif;letter-spacing:.02em}.menu-toggle .menu-icon{font-size:0}.site-header.is-compact .masthead{height:74px;min-height:74px}.site-header.is-compact .masthead .brand img{width:175px}.site-header.menu-open{position:fixed;left:0;right:0;top:var(--menu-top,0px);z-index:1000;box-shadow:none}.site-header.menu-open .masthead{height:var(--menu-masthead-height,100px);min-height:var(--menu-masthead-height,100px)}.site-header.menu-open .masthead .brand img{transform:scale(.75)}
 .site-header nav{display:none}.site-header nav.open{position:fixed;top:var(--menu-panel-top,100px);bottom:0;left:0;right:0;width:auto;height:auto;max-height:none;display:block;background:#fff;color:#222;padding:0 25px calc(82px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;border-top:0;letter-spacing:0;scrollbar-width:thin;animation:menu-reveal .25s ease-out}.site-header nav.open>a,.site-header.is-compact nav.open>a{display:block;border-bottom:1px solid #a9a49d;padding:12px 0;font:23px/1.25 var(--serif);text-transform:none;letter-spacing:0}.site-header nav.open>a:hover{color:#92754f}.mobile-nav-intro{display:flex;flex-direction:column;padding:10px 0 18px;gap:12px;border-bottom:1px solid #a9a49d}.mobile-nav-intro a{font:25px/1.35 var(--serif);padding:0}.mobile-nav-intro a:first-child{color:#91724a}.mobile-nav-bottom{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;padding-bottom:env(safe-area-inset-bottom);background:#222;z-index:1}.mobile-nav-bottom a{display:flex;justify-content:center;align-items:center;padding:20px 10px;background:#222;color:#fff;font:600 12px/1.4 Arial,sans-serif;letter-spacing:.02em;text-align:center;min-height:60px}.mobile-nav-bottom a:first-child{background:#b59e7d;color:#222}.rm-menu-open .floating-book{visibility:hidden}.consultation{grid-template-columns:1fr;gap:45px;padding:60px 0 75px}.consultation-heading h2{font-size:2.9rem}.consultation-steps li{gap:15px;grid-template-columns:40px 1fr}.consultation-steps h3{font-size:24px}.hero-content .button{padding:17px 24px;min-width:230px}.floating-book{padding:14px 20px}
}
@media(max-width:370px){.masthead .brand{width:185px}.masthead .brand img{width:185px}.menu-toggle{gap:7px}.menu-toggle>span:not(.menu-icon){font-size:12px}.menu-icon{width:24px}.site-header nav.open>a{font-size:22px}}
@keyframes menu-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-content .button:before,.appointment-cta:before,.floating-book:before{animation:none;display:none}.site-header nav.open{animation:none}.menu-icon:before,.menu-icon:after{transition:none}.masthead .brand img{transition:none}}

.site-header nav>a{text-transform:uppercase}.site-header nav>.mobile-only{display:none}@media(max-width:760px){.site-header nav.open>a{text-transform:none}.site-header nav.open>.mobile-only{display:block}}


/* 0.3.1: two CTA styles. Shared geometry, gold fill; primary CTAs add sheen. */
body :is(.button,.text-link,.header-book,.floating-book,.mobile-nav-bottom a){position:relative;display:inline-flex;align-items:center;justify-content:center;gap:18px;width:auto;min-width:0;min-height:48px;padding:14px 24px;border:1px solid #b59e7d;border-radius:0;background:#b59e7d;color:#222!important;font:600 12px/1.4 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center;text-decoration:none;box-shadow:none;backdrop-filter:none;overflow:hidden;isolation:isolate;transition:background .2s,border-color .2s}
body :is(.button,.text-link,.header-book,.floating-book,.mobile-nav-bottom a):hover{background:#cbb493;border-color:#cbb493;color:#222;transform:none;box-shadow:none;gap:18px}
body :is(.button,.text-link,.header-book,.floating-book,.mobile-nav-bottom a)::before{content:none;animation:none}
body :is(.hero-content .button,.appointment-cta,.header-book,.floating-book,.contact .button,.mobile-nav-bottom a:last-child)::before{content:'';position:absolute;inset:-50% -40%;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 38%,#fff7 49%,#fff9 50%,transparent 61%);transform:translateX(-100%);animation:appointment-sheen 6s ease-in-out infinite}
body a.floating-book{position:fixed;inset:auto 25px calc(22px + env(safe-area-inset-bottom)) auto;width:max-content;max-width:calc(100vw - 28px);z-index:70;box-shadow:0 4px 25px #0003}
.footer-invitation{justify-content:center;text-align:center}.footer-invitation>div{width:100%}
@media(max-width:760px){body a.floating-book{right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}body .mobile-nav-bottom a{display:flex;width:100%;min-height:60px;padding:18px 10px;font-size:11px;letter-spacing:.02em}.mobile-nav-bottom{gap:1px;background:#222}.site-header nav.open{padding-top:16px}}
@media(prefers-reduced-motion:reduce){body :is(.button,.text-link,.header-book,.floating-book,.mobile-nav-bottom a)::before{display:none;animation:none}}

/* 0.3.2 — editorial pricing; source prices remain editable in Gutenberg. */
.price-intro{padding-block:85px 65px;position:relative}.price-intro h1{font-size:clamp(3rem,5.8vw,5.5rem);max-width:920px}.price-intro h1 em{color:#957b58;font-weight:400}.price-intro>p:not(.eyebrow){max-width:580px;color:#65615d}.price-content .wp-block-table{overflow:visible;margin:0}.price-jump{display:flex;flex-wrap:wrap;gap:8px;border-block:1px solid #dfd8cf;padding:24px 0 30px;margin-bottom:65px}.price-jump>span{width:100%;font-size:10px;letter-spacing:.18em;margin-bottom:10px}.price-jump a{padding:7px 12px;background:#f5f2ed;color:#64523b;font-size:12px;line-height:1.5;border-radius:2px}.price-jump a:hover{background:#e7ddce}.price-category{display:grid;grid-template-columns: minmax(0, .85fr) minmax(0,1.4fr);gap:65px;padding:45px 0 55px;border-bottom:1px solid #dfd8cf;scroll-margin-top:155px}.price-category>header{position:relative;padding-left:48px}.price-number{position:absolute;left:0;top:4px;font:italic 20px Georgia,serif;color:#a58a65}.price-category h2{font-size:clamp(1.7rem,2.7vw,2.6rem);line-height:1.18;overflow-wrap:anywhere}.price-category h2 strong,.price-category h2 b{font-weight:400}.price-category h2 br{display:block}.price-list{margin:0}.price-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;padding:20px 24px;background:#f7f5f1;margin-bottom:8px;border-left:2px solid #c6b292;align-items:center}.price-item dt{font-size:15px;line-height:1.6}.price-item dd{margin:0;font:20px/1.6 Georgia,serif;color:#715a3b;text-align:right;white-space:nowrap}.price-item dd strong{font-weight:400}.price-note{font-size:13px;color:#756a5c;padding:16px 8px;line-height:1.7}.price-outro{text-align:center;padding:75px 30px;margin-block:50px 80px;background:#f5f2ed}.price-outro h2{font-size:clamp(2rem,4vw,3.5rem)}
@media(max-width:760px){.price-intro{padding-block:55px 40px}.price-intro h1{font-size:3rem}.price-jump{flex-wrap:nowrap;overflow-x:auto;padding-bottom:18px;margin-bottom:20px;scrollbar-width:thin}.price-jump>span{display:none}.price-jump a{flex-shrink:0;max-width:230px}.price-category{grid-template-columns:1fr;gap:15px;padding-block:35px;scroll-margin-top:110px}.price-category>header{padding-left:38px}.price-category h2{font-size:2rem;margin-bottom:10px}.price-item{padding:16px;gap:12px}.price-item dt{font-size:14px}.price-item dd{font-size:17px}.price-outro{padding:45px 20px;margin-block:35px 55px}}
@media(max-width:420px){.price-item{grid-template-columns:1fr;gap:6px}.price-item dd{text-align:left}.price-intro h1{font-size:2.65rem}}
.price-heading-note{font:14px/1.7 Arial,sans-serif;color:#756a5c}.price-category:has(.price-list:empty){display:block;background:#f5f2ed;padding:28px;margin-top:35px}.price-category:has(.price-list:empty) h2{margin-bottom:0}.price-category:has(.price-list:empty) .price-list{display:none}

/* 0.3.3: category headings without numbering or quick navigation. */
.price-page .price-category>header{padding-left:0}

/* 0.5.0 — treatment collection and shared detail layout. */
.treatments-intro{padding-block:80px 65px}.treatments-intro h1{font-size:clamp(3.4rem,6vw,6rem)}.treatments-intro h1 em{color:#957b58;font-weight:400}.treatments-intro>p:last-child{max-width:560px;color:#65615d}.treatment-collection{padding-block:40px 65px;border-top:1px solid #dfd8cf}.collection-heading{max-width:660px;margin-bottom:38px}.collection-heading h2{font-size:clamp(2rem,3.7vw,3.6rem)}.treatment-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}.treatment-tile-image{overflow:hidden;background:#eee9e1;aspect-ratio:4/3}.treatment-tile-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.treatment-tile a:hover img{transform:scale(1.035)}.treatment-tile-title{display:flex;gap:18px;justify-content:space-between;align-items:flex-start;padding-top:22px}.treatment-tile-title h3{font-size:26px;line-height:1.2;margin:0}.treatment-tile-title>span{font-size:25px;color:#957b58}.treatment-tile-more{display:block;margin-top:14px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#796548}.treatment-tile a:focus-visible{display:block}.treatment-end{padding:60px;text-align:center;background:#f5f2ed;margin-block:30px 80px}.treatment-breadcrumb{padding-block:30px;font-size:12px;color:#776c5d}.treatment-breadcrumb>a{text-decoration:underline;text-underline-offset:4px}.treatment-lead{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding-block:30px 75px}.treatment-lead h1{font-size:clamp(2.8rem,4.6vw,4.6rem);overflow-wrap:anywhere;line-height:1.08}.treatment-lead-note{color:#65615d;max-width:410px}.treatment-lead figure{padding:0 15px 15px 0;position:relative}.treatment-lead figure:after{content:'';position:absolute;inset:24px 0 0 24px;border:1px solid #b59e7d;z-index:-1}.treatment-lead img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover}.treatment-reading{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:90px;border-top:1px solid #dfd8cf;padding-block:65px 85px;align-items:start}.treatment-body{font-size:17px;line-height:1.9;color:#514d47}.treatment-body p{margin-bottom:25px}.treatment-body h2,.treatment-body h3{color:#222;line-height:1.2;margin-top:40px}.treatment-body p:empty{display:none}.treatment-body img{height:auto;max-width:100%}.treatment-body strong{color:#302a22}.treatment-aside{position:sticky;top:155px;background:#f5f2ed;border-top:2px solid #b59e7d;padding:30px 25px}.treatment-aside h2{font-size:2.2rem}.treatment-aside p:not(.eyebrow){font-size:14px;color:#65615d}.treatment-aside .button{width:100%;margin-bottom:12px;padding-inline:12px}.treatment-phone{display:block;text-align:center;font:24px Georgia,serif;margin-top:15px}.treatment-related{border-top:1px solid #dfd8cf;padding-block:55px 85px}.treatment-related h2{font-size:clamp(2.3rem,4vw,3.5rem)}
@media(max-width:1000px){.treatment-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.treatment-reading{gap:40px;grid-template-columns:minmax(0,1fr) 280px}.treatment-lead{gap:35px}}
@media(max-width:760px){.treatments-intro{padding-block:50px 35px}.treatments-intro h1{font-size:3.4rem}.treatment-collection{padding-block:35px 45px}.collection-heading h2{font-size:2.4rem}.treatment-photo-grid{grid-template-columns:1fr;gap:35px}.treatment-tile-title h3{font-size:26px}.treatment-end{padding:40px 22px;margin-block:20px 55px}.treatment-end h2{font-size:2.6rem}.treatment-lead{grid-template-columns:1fr;gap:35px;padding-block:15px 45px}.treatment-lead h1{font-size:2.8rem}.treatment-reading{grid-template-columns:1fr;gap:30px;padding-block:40px}.treatment-body{font-size:16px}.treatment-aside{position:static}.treatment-breadcrumb{font-size:11px;padding-top:24px}.treatment-related{padding-block:40px 60px}}
@media(prefers-reduced-motion:reduce){.treatment-tile a:hover img{transform:none}.treatment-tile-image img{transition:none}}
.treatment-breadcrumb{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:8px;letter-spacing:0;border:0;min-height:0}.treatment-breadcrumb a{padding:0}

/* 0.5.1 — homepage placeholders for content awaiting client materials. */
.video{padding-block:95px;text-align:center}.video h2{margin-bottom:16px}.video-description{max-width:560px;margin:0 auto 35px;color:#65615d}.media-placeholder{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:35px;text-align:center;background:#eee8df;color:#524735;border:1px solid #cbb99d;position:relative;overflow:hidden}.media-placeholder:before,.media-placeholder:after{content:'';position:absolute;border:1px solid #b59e7d55;border-radius:50%;pointer-events:none}.media-placeholder:before{width:600px;height:600px;right:-320px;top:-290px}.media-placeholder:after{width:370px;height:370px;left:-200px;bottom:-220px}.media-placeholder strong,.media-placeholder small,.placeholder-icon{position:relative;z-index:1}.placeholder-icon{width:66px;height:66px;display:grid;place-items:center;border:1px solid #9f8560;border-radius:50%;font-size:23px}.media-placeholder strong{font-size:12px;letter-spacing:.18em}.media-placeholder small{max-width:340px;font-size:12px;line-height:1.65;color:#6c5e4a}.video-placeholder{max-width:900px;margin-inline:auto}.gallery{padding-block:75px}.gallery>p:not(.eyebrow){max-width:530px;color:#65615d}.gallery-placeholder{min-height:280px;flex-direction:row;gap:28px;background:#222;color:#f2eee8;border:0}.gallery-placeholder:before{width:460px;height:460px;right:-260px;top:-310px}.gallery-placeholder:after{width:380px;height:380px;left:-260px;bottom:-250px}.gallery-placeholder>span{position:relative;z-index:1;font:clamp(2.2rem,5vw,4rem) Georgia,serif}.gallery-placeholder>i{position:relative;z-index:1;color:#b59e7d;font-style:normal;font-size:35px}.gallery-placeholder small{position:absolute;bottom:30px;color:#d9d0c4}.review-placeholder{max-width:720px;margin:0 auto;text-align:center;padding:28px 15px}.review-placeholder>span{display:block;font:90px/.5 Georgia,serif;color:#b59e7d}.review-placeholder p{font:italic clamp(1.5rem,3vw,2.3rem)/1.35 Georgia,serif;margin:20px 0}.review-placeholder small{font-size:10px;letter-spacing:.16em;color:#9f896b}.team-placeholder{height:590px;min-height:0}.team-section{margin-top:35px}
.video-player{display:block;width:100%;max-width:900px;aspect-ratio:16/9;margin:0 auto;background:#171717;object-fit:contain}

/* 0.8.7 — framed video presentation with a deliberate launch state. */
.video{padding-block:110px}.video-description{margin-bottom:42px}.video-showcase{width:100%;max-width:1080px;aspect-ratio:16/9;margin:0 auto;position:relative;overflow:hidden;background:#161514;isolation:isolate;box-shadow:0 28px 55px #22222224}.video-showcase:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 70% 22%,#b59e7d46,transparent 35%),linear-gradient(125deg,#181715 0%,#332b21 46%,#121110 100%)}.video-showcase:after{content:'';position:absolute;inset:16px;z-index:3;border:1px solid #d8c09c55;pointer-events:none;transition:opacity .35s}.video-showcase .video-player{position:absolute;inset:0;z-index:0;max-width:none;width:100%;height:100%;margin:0;opacity:.16;filter:blur(2px) saturate(.55);transition:opacity .45s,filter .45s}.video-launch{position:absolute;z-index:4;inset:0;border:0;background:transparent;color:#f4eee5;display:flex;align-items:center;justify-content:center;gap:22px;padding:45px;cursor:pointer;text-align:left}.video-launch-icon{position:relative;display:grid;place-items:center;width:94px;height:94px;border:1px solid #dfc6a1;border-radius:50%;background:#b59e7d;color:#222;box-shadow:0 0 0 0 #b59e7d66;animation:video-pulse 2.25s ease-out infinite;flex:none}.video-launch-icon:after{content:'';margin-left:6px;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:17px solid currentColor}.video-launch-copy{display:flex;flex-direction:column;gap:7px}.video-launch-copy strong{font:clamp(1.6rem,3vw,2.65rem)/1.1 var(--serif);font-weight:400}.video-launch-copy small{font:11px/1.5 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#dfd0bb}.video-showcase-label{position:absolute;z-index:4;left:36px;bottom:31px;color:#dfd0bb;font:10px/1.4 Arial,sans-serif;letter-spacing:.18em}.video-showcase.is-playing:before,.video-showcase.is-playing:after,.video-showcase.is-playing .video-launch,.video-showcase.is-playing .video-showcase-label{opacity:0;visibility:hidden}.video-showcase.is-playing .video-player{z-index:5;opacity:1;filter:none}.video-launch:focus-visible{outline:3px solid white;outline-offset:-10px}@keyframes video-pulse{0%,100%{box-shadow:0 0 0 0 #b59e7d55}55%{box-shadow:0 0 0 18px #b59e7d00}}@media(max-width:760px){.video{padding-block:65px}.video-description{margin-bottom:28px}.video-showcase{aspect-ratio:4/5}.video-showcase:after{inset:10px}.video-launch{gap:16px;padding:25px;align-items:center}.video-launch-icon{width:68px;height:68px}.video-launch-icon:after{border-top-width:8px;border-bottom-width:8px;border-left-width:13px;margin-left:4px}.video-launch-copy strong{font-size:1.75rem}.video-launch-copy small{font-size:9px;letter-spacing:.11em}.video-showcase-label{left:22px;bottom:21px;font-size:8px}.video-showcase.is-playing{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){.video-launch-icon{animation:none}.video-showcase .video-player{transition:none}.video-showcase:after{transition:none}}
.gallery-link,.reviews-link{margin-top:28px}.reviews-link{display:flex;width:max-content;margin-inline:auto}
@media(max-width:760px){.video{padding-block:60px}.media-placeholder{min-height:285px;padding:25px}.video-placeholder{min-height:300px}.gallery{padding-block:55px}.gallery-placeholder{min-height:220px;gap:15px}.gallery-placeholder small{bottom:20px;font-size:10px}.team-placeholder{height:340px}.team-section{margin-top:0}}

/* 0.5.3 — straightforward previews for material the client will provide. */
.content-placeholder{display:flex;align-items:center;justify-content:center;min-height:175px;padding:28px;border:1px dashed #b59e7d;background:#f7f4ef;color:#5e5345;text-align:center;font-size:15px;line-height:1.65}.team-section .content-placeholder{min-height:590px}.floating-book-label{display:inline}
@media(max-width:760px){body a.floating-book{width:62px;height:62px;min-width:62px;min-height:62px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:7px 4px;gap:0;flex-direction:column;line-height:1;text-align:center}.floating-book-label{font-size:9px;line-height:1.25;letter-spacing:.04em;max-width:48px}.floating-book>span:last-child{font-size:14px;margin-top:3px}.team-section .content-placeholder{min-height:340px}}

/* 0.6.0 — approved treatment categories and price list. */
.treatment-tabs{padding-top:15px}.treatment-tabs .treatment-intro{padding:42px 50px;background:#f7f4ef;border-top:2px solid #b59e7d;max-width:900px;margin-bottom:42px}.treatment-tabs .treatment-intro h2{margin-bottom:16px}.treatment-tabs .treatment-intro>p:last-child{max-width:620px;margin-inline:auto}.treatment-tablist{gap:22px;margin-bottom:48px}.treatment-tablist button{font-size:18px}.treatments-directory{padding-block:5px 75px}.treatments-directory .treatment-tile-title h2{font-size:25px;line-height:1.18;margin:0}.price-subsection{padding:0 0 38px}.price-subsection+.price-subsection{padding-top:36px;border-top:1px solid var(--line)}.price-subsection h3{font-size:1.55rem;line-height:1.3;margin-bottom:18px}.price-item strong{margin:0;font:20px/1.6 Georgia,serif;color:#715a3b;text-align:right;white-space:nowrap;font-weight:400}.price-item.price-note strong{font:14px/1.6 Arial,sans-serif;white-space:normal}.price-item.price-note{align-items:start}
@media(max-width:760px){.treatment-tabs{padding-top:0}.treatment-tabs .treatment-intro{padding:32px 24px;margin-bottom:25px}.treatment-tablist{margin-bottom:28px}.treatment-tablist button{font-size:17px}.treatments-directory{padding-block:0 45px}.price-subsection h3{font-size:1.35rem}.price-item strong{font-size:17px}.price-subsection{padding-bottom:25px}.price-subsection+.price-subsection{padding-top:26px}}

/* 0.6.2 — service pages include their category prices. */
.single-service .service-pricing{border-top:1px solid #dfd8cf;padding-block:60px 85px;max-width:850px}.single-service .service-pricing>p:not(.eyebrow){color:#65615d;margin-bottom:28px}.single-service .service-pricing .price-list{margin:26px 0 32px}.single-service .service-pricing .price-item.is-current{background:#f5f2ed;border-left:3px solid #b59e7d;padding-left:18px}.single-service .service-pricing .button{margin-top:4px}

/* 0.6.4 — preserve breathing room before the footer on every treatment page. */
.single-treatment .service-pricing{border-top:1px solid #dfd8cf;margin:0 0 90px;padding:60px 0 0;max-width:850px}.single-treatment .service-pricing>p:not(.eyebrow){color:#65615d;margin-bottom:28px}.single-treatment .service-pricing .price-list{margin:26px 0 32px}

/* 0.7.0 — readable lists in the client-supplied treatment descriptions. */
.treatment-body ul{list-style:disc;padding-left:1.4em;margin:0 0 28px}.treatment-body li{padding-left:.25em;margin:0 0 8px}

/* 0.9.3 — Contact Form 7 styling and legal-document footer links. */
.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}.footer-legal a{font-size:11px}.footer-legal a:not(:last-child):after{content:'·';margin-left:18px;color:#756b60}.contact .wpcf7,.page-content .wpcf7{max-width:100%}.contact .wpcf7 .rm-cf7-grid,.page-content .wpcf7 .rm-cf7-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact .wpcf7-form p{margin:0 0 18px}.contact .wpcf7-form label{display:block;color:#eee9e1;font:12px/1.5 Arial,sans-serif;letter-spacing:.02em}.contact .wpcf7-form-control-wrap{display:block;margin-top:7px}.contact .wpcf7 input:not([type=checkbox]),.contact .wpcf7 textarea,.page-content .wpcf7 input:not([type=checkbox]),.page-content .wpcf7 textarea{display:block;width:100%;border:1px solid transparent;border-radius:0;background:#fff;color:#222;padding:12px 13px;font:16px/1.45 Arial,sans-serif;transition:border-color .2s,box-shadow .2s}.contact .wpcf7 textarea,.page-content .wpcf7 textarea{min-height:118px;resize:vertical}.contact .wpcf7 input:focus,.contact .wpcf7 textarea:focus,.page-content .wpcf7 input:focus,.page-content .wpcf7 textarea:focus{outline:0;border-color:#b59e7d;box-shadow:0 0 0 3px #b59e7d3d}.contact .wpcf7-form .wpcf7-list-item{margin:0}.contact .wpcf7-form .wpcf7-acceptance label{display:flex;gap:10px;align-items:flex-start;color:#ddd;font-size:11px;line-height:1.6}.contact .wpcf7-form .wpcf7-acceptance input{margin:4px 0 0}.contact .wpcf7-form .cf7-privacy-note{color:#ddd;font-size:11px;line-height:1.6}.contact .wpcf7-form .cf7-privacy-note a{color:#d0b98f;text-decoration:underline}.contact .wpcf7-submit,.page-content .wpcf7-submit{display:inline-flex;align-items:center;border:1px solid #b59e7d;border-radius:0;background:#b59e7d;color:#222;padding:14px 25px;font:600 12px/1 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,transform .2s}.contact .wpcf7-submit:hover,.page-content .wpcf7-submit:hover{background:#d0b98f;transform:translateY(-1px)}.contact .wpcf7-not-valid-tip{margin-top:5px;color:#f2bea9;font-size:11px}.contact .wpcf7-response-output{margin:18px 0 0!important;border:1px solid #b59e7d!important;padding:11px 13px!important;color:#f2eee8;font-size:13px;line-height:1.55}.page-content .wpcf7 label{display:block;margin-bottom:7px;font:12px/1.5 Arial,sans-serif;letter-spacing:.02em;color:#5b534a}.page-content .wpcf7-form p{margin-bottom:18px}.page-content .wpcf7-response-output{margin:18px 0 0!important;border:1px solid #b59e7d!important;padding:11px 13px!important;font-size:13px;line-height:1.55}@media(max-width:760px){.footer-legal{justify-content:flex-start;gap:8px 14px}.footer-legal a{font-size:10px}.footer-legal a:not(:last-child):after{margin-left:14px}.contact .wpcf7 .rm-cf7-grid,.page-content .wpcf7 .rm-cf7-grid{grid-template-columns:1fr;gap:0}.contact .wpcf7-submit,.page-content .wpcf7-submit{width:100%;justify-content:center;min-height:50px}}

/* Keep all five portraits in the two-row homepage mosaic. */
.team-home-photo-1{grid-column:auto;grid-row:span 2}.team-home-photo-4{grid-column:auto}
@media(max-width:760px){.team-home-photo-5{display:block}}

/* 0.8.1 — homepage team section replaces the former stand-alone associate feature. */
.team-home-section{margin:105px auto 115px;background:#f5f2ed;border-top:2px solid #b59e7d}.team-home-heading{padding:58px 58px 50px;background:#222;color:#f4f0ea;background-image:radial-gradient(ellipse at 76% 18%,#b59e7d3b,transparent 44%),linear-gradient(118deg,#171717 0%,#30291f 38%,#121212 78%)}.team-home-heading .eyebrow{color:#d4bc98}.team-home-heading h2{font-size:clamp(3rem,5vw,5.15rem);max-width:650px;margin-bottom:18px}.team-home-heading>p:not(.eyebrow){max-width:590px;color:#eee8df;font-size:16px;line-height:1.75}.team-home-heading .button{margin-top:4px}.team-home-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#dfd8cf}.team-home-card{background:#fff;min-width:0}.team-home-card figure{margin:0;aspect-ratio:3/4;overflow:hidden;background:#e8e1d7}.team-home-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .45s ease}.team-home-card:hover img{transform:scale(1.03)}.team-home-card>div{padding:18px 15px 20px;min-height:116px}.team-home-card h3{font-size:clamp(1.25rem,1.7vw,1.65rem);line-height:1.12;margin:0 0 8px}.team-home-card p{font:10px/1.55 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8a7151;margin:0}.team-home-card:first-child{background:#222;color:white}.team-home-card:first-child>div{background:#222}.team-home-card:first-child p{color:#d1bb9b}
@media(max-width:900px){.team-home-section{margin-block:70px 80px}.team-home-heading{padding:45px 40px}.team-home-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.team-home-card>div{min-height:102px}}
@media(max-width:760px){.team-home-section{width:100%;margin:55px 0 65px}.team-home-heading{padding:42px 26px}.team-home-heading h2{font-size:3rem}.team-home-heading>p:not(.eyebrow){font-size:15px}.team-home-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.team-home-card>div{padding:15px 13px 17px;min-height:91px}.team-home-card h3{font-size:1.35rem}.team-home-card p{font-size:9px}.team-home-card:last-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.team-home-card:last-child figure{aspect-ratio:auto;height:210px}.team-home-card:last-child>div{display:flex;justify-content:center;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.team-home-card img{transition:none}.team-home-card:hover img{transform:none}}

/* 0.8.2 — compact, light team preview. */
.team-home-section{margin:80px auto 95px;background:transparent;border-top:1px solid #dfd8cf}.team-home-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr) auto;gap:24px 42px;align-items:end;padding:38px 0 32px;color:#222;background:none}.team-home-heading .eyebrow{grid-column:1/-1;color:#907452;margin:0}.team-home-heading h2{font-size:clamp(2.5rem,4.25vw,4.1rem);margin:0;max-width:560px}.team-home-heading>p:not(.eyebrow){max-width:400px;margin:0;color:#65615d;font-size:15px;line-height:1.7}.team-home-heading .button{margin:0;align-self:center}.team-home-cards{gap:16px;background:transparent}.team-home-card{border-top:1px solid #d8d1c8;background:transparent}.team-home-card figure{aspect-ratio:4/5;background:#eee8df}.team-home-card>div{padding:14px 0 3px;min-height:73px}.team-home-card h3{font-size:clamp(1.15rem,1.5vw,1.45rem);margin-bottom:5px}.team-home-card p{font-size:9px;letter-spacing:.07em}.team-home-card:first-child,.team-home-card:first-child>div{background:transparent;color:#222}.team-home-card:first-child p{color:#8a7151}
@media(max-width:900px){.team-home-heading{grid-template-columns:1fr auto;gap:18px 30px}.team-home-heading .eyebrow{grid-column:1/-1}.team-home-heading>p:not(.eyebrow){grid-column:1/2}.team-home-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.team-home-card>div{min-height:82px}}
@media(max-width:760px){.team-home-section{width:calc(100% - 40px);margin:55px auto 65px}.team-home-heading{display:block;padding:31px 0 27px}.team-home-heading .eyebrow{margin-bottom:16px}.team-home-heading h2{font-size:2.65rem;margin-bottom:14px}.team-home-heading>p:not(.eyebrow){font-size:15px;margin-bottom:21px}.team-home-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.team-home-card>div{min-height:72px;padding-top:11px}.team-home-card h3{font-size:1.05rem}.team-home-card p{font-size:8px;line-height:1.45}.team-home-card:last-child{display:block;grid-column:auto}.team-home-card:last-child figure{height:auto;aspect-ratio:4/5}.team-home-card:last-child>div{display:block}}

/* 0.8.4 — CSS arrow avoids iOS emoji substitution in CTA controls. */
.rm-arrow{display:inline-block;flex:none;font-family:Arial,Helvetica,sans-serif!important;font-size:1.15em;line-height:1;vertical-align:-.05em;font-variant-emoji:text}.floating-book .rm-arrow{font-size:18px}.mobile-nav-bottom .rm-arrow{font-size:14px}

/* 0.8.0 — individual team profiles. */
.team-section{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);margin-top:70px;align-items:stretch}.team-home-mosaic{min-height:600px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:8px;background:#dfd7cc}.team-home-photo{margin:0;overflow:hidden;background:#e9e2d9}.team-home-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.team-home-photo-1{grid-column:span 2;grid-row:span 2}.team-home-photo-2 img{object-position:center 20%}.team-home-photo-3 img{object-position:center 13%}.team-home-photo-4{grid-column:span 2}.team-home-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(45px,6vw,88px)}.team-home-copy h2{font-size:clamp(2.8rem,4.2vw,4.6rem)}.team-home-copy>p:not(.eyebrow):not(.team-home-names){max-width:450px}.team-home-names{margin:5px 0 29px;padding-top:18px;border-top:1px solid #ffffff40;color:#d7c5ac;font-size:11px;letter-spacing:.1em;line-height:1.7;text-transform:uppercase}.team-page-intro{padding:85px 0 60px;border-bottom:1px solid #dfd8cf}.team-page-intro h1{font-size:clamp(3.4rem,6vw,6rem);line-height:1.03}.team-page-intro>p:last-child{max-width:600px;color:#65615d;font-size:17px;line-height:1.8}.team-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(45px,8vw,130px);align-items:center;padding:75px 0 105px}.team-feature figure{position:relative;margin:0;padding:0 18px 18px 0}.team-feature figure:after{content:'';position:absolute;z-index:-1;inset:28px 0 0 28px;border:1px solid #b59e7d}.team-feature img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center top}.team-feature-copy h2{font-size:clamp(2.8rem,4.4vw,4.6rem);line-height:1.08;margin-bottom:10px}.team-role{color:#907452;font-size:11px!important;letter-spacing:.13em;line-height:1.55;text-transform:uppercase}.team-feature-copy>p:not(.eyebrow):not(.team-role){font-size:17px;line-height:1.85;color:#514d47;max-width:500px}.team-feature-copy .button{margin-top:16px}.team-directory{border-top:1px solid #dfd8cf;padding:70px 0 100px}.team-directory>header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.team-directory h2{font-size:clamp(2.6rem,4.7vw,4.5rem);margin:0}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 34px}.team-card{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.1fr);gap:24px;align-items:start}.team-card figure{overflow:hidden;margin:0;background:#eee8df;aspect-ratio:3/4}.team-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.team-card-copy h3{font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.15;margin:7px 0 15px}.team-card-copy>p:not(.team-role){font-size:15px;line-height:1.75;color:#5d5851}.team-page-cta{background:#f5f2ed;text-align:center;padding:75px 30px;margin-bottom:95px}.team-page-cta h2{font-size:clamp(2.4rem,4.5vw,4rem);margin-bottom:28px}
@media(max-width:1000px){.team-section{grid-template-columns:1fr}.team-home-mosaic{min-height:500px}.team-home-copy{padding:55px}.team-grid{grid-template-columns:1fr;gap:40px}.team-card{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){.team-section{margin-top:0}.team-home-mosaic{min-height:440px;gap:5px}.team-home-photo-4{grid-column:span 1}.team-home-photo-5{display:none}.team-home-copy{padding:45px 27px}.team-home-copy h2{font-size:2.9rem}.team-home-names{font-size:9px;margin-bottom:24px}.team-page-intro{padding:55px 0 42px}.team-page-intro h1{font-size:3.25rem}.team-page-intro>p:last-child{font-size:16px}.team-feature{grid-template-columns:1fr;gap:40px;padding:48px 0 65px}.team-feature figure{max-width:520px}.team-feature-copy h2{font-size:3rem}.team-feature-copy>p:not(.eyebrow):not(.team-role){font-size:16px}.team-directory{padding:52px 0 65px}.team-directory>header{display:block;margin-bottom:31px}.team-directory h2{font-size:3rem}.team-card{grid-template-columns:1fr;gap:21px}.team-card figure{max-width:420px}.team-card-copy h3{font-size:2.25rem}.team-page-cta{margin-bottom:60px;padding:55px 20px}.team-page-cta h2{font-size:2.75rem}}

/* 0.7.1 — verified Google testimonials. */
.reviews{padding:68px 78px;margin-bottom:100px}.review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:36px}.review-heading h2{margin-bottom:0}.google-review-badge{display:inline-flex;align-items:center;gap:10px;flex:none;border:1px solid #ffffff55;padding:9px 12px;color:#f2eee8;font:600 13px/1.1 Arial,sans-serif;transition:border-color .2s,background .2s}.google-review-badge:hover{border-color:#b59e7d;background:#ffffff12}.google-review-badge small{font:10px/1.2 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#d0c3b3}.google-review-badge>span:last-child{color:#b59e7d;margin-left:12px}.google-mark{font:bold 29px/1 Arial,sans-serif;background:conic-gradient(#4285f4 0 85deg,#34a853 85deg 165deg,#fbbc05 165deg 250deg,#ea4335 250deg 325deg,#4285f4 325deg);background-clip:text;-webkit-background-clip:text;color:transparent}.review-list{min-height:270px;display:flex;align-items:center}.reviews .review-list blockquote{margin:28px 0 12px;max-width:850px}.review-stars{color:#e8c17f;font-size:19px;letter-spacing:.14em;margin-bottom:12px}.reviews .review-list blockquote p{font:italic clamp(1.65rem,3vw,2.45rem)/1.42 Georgia,serif;margin:0 0 22px}.review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px}.review-meta cite{font:600 13px/1.4 Arial,sans-serif;font-style:normal;color:#eee9e1}.review-meta a{font:11px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#d1bb9b;border-bottom:1px solid #b59e7d70;padding-bottom:3px}.review-meta a:hover{color:white}.review-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #ffffff30;padding-top:23px}.review-controls{display:flex;align-items:center;gap:16px}.review-controls button{width:42px;height:42px}.review-controls>span{font:12px/1.4 Arial,sans-serif;letter-spacing:.14em;color:#c8baa7;min-width:63px;text-align:center}.reviews .reviews-link{margin:0;color:#f0ece6;border-color:#b59e7d;white-space:nowrap}.reviews .reviews-link:hover{color:#222}
@media(max-width:760px){.reviews{padding:38px 25px;margin-bottom:65px}.review-heading{display:block}.review-heading h2{margin-bottom:18px}.google-review-badge{margin-bottom:12px}.review-list{min-height:300px}.reviews .review-list blockquote p{font-size:1.58rem}.review-bottom{align-items:stretch;flex-direction:column}.review-controls{justify-content:center}.reviews .reviews-link{white-space:normal;justify-content:center;text-align:center;font-size:10px}}

/* 0.7.0 — readable lists in the client-supplied treatment descriptions. */
.treatment-body ul{list-style:disc;padding-left:1.4em;margin:0 0 28px}.treatment-body li{padding-left:.25em;margin:0 0 8px}
