:root{--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--ivory:#f3eee6;--bronze:#806047;--muted:#71665b}body{font-size:14px}h1,h2{letter-spacing:-.045em}h2{font-size:clamp(52px,5.6vw,88px)}header{height:92px;transition:background .5s;border:0}nav{font-size:11px;letter-spacing:.04em}.brand{width:175px}.button{border-radius:2px;position:relative;overflow:hidden;isolation:isolate;transition:color .4s,transform .4s,border-color .4s;background:var(--bronze)}.button:before{content:'';position:absolute;inset:0;background:#372b21;z-index:-1;transform:translateY(105%);border-radius:50% 50% 0 0;transition:transform .5s cubic-bezier(.2,.7,.2,1),border-radius .5s}.button:hover:before{transform:translateY(0);border-radius:0}.button:hover{background:var(--bronze);transform:translateY(-3px)}.button span:last-child{transition:transform .4s}.button:hover span:last-child{transform:translate(3px,-3px)}.outline{background:transparent}.hero{min-height:760px;height:calc(100svh - 92px);display:block;overflow:hidden}.hero-copy{position:relative;z-index:2;width:64%;height:100%;padding:65px 0 65px 8%}.hero h1{font-size:clamp(78px,8vw,130px);line-height:.91;letter-spacing:-.055em;margin-bottom:34px}.hero .intro{max-width:360px;font-size:13px;line-height:1.9}.hero-photo{position:absolute;inset:-30px -3% -40px 39%;margin:0;mask-image:linear-gradient(90deg,transparent,#000 35%),linear-gradient(0deg,transparent,#000 15%,#000 90%,transparent);mask-composite:intersect}.hero-photo>img{object-position:50% 48%;filter:saturate(.67);animation:hero-breathe 16s ease-in-out infinite alternate}.hero-photo:after{inset:0;background:linear-gradient(90deg,#f3eee650,transparent 45%)}.photo-caption{display:none}.hero-note{margin-top:36px}.hero-index{right:5%;left:auto;z-index:3}.hero-copy>*{animation:arrive 1.2s both}.hero-copy>h1{animation-delay:.12s}.hero-copy>.intro{animation-delay:.24s}.hero-copy>.button{animation-delay:.35s}.details-bar{border-top:0;font-size:9px;padding:25px 8%}.journey{height:440svh;position:relative;background:#25221c;color:var(--ivory);--treatment:0;--rest:0}.journey-stage{height:100svh;min-height:600px;position:sticky;top:0;overflow:hidden}.journey-media,.journey-gradient{position:absolute;inset:0}.journey-media>*{position:absolute;width:100%;height:100%;object-fit:cover}.journey-media video{filter:saturate(.62) brightness(.7)}.journey-treatment{object-position:50% 47%;opacity:var(--treatment);filter:saturate(.65);transform:scale(1.02)}.journey-rest{opacity:var(--rest);object-position:50% 55%;filter:saturate(.6)}.journey-gradient{background:linear-gradient(90deg,#201a13d9 5%,#201a1360 60%,#201a1320),linear-gradient(0deg,#211b17b0,transparent 25%,transparent 80%,#211b1760)}.journey-top{position:absolute;top:45px;left:8%;right:8%;display:flex;justify-content:space-between;gap:20px;align-items:start}.journey .eyebrow{color:#e1c6a6}.journey-top>a{font-size:10px;border-bottom:1px solid #ffffff55;padding-bottom:4px}.chapters{position:absolute;left:8%;right:8%;top:27%;height:50%}.chapter{position:absolute;max-width:720px;opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s;pointer-events:none}.chapter.current{opacity:1;transform:translateY(0);pointer-events:auto}.chapter h2{font-size:clamp(66px,7.5vw,118px);line-height:.98}.chapter em{color:#e4c6a5}.chapter>p:last-child{max-width:345px;font-size:13px;line-height:1.9;color:#f0e6db;margin-top:28px}.journey-nav{position:absolute;left:8%;right:8%;bottom:45px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.journey-nav button{background:none;border:0;color:#d1c1af;text-align:left;font-size:11px;padding:16px 0;position:relative}.journey-nav button>span:first-child{font-size:9px;margin-right:15px}.journey-nav button:after,.journey-nav i{content:'';position:absolute;height:1px;bottom:0;left:0;right:0;background:#ffffff40}.journey-nav i{background:#e6c29b;transform:scaleX(var(--progress,0));transform-origin:left}.journey-nav .active{color:#fff}.care{padding-top:125px;padding-bottom:95px}.section-heading{margin-bottom:45px}.filters{gap:40px;margin-bottom:30px}.filters button{transition:color .3s;font-size:12px}.treatment-studio{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:start}.service-list{max-height:660px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b99c80 transparent;padding-right:14px}.service-choice{display:grid;grid-template-columns:30px 1fr 20px;gap:14px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;padding:17px 8px 17px 0;align-items:center;transition:padding .35s,background .35s,color .35s}.service-choice>span:nth-child(2){font:28px/1.2 var(--serif)}.service-number{font:9px var(--sans);color:var(--bronze)}.service-choice>span:last-child{opacity:.35;transition:transform .35s}.service-choice:hover,.service-choice.active{padding-left:13px;background:#e6daca70}.service-choice.active>span:last-child{opacity:1;transform:rotate(45deg)}.treatment-detail{position:sticky;top:25px;background:#e9e1d6}.treatment-image{height:260px;position:relative;overflow:hidden}.treatment-image img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:saturate(.65);mask-image:linear-gradient(#000 65%,transparent)}.treatment-image .eyebrow{position:absolute;bottom:0;left:35px;margin:0;font-size:9px}.treatment-info{padding:25px 35px 35px}.treatment-info h3{font:44px/1.05 var(--serif);margin:8px 0 18px;letter-spacing:-.035em}.treatment-info .eyebrow{margin:0;font-size:8px}.treatment-info>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted);min-height:64px}.durations{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0}.durations button{background:transparent;border:1px solid #bba893;padding:9px 14px;font-size:10px;transition:background .3s,color .3s}.durations button.active,.durations button:hover{background:var(--bronze);color:#fff}.treatment-book{border-top:1px solid #ccbaa6;padding-top:24px;display:flex;gap:20px;align-items:center;justify-content:space-between}.treatment-book p{font:28px/1.2 var(--serif)}.treatment-book .button{font-size:10px;padding:13px 17px}.offer{border:0;background:linear-gradient(90deg,#29231ce8,#29231ca8),url('assets/ritual.jpg') center/cover;color:var(--ivory);padding:70px 7%;margin:0}.offer em,.offer .eyebrow{color:#dbc0a3}.offer h2{font-size:70px}.offer-detail>p{color:#e5d5c4;max-width:380px}.offer-price small{color:#d6bda2}.about{gap:6%;padding-top:130px;padding-bottom:100px}.portrait-wrap>img{max-height:740px;mask-image:linear-gradient(0deg,transparent,#000 20%,#000 85%,transparent),linear-gradient(90deg,transparent,#000 12%,#000 85%,transparent);mask-composite:intersect}.about h2,.place h2{font-size:64px}.about .large-copy{font-size:29px}.image-label{text-align:center}.film-section{height:680px;position:relative;overflow:hidden;background:#28221d}.film-section>img{width:100%;height:100%;object-fit:cover;filter:brightness(.45) saturate(.55);transition:transform 1.8s}.film-section:hover>img{transform:scale(1.035)}.film-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#f8eee2;padding:30px}.film-overlay .eyebrow,.film-overlay em{color:#dfc4a2}.film-open{margin-top:35px;background:#f3eee616;color:#fff;border:1px solid #e6d4bc90;border-radius:100px;padding:22px 32px;font-size:11px;backdrop-filter:blur(8px);transition:background .4s,transform .4s}.film-open:hover{background:#f3eee633;transform:scale(1.04)}.film-language{font-size:10px;margin-top:15px;color:#e2d2c0}#film-dialog{max-width:1200px;width:94%;padding:40px 0 0;background:#211d18;border:0}#full-film{width:100%;display:block;max-height:80svh}.film-close{position:absolute;top:0;right:10px;border:0;background:none;color:white;font-size:27px}.reviews{padding-block:100px;position:relative;overflow:hidden;background:#eee6da}.review-heading{display:flex;justify-content:space-between}.review-mark{font:250px/.8 var(--serif);color:#c9ad8e;opacity:.4}.review-stage{padding:45px 6% 0 23%;min-height:325px}.review-stage blockquote{font:36px/1.35 var(--serif);margin:25px 0 26px;max-width:800px}.review-stage #review-author{font-size:12px;margin-bottom:8px}.review-stage .eyebrow{font-size:8px}.review-controls{display:flex;align-items:center;justify-content:end;gap:25px}.review-controls button{border:1px solid #c0ab93;border-radius:50%;width:46px;height:46px;background:none;transition:background .3s,color .3s}.review-controls button:hover{background:var(--bronze);color:white}.review-controls>span{font-size:10px;letter-spacing:.15em}.place-image img{mask-image:linear-gradient(0deg,transparent,#000 15%,#000 85%,transparent),linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-composite:intersect;aspect-ratio:4/5}.place-image span{text-align:center}.social{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:35px;padding-bottom:120px}.social h2{font-size:60px}.social p:not(.eyebrow){font-size:13px;color:var(--muted);margin:26px 0}.social-images{position:relative;height:460px}.social-images img:first-child{width:90%;height:330px;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 90%,transparent),linear-gradient(0deg,transparent,#000 20%,#000 85%,transparent);mask-composite:intersect;filter:saturate(.65)}.social-images img:last-child{width:42%;height:240px;position:absolute;right:0;bottom:0;object-fit:cover;border:8px solid var(--ivory);border-radius:100px 100px 3px 3px}.contact{background:radial-gradient(ellipse at 50% 0,#d5bda055,transparent 70%),#e9dfd1;padding-block:95px}.contact h2{font-size:clamp(54px,6.2vw,92px)}.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s,transform 1s}.reveal.revealed{opacity:1;transform:none}@keyframes arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes hero-breathe{from{transform:scale(1)}to{transform:scale(1.045)}}
@media(max-width:1000px){.hero-copy{width:70%;padding-left:6%}.hero h1{font-size:88px}.hero-photo{left:35%}.chapter h2{font-size:82px}.treatment-studio{gap:4%}.treatment-info{padding:25px}.treatment-book{align-items:start;flex-direction:column}.about h2,.place h2,.social h2{font-size:52px}.service-choice>span:nth-child(2){font-size:25px}.review-stage{padding-left:12%}}
@media(max-width:680px){header{height:80px}.hero{min-height:850px;height:calc(100svh + 100px);max-height:1000px}.hero-copy{width:100%;height:auto;padding:55px 7% 0;justify-content:start}.hero h1{font-size:clamp(61px,15vw,88px);max-width:100%;margin-bottom:25px}.hero .intro{max-width:300px;font-size:12px}.hero-photo{inset:300px -22% -40px 5%;height:auto;mask-image:linear-gradient(0deg,transparent,#000 15%,#000 62%,transparent),linear-gradient(90deg,transparent,#000 22%,#000 90%,transparent);mask-composite:intersect;opacity:.9}.hero-photo>img{object-position:50% 55%}.hero-copy>.button{margin-top:5px}.hero-copy>.text-link{background:#f3eee6b0}.details-bar{font-size:9px}.journey{height:340svh}.journey-stage{min-height:600px}.journey-top{top:30px;left:7%;right:7%;display:block}.journey-top .eyebrow{font-size:8px;margin-bottom:12px}.journey-top>a{font-size:9px}.chapters{top:30%;left:7%;right:7%}.chapter h2{font-size:57px}.chapter>p:last-child{font-size:12px;max-width:280px;margin-top:24px}.journey-nav{left:7%;right:7%;bottom:95px;gap:12px}.journey-nav button{font-size:8px}.journey-nav button>span:first-child{display:block;margin-bottom:8px}.journey-gradient{background:linear-gradient(90deg,#201a13bd,#201a1355),linear-gradient(0deg,#211b17a0,transparent 50%)}.journey-treatment{object-position:57% 50%}.journey-media video{object-position:60%}.care{padding-top:75px}.section-heading h2{font-size:54px}.filters{gap:25px;margin-bottom:24px}.treatment-studio{display:flex;flex-direction:column;gap:25px}.service-list{display:flex;gap:8px;width:100%;overflow-x:auto;overflow-y:hidden;max-height:none;padding:0 0 15px;scroll-snap-type:x mandatory}.service-choice{display:flex;flex:0 0 auto;min-width:160px;max-width:245px;gap:12px;padding:16px!important;border:1px solid var(--line);scroll-snap-align:start}.service-choice>span:nth-child(2){font-size:24px;white-space:normal}.service-choice>span:last-child{display:none}.service-number{font-size:8px}.treatment-detail{position:relative;top:auto;width:100%}.treatment-image{height:220px}.treatment-info{padding:22px}.treatment-info h3{font-size:39px}.treatment-book{flex-direction:row;align-items:center;gap:12px}.treatment-book p{font-size:25px}.treatment-book .button{font-size:9px;padding:12px}.offer{margin:0;padding:55px 7%}.offer h2{font-size:59px}.about{padding-top:70px;gap:15px}.portrait-wrap>img{max-height:570px;object-position:center}.about h2,.place h2,.social h2{font-size:55px}.about-copy>p:not(.eyebrow):not(.large-copy){font-size:12px}.film-section{height:570px}.film-section>img{object-position:46%}.film-overlay h2{font-size:58px}.film-overlay .eyebrow{font-size:8px}.review-heading h2{font-size:54px}.review-mark{font-size:130px;position:absolute;right:5%;top:85px}.review-stage{padding:35px 0 0;min-height:340px}.review-stage blockquote{font-size:29px}.review-controls{justify-content:start}.place{padding-bottom:45px}.social{display:flex;flex-direction:column;gap:35px;padding-bottom:70px}.social-images{width:100%;height:365px}.social-images img:first-child{height:280px}.social-images img:last-child{height:200px}.social>div:last-child{width:100%}.contact h2{font-size:56px}.contact{padding-top:65px}.reveal{transform:translateY(20px)}}
@media(prefers-reduced-motion:reduce){.hero-photo>img{animation:none}.reveal{opacity:1;transform:none}.journey{height:auto}.journey-stage{position:relative;height:auto;min-height:0;padding:65px 7%}.journey-media{opacity:.2}.journey-media video,.journey-rest{display:none}.journey-treatment{opacity:1}.journey-gradient{background:#211c17a0}.journey-top{position:relative;inset:auto}.chapters{position:relative;inset:auto;height:auto}.chapter{position:relative;opacity:1;transform:none;margin:70px 0;max-width:700px}.chapter h2{font-size:clamp(50px,6vw,80px)}.journey-nav{display:none}.chapter>p:last-child{max-width:450px}.hero-copy>*{animation:none}.journey-media>*{transform:none}}
@media(max-width:680px){.mobile-book{position:fixed;width:auto}.treatment-studio>*{min-width:0}.service-choice>span:nth-child(2){overflow-wrap:anywhere}.contact h2{overflow-wrap:break-word}}
