@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#3f2456;--text:#605765;--paper:#fcf9f6;--sage:#eee5f2;--line:#dfd4e3;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a0753e;outline-offset:6px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.04}h1{font-size:clamp(56px,5.8vw,86px);margin-bottom:26px}h2{font-size:clamp(42px,4.4vw,62px);margin-bottom:25px}h3{font-weight:500;font-size:23px;line-height:1.3;letter-spacing:-.035em}em{font-weight:400;color:#805b91}p{color:var(--text)}.wrap{max-width:1260px;margin:auto;padding-left:48px;padding-right:48px}header{max-width:1360px;margin:auto;min-height:113px;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:27px;line-height:1.15;white-space:nowrap}.brand svg{width:42px;height:42px;fill:none;stroke:var(--ink);stroke-width:1.6}.brand-sub{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.23em;margin-top:9px}nav{display:flex;align-items:center;gap:31px;font-size:13px}nav>a:not(.button):hover,.text-link:hover,.email:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:54px;padding:15px 24px;background:var(--ink);color:#fff;border-radius:4px;font-size:13px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#5b3774;transform:translateY(-2px)}.button.small{min-height:44px;padding:11px 20px}.button span{font-size:19px}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:46px;padding-top:35px;padding-bottom:75px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:650;color:var(--ink);margin-bottom:28px}.eyebrow>span{display:inline-block;width:7px;height:7px;background:#ad8cbc;border-radius:50%;margin-right:8px}.lead{font-size:17px;max-width:475px;line-height:1.8}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.text-link{font-size:13px;font-weight:550}.text-link span{margin-left:10px}.hero-note{font-size:11px;margin-top:22px}.hero-art{position:relative;padding-bottom:15px}.hero-art>svg{display:block;width:100%;max-height:565px;border-radius:220px 220px 10px 10px}.art-caption{position:absolute;bottom:57px;left:-28px;display:flex;align-items:center;gap:17px;background:#fffaf5;padding:20px 25px;box-shadow:0 12px 35px #3f245613;border:1px solid #e6d9e9;border-radius:4px}.art-caption p{margin:0;font-size:12px;line-height:1.6}.sun-symbol{font-size:36px;color:#967440}.art-label{display:block;margin-top:14px;text-align:right;font-size:8px;letter-spacing:.22em}.intro-band{background:var(--sage)}.intro-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:32px;padding-bottom:32px}.intro-band p{font-family:var(--serif);font-size:32px;line-height:1.1;color:var(--ink);margin:0}.intro-band>div>span{font-size:13px;color:var(--text)}.section{padding-top:90px;padding-bottom:90px}.section-heading{display:flex;justify-content:space-between;gap:55px;align-items:flex-end;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:290px;font-size:14px;margin-bottom:3px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services article{padding:30px 28px 32px 0;display:flex;flex-direction:column}.services article+article{border-left:1px solid var(--line);padding-left:28px}.number{font-size:9px;font-weight:600;letter-spacing:.1em}.line-icon{font-family:Georgia,serif;font-size:45px;line-height:1;margin:33px 0 22px;color:#8d689f}.services h3{font-size:24px}.services p{font-size:13px;line-height:1.85;flex:1}.services a{font-size:11px;font-weight:600;margin-top:20px;display:flex;justify-content:space-between;gap:10px}.services a:hover{text-decoration:underline}.services a span{font-size:17px}.fine{font-size:11px;line-height:1.8;margin-top:20px}.approach{background:#f2ecf5}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:80px;padding-bottom:75px}.approach-intro{color:var(--ink);font-weight:600;margin-top:30px;margin-bottom:12px}.approach-grid>div>p:not(.eyebrow):not(.fine){font-size:14px;max-width:440px}.approach .text-link{display:inline-block;margin-top:15px}.steps{padding:0;margin:9px 0 0;list-style:none}.steps li{display:flex;gap:22px;padding:26px 0;border-bottom:1px solid #ddcfe5}.steps li:first-child{padding-top:0}.steps li>span{font-family:var(--serif);font-size:30px;color:#8d689f;line-height:1}.steps h3{font-size:23px;margin-bottom:9px}.steps p{font-size:13px;margin-bottom:0}.assumption{display:grid;grid-template-columns:1fr 1fr;gap:100px}.assumption>div>p:not(.eyebrow){font-size:14px;max-width:410px}.assumption .button{margin-top:13px}.support{border:1px solid var(--line);padding:35px 37px;background:#fffaf7;border-radius:5px}.support h3{font-family:var(--serif);font-size:32px}.support ul{list-style:none;padding:0;margin:25px 0 30px}.support li{font-size:13px;padding:11px 0 11px 23px;border-bottom:1px solid #e9deec;position:relative}.support li:before{content:'✓';position:absolute;left:0;color:#805b91}.price{display:flex;align-items:center;justify-content:space-between;font-size:13px}.price strong{font-family:var(--serif);font-size:40px;font-weight:400}.faq-section{background:#f5f0eb;padding:80px 0}.faq-grid{display:grid;grid-template-columns:.95fr 1.1fr;gap:70px}.faq-grid>div>p:not(.eyebrow){font-size:13px}.faqs details{border-bottom:1px solid #e1d5e5;padding:21px 0}.faqs details:first-child{padding-top:0}.faqs summary{font-size:14px;font-weight:550;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.faqs summary:after{content:'+';font-size:22px;font-weight:400}.faqs summary::-webkit-details-marker{display:none}.faqs details[open] summary:after{content:'−'}.faqs details p{font-size:13px;padding-right:28px;margin:15px 0 0}.contact{background:var(--ink);border-radius:8px;padding:55px 60px;display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}.contact h2,.contact .eyebrow{color:#fffaf6}.contact h2 em{color:#d7bde3}.contact p{color:#eee1f0;font-size:13px}.contact h2{font-size:60px}.contact-actions{max-width:350px;width:100%;justify-self:end}.cream{background:#f1e6f5;color:var(--ink);width:100%}.cream:hover{background:#fff7ed}.cream span{font-size:13px}.email{display:flex;justify-content:space-between;font-size:14px;border-bottom:1px solid #9975a9;padding:20px 0 12px}.contact-actions>p{font-size:11px;margin:12px 0}.contact-actions>p.fine{font-size:10px;color:#e1cde8;margin-top:23px}footer{padding-bottom:30px}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:center;padding-bottom:30px;border-bottom:1px solid var(--line)}.footer-top p{font-size:12px;margin:0}.footer-top>a:last-child{font-size:14px}.disclosure{font-size:10px;line-height:1.9;margin:25px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--text)}.footer-bottom>div{display:flex;gap:20px}.menu{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-100px;left:15px;background:white;z-index:20;padding:10px}.skip:focus{top:10px}
@media(min-width:1450px){.hero{padding-top:55px;padding-bottom:90px}.hero-art>svg{max-height:600px}}
@media(max-width:1000px){.wrap{padding-left:30px;padding-right:30px}header{padding:20px 30px}nav{gap:19px}.brand{font-size:24px}.hero{gap:25px}h1{font-size:64px}.hero-art>svg{min-height:450px;object-fit:cover}.actions{gap:15px}.approach-grid,.assumption{gap:50px}.contact{padding:40px;gap:35px}.contact h2{font-size:50px}}
@media(max-width:760px){html{scroll-padding-top:25px}.wrap{padding-left:24px;padding-right:24px}header{padding:22px 24px;min-height:90px;position:relative;flex-wrap:wrap}.brand{font-size:23px}.brand svg{width:33px;height:33px}.brand-sub{font-size:8px}.menu{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:4px;background:transparent;padding:8px 11px;font-size:12px;color:var(--ink)}nav{display:none;width:100%;align-items:stretch;flex-direction:column;gap:0;padding-top:10px}nav.open{display:flex}nav>a{padding:14px 0;border-bottom:1px solid var(--line)}nav .button{margin-top:15px}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:45px;gap:30px}.hero-copy{max-width:550px}h1{font-size:61px}.hero .eyebrow{font-size:9px;margin-bottom:23px}.lead{font-size:15px}.actions{gap:20px}.hero-art{width:90%;max-width:470px;justify-self:center}.hero-art>svg{min-height:0;max-height:475px}.art-caption{left:-15px;bottom:43px;padding:15px 20px}.art-caption p{font-size:11px}.intro-band>.wrap{gap:22px;align-items:flex-start;flex-direction:column}.intro-band p{font-size:31px}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block}.section-heading>p{margin-top:23px;max-width:450px}h2{font-size:46px}.services{grid-template-columns:1fr}.services article{padding:25px 0}.services article+article{border-left:none;border-top:1px solid var(--line);padding-left:0}.line-icon{margin:25px 0 17px}.services a{margin-top:10px;font-size:12px}.services p{max-width:450px}.approach-grid,.assumption,.faq-grid{grid-template-columns:1fr;gap:35px}.approach-grid{padding-top:55px;padding-bottom:55px}.steps li{padding:23px 0}.support{padding:28px}.faq-section{padding:55px 0}.contact{grid-template-columns:1fr;padding:34px 25px;gap:20px}.contact h2{font-size:47px}.contact-actions{max-width:none}.footer-top{align-items:flex-start;flex-direction:column;gap:22px}.footer-bottom{flex-direction:column;gap:15px}.footer-bottom>div{flex-wrap:wrap;gap:15px}.eyebrow{letter-spacing:.14em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Brand photography and plum / lavender palette */
.hero-photo{display:block;width:100%;height:545px;object-fit:cover;object-position:43% center;border-radius:190px 190px 8px 8px;background:#eee5f2}
.hero-art{padding-bottom:15px}
.art-caption{border-left:3px solid #b09564}
.approach-photo{margin:30px 0 0;max-width:480px}
.approach-photo img{display:block;width:100%;height:auto;border-radius:6px}
.approach-photo figcaption{margin-top:10px;font-size:10px;letter-spacing:.08em;color:#805b91}
.steps{align-self:center}
@media(min-width:1450px){.hero-photo{height:585px}}
@media(max-width:1000px) and (min-width:761px){.hero-photo{height:490px}}
@media(max-width:760px){.hero-art{width:100%;max-width:510px}.hero-photo{height:auto;aspect-ratio:1.12;object-position:43% center;border-radius:130px 130px 6px 6px}.art-caption{left:-8px}.approach-photo{max-width:none}}

.booking{gap:16px;line-height:1.5}.booking>span[aria-hidden]{flex-shrink:0}.contact-actions>p.booking-note{margin:12px 0 6px;}

.preparation{padding-top:65px}.preparation-inner{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-bottom:1px solid var(--line);padding-bottom:45px}.preparation h2{font-size:46px}.preparation p:not(.eyebrow):not(.fine){font-size:14px}.preparation-list{list-style:none;padding:0;margin:0}.preparation-list li{position:relative;padding:15px 0 18px 26px;border-bottom:1px solid var(--line);font-size:14px;color:var(--text)}.preparation-list li:before{content:'✓';position:absolute;left:0;color:#805b91}.preparation-list strong{color:var(--ink);font-weight:600}@media(max-width:760px){.preparation{padding-top:50px}.preparation-inner{grid-template-columns:1fr;gap:10px}.preparation h2{font-size:42px}}

.reviews{border-top:1px solid var(--line)}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.review-card{margin:0;padding:30px 26px;background:#f2ecf5;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column}.review-stars{color:#8b652d;letter-spacing:3px;font-size:18px;margin-bottom:23px}.review-card blockquote{margin:0;flex:1}.review-card blockquote p{font-size:13px;line-height:1.9}.review-card figcaption{border-top:1px solid var(--line);padding-top:20px;margin-top:16px}.review-card figcaption strong{display:block;font-size:14px;font-weight:600}.review-card figcaption span{display:block;margin-top:5px;color:var(--text);font-size:10px;line-height:1.7}@media(max-width:1000px) and (min-width:761px){nav{gap:13px}nav .small{padding:11px 12px}.brand{font-size:21px}.review-grid{gap:14px}.review-card{padding:24px 18px}}@media(max-width:760px){.review-grid{grid-template-columns:1fr}.review-card{padding:27px}.review-card blockquote p{font-size:14px}}

/* Supplied logo: frame the original file to account for its generous margins. */
.brand-logo{display:flex;flex-direction:column;gap:0;align-items:center;flex-shrink:0}.logo-window{display:block;position:relative;overflow:hidden;width:225px;height:159px}.logo-window img{display:block;position:absolute;width:506px;height:auto;max-width:none;left:-140px;top:-24px}.brand-logo .brand-sub{margin-top:8px;font-size:9px;letter-spacing:.23em}header:has(.brand-logo){padding-top:14px;padding-bottom:18px}@media(max-width:1000px){.logo-window{width:190px;height:134px}.logo-window img{width:427px;left:-118px;top:-20px}}@media(max-width:760px){.logo-window{width:170px;height:120px}.logo-window img{width:382px;left:-106px;top:-18px}.brand-logo .brand-sub{font-size:8px;margin-top:6px}header:has(.brand-logo){padding-top:14px}}

/* About Jennifer */
nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.about-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;padding-top:35px;padding-bottom:70px}.about-hero h1{font-size:clamp(52px,5.2vw,74px)}.about-hero>div>p:not(.eyebrow):not(.lead):not(.fine){font-size:15px}.about-hero .button{margin-top:12px}.about-portrait{margin:0}.about-portrait img{width:100%;height:auto;display:block;border-radius:160px 160px 6px 6px}.about-portrait figcaption{font-size:10px;color:var(--text);margin-top:12px}.intro-band>.about-credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:30px;padding-bottom:30px}.about-credentials strong{display:block;font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.2}.about-credentials span{display:block;margin-top:9px;font-size:11px;color:var(--text)}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-story p:not(.eyebrow),.about-origin p:not(.eyebrow){font-size:14px;line-height:1.9}.about-origin{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about-origin figure{margin:0}.about-origin img{display:block;width:100%;height:auto;border-radius:6px}.about-cta{padding-top:0}.jennifer-intro{max-width:340px}.jennifer-intro img{width:100%;height:auto}.about-story h2,.about-origin h2{font-size:48px}@media(min-width:1001px){header:has(.brand-logo) nav{gap:20px;font-size:12px}}@media(max-width:1000px){.about-hero{gap:35px}.about-story,.about-origin{gap:35px}nav{flex-wrap:wrap;justify-content:flex-end}.about-credentials strong{font-size:26px}}@media(max-width:760px){.about-hero{grid-template-columns:1fr;gap:28px;padding-top:25px;padding-bottom:50px}.about-hero h1{font-size:54px}.about-portrait{max-width:400px;justify-self:center}.about-story,.about-origin{grid-template-columns:1fr;gap:20px}.intro-band>.about-credentials{grid-template-columns:1fr;gap:24px}.about-story h2,.about-origin h2{font-size:43px}.about-origin figure{order:2}.jennifer-intro{max-width:340px}nav{flex-wrap:nowrap}}
