@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-300-normal.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Jost;src:url("../fonts/jost-latin-300-normal.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Jost;src:url("../fonts/jost-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Jost;src:url("../fonts/jost-latin-500-normal.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}

:root{
  --ivory:#fffbf8;--sage:#6e725a;--rose:#d9b9a9;--ink:#3f4535;
  --deep:#30382b;--paper:#f2efe7;--line:rgba(110,114,90,.27);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:Jost,"Trebuchet MS",sans-serif;
  --gutter:clamp(22px,5.6vw,88px);--space:clamp(88px,10vw,152px);
  --dock-height:calc(84px + env(safe-area-inset-bottom,0px));
  --ease:cubic-bezier(.22,1,.36,1);--focus:var(--sage);
  color-scheme:light;scroll-behavior:smooth;scroll-padding-top:112px;
  scrollbar-color:var(--sage) var(--paper);scrollbar-width:thin;
}
*,*::before,*::after{box-sizing:border-box}
html{height:100%;overflow:hidden;background:var(--ivory)}
body{height:100%;margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.75 var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}
.site-scroll{position:fixed;inset:0 0 var(--dock-height);overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;scroll-padding:112px 0 24px;overscroll-behavior-y:contain}
.site-scroll:focus-visible{outline:2px solid var(--sage);outline-offset:-3px}
::selection{background:var(--rose);color:var(--deep)}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--paper)}
::-webkit-scrollbar-thumb{background:var(--sage);border:2px solid var(--paper);border-radius:8px}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:rgba(217,185,169,.28)}
button,summary{font:inherit;color:inherit;-webkit-tap-highlight-color:rgba(217,185,169,.28)}
a,button,summary{touch-action:manipulation}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--focus);outline-offset:6px;border-radius:2px}
[tabindex="-1"]:focus{outline:none}
img{display:block;max-width:100%;height:auto}
svg{display:block;flex-shrink:0}
figure,p,h1,h2,h3,h4,dl,dd{margin:0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;text-wrap:balance}
em{font-weight:400}
p{text-wrap:pretty}
main{width:100%;max-width:100%}
.container{width:min(1280px,calc(100% - var(--gutter)*2));margin-inline:auto}
.section-space{padding-block:var(--space)}
.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.arrow-icon{width:21px;height:21px}
.skip-link{position:fixed;top:12px;left:18px;z-index:100;padding:12px 20px;background:var(--ivory);color:var(--deep);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.grain{position:relative;isolation:isolate}
.grain::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%233f4535' filter='url(%23n)' opacity='.55' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}

.site-header{position:fixed;inset:0 0 auto;z-index:30;color:var(--ink);--focus:var(--sage)}
.site-header::before{content:"";position:absolute;inset:0;background:var(--ivory);opacity:1;box-shadow:0 6px 28px rgba(48,56,43,.045);transition:opacity .45s var(--ease)}
.js .home-page .site-header:not(.is-solid){color:var(--ivory);--focus:var(--rose)}
.js .home-page .site-header:not(.is-solid)::before{opacity:0}
.site-header.is-solid{color:var(--ink);--focus:var(--sage)}
.site-header.is-solid::before{opacity:1}
.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:36px;border-bottom:1px solid rgba(255,251,248,.23)}
.brand{display:block;position:relative;flex-shrink:0;width:67px;height:74px}
.brand img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .45s var(--ease)}
.brand-original{opacity:1}
.brand-light{filter:brightness(0) invert(1);opacity:0}
.js .home-page .site-header:not(.is-solid) .brand-original{opacity:0}
.js .home-page .site-header:not(.is-solid) .brand-light{opacity:.95}
.is-solid .brand-original{opacity:1}
.is-solid .brand-light{opacity:0}
.header-links{display:flex;align-items:center;gap:54px}
.primary-nav{display:flex;align-items:center;gap:34px}
.nav-link{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 2px;font-size:15px;letter-spacing:.025em}
.nav-link::after{content:"";position:absolute;bottom:5px;left:2px;right:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-link[aria-current="page"]::after,.nav-link:hover::after{transform:scaleX(1)}
.header-social{display:flex;align-items:center;gap:10px}
.icon-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;position:relative}
.icon-link::before{content:"";position:absolute;inset:0;background:currentColor;border-radius:inherit;opacity:0;transition:opacity .25s}
.icon-link:hover::before{opacity:.1}
.header-social .instagram-link{border-color:transparent}

