:root{--ink:#262932;--ink-soft:#4f535b;--muted:#70747b;--pink:#b34d6a;--pink-soft:#f7e7eb;--pink-light:#fbf5f6;--cream:#fcf9f8;--gray-bg:#f5f5f5;--border:#e8e2e4;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.68 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}a{color:inherit}p{margin:0 0 1.05em}h1,h2,h3{font-family:var(--serif);letter-spacing:-.025em}h1,h2,h3,p{overflow-wrap:break-word}h2{font-size:clamp(2rem,3vw,3.15rem);line-height:1.18;margin:0 0 .6em}h3{font-size:1.4rem;line-height:1.24;margin:0 0 .4em}em{font-style:normal;color:var(--pink)}
.container{max-width:1220px;margin-inline:auto;padding-inline:32px}.narrow-container{max-width:920px}.section{padding-block:88px}.section-heading{margin-bottom:34px}.section-heading.centered{text-align:center}.section-heading>p:last-child{color:var(--ink-soft);margin-bottom:0}.eyebrow{font:700 .73rem/1.3 var(--sans);letter-spacing:.17em;color:var(--pink);margin-bottom:14px}.skip-link{position:absolute;top:-100px;left:10px;z-index:99;padding:10px;background:#fff}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #eceaea;backdrop-filter:blur(14px)}.header-inner{height:86px;display:flex;align-items:center;gap:24px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;min-width:210px}.brand-main{font:normal 2.5rem/.95 var(--serif);letter-spacing:-.06em}.brand-sub{font:600 .53rem/1.35 var(--sans);letter-spacing:.11em;color:#555}.desktop-nav{display:flex;align-items:center;gap:clamp(13px,2vw,29px);margin:auto;white-space:nowrap}.desktop-nav a{font-size:.82rem;font-weight:600;text-decoration:none;transition:color .2s}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--pink)}.button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.2;border-radius:99px;border:1px solid transparent;font-weight:650;font-size:.89rem;text-align:center;min-height:46px;padding:12px 24px;transition:transform .2s,background-color .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9d607a;outline-offset:3px}.button-primary{background:var(--pink);color:#fff;box-shadow:0 6px 20px #b34d6a20}.button-primary:hover{background:#923652}.header-cta{font-size:.78rem;padding-inline:19px;white-space:nowrap}.button-large{padding:16px 31px;min-height:54px}.mobile-nav{display:none}
.hero{background:linear-gradient(110deg,#faf9f9 0%,#f9f4f5 63%,#f2e8e9 100%);overflow:hidden}.hero-layout{display:grid;grid-template-columns:50% 50%;align-items:center;min-height:565px;position:relative;padding-block:40px}.hero-copy{z-index:2;padding:38px 0 44px 10px;max-width:620px}.hero h1{font-size:clamp(4rem,6vw,6.5rem);letter-spacing:-.055em;line-height:1.04;color:var(--pink);margin:12px 0 22px}.hero .period{color:#a83e5f}.hero h2{font-size:clamp(1.52rem,2.3vw,2.4rem);letter-spacing:-.02em;color:#545962;margin:0 0 22px}.hero-copy>p:not(.eyebrow):not(.hero-small){max-width:480px;line-height:1.75;color:#30333b;font-size:1.02rem;margin-bottom:28px}.hero-small{font-size:.77rem;color:#79737b;margin:22px 0 0;letter-spacing:.015em}.hero-photo{height:520px;margin-right:-8vw;position:relative;border-radius:180px 0 0 180px;overflow:hidden;box-shadow:-20px 30px 60px #33333312}.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f8f4f56b,transparent 32%);pointer-events:none}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:41% 50%}.hero-photo-note{position:absolute;bottom:18px;right:15%;color:#fff;text-shadow:0 1px 3px #0008;font-size:.67rem;letter-spacing:.22em;font-weight:700;z-index:1}
.intro-section{border-bottom:1px solid var(--border);background:#fff;padding:31px 0}.intro-content{display:grid;grid-template-columns:220px 1fr;align-items:start;gap:26px}.intro-title{font:normal 1.55rem/1.2 var(--serif);margin:0}.intro-content>p:last-child{margin:0;font-size:.95rem;color:var(--ink-soft)}
.audience-section{background:var(--cream)}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.audience-card{background:#fff;border:1px solid #f0e6e8;border-radius:9px;box-shadow:0 12px 35px #3333330d;overflow:hidden;display:grid;grid-template-columns:38% 62%;min-height:260px}.audience-card>img{width:100%;height:100%;object-fit:cover}.audience-text{padding:26px 30px 24px}.audience-kicker,.price-card-label,.profile-kicker{font-size:.68rem;letter-spacing:.11em;font-weight:800;color:#a26b77;margin-bottom:9px}.audience-text h3{font-size:1.9rem}.accent-text{color:var(--pink);font-weight:700;font-size:.95rem;margin-bottom:10px}.audience-text p:not(.audience-kicker):not(.accent-text){font-size:.86rem;line-height:1.7;color:var(--ink-soft);margin-bottom:13px}.text-link{font-size:.85rem;color:#9a3a58;font-weight:750;text-underline-offset:5px;text-decoration-thickness:1px}.text-link:hover{color:#732c44}
.help-section{background:#fff}.concern-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:23px;margin-top:46px}.concern{text-align:center}.icon-circle{display:grid;place-items:center;background:#faedf0;border-radius:50%;width:78px;height:78px;margin:0 auto 20px}.icon-circle svg{height:43px;width:43px;fill:none;stroke:#bb667e;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.concern h3{font-size:1.25rem;margin-bottom:10px}.concern p{font-size:.88rem;line-height:1.67;color:var(--ink-soft)}.concern em{font-size:.78rem}.section-footnote{margin:32px auto 0;max-width:750px;font-size:.76rem;text-align:center;color:#747880}
.approach-section{background:#f9f9f9}.approach-grid{display:grid;grid-template-columns:47% 1fr;gap:65px;align-items:center}.approach-image{overflow:hidden;border-radius:5px;box-shadow:14px 18px 35px #00000009}.approach-image img{width:100%;height:475px;object-fit:cover;object-position:center}.approach-copy h2{font-size:clamp(2.2rem,3.5vw,3.2rem)}.approach-copy p:not(.eyebrow){color:var(--ink-soft);font-size:.95rem}.approach-copy .treatment-line{font-weight:750;color:var(--ink);font-size:1rem;line-height:1.8;margin-block:19px}.treatment-line span{color:var(--pink)}
.space-section{background:#fff;padding:55px 0;border-bottom:1px solid var(--border)}.space-grid{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:65px}.space-grid h2{font-size:2.2rem}.space-grid p:last-child{color:var(--ink-soft)}.space-grid img{width:100%;height:265px;object-fit:cover;border-radius:5px}
.prices-and-practitioner{background:#fff}.prices-and-profile{display:grid;grid-template-columns:1.07fr .93fr;gap:42px}.prices-column{padding-right:10px}.profile-column{border-left:1px solid var(--border);padding-left:42px;scroll-margin-top:100px}.price-cards{display:grid;grid-template-columns:1fr 1fr;gap:19px}.price-card{padding:25px 22px 21px;background:linear-gradient(140deg,#fbf7f8,#f5f1f2);border-radius:6px;display:flex;flex-direction:column}.price-card h3{min-height:62px;font-size:1.5rem}.price-card>p:not(.price-card-label){color:var(--ink-soft);font-size:.82rem;line-height:1.66;min-height:75px}.price-card dl{margin:auto 0 22px;padding-top:14px}.price-card dl div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;line-height:1.9}.price-card dt{font-size:.84rem}.price-card dd{font-size:1.23rem;margin:0;font-weight:750;color:var(--ink)}.price-btn{width:100%;padding-inline:12px;font-size:.78rem}.price-note{font-size:.75rem;color:#7b7a7f;margin:19px 0 0}.profile-flex{display:grid;grid-template-columns:35% 1fr;gap:24px}.profile-flex img{width:100%;height:310px;object-fit:cover;object-position:50% 20%;border-radius:5px}.profile-summary h3{font-size:2rem;margin-bottom:9px}.profile-summary>p:not(.profile-kicker){font-size:.85rem;line-height:1.6;color:var(--ink-soft)}.credentials{list-style:none;padding:0;margin:13px 0}.credentials li{position:relative;padding-left:19px;font-size:.78rem;line-height:1.55;margin-bottom:7px}.credentials li:before{content:'✓';position:absolute;left:0;color:var(--pink);font-weight:900}.profile-detail{font-size:.84rem;color:var(--ink-soft);margin:16px 0 11px}
.faq-section{background:var(--cream)}.faq-list{border-top:1px solid #e7dfe2}.faq-list details{border-bottom:1px solid #e7dfe2;background:transparent;padding:0 16px}.faq-list summary{cursor:pointer;padding:18px 30px 18px 0;position:relative;font-weight:670;font-size:.97rem;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:2px;top:calc(50% - 15px);font:normal 1.65rem/1 var(--sans);color:var(--pink)}.faq-list details[open] summary:after{content:'−'}.faq-list details div{max-width:760px;padding:0 20px 19px 0;color:var(--ink-soft);font-size:.92rem;line-height:1.75}.faq-list details a{color:var(--pink)}.faq-safety{font-size:.78rem;color:#6c6e75;background:#fff;border-left:3px solid #dcb1be;margin:28px 0 0;padding:14px 16px}
.access-section{background:#fff}.access-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:68px}.access-lead{font-size:1.1rem;font-weight:650;margin-bottom:23px}.access-list{margin:0}.access-list>div{display:grid;grid-template-columns:126px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #ededed}.access-list dt{font-size:.81rem;text-transform:uppercase;letter-spacing:.1em;font-weight:750;color:#777}.access-list dd{margin:0;font-size:.95rem;line-height:1.58}.parking-note{font-size:.81rem;color:#70747b;margin-top:22px}.access-actions{display:flex;gap:21px;align-items:center;flex-wrap:wrap;margin-top:24px}.button-outline{background:#fff;border-color:var(--pink);color:#93344f}.button-outline:hover{background:var(--pink-light)}.map-frame{height:325px;overflow:hidden;border-radius:5px;background:#eee}.map-frame iframe{width:100%;height:100%;border:0}.building-guide{display:flex;gap:18px;align-items:center;margin-top:16px;background:#faf8f8;padding:12px;border-radius:5px}.building-guide img{width:122px;height:92px;object-fit:cover;flex-shrink:0}.building-guide p{margin:0;font-size:.82rem;line-height:1.62;color:var(--ink-soft)}.building-guide strong{color:var(--ink)}
.booking-footer{background:#ad4b68;color:#fff;padding:53px 0}.booking-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.booking-inner .eyebrow{color:#ffe1e8}.booking-inner h2{font-size:2.7rem;margin-bottom:8px}.booking-inner p:last-child{margin:0;color:#ffeaf0}.button-light{background:#fff;color:#93344f;white-space:nowrap}.button-light:hover{background:#f7e9ed}
.site-footer{background:#f8f8f8;padding:22px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}.footer-brand{font:normal 1.8rem/1 var(--serif);display:block}.footer-text{font-size:.66rem;color:#666}.footer-inner p,.footer-inner a{font-size:.72rem;color:#666;margin:0}.footer-inner a{text-decoration:none}
@media(max-width:1180px){.desktop-nav{gap:14px}.desktop-nav a{font-size:.76rem}.brand{min-width:171px}.header-cta{padding:12px 15px}.audience-card{grid-template-columns:35% 65%}.audience-text{padding:22px}.audience-text h3{font-size:1.65rem}.prices-and-profile{gap:29px}.profile-column{padding-left:29px}.profile-flex{grid-template-columns:32% 1fr;gap:17px}.profile-flex img{height:300px}}
@media(max-width:990px){.header-inner{height:75px}.desktop-nav,.header-cta{display:none}.brand{margin-right:auto}.mobile-nav{display:block;position:relative}.mobile-nav summary{display:flex;width:40px;height:40px;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{width:23px;height:2px;background:#37343b;display:block}.mobile-nav nav{position:absolute;top:52px;right:-14px;background:#fff;border:1px solid var(--border);box-shadow:0 20px 40px #0002;width:248px;display:flex;flex-direction:column;padding:11px;z-index:4;border-radius:7px}.mobile-nav nav a{display:block;text-decoration:none;padding:10px 12px;font-size:.88rem}.mobile-nav nav a:hover{background:var(--pink-light)}.mobile-nav .mobile-book{color:var(--pink);font-weight:750;border-top:1px solid var(--border)}.hero-layout{min-height:500px;grid-template-columns:51% 49%}.hero-photo{height:440px}.hero h1{font-size:clamp(3.4rem,6vw,5.5rem)}.concern-grid{gap:12px}.concern h3{font-size:1.1rem}.approach-grid{gap:35px}.approach-image img{height:450px}.prices-and-profile{grid-template-columns:1fr}.profile-column{border-left:0;border-top:1px solid var(--border);padding:50px 0 0}.profile-flex{grid-template-columns:180px 1fr;gap:32px;max-width:700px}.profile-flex img{height:260px}.price-card>p:not(.price-card-label){min-height:45px}.access-grid{gap:35px}}
@media(max-width:760px){.container{padding-inline:22px}.section{padding-block:64px}.hero-layout{grid-template-columns:1fr;padding-top:0;padding-bottom:28px;display:flex;flex-direction:column-reverse;align-items:stretch}.hero-photo{height:360px;margin:0 -22px 0;border-radius:0;box-shadow:none}.hero-photo img{object-position:43% 45%}.hero-photo::after{background:linear-gradient(0deg,#fbf9f9 0%,transparent 20%)}.hero-copy{padding:20px 0 0;max-width:100%}.hero h1{font-size:clamp(3.75rem,12vw,5.5rem);margin:10px 0 16px}.hero h2{font-size:1.65rem}.hero-copy>p:not(.eyebrow):not(.hero-small){font-size:.96rem}.hero-small{margin-top:17px}.intro-content{grid-template-columns:1fr;gap:10px}.audience-grid{grid-template-columns:1fr;gap:16px}.audience-card{min-height:250px;grid-template-columns:38% 62%}.concern-grid{grid-template-columns:repeat(2,1fr);gap:35px 17px}.concern:last-child{grid-column:1/-1;max-width:240px;margin:auto}.section-footnote{margin-top:33px}.approach-grid{grid-template-columns:1fr;gap:30px}.approach-image img{height:330px}.approach-copy h2{font-size:2.5rem}.space-grid{grid-template-columns:1fr;gap:15px}.space-grid img{height:265px}.access-grid{grid-template-columns:1fr;gap:32px}.booking-inner{flex-direction:column;align-items:flex-start}.booking-inner h2{font-size:2.3rem}.footer-inner{flex-wrap:wrap}.footer-inner>div{flex:1 1 100%}}
@media(max-width:480px){.header-inner{height:67px}.brand-main{font-size:2.1rem}.brand-sub{font-size:.46rem}.hero-photo{height:310px}.hero-photo-note{bottom:17px;right:16px}.hero h1{font-size:clamp(3.35rem,12.2vw,4.25rem)}.hero h2{font-size:1.5rem}.hero-copy>.eyebrow{font-size:.65rem}.button-large{width:100%}.audience-card{grid-template-columns:1fr}.audience-card>img{height:205px}.audience-text{padding:21px 22px}.audience-text h3{font-size:1.75rem}.concern-grid{gap:30px 9px}.icon-circle{width:68px;height:68px;margin-bottom:12px}.icon-circle svg{width:38px;height:38px}.concern h3{font-size:1.1rem}.concern p{font-size:.81rem}.price-cards{grid-template-columns:1fr}.price-card h3{min-height:0}.price-card>p:not(.price-card-label){min-height:0}.profile-flex{grid-template-columns:125px 1fr;gap:15px}.profile-flex img{height:170px}.profile-summary h3{font-size:1.5rem}.profile-kicker{font-size:.56rem}.profile-summary>p:not(.profile-kicker){font-size:.74rem}.credentials{margin-top:18px;grid-column:1/-1}.credentials li{font-size:.8rem}.profile-flex{display:grid;grid-template-areas:'photo info' 'credentials credentials'}.profile-flex>img{grid-area:photo}.profile-summary{display:contents}.profile-summary>.profile-kicker,.profile-summary>h3,.profile-summary>p:not(.profile-kicker){grid-column:2;grid-area:auto}.profile-summary>.profile-kicker{align-self:end;margin:0}.profile-summary>h3{margin:0}.profile-summary>p:not(.profile-kicker){margin:0}.profile-summary .credentials{grid-area:credentials}.faq-list summary{font-size:.9rem}.access-list>div{grid-template-columns:100px 1fr}.building-guide{align-items:flex-start}.building-guide img{width:94px;height:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.desktop-nav a{transition:none}}
/* Small-screen practitioner layout: keep the name beside the portrait and credentials below. */
@media(max-width:480px){
  .profile-flex{display:block}
  .profile-flex:after{content:'';display:table;clear:both}
  .profile-flex>img{width:125px;height:170px;float:left;margin:0 16px 12px 0}
  .profile-summary{display:block}
  .profile-summary>.profile-kicker{padding-top:7px;margin-bottom:8px}
  .profile-summary>h3{font-size:1.65rem;line-height:1.12;margin-bottom:10px}
  .profile-summary>p:not(.profile-kicker){font-size:.79rem;line-height:1.57}
  .profile-summary .credentials{clear:both;padding-top:16px;margin-top:12px}
  .profile-summary .credentials li{font-size:.83rem}
}
