:root{--paper:#f5f2e9;--ink:#293c32;--muted:#5d655b;--sage:#405b4b;--line:#cdd0c1;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:.3em}a:focus-visible,button:focus-visible{outline:3px solid #966139;outline-offset:6px}.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-100px;z-index:10;padding:12px;background:var(--paper)}.skip-link:focus{top:1rem}.header{min-height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;min-height:44px;padding-block:12px;text-decoration:none}.brand-logo{opacity:0.5;display:block;width:240px;max-width:100%;height:auto}nav{display:flex;gap:32px}nav a{font-size:14px;text-decoration:none;padding-block:12px}nav a:hover,.footer a:hover{text-decoration:underline}.hero{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:24px;padding-top:76px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.2em;margin:0 0 30px}.hero h1{font:clamp(58px,6.8vw,90px)/1.06 var(--serif);font-weight:400;margin:0 0 25px;letter-spacing:-.055em}.hero h1 span{display:block;font:400 21px/1.6 var(--serif);letter-spacing:0;margin-bottom:14px}em{font-weight:400}h2{font:400 clamp(36px,4vw,53px)/1.16 var(--serif);letter-spacing:-.035em;margin:0 0 30px}.services{max-width:430px;font-size:14px;line-height:1.9;color:var(--muted)}.hero-intro{font:24px/1.45 var(--serif);margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:55px;padding:15px 23px;background:var(--sage);border:1px solid var(--sage);border-radius:2px;color:#fff;text-decoration:none;font:14px/1.5 var(--sans)}.button:hover{background:#304b3c}.button span{font-size:22px}.contact-note{font-size:12px;color:var(--muted);margin:13px 0 0}.balance{position:relative;min-height:410px;align-self:center}.balance-ring{position:absolute;border:1px solid #aeb9a7;border-radius:50%;width:310px;height:310px;left:50%;top:35px;transform:translateX(-50%)}.ring-two{width:260px;height:260px;top:60px}.balance-core{position:absolute;width:210px;height:210px;border-radius:50%;background:#d9dece;top:85px;left:50%;transform:translateX(-50%);background:linear-gradient(115deg,#e6e7db,#b1bea8)}.balance-dot{position:absolute;top:221px;left:50%;width:72px;height:72px;border-radius:50%;background:var(--paper);border:1px solid #b7c0ad;transform:translateX(-50%)}.element{position:absolute;width:8px;height:8px;border-radius:50%;background:#71836b;left:50%;top:31px}.e2{transform:translate(144px,107px);background:#a89878}.e3{transform:translate(86px,282px);background:#b28367}.e4{transform:translate(-96px,282px);background:#8d9288}.e5{transform:translate(-151px,107px);background:#5f7470}.balance p{position:absolute;bottom:0;text-align:center;width:100%;font-size:10px;letter-spacing:.25em;color:var(--muted)}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:52px;padding:24px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.hero-bottom a{text-decoration:none}.hero-bottom a span{margin-left:16px}.section{padding-block:90px}.about,.practitioner{display:grid;grid-template-columns:1fr 1.6fr;gap:60px}.about p:not(.eyebrow){max-width:610px;color:var(--muted);margin:0 0 21px;line-height:1.9}.treatments{background:#e9eddf}.treatments h2{margin-bottom:45px}.treatment-list{list-style:none;margin:0;padding:0}.treatment-list li{display:flex;gap:35px;align-items:center;border-top:1px solid #bdc6b4;padding:26px 0}.treatment-list li:last-child{border-bottom:1px solid #bdc6b4}.number{font-size:12px;color:var(--muted)}h3{font:400 clamp(25px,3vw,35px)/1.25 var(--serif);margin:0}.treatment-symbol{margin-left:auto;font-size:24px;font-weight:300;color:#687e5f}.experience{font:58px/1 var(--serif);margin:0 0 35px;color:var(--sage)}.experience span{font:12px/1.5 var(--sans);display:inline-block;max-width:85px;margin-left:10px}.practitioner h2{margin-bottom:16px}.role{color:var(--muted);margin:0}.contact{background:#e5e5d8;text-align:center}.contact h2{max-width:700px;margin:0 auto 20px}.contact .button{margin-top:15px}.button:disabled{opacity:1;background:#52664f;border-color:#52664f;cursor:not-allowed}.location{margin:35px 0 0;font-size:14px}.footer{display:flex;justify-content:space-between;gap:20px;padding-block:30px;font-size:12px;color:var(--muted)}.footer a{text-decoration:none}.footer-divider{padding-inline:12px}
@media(min-width:1400px){.hero{padding-top:100px;padding-bottom:10px}.balance{transform:scale(1.1)}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{min-height:94px;gap:14px}.brand{flex:0 1 200px}.brand-logo{width:185px}nav{gap:0}nav a{display:none}nav a:last-child{display:block;font-size:12px}.hero{grid-template-columns:1fr;padding-top:43px;gap:0}.hero h1{font-size:clamp(52px,12vw,78px)}.hero h1 span{font-size:20px}.hero .eyebrow{margin-bottom:22px}.hero-intro{font-size:23px}.services{max-width:290px}.balance{min-height:310px;margin-top:30px;transform:scale(.8);transform-origin:center center;margin-bottom:-25px}.balance-ring{top:0}.ring-two{top:25px}.balance-core{top:50px}.balance-dot{top:186px}.element{top:-4px}.balance p{bottom:-36px}.hero-bottom{margin-top:38px;gap:20px;align-items:center;font-size:11px}.hero-bottom>a{max-width:100px;text-align:right}.section{padding-block:60px}.about,.practitioner{grid-template-columns:1fr;gap:0}.eyebrow{margin-bottom:25px}.about h2{font-size:39px}.treatment-list li{gap:20px;padding-block:25px}.treatment-list h3{font-size:27px}.experience{margin-bottom:24px}.contact h2{max-width:330px}.footer{flex-direction:column;gap:10px}.button{max-width:100%;gap:16px;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.icon-arrow{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.1em}.button .icon-arrow{width:22px;height:22px}