.hero{position:relative;display:grid;place-items:center;height:calc(100vh - var(--dock-height));height:calc(100svh - var(--dock-height));min-height:620px;color:var(--ivory);background:var(--deep);overflow:hidden;--focus:var(--rose)}
.hero-picture,.hero-shade{position:absolute;inset:0}
.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;will-change:transform}
.hero-shade{background:linear-gradient(180deg,rgba(35,41,30,.66) 0%,rgba(35,41,30,.58) 28%,rgba(35,41,30,.65) 59%,rgba(35,41,30,.77) 100%),linear-gradient(105deg,rgba(255,251,248,.08),transparent 65%)}
.hero-content{position:relative;z-index:2;text-align:center;width:min(1180px,calc(100% - var(--gutter)*2));padding:104px 0 13svh}
.hero-brand{font:400 clamp(16px,1.6vw,20px)/1.5 var(--serif);letter-spacing:.19em;margin-bottom:28px}
.hero h1{font-size:clamp(56px,6.7vw,96px);font-weight:300;line-height:1.035;letter-spacing:-.025em}
.hero-line{display:block;overflow:hidden;white-space:nowrap;padding-bottom:.14em;margin-bottom:-.14em}
.hero-line-inner{display:block}
.hero-second-line{display:flex;justify-content:center;gap:.23em}
.hero-second-line em{font-weight:400}
.hero-copy{margin:26px auto 0;max-width:38ch;font-size:17px;line-height:1.7;font-weight:400;letter-spacing:.012em}
.hero-copy span{display:block}
.hero-action{margin-top:25px;display:inline-block}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;position:relative;min-height:58px;padding:15px 29px;border:1px solid transparent;border-radius:100px;background:var(--deep);color:var(--ivory);font-size:15px;font-weight:400;line-height:1.4;letter-spacing:.015em;box-shadow:0 8px 24px rgba(48,56,43,.08);isolation:isolate}
.button::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--sage);opacity:0;z-index:-1;transition:opacity .3s}
.button:hover::before{opacity:1}
.button-light{background:var(--ivory);color:var(--deep);box-shadow:0 8px 30px rgba(20,27,19,.13)}
.button-light::before{background:var(--paper)}
.button .icon{width:21px;height:21px}
.hero-botanical{position:absolute;right:3.6%;bottom:17svh;width:clamp(105px,15vw,200px);height:auto;color:rgba(255,251,248,.5);pointer-events:none}
.botanical path{vector-effect:non-scaling-stroke}
.hero-botanical path{vector-effect:none;stroke-width:3}
.welcome{position:relative;z-index:3;min-height:8svh;margin-top:-8svh;padding:26px 0;background:var(--ivory)}
.welcome-line{display:flex;align-items:center;justify-content:center;gap:32px}
.welcome-line::before,.welcome-line::after{content:"";height:1px;background:var(--line);width:100px}
.welcome p{flex-shrink:0;font:400 clamp(19px,2vw,26px)/1.5 var(--serif);letter-spacing:.12em}

