:root{--cream:#fbf2e9;--cream-light:#fffaf5;--sage:#7b876f;--sage-dark:#354a3e;--sage-pale:#e1e6db;--rose:#e4c8cc;--gold:#b08a50;--ink:#354a3e;--muted:#66695f;--line:#dfd9cc;--display:'Cormorant Garamond',Georgia,serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.7 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip-link{position:absolute;left:16px;top:-100px;padding:10px 15px;background:var(--ink);color:#fff;z-index:100}.skip-link:focus{top:16px}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.06;letter-spacing:-.025em}h1 em,h2 em{font-weight:400;color:var(--sage)}h2{font-size:clamp(45px,5vw,68px);margin-bottom:25px}p{margin-bottom:18px}.kicker,.eyebrow{text-transform:uppercase;font-weight:700;letter-spacing:.18em;font-size:11px;color:var(--sage)}.section{padding-block:108px;scroll-margin-top:90px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:12px 25px;border-radius:50px;font-size:12px;font-weight:700;line-height:1.25;text-align:center;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:18px;font-weight:400}.button-primary{background:var(--rose);border:1px solid var(--gold);color:var(--ink)}.button-primary:hover{background:#dcbac0}.button-light{border:1px solid rgba(255,255,255,.7);color:#fff}.button-light:hover{background:rgba(255,255,255,.13)}.button-outline{border:1px solid var(--sage-dark);color:var(--sage-dark)}.button-outline:hover{background:var(--sage-pale)}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:6px;display:inline-flex;align-items:center;gap:11px}.text-link span{color:var(--gold)}
.site-header{background:var(--cream);border-top:3px solid var(--gold);border-bottom:1px solid #e5d8c9;position:relative;z-index:20}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;font:500 28px/.8 var(--display);white-space:nowrap}.brand small{display:block;margin-top:7px;font:600 10px/1.2 var(--body);text-transform:uppercase;letter-spacing:.19em;color:var(--sage)}.brand-logo{width:52px;height:52px;flex:none;border:1px solid var(--gold);border-radius:50%;object-fit:cover;background:var(--cream)}.main-nav{display:flex;align-items:center;gap:18px;font-size:12px;font-weight:600}.main-nav a:hover{color:var(--sage)}.main-nav .nav-booking{background:var(--sage-dark);border-radius:30px;color:#fff;padding:11px 17px}.main-nav .nav-booking:hover{background:#536b59;color:#fff}.menu-toggle{display:none}
.hero{background:var(--sage);color:#fff9f1;overflow:hidden}.hero-grid{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7%;padding-block:56px}.hero-copy{position:relative;z-index:2}.hero .eyebrow{color:#f6dfc0;margin-bottom:28px}.hero h1{font-size:clamp(66px,6.6vw,96px);max-width:660px;margin-bottom:25px}.hero h1 em{color:#f3d3d8}.hero-lead{font:400 clamp(24px,2.6vw,31px)/1.25 var(--display);max-width:610px;margin-bottom:22px}.hero-intro{max-width:540px;color:#f8f3e9;font-size:14px;line-height:1.9}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:29px 0 25px}.hero-place{font-size:11px;letter-spacing:.07em;color:#f7e9db;margin:0}.hero-visual{height:550px;position:relative}.hero-photo-wrap{height:100%;width:86%;margin-left:auto;border-radius:47% 47% 8px 8px;overflow:hidden;border:9px solid rgba(255,248,240,.67);background:var(--rose)}.hero-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.hero-logo-wrap{position:absolute;width:165px;height:165px;border-radius:50%;overflow:hidden;bottom:-20px;left:0;border:5px solid var(--cream);box-shadow:0 12px 30px rgba(21,46,32,.22);background:var(--cream)}.hero-logo-wrap img{height:100%;width:100%;object-fit:cover;object-position:center}
.value-strip{background:var(--cream);border-bottom:1px solid var(--line)}.value-strip .wrap{display:flex;justify-content:space-between;gap:15px;padding-block:23px}.value-strip span{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-dark)}
.intro{background:var(--cream-light)}.intro-grid{display:grid;grid-template-columns:25% 1fr;gap:9%}.intro .kicker{padding-top:15px}.intro h2{max-width:700px}.intro p:not(.kicker){max-width:770px;color:var(--muted);line-height:1.95}
.services{background:var(--cream)}.section-heading{text-align:center;max-width:720px;margin:0 auto 48px}.section-heading p:last-child{color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{background:#e8ede4;padding:45px;min-height:510px;display:flex;flex-direction:column}.service-card-blush{background:#f0dfe1}.service-index{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--sage-dark);font-weight:700;margin-bottom:24px}.service-card h3{font-size:clamp(38px,4vw,52px);margin-bottom:19px}.service-card p,.service-card li{font-size:14px;line-height:1.85;color:#48584c}.service-card ul{margin:8px 0 30px;padding-left:18px}.service-card .text-link{margin-top:auto;align-self:flex-start}.care-note{text-align:center;max-width:710px;margin:27px auto 0;font-size:11px;color:var(--muted)}
.for-who{background:var(--cream-light)}.for-who-grid{display:grid;grid-template-columns:.9fr 1fr;gap:13%;align-items:center}.for-who p:not(.kicker){color:var(--muted);max-width:475px}.for-who .button{margin-top:13px}.topic-list{display:flex;gap:12px;flex-wrap:wrap;align-content:center}.topic-list span{border:1px solid #bac5b5;border-radius:50px;color:var(--sage-dark);padding:10px 15px;font-size:12px;font-weight:600;background:#f4f7f0}.topic-list .topic-emphasis{width:100%;max-width:none;margin:18px 0 0;color:var(--sage-dark);font:500 clamp(27px,3vw,36px)/1.2 var(--display)}
.session{background:var(--sage-dark);color:#fffaf1}.session .kicker{color:#d6c492}.session h2 em{color:#e3c8cb}.session .section-heading p:last-child{color:#e9eee7}.session-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #84988a}.session-grid article{padding:26px 30px 5px 0}.session-grid article+article{border-left:1px solid #84988a;padding-left:30px}.session-grid span{color:#d6c492;font-size:11px;font-weight:700;letter-spacing:.16em}.session-grid h3{font-size:30px;margin:27px 0 13px}.session-grid p{color:#e8eee6;font-size:13px;line-height:1.9}
.about{background:#f1e1df}.about-grid{display:grid;grid-template-columns:.82fr 1fr;gap:12%;align-items:center}.about-image{height:560px;overflow:hidden;border:9px solid #fff8f1}.about-image img{height:100%;width:100%;object-fit:cover;object-position:50% 20%}.about-copy{max-width:550px}.about-copy h2{margin-bottom:25px}.about-copy .about-lead{font:400 27px/1.35 var(--display);color:var(--sage-dark)}.about-copy p:not(.kicker):not(.about-lead){font-size:14px;line-height:1.95;color:#526256}.about-copy .text-link{margin-top:11px}
.reviews{background:var(--cream-light)}.reviews-grid{display:grid;grid-template-columns:1fr .85fr;gap:12%;align-items:center}.reviews-grid>div:first-child>p:not(.kicker){color:var(--muted);max-width:530px}.reviews-panel{background:var(--sage-pale);padding:45px;min-height:270px;display:flex;flex-direction:column;justify-content:center}.reviews-icon{font:600 76px/.6 var(--display);color:var(--gold)}.reviews-panel p{font:400 26px/1.3 var(--display);margin:14px 0}.reviews-panel small{font-size:11px;color:var(--muted)}.google-business-link{margin-top:14px}
.blog-teaser{background:var(--cream)}.blog-teaser-grid{display:grid;grid-template-columns:1fr .8fr;gap:12%;align-items:center}.blog-teaser p:not(.kicker){color:var(--muted);max-width:520px}.blog-teaser .button{margin-top:15px}.journal-card{min-height:360px;background:var(--rose);padding:40px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:15px 15px 0 var(--sage-pale)}.journal-card span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.journal-card strong{font:400 43px/1.1 var(--display);max-width:350px}
.faq{background:var(--cream-light)}.faq-grid{display:grid;grid-template-columns:.7fr 1fr;gap:10%}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;padding:21px 25px 21px 0;font:500 24px/1.25 var(--display);position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:0;top:20px;color:var(--gold);font:400 24px var(--body)}.faq-list details[open] summary::after{content:'−'}.faq-list p{font-size:13px;line-height:1.9;color:var(--muted);padding-right:25px}
.booking{background:#dfe7dc;text-align:center}.booking-inner{max-width:740px}.booking h2{margin-bottom:19px}.booking p:not(.kicker){max-width:600px;margin-inline:auto;color:#526256}.booking .button{margin:14px 0 15px}.booking p.booking-status{font-size:11px;color:var(--sage-dark)}
.booking-page-intro{padding-bottom:40px;background:var(--cream-light);text-align:center}.booking-page-heading{max-width:740px}.booking-page-heading h1{font-size:clamp(54px,6vw,82px);margin-bottom:20px}.booking-page-heading p:last-child{color:var(--muted)}.booking-page-widget{padding:0 0 95px;background:var(--cream-light)}.calendly-widget{min-width:320px;height:800px;border:1px solid var(--line);background:#fff}.booking-page-fallback{padding:60px 35px;text-align:center;background:var(--sage-pale)}.booking-page-fallback .button{margin-top:10px}.booking-page-direct{text-align:center;font-size:13px;margin:20px 0 0}.booking-page-direct .text-link{margin-left:7px}
.confirmation-hero{background:var(--sage-dark);color:#fffaf1;overflow:hidden}.confirmation-hero-grid{min-height:460px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:9%;padding-block:70px}.confirmation-hero .eyebrow{color:#e2ce9d}.confirmation-hero h1{font-size:clamp(58px,6.3vw,88px);max-width:680px;margin:22px 0}.confirmation-hero h1 em{color:#e8cdd1}.confirmation-lead{max-width:590px;color:#eff3ed;font-size:15px;line-height:1.85}.confirmation-hero .button{margin-top:12px}.confirmation-mark{display:flex;align-items:center;flex-direction:column;gap:20px}.confirmation-mark img{width:min(280px,80%);aspect-ratio:1;object-fit:cover;border-radius:50%;border:8px solid #fff9f0;box-shadow:0 16px 35px #1d2f26aa}.confirmation-mark span{font:italic 31px var(--display);color:#e8cdd1}.confirmation-content{background:var(--cream-light)}.confirmation-grid{display:grid;grid-template-columns:1fr .82fr;gap:10%;align-items:start}.confirmation-note h2,.confirmation-prep h2{font-size:clamp(43px,4vw,60px)}.confirmation-note>p:not(.kicker),.confirmation-prep>p:not(.kicker){color:var(--muted);font-size:14px;line-height:1.9}.confirmation-recap{border:1px solid var(--line);background:var(--cream);margin:30px 0 20px}.confirmation-recap>div{padding:17px 22px;display:flex;justify-content:space-between;gap:18px;align-items:baseline}.confirmation-recap>div+div{border-top:1px solid var(--line)}.confirmation-recap span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--sage)}.confirmation-recap strong{font-size:13px;font-weight:600;text-align:right}.confirmation-note p.confirmation-small{font-size:12px}.confirmation-prep{background:#f0dfe1;padding:36px 40px 26px;box-shadow:13px 13px 0 var(--sage-pale)}.confirmation-close{text-align:center;padding:55px 0;background:var(--sage-pale)}.confirmation-close p{font:italic 30px var(--display);margin-bottom:8px}.confirmation-close strong{font:500 26px var(--display)}
.confirmation-practical{background:#e8eee8}.confirmation-practical .section-heading p:last-child{color:var(--muted)}.confirmation-practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.confirmation-practical-grid article{background:var(--cream-light);padding:40px;border:1px solid var(--line);min-height:280px}.confirmation-practical-grid article:nth-child(2){background:#f2e2e2}.confirmation-card-index{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}.confirmation-practical-grid h3{font-size:42px;margin:19px 0}.confirmation-practical-grid p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:0}.confirmation-after{background:var(--cream-light)}.confirmation-after-grid{display:grid;grid-template-columns:1fr .82fr;gap:10%;align-items:center}.confirmation-after-grid>div:first-child>p:not(.kicker){max-width:520px;font-size:14px;color:var(--muted);line-height:1.9}.confirmation-after-note{background:var(--sage-dark);color:#fffaf1;padding:38px 42px}.confirmation-after-note .kicker{color:#e2ce9d}.confirmation-after-note h3{font-size:37px;margin-bottom:17px}.confirmation-after-note p:not(.kicker){font-size:13px;line-height:1.85;color:#eef2eb;margin-bottom:0}.confirmation-close{padding:82px 0}.confirmation-close .kicker{font:700 11px/1.7 var(--body);color:var(--sage);letter-spacing:.18em}.confirmation-close h2{font-size:clamp(48px,5vw,70px);max-width:680px;margin:18px auto}.confirmation-close p:not(.kicker){font:400 16px/1.7 var(--body);color:var(--muted);margin-bottom:16px}.confirmation-close strong{display:block;margin:12px 0 22px}.confirmation-close .button{margin-top:10px}
.confirmation-mark img{width:280px;height:280px;object-fit:cover}
.confirmation-page{--confirmation-sage:#657760;--confirmation-sage-soft:#e5ebe1}.confirmation-page .confirmation-hero{background:var(--confirmation-sage);position:relative}.confirmation-page .confirmation-hero::before{content:"";position:absolute;right:-110px;top:-175px;width:510px;height:510px;border:1px solid #fffaf155;border-radius:50%;pointer-events:none}.confirmation-page .confirmation-hero::after{content:"";position:absolute;right:-35px;top:-105px;width:365px;height:365px;border:1px solid #fffaf133;border-radius:50%;pointer-events:none}.confirmation-page .confirmation-hero-grid{position:relative;z-index:1}.confirmation-sparkle{display:grid;place-items:center;width:47px;height:47px;border:1px solid #f6e6ca;border-radius:50%;color:#f6e6ca;font-size:20px;margin-bottom:25px;box-shadow:0 0 0 7px #fffaf118}.confirmation-page .confirmation-hero .eyebrow{color:#fff5de}.confirmation-page .confirmation-hero h1 em{color:#f4dfe2}.confirmation-page .confirmation-mark img{box-shadow:0 18px 45px #344a3588}.confirmation-page .confirmation-mark span{color:#fff8ec}.confirmation-page .confirmation-content{background:#fffaf6}.confirmation-page .confirmation-recap{background:#f9f6ee;border:1px solid #d9e0d2;border-radius:15px;overflow:hidden;box-shadow:0 13px 30px #64765f12}.confirmation-page .confirmation-prep{background:#f1e3e2;border-radius:18px;box-shadow:12px 12px 0 var(--confirmation-sage-soft)}.confirmation-page .confirmation-practical{background:var(--confirmation-sage-soft)}.confirmation-page .confirmation-practical-grid article{border-radius:18px;box-shadow:0 12px 28px #4a62420d}.confirmation-page .confirmation-after-note{background:var(--confirmation-sage);border-radius:18px;box-shadow:0 16px 34px #40553c24}.confirmation-page .confirmation-close{background:#e2e9dc}.confirmation-page .site-footer{background:#5d7059}.confirmation-page .footer-bottom{border-top-color:#a9b8a1}.confirmation-page .footer-bottom,.confirmation-page .footer-main p{color:#f8f6f0}.confirmation-page .site-header{border-top-color:#b5aa84}
.confirmation-punctuality{border-top:1px solid #c9b8b6;margin-top:25px;padding-top:24px}.confirmation-punctuality>span{display:grid;place-items:center;width:38px;height:38px;background:#fffaf6;border-radius:50%;color:var(--confirmation-sage);font-size:24px;margin-bottom:14px}.confirmation-punctuality h3{font-size:28px;margin-bottom:10px}.confirmation-punctuality p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:0}.confirmation-tabs{display:flex;gap:8px;justify-content:center;width:max-content;max-width:100%;padding:7px;margin:0 auto 25px;border-radius:100px;background:#fffaf6;border:1px solid #d2dbcc;box-shadow:0 8px 24px #40553c16}.confirmation-tab{border:0;background:transparent;color:var(--ink);border-radius:40px;padding:12px 23px;cursor:pointer;font-weight:700;font-size:13px;white-space:nowrap}.confirmation-tab span{font-size:18px;font-weight:400;margin-right:5px}.confirmation-tab[aria-selected="true"]{background:var(--confirmation-sage);color:#fffaf6}.confirmation-place{background:#fffaf6;border:1px solid #d4ddcf;border-radius:22px;padding:32px;display:grid;grid-template-columns:1fr .76fr;gap:7%;align-items:stretch;box-shadow:0 15px 35px #40553c13}.confirmation-place[hidden]{display:none}.confirmation-place-copy{padding:17px 5px 17px 12px}.confirmation-place-copy h3{font-size:clamp(38px,4vw,54px);max-width:500px;margin-bottom:22px}.confirmation-place-copy p,.confirmation-place-copy li{color:var(--muted);font-size:14px;line-height:1.85}.confirmation-place-copy address{font-style:normal;font-weight:700;line-height:1.65;margin-bottom:17px}.confirmation-place-copy ul{padding-left:20px;margin:12px 0 0}.confirmation-place-copy li+li{margin-top:10px}.confirmation-parking{font-weight:700;color:var(--confirmation-sage)!important}.confirmation-parking span{color:var(--gold);margin-right:5px}.confirmation-photo-slot{min-height:310px;border-radius:15px;border:1px dashed #b5c3ae;background:radial-gradient(circle at 72% 24%,#fbfaf0 0 10%,transparent 11%),linear-gradient(140deg,#dce6d8,#f5ece8);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:var(--confirmation-sage);position:relative;overflow:hidden}.confirmation-photo-slot::before{content:"";position:absolute;width:240px;height:240px;border:1px solid #9eae96;border-radius:50%;top:-90px;right:-80px}.confirmation-photo-slot span{font:italic 32px/1.1 var(--display);position:relative}.confirmation-photo-slot small{margin-top:10px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;position:relative}.confirmation-photo-slot-zoom{background:radial-gradient(circle at 70% 25%,#f8e8e7 0 12%,transparent 13%),linear-gradient(145deg,#e9d9dc,#edf1e8)}
.site-footer{background:#30453a;color:#f8f3e9;padding-top:48px}.footer-main{display:flex;justify-content:space-between;gap:30px;padding-bottom:43px}.footer-main strong{font:500 35px var(--display)}.footer-main p{font-size:12px;line-height:1.8;color:#dbe4da}.footer-main>div:last-child{text-align:right}.footer-main>div:last-child p{font:italic 24px var(--display);color:#f2d9da}.footer-main a{font-size:12px;border-bottom:1px solid var(--gold)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #6d7c71;padding-block:17px;color:#c9d5ca;font-size:10px}
[hidden]{display:none!important}
@media(max-width:1050px){.main-nav{gap:12px;font-size:11px}.brand{font-size:24px}.hero-grid{gap:4%}.hero h1{font-size:70px}}
@media(max-width:800px){.header-inner{height:72px}.menu-toggle{display:flex;align-items:center;gap:7px;background:none;border:1px solid var(--sage);padding:8px 12px;border-radius:5px;color:var(--ink);font-size:12px}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:20px 24px;box-shadow:0 12px 20px #354a3e22;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav a{padding:11px 0}.main-nav .nav-booking{text-align:center;margin-top:9px}.hero-grid,.intro-grid,.for-who-grid,.about-grid,.reviews-grid,.blog-teaser-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.hero-grid{padding-block:60px}.hero-visual{height:500px;max-width:490px;width:100%;margin:auto}.hero h1{max-width:650px}.intro .kicker{padding:0}.section{padding-block:75px}.service-card{padding:32px}.about-image{max-width:480px;width:100%;margin:auto}.reviews-panel{max-width:520px}.journal-card{max-width:520px}.faq h2{margin-bottom:0}}
@media(max-width:800px){.confirmation-hero-grid,.confirmation-grid{grid-template-columns:1fr;gap:35px}.confirmation-mark{display:none}.confirmation-prep{max-width:650px}.confirmation-hero-grid{min-height:0}}
@media(max-width:800px){.confirmation-practical-grid,.confirmation-after-grid{grid-template-columns:1fr;gap:24px}.confirmation-practical-grid article{min-height:0}.confirmation-after-note{max-width:650px}}
@media(max-width:800px){.confirmation-place{grid-template-columns:1fr;gap:18px;padding:20px}.confirmation-place-copy{padding:15px 8px}.confirmation-photo-slot{min-height:230px}}
@media(max-width:420px){.confirmation-tab{padding:11px 16px}.confirmation-place-copy h3{font-size:38px}}
@media(max-width:620px){.wrap{width:min(100% - 36px,1160px)}.hero h1{font-size:clamp(55px,12vw,72px)}.hero-visual{height:430px}.hero-logo-wrap{width:120px;height:120px;left:-7px}.hero-photo-wrap{width:91%}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.value-strip .wrap{justify-content:center;flex-wrap:wrap;gap:8px 17px}.value-strip span{font-size:9px}.service-grid,.session-grid{grid-template-columns:1fr}.service-card{min-height:0}.session-grid article,.session-grid article+article{border:0;border-bottom:1px solid #84988a;padding:22px 0 10px}.session-grid h3{margin:12px 0}.about-image{height:430px}.journal-card{min-height:300px}.journal-card strong{font-size:38px}.footer-main,.footer-bottom{display:block}.footer-main>div:last-child{text-align:left}.footer-bottom>*{display:block;margin-bottom:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
