@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#202723;--paper:#e9dfce;--gold:#d5bb83;--muted:#beb5a6;--line:#e9dfce26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.skip{position:absolute;top:-100px;background:var(--paper);color:var(--ink);padding:12px;z-index:9}.skip:focus{top:0}header{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 5%;border-bottom:1px solid var(--line)}.brand{font:italic 27px/1 Georgia,serif;white-space:nowrap}.brand span{display:block;font:12px/2.4 'Manrope',sans-serif;letter-spacing:2.8px;text-transform:uppercase}nav{display:flex;gap:30px;font-size:14px}nav a:hover,footer a:hover{color:var(--gold)}.nav-book{font-size:14px;border-bottom:1px solid var(--gold);padding-bottom:5px}.nav-book span{margin-left:16px}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.08fr 1fr;padding:45px 5% 0;column-gap:5%}.hero-copy{padding:55px 0 35px}.eyebrow{font-size:12px;letter-spacing:2.6px;font-weight:500;color:var(--gold);margin:0 0 30px}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-2px}h1{font-size:clamp(50px,5.3vw,84px);margin:0 0 30px}em{color:var(--gold);font-weight:400}p{margin:0 0 22px}.intro{max-width:420px;color:#d5cbbb;font-size:18px;line-height:1.8}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;background:var(--gold);color:var(--ink);padding:15px 24px;font-size:14px;font-weight:600;margin-top:15px;transition:background .2s}.button:hover{background:#e5cfa3}.credential{font-size:12px;letter-spacing:1.6px;margin:52px 0 0}.credential span{display:block;color:var(--muted);margin-top:6px;font-size:12px;letter-spacing:1px}.hero-image{margin:0;position:relative;min-height:580px;overflow:hidden;background:#364039}.hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0007)}figcaption{position:absolute;bottom:24px;left:26px;font-size:12px;letter-spacing:2.8px;z-index:1}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:15px;padding:33px 0;color:#d5cbbb;font-size:12px;letter-spacing:2px;border-bottom:1px solid var(--line)}.section{padding:100px 8%;max-width:1600px;margin:auto}h2{font-size:clamp(40px,4.1vw,62px);margin:0}h3{font:26px/1.3 Georgia,serif;margin:0 0 12px}.approach,.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.lead{font:29px/1.4 Georgia,serif}.approach-copy>p:not(.lead){color:#c8beae}.service{border-top:1px solid var(--line);display:flex;gap:24px;padding:25px 0 0;margin-top:27px}.service>span{font-size:12px;color:var(--gold);padding-top:5px}.service p{color:#c8beae}.small{font-size:14px}.rates{background:var(--paper);color:var(--ink);max-width:none}.rates .eyebrow{color:#726141}.rates em{color:#74603c}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.section-heading>p{max-width:320px;margin:0;color:#515b53}.rate-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:55px 0 28px;border-top:1px solid #20272338;border-bottom:1px solid #20272338}.rate-grid article{padding:28px 25px 18px;border-right:1px solid #20272338}.rate-grid article:first-child{padding-left:0}.rate-grid article:last-child{border:0}.duration{font:36px/1.3 Georgia,serif}.duration span{font:14px 'DM Sans',sans-serif}.rate{font:48px/1.3 Georgia,serif;margin:35px 0 20px}.rate-grid article>p:last-child{font-size:15px;color:#515b53}.rate-footer{display:flex;justify-content:space-between;align-items:center;gap:30px}.rate-footer p{font-size:14px;max-width:470px;margin:0}.button.dark{background:var(--ink);color:var(--paper);margin:0}.button.dark:hover{background:#3e4d42}.faq h2{font-size:clamp(38px,3.5vw,54px)}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;padding:22px 30px 22px 0;position:relative;list-style:none;font-size:17px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;color:var(--gold);font-size:22px;top:17px}details[open] summary:after{content:'−'}details p{color:#c8beae;padding-right:25px;font-size:16px}.closing{text-align:center;background:#171d19;padding:85px 24px}.closing h2{font-size:clamp(48px,5vw,72px);margin-bottom:22px}.closing>p:last-child{font-size:14px;color:#beb5a6;margin:22px 0 0}footer{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:24px;padding:40px 5%;font-size:14px;color:#c8beae}footer p{margin:0}.image-note{flex-basis:100%;font-size:12px;color:#a69f92}@media(min-width:1600px){.rates{padding-left:max(8%,calc((100vw - 1344px)/2));padding-right:max(8%,calc((100vw - 1344px)/2))}}@media(max-width:900px){nav{gap:18px}.hero-copy{padding-top:25px}.hero-image{min-height:530px}.hero{gap:4%}.hero-bottom{letter-spacing:1px}.section{padding:75px 6%}.approach,.faq{gap:6%;grid-template-columns:1fr 1.2fr}.rate-grid article{padding-right:16px;padding-left:16px}}@media(max-width:650px){header{padding:22px 6%}nav{display:none}.nav-book{font-size:13px}.brand{font-size:24px}.brand span{font-size:10px}.hero{grid-template-columns:1fr;padding:25px 6% 0;gap:0}.hero-copy{padding-bottom:35px}h1{font-size:52px}.eyebrow{font-size:11px;letter-spacing:1.8px}.intro{font-size:17px}.credential{margin-top:30px}.hero-image{min-height:0;height:410px}.hero-image img{object-position:center 45%}.hero-bottom{font-size:10px;letter-spacing:.7px;padding:23px 0;gap:12px}.hero-bottom span{max-width:95px}.section{padding:60px 6%}.approach,.faq{grid-template-columns:1fr;gap:35px}.section-heading{display:block}.section-heading>p{margin-top:25px}.rate-grid{grid-template-columns:1fr 1fr;margin-top:32px}.rate-grid article{padding:22px 16px!important}.rate-grid article:nth-child(2){border-right:0}.rate-grid article:nth-child(-n+2){border-bottom:1px solid #20272338}.rate{margin:20px 0;font-size:42px}.duration{font-size:32px}.rate-footer{display:block}.rate-footer .button{margin-top:22px}.closing{padding:65px 6%}footer{padding:35px 6%;align-items:flex-start;flex-direction:column}footer .image-note{flex-basis:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* An engraved botanical signature, kept quiet behind the editorial layout. */
.approach{position:relative;isolation:isolate;overflow:hidden;min-height:660px}.approach:before{content:'';position:absolute;z-index:-1;pointer-events:none;left:-40px;bottom:-125px;width:49%;height:620px;background:url('fern-watermark.jpg') center/contain no-repeat;mix-blend-mode:screen;opacity:.095;transform:rotate(-18deg)}.approach>div:first-child{position:relative}.hero-image{border-radius:46% 46% 2px 2px}.hero-image figcaption{left:0;right:0;text-align:center}.closing{position:relative;isolation:isolate;overflow:hidden}.closing:before{content:'';position:absolute;z-index:-1;pointer-events:none;width:370px;height:560px;right:-35px;bottom:-150px;background:url('fern-watermark.jpg') center/contain no-repeat;mix-blend-mode:screen;opacity:.085;transform:rotate(30deg)}.closing:after{content:'';position:absolute;z-index:-1;pointer-events:none;inset:22px;border:1px solid #d5bb8320}.closing .eyebrow{letter-spacing:3.8px}@media(max-width:650px){.approach{min-height:0}.approach:before{width:340px;height:480px;left:auto;right:-130px;top:-45px;bottom:auto;opacity:.075}.hero-image{border-radius:44% 44% 2px 2px}.closing:before{width:240px;height:380px;right:-100px;opacity:.065}.closing:after{inset:13px}}
/* A softly lit botanical opening, continuous with the site's engraved details. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 16% 30%,#b99b5d18 0%,transparent 59%),linear-gradient(125deg,#29352d 0%,#202723 65%)}.hero:before{content:'';position:absolute;z-index:-1;pointer-events:none;left:-130px;top:-105px;width:700px;height:920px;background:url('fern-watermark.jpg') center/contain no-repeat;mix-blend-mode:screen;opacity:.13;transform:rotate(-25deg);mask-image:linear-gradient(to right,#000 20%,#0009 75%,transparent)}.hero-copy{position:relative}.hero-bottom{position:relative}@media(max-width:650px){.hero{background:radial-gradient(ellipse at 10% 16%,#b99b5d1c,transparent 45%),linear-gradient(140deg,#29352d,#202723 65%)}.hero:before{width:500px;height:700px;left:-140px;top:-100px;opacity:.12;transform:rotate(-23deg)}}

.contact-number{font:28px/1.5 Georgia,serif;margin:24px 0 12px;color:var(--paper)}.contact-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px}.contact-actions .button{margin-top:0;justify-content:center}.button.contact-outline{background:transparent;color:var(--paper);border:1px solid #d5bb8370}.button.contact-outline:hover{background:#d5bb8314}.inline-contact{text-decoration:underline;text-underline-offset:3px;color:var(--paper)}@media(max-width:650px){.contact-actions{max-width:360px;margin:auto}.contact-actions .button{flex:1 1 130px}.contact-actions .button:last-child{flex-basis:100%}}

.price-options{margin:28px 0 22px}.price-options>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0}.price-options>div+div{border-top:1px solid #20272320}.price-options dt{font-size:14px;color:#515b53}.price-options dd{margin:0;font:34px/1.25 Georgia,serif}@media(max-width:650px){.price-options{margin:18px 0}.price-options>div{gap:8px}.price-options dd{font-size:28px}}

.referral{max-width:1120px;margin:0 auto;padding:65px 6%;display:grid;grid-template-columns:1fr 232px;align-items:center;gap:70px;border-bottom:1px solid var(--line)}.referral h2{font-size:42px;margin-bottom:22px}.referral .eyebrow{margin-bottom:18px}.referral p{max-width:510px;color:#c8beae}.referral figure{margin:0;text-align:center}.referral figure img{display:block;width:232px;height:232px;max-width:100%}.referral figcaption{position:static;letter-spacing:1px;font-size:14px;margin-top:12px}.referral-actions{display:flex;flex-wrap:wrap;gap:12px}.referral button{font-family:inherit;cursor:pointer;border:1px solid transparent}.referral button.contact-outline{border-color:#d5bb8370}.referral button[hidden]{display:none}.referral button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.referral-url{display:inline-block;font-size:16px;margin-top:22px;text-decoration:underline;text-underline-offset:4px}#share-status{font-size:14px;margin:10px 0 0;min-height:24px}@media(max-width:650px){.referral{grid-template-columns:1fr;gap:26px;padding:50px 6%}.referral figure{justify-self:center}.referral h2{font-size:38px}.referral-actions .button{flex:1;white-space:nowrap;padding:14px 18px}}

.therapist{display:flex;align-items:center;gap:22px;margin:38px 0 0}.therapist .credential{margin:0}.portrait-button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;background:none;border:0;color:var(--gold);font:12px/1.4 'DM Sans',sans-serif;cursor:pointer}.portrait-button img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:center 35%;border:1px solid var(--gold);padding:3px}.portrait-button:hover img{border-color:var(--paper)}.portrait-button:focus-visible,.portrait-close:focus-visible{outline:3px solid var(--gold);outline-offset:6px}#tom-dialog{position:fixed;border:1px solid #d5bb8350;padding:0;background:var(--ink);color:var(--paper);width:min(860px,92vw);max-height:90vh;overflow:auto}#tom-dialog::backdrop{background:#0c120ee0}.portrait-layout{display:grid;grid-template-columns:1fr 1.05fr;align-items:center}.portrait-layout>img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:center}.portrait-intro{padding:48px 32px 36px}.portrait-intro .eyebrow{font-size:11px;margin-bottom:18px}.portrait-intro h2{font-size:44px;margin-bottom:18px}.portrait-intro p{font-size:16px;color:#c8beae}.portrait-intro .portrait-license{font-size:13px;color:var(--gold)}.portrait-close{position:absolute;right:10px;top:10px;width:36px;height:36px;border:1px solid #d5bb8380;background:var(--ink);color:var(--paper);font:26px/1 Georgia,serif;cursor:pointer;z-index:1}@media(max-width:650px){.therapist{margin-top:28px}.portrait-layout{grid-template-columns:1fr}.portrait-layout>img{min-height:0;height:260px;object-position:center 32%}.portrait-intro{padding:30px 24px}.portrait-intro h2{font-size:38px}}

/* Bring the therapist into the first reading sequence. */
.hero-copy{padding-top:8px}.hero-copy h1{margin-bottom:22px}.hero-copy .therapist{margin:0 0 25px}.hero-copy .intro{margin-bottom:16px}@media(max-width:650px){.hero{padding-top:16px}.hero-copy{padding-top:5px}.hero-copy h1{margin-bottom:22px}.hero-copy .therapist{margin:0 0 24px}}
/* Narrow-screen review: preserve room for text, prices and touch controls. */
.hero-copy,.approach>div,.faq>div,.referral>div,.rate-grid article{min-width:0}.price-options>div{flex-wrap:wrap}.portrait-close{width:44px;height:44px}.portrait-button{flex-shrink:0}.referral-url{overflow-wrap:anywhere}.referral-actions .button{min-height:44px}#tom-dialog{max-height:90dvh}@media(max-width:900px){.rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rate-grid article{padding:24px 20px}.rate-grid article:first-child{padding-left:20px}.rate-grid article:nth-child(2){border-right:0}.rate-grid article:nth-child(-n+2){border-bottom:1px solid #20272338}.referral{gap:32px}.portrait-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:650px){header{gap:14px;flex-wrap:wrap}.nav-book{min-height:44px;display:flex;align-items:center}.nav-book span{margin-left:8px}h1{font-size:clamp(2.625rem,11.5vw,3.25rem)}.hero-bottom{flex-wrap:wrap}.referral-actions .button{flex:1 1 150px;white-space:normal}.portrait-layout{grid-template-columns:1fr}.credential{overflow-wrap:anywhere}.button{max-width:100%}}@media(max-width:380px){.price-options>div{display:block}.price-options dd{margin-top:3px}.therapist{gap:14px}.credential{letter-spacing:1px}}
.portrait-button img{width:105px;height:105px}.portrait-button{font-size:15px}