.story{padding-top:78px;background:var(--ivory);overflow:clip}
.story-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(48px,7vw,100px);align-items:start;margin-bottom:48px}
.section-title{font-size:clamp(44px,4.8vw,70px);letter-spacing:-.025em}
.story-heading .section-title{max-width:none}
.story-lead{font:400 clamp(27px,2.6vw,37px)/1.25 var(--serif);max-width:32ch}
.story-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(48px,7vw,100px);align-items:start}
.story-visual{position:relative;padding:0 24px 28px 0}
.media-frame{position:relative;overflow:hidden;background:var(--paper);box-shadow:0 18px 48px rgba(48,56,43,.075);isolation:isolate}
.media-frame img{width:100%;height:100%;object-fit:cover}
.story-photo{aspect-ratio:6/5}
.story-photo img{object-position:60% 50%}
.image-drift{position:absolute;inset:-6% 0;will-change:transform}
.story-botanical{position:absolute;bottom:-24px;right:-18px;width:112px;height:112px;color:var(--sage);pointer-events:none}
.image-curtain{position:absolute;inset:0;z-index:2;background:var(--paper);transform:scaleX(0);transform-origin:right center;pointer-events:none}
.story-photo .image-curtain{background:var(--ivory)}
.story-copy{max-width:68ch}
.story-copy>p+p{margin-top:21px}
.story-copy p{font-size:17px;line-height:1.85}
.story-copy .values{font:400 21px/1.7 var(--serif);letter-spacing:.018em;border-top:1px solid var(--line);padding-top:24px;margin-top:29px}

.services{background:var(--paper);overflow:clip}
.services-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:60px}
.section-divider{color:var(--sage);width:144px;height:25px}
.services-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(50px,8vw,118px);align-items:start}
.service-category{font-size:29px;font-weight:500;letter-spacing:.025em;margin-bottom:20px}
.service-list{border-top:1px solid var(--line)}
.service-item{border-bottom:1px solid var(--line)}
.service-item summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:12px;min-height:73px;padding:19px 0;font-family:var(--serif);font-size:clamp(23px,2vw,28px);line-height:1.25}
.service-item summary::-webkit-details-marker{display:none}
.service-name{max-width:75%}
.service-dots{flex:1;min-width:8px;border-bottom:1px dotted var(--sage);opacity:.65;transform:translateY(-.2em)}
.service-price{flex-shrink:0;font:400 18px/1.4 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.detail-plus{align-self:center;width:16px;height:16px;margin-left:5px;transition:transform .35s var(--ease)}
.service-item[open] .detail-plus{transform:rotate(45deg)}
.detail-reveal{display:grid;grid-template-rows:1fr}
.detail-inner{overflow:hidden;min-height:0}
.detail-copy{padding:0 25px 21px 0;max-width:50ch}
.detail-copy p{font-size:15px;line-height:1.7;max-width:38ch}
.detail-action{display:inline-flex;align-items:center;gap:13px;min-height:44px;margin-top:10px;font-size:14px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.detail-action .icon{width:17px;height:17px;transition:transform .3s var(--ease)}
.detail-action:hover .icon{transform:translate(3px,-3px)}
.service-item[data-enhanced] .detail-copy{opacity:0;transform:translateY(6px);transition:opacity .2s,transform .3s var(--ease)}
.service-item[data-enhanced].is-open .detail-copy{opacity:1;transform:translateY(0)}
.menu-guidance{font-size:15px;line-height:1.7;max-width:50ch;margin-top:28px}
.text-link{display:inline-block;min-height:44px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:6px;text-decoration-thickness:1px}
.text-link:hover{text-decoration-color:currentColor}
.services-photo{aspect-ratio:4/5}
.services-photo img{object-position:52% 50%}

.packages-intro{text-align:center;margin-bottom:67px}
.packages-intro p{max-width:52ch;margin:21px auto 0;font-size:17px}
.sessions{display:grid;grid-template-columns:.8fr 1.8fr;gap:clamp(36px,8vw,118px);padding:0 0 63px;margin-bottom:63px;border-bottom:1px solid var(--line)}
.sessions-heading h3{font-size:34px;max-width:10ch}
.sessions-branch{color:var(--sage);width:68px;height:128px;margin-top:24px}
.session-list{border-top:1px solid var(--line)}
.session-item{display:grid;grid-template-columns:1fr auto;gap:0 15px;padding:22px 0;border-bottom:1px solid var(--line)}
.session-item dt{display:flex;align-items:baseline;gap:15px;font:400 25px/1.25 var(--serif)}
.session-price{font-size:18px;font-variant-numeric:tabular-nums}
.session-description{grid-column:1/-1;font-size:15px;max-width:65ch;margin-top:6px}
.package-section>h3{font-size:33px;text-align:center;margin-bottom:34px}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}
.package{position:relative;display:flex;flex-direction:column;padding:43px clamp(25px,2.8vw,43px) 29px;transition:transform .5s var(--ease);background:var(--ivory)}
.package+.package{border-left:1px solid var(--line)}
.package-featured{background:var(--ink);color:var(--ivory);--line:rgba(255,251,248,.25);--focus:var(--rose);box-shadow:0 16px 36px rgba(48,56,43,.10);z-index:1}
.package-level{font:400 18px/1.5 var(--serif);letter-spacing:.055em;margin-bottom:19px}
.package h4{font-size:clamp(33px,3vw,43px);line-height:1.06;min-height:2.2em;letter-spacing:-.02em;margin-bottom:25px;text-wrap:pretty}
.package-price{margin-bottom:31px}
.price{font:300 clamp(52px,5vw,69px)/1 var(--serif);letter-spacing:-.035em;font-variant-numeric:lining-nums tabular-nums}
.saving{display:inline-flex;position:relative;margin-top:11px;font-size:14px;font-weight:500;letter-spacing:.025em}
.saving::after{content:"";height:2px;background:var(--rose);position:absolute;bottom:-4px;left:0;width:38px}
.package-description{border-top:1px solid var(--line);padding-top:25px;flex:1}
.composition{font-size:15px;line-height:1.8;min-height:5.4em}
.benefit{font:400 italic 24px/1.3 var(--serif);margin-top:20px;min-height:2.6em}
.package-book{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;min-height:48px;font-size:14px;border-top:1px solid var(--line);padding-top:14px}
.package-book .icon{transition:transform .3s var(--ease)}
.package-book:hover .icon{transform:translate(3px,-3px)}
.package-guidance{font-size:15px;max-width:68ch;text-align:center;margin:34px auto 0}

.essence{background:var(--deep);color:var(--ivory);--focus:var(--rose);overflow:clip}
.essence-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:60px}
.essence-botanical{width:103px;height:103px;color:var(--rose)}
.essence-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,124px)}
.essence-grid section{border-top:1px solid rgba(255,251,248,.26);padding-top:28px}
.essence-grid h3{font-size:38px;margin-bottom:21px}
.essence-grid p{font-weight:300;line-height:1.9;max-width:70ch}

.invitation{position:relative;min-height:470px;display:grid;place-items:center;text-align:center;overflow:hidden}
.invitation-picture{position:absolute;inset:0;z-index:-2}
.invitation-picture img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.invitation::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,251,248,.32),rgba(255,251,248,.89) 35%,rgba(255,251,248,.91) 70%,rgba(255,251,248,.64))}
.invitation-content{padding-block:100px}
.invitation h2{font-size:clamp(46px,5.3vw,74px);max-width:17ch;margin-inline:auto;letter-spacing:-.025em}
.invitation .button{margin-top:32px}
.invitation-phone{display:block;width:fit-content;margin:13px auto 0;padding:10px;font-size:14px;min-height:44px;letter-spacing:.04em}

.site-footer{background:var(--ivory);border-top:1px solid var(--line);padding:75px 0 44px}
.footer-grid{display:grid;grid-template-columns:145px 1.6fr 1fr;gap:clamp(32px,5vw,75px);align-items:start}
.footer-brand{display:block;width:120px;min-height:44px}
.footer-brand img{width:120px;height:auto}
.site-footer h2{font-size:29px;margin-bottom:19px}
.about p{font-size:14px;line-height:1.9;max-width:65ch}
.about p+p{margin-top:15px}
.footer-contact{font-size:14px}
.phone-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:16px;letter-spacing:.02em}
.footer-contact>p{margin-top:14px;max-width:28ch;line-height:1.85}
.social-link{display:inline-flex;gap:10px;align-items:center;min-height:44px;margin-top:15px;font-size:14px}
.social-link:hover span{text-decoration:underline;text-underline-offset:5px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:50px;padding-top:25px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.04em}
.footer-bottom p:last-child{font:400 17px/1.5 var(--serif);letter-spacing:.11em}

.booking-dock{position:fixed;inset:auto 0 0;z-index:40;height:var(--dock-height);background:var(--ivory);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);--pill-width:min(324px,calc(100vw - 36px));--pill-shift:calc(var(--pill-width) - 136px);--pill-core-scale:.293233;--pill-color:var(--ink)}
.booking-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.booking-caption{font:400 20px/1.4 var(--serif);letter-spacing:.035em}
.booking-pill{position:relative;display:flex;align-items:center;width:var(--pill-width);height:58px;color:var(--ivory);border-radius:100px;--focus:var(--rose);font-size:14px;letter-spacing:.01em}
.booking-pill:focus-visible{outline:2px solid var(--sage);outline-offset:5px;box-shadow:0 0 0 5px var(--ivory)}
.pill-surface{position:absolute;inset:0;filter:drop-shadow(0 5px 9px rgba(48,56,43,.13))}
.pill-surface::before,.pill-surface::after{content:"";position:absolute;top:0;width:58px;height:58px;border-radius:50%;background:var(--pill-color)}
.pill-surface::before{left:0;transition:transform .75s var(--ease)}
.pill-surface::after{right:0}
.pill-core{position:absolute;inset:0 29px;background:var(--pill-color);transform-origin:right center;transition:transform .75s var(--ease)}
.pill-icon{position:absolute;left:22px;top:18px;width:23px;height:23px;transition:transform .75s var(--ease)}
.pill-short{position:absolute;right:23px;opacity:0;transition:opacity .16s}
.pill-long{position:absolute;left:57px;right:17px;text-align:center;white-space:nowrap;transition:opacity .45s .17s,transform .65s var(--ease)}
.pill-ring{position:absolute;inset:0;border:1px solid var(--sage);border-radius:inherit;pointer-events:none;opacity:0}
.pill-shine{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.pill-shine::after{content:"";position:absolute;top:-50%;left:0;width:20%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,251,248,.14),transparent);transform:translateX(-250%) skewX(-22deg)}
.js .booking-pill:not(.is-expanded) .pill-surface::before{transform:translateX(var(--pill-shift))}
.js .booking-pill:not(.is-expanded) .pill-core{transform:scaleX(var(--pill-core-scale))}
.js .booking-pill:not(.is-expanded) .pill-icon{transform:translateX(var(--pill-shift))}
.js .booking-pill:not(.is-expanded) .pill-short{opacity:1}
.js .booking-pill:not(.is-expanded) .pill-long{opacity:0;transform:translateX(12px);transition-delay:0s}
.booking-pill.is-expanded .pill-ring{animation:breathe 6.5s 1s infinite}
.booking-pill.is-expanded .pill-shine::after{animation:shine 8s 3s infinite}
.booking-pill:hover{--pill-color:var(--deep)}
@keyframes breathe{0%,55%,100%{transform:scale(1);opacity:0}62%{transform:scale(1);opacity:.44}81%{transform:scale(1.055,1.24);opacity:0}}
@keyframes shine{0%,65%{transform:translateX(-250%) skewX(-22deg)}90%,100%{transform:translateX(750%) skewX(-22deg)}}
.cursor-light{display:none}

.contact-page .site-header{color:var(--ink);--focus:var(--sage)}
.contact-hero{position:relative;isolation:isolate;overflow:hidden;padding:185px 0 100px;background:var(--paper)}
.contact-hero-content{position:relative;z-index:1}
.contact-hero h1{font-size:clamp(63px,7vw,96px);font-weight:300;letter-spacing:-.035em}
.contact-lead{font:400 32px/1.3 var(--serif);max-width:25ch;margin-top:25px}
.contact-hero .button{margin-top:34px}
.contact-phone{display:block;width:fit-content;min-height:44px;margin-top:14px;padding-block:7px;font-size:18px;letter-spacing:.04em}
.contact-photo{position:absolute;inset:0 0 0 53%;z-index:-2}
.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:10% 50%}
.contact-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),rgba(242,239,231,.15) 65%)}
.contact-channels{display:grid;grid-template-columns:1fr 1fr;gap:clamp(44px,10vw,148px);padding-block:80px 88px}
.contact-channels section{border-top:1px solid var(--line);padding-top:26px}
.contact-channels h2{font-size:34px;margin-bottom:18px}
.contact-channels p{max-width:42ch}
.contact-channels .social-link{font-size:16px;margin-top:13px}

@media (hover:hover) and (pointer:fine){
  .package:hover{transform:translateY(-6px)}
  .cursor-light{display:block;position:fixed;z-index:9;pointer-events:none;inset:-15vh -25vw;width:150vw;height:130vh;background:linear-gradient(110deg,transparent 32%,rgba(255,251,248,.045) 49%,transparent 68%);opacity:0}
}
@media(min-width:1600px){.hero-content{padding-top:125px}.hero-botanical{right:7%}}
@media(max-width:1100px){
  .header-links{gap:32px}.story-heading,.story-body{gap:55px}
  .services-grid{gap:55px;grid-template-columns:1.1fr .9fr}
  .service-item summary{gap:9px;font-size:24px}.service-price{font-size:17px}
  .package{padding-inline:25px}.package h4{font-size:35px;min-height:3.15em}
  .footer-grid{grid-template-columns:100px 1.4fr 1fr;gap:35px}.footer-brand,.footer-brand img{width:95px}
}
@media(max-width:760px){
  :root{--gutter:24px;--space:86px;scroll-padding-top:92px}
  .site-scroll{scroll-padding-top:94px}
  .header-inner{min-height:82px;gap:12px}.brand{width:47px;height:53px}
  .header-links{gap:16px}.primary-nav{gap:18px}.nav-link{font-size:14px}
  .header-social{gap:2px}.header-social .icon-link{border-color:transparent}
  .hero{min-height:560px}.hero-content{padding:84px 0 12svh}
  .hero h1{font-size:clamp(50px,8vw,61px);line-height:1.04}
  .hero-brand{font-size:17px;letter-spacing:.14em;margin-bottom:25px}
  .hero-second-line{display:block}.hero-copy{font-size:16px;max-width:29ch;margin-top:25px;font-weight:400}
  .hero-action{margin-top:25px}.hero-botanical{right:21px;top:105px;bottom:auto;width:73px;color:rgba(255,251,248,.38)}
  .hero-shade{background:linear-gradient(180deg,rgba(35,41,30,.66),rgba(35,41,30,.58) 25%,rgba(35,41,30,.68) 52%,rgba(35,41,30,.80)),linear-gradient(100deg,rgba(255,251,248,.05),transparent)}
  .hero-picture img{object-position:46% 50%}
  .welcome{padding-block:22px}.welcome-line{gap:20px}.welcome-line::before,.welcome-line::after{width:35px}.welcome p{font-size:21px;letter-spacing:.06em}
  .story{padding-top:54px}.story-heading{grid-template-columns:1fr;gap:27px;margin-bottom:32px}
  .section-title{font-size:48px}.story-lead{font-size:29px;max-width:30ch}
  .story-body{grid-template-columns:1fr;gap:32px}.story-visual{padding-right:28px;padding-bottom:18px;max-width:550px}
  .story-photo{aspect-ratio:5/4}.story-photo img{object-position:65% 59%}.story-botanical{width:84px;height:84px;right:-3px;bottom:-8px}
  .story-copy p{font-size:16px;line-height:1.85}.story-copy .values{font-size:20px;max-width:27ch}
  .services-heading{margin-bottom:38px}.section-divider{width:85px}
  .services-grid{grid-template-columns:1fr;gap:42px}.services-photo{aspect-ratio:5/4}.services-photo img{object-position:50% 57%}
  .service-category{font-size:28px}.service-item summary{font-size:26px;min-height:76px;gap:12px}.service-price{font-size:18px}
  .packages-intro{text-align:left;margin-bottom:40px}.packages-intro p{margin:20px 0 0;font-size:16px}
  .sessions{grid-template-columns:1fr;gap:26px;margin-bottom:47px;padding-bottom:45px}
  .sessions-heading h3{font-size:31px;max-width:none}.sessions-branch{display:none}.session-item dt{font-size:25px}.session-description{font-size:15px}
  .package-section>h3{text-align:left;font-size:31px;margin-bottom:27px}
  .package-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .package{padding:34px 30px 23px}.package+.package{border-left:0;border-top:1px solid var(--line)}
  .package-level{margin-bottom:15px}.package h4{font-size:40px;min-height:0;max-width:15ch;margin-bottom:24px}
  .package-price{margin-bottom:28px}.price{font-size:64px}.composition{min-height:0;max-width:36ch}.benefit{min-height:0;max-width:22ch}
  .package-book{margin-top:26px}.package-guidance{text-align:left;margin-top:28px}
  .essence-heading{margin-bottom:34px;gap:15px}.essence-heading h2{max-width:8ch}.essence-botanical{width:85px;height:85px}
  .essence-grid{grid-template-columns:1fr;gap:40px}.essence-grid h3{font-size:34px}.essence-grid p{line-height:1.85}
  .invitation{min-height:420px}.invitation-content{padding-block:85px}.invitation h2{font-size:49px}
  .invitation::before{background:rgba(255,251,248,.80)}
  .site-footer{padding-top:51px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-brand,.footer-brand img{width:103px}
  .about p{font-size:15px}.footer-contact>p{max-width:35ch}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px;margin-top:35px}
  .booking-inner{width:calc(100% - 36px);justify-content:center}
  .booking-caption{display:none}
  .contact-hero{padding:145px 0 70px}.contact-photo{inset:0 0 0 25%;opacity:.35}.contact-photo::after{background:linear-gradient(90deg,var(--paper),rgba(242,239,231,.55))}
  .contact-hero h1{font-size:clamp(54px,16vw,63px)}.contact-lead{font-size:30px;max-width:23ch}.contact-channels{grid-template-columns:1fr;gap:39px;padding-block:57px 66px}
}
@media(max-width:400px){
  :root{--gutter:22px}.header-inner{width:calc(100% - 32px);gap:8px}.brand{width:44px;height:49px}
  .header-links{gap:9px}.primary-nav{gap:8px}.nav-link{font-size:13px}.header-social{gap:0}
  .hero h1{font-size:clamp(42px,13vw,49px)}.hero-brand{font-size:15px;letter-spacing:.11em}.hero-content{padding-top:82px;padding-bottom:12svh}
  .hero-copy{font-size:15px;max-width:28ch}.hero-action{margin-top:23px}.button{padding-inline:24px;min-height:56px}
  .hero-botanical{width:67px}.welcome p{font-size:19px;letter-spacing:.045em}.welcome-line{gap:13px}
  .section-title{font-size:44px}.service-item summary{font-size:23px;gap:8px}.service-price{font-size:17px}.detail-plus{margin-left:2px}
  .services-heading .section-divider{width:59px}.package{padding-inline:26px}.package h4{font-size:37px}.session-item{column-gap:9px}.session-item dt{font-size:23px;gap:9px}
}
@media(max-height:680px) and (min-width:761px){
  .hero{min-height:620px}.hero-content{padding-top:98px;padding-bottom:11svh}.hero h1{font-size:66px}.hero-brand{margin-bottom:17px}.hero-copy{margin-top:19px}.hero-action{margin-top:19px}
}
@media(prefers-reduced-motion:reduce){
  :root,.site-scroll{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:0s!important;transition-delay:0s!important}
  .hero-picture img,.image-drift{will-change:auto}
  .cursor-light{display:none}
  .button,.brand img,.pill-long{transition:opacity .2s!important}
  .package:hover{transform:none}
}
