:root{--ivory:#f7f4ef;--ink:#493e37;--muted:#877a70;--pink:#efdfd9;--line:#d8cec4;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Manrope,sans-serif;font-size:13px;line-height:1.8}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #a77a60;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;position:absolute;top:0;width:100%;z-index:10;background:var(--ivory)}.logo{font-family:var(--serif);font-size:51px;letter-spacing:-3px;line-height:.9;display:inline-flex;flex-direction:column;align-items:center}.logo span{font-family:Manrope,sans-serif;font-size:7px;letter-spacing:2.5px;margin-top:12px}nav{display:flex;gap:32px;font-size:11px}nav a{position:relative}nav a:after{content:'';height:1px;background:currentColor;position:absolute;bottom:-4px;left:0;width:0;transition:width .3s}nav a:hover:after{width:100%}.nav-book{border-bottom:1px solid var(--ink);padding:10px 0;font-size:11px}.nav-book span{margin-left:24px}#menu{display:none}.hero-scene{height:calc(100svh + 150px);padding-top:100px}.hero{height:calc(100svh - 100px);min-height:570px;position:relative;overflow:hidden;transform-origin:50% 30%;will-change:transform}.hero-image{object-position:center 56%;animation:arrival 2s ease-out both}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,27,22,.48),rgba(32,27,22,.05)),linear-gradient(0deg,rgba(25,21,18,.32),transparent 40%)}.hero-copy{position:absolute;top:15%;left:8%;color:#fff8ee}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.5px}.hero h1{font:300 clamp(78px,8vw,132px)/.9 var(--serif);letter-spacing:-3px;margin:29px 0 25px}em{font-weight:300} .hero-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;opacity:.85}.light-button,.dark-button{display:inline-flex;justify-content:space-between;gap:45px;align-items:center;padding:16px 23px;font-size:10px;border:1px solid rgba(255,255,255,.55);margin-top:22px;background:transparent;color:inherit;transition:background .3s,transform .3s}.light-button:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}.hero-bottom{position:absolute;bottom:28px;left:5%;right:5%;color:#fff5e8;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px}.hero-bottom a span{margin-left:18px}.section-pad{padding:80px 8% 100px}.section-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px}.tiny{font-size:8px;letter-spacing:1.5px;color:var(--muted)}h2{font:300 clamp(54px,5.6vw,88px)/.99 var(--serif);letter-spacing:-2px;margin:0}h2 em{color:#9e7f70}.essence{padding-top:20px}.essence-intro{display:grid;grid-template-columns:.3fr 1.5fr 1fr;gap:35px;align-items:start;margin:75px 0 70px}.asterisk{font-size:46px;font-weight:300;color:#b2957d;line-height:1.2}.essence-text{max-width:330px;font-size:12px;color:var(--muted)}.essence-text p{margin:0 0 20px}.text-link{display:flex;justify-content:space-between;border-bottom:1px solid #b5a597;padding:12px 0;color:var(--ink);font-size:10px;max-width:210px}.editorial-image{height:410px;position:relative;overflow:hidden}.editorial-image img{object-position:center 55%;transition:transform 1.5s}.editorial-image:hover img{transform:scale(1.04)}.editorial-image span{position:absolute;bottom:25px;left:30px;letter-spacing:2px;font-size:8px;color:white;text-shadow:0 1px 5px #222}.treatments{background:var(--pink);transition:background 1s}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:60px 0 55px;gap:30px}.section-heading>p{font-size:12px;color:var(--muted);margin:0 0 8px}.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.treatment{background:none;border:0;padding:0;text-align:left}.card-image{height:360px;position:relative;overflow:hidden}.card-image img{transition:transform .8s,filter .8s;filter:saturate(.6)}.treatment:hover img{transform:scale(1.065);filter:saturate(.9)}.circle{width:41px;height:41px;border-radius:50%;background:#f7f4efeb;display:grid;place-items:center;position:absolute;right:18px;bottom:18px;font-size:18px;transition:transform .3s}.treatment:hover .circle{transform:rotate(45deg)}.card-title{display:flex;justify-content:space-between;align-items:center;margin-top:15px;border-bottom:1px solid #c9b6ad;padding-bottom:8px}.card-title h3{font:400 34px var(--serif);margin:0}.card-title>span{font-size:9px;color:var(--muted)}.treatment>p{font-size:10px;color:var(--muted)}.treatment-note{text-align:center;font-size:10px;margin:45px 0 0;color:var(--muted)}.treatment-note a{color:var(--ink);border-bottom:1px solid;margin-left:9px}.spa{height:760px;position:relative;overflow:hidden;color:#fff8ef}.spa>img{position:absolute;filter:brightness(.72);object-position:center 68%}.spa .shade{background:#2c292338}.spa-content{position:relative;padding:125px 8%;text-align:center}.spa h2{font-size:clamp(52px,5.8vw,88px);margin:45px 0 28px}.spa h2 em{color:#ead4c0}.spa-content>p:not(.eyebrow){font-size:12px;opacity:.9}.spa-caption{position:absolute;bottom:30px;left:0;width:100%;text-align:center;font-size:8px;letter-spacing:3px}.gallery{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;align-items:start}.gallery figure{margin:0}.gallery figure:nth-child(2){padding-top:100px}.gallery img{height:470px;filter:saturate(.55)}.gallery figure:nth-child(2) img{height:370px}.gallery figcaption{font-size:8px;letter-spacing:1.6px;margin-top:17px}.image-note{font-size:9px;color:var(--muted);margin-top:35px}.booking{background:#e9ded1;text-align:center;padding-top:85px;padding-bottom:85px}.booking h2{font-size:clamp(80px,9vw,140px);margin:32px 0 24px}.booking p:not(.eyebrow){font-size:12px;color:var(--muted)}.dark-button{background:var(--ink);color:var(--ivory);border:1px solid var(--ink);min-width:235px}.dark-button:hover{background:#685448;transform:translateY(-2px)}.booking-note{display:block;margin-top:22px;font-size:7px;letter-spacing:2px;color:var(--muted)}footer{padding:65px 8% 22px}.footer-top{display:flex;justify-content:space-between;align-items:center}.footer-top .logo{font-size:75px}.footer-top p{font:italic 28px var(--serif);color:#9e7f70}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:25px;margin:55px 0 45px}.footer-grid .eyebrow{font-size:8px}.footer-grid p,.footer-contact{font-size:10px;color:var(--muted);margin-top:10px}.footer-contact{background:none;border:0;padding:0}.back-top{font-size:8px;letter-spacing:1px;align-self:center}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}dialog{background:var(--ivory);border:1px solid var(--line);color:var(--ink);max-width:500px;width:calc(100% - 36px);padding:55px 40px}dialog::backdrop{background:#30292280;backdrop-filter:blur(6px)}dialog h2{font-size:58px;margin:25px 0}dialog>p:not(.eyebrow){color:var(--muted);font-size:12px}.close{position:absolute;top:10px;right:18px;border:0;background:none;font-size:30px}.reveal{opacity:0;transform:translateY(25px);transition:opacity 1s,transform 1s}.reveal.visible{opacity:1;transform:none}@keyframes arrival{from{transform:scale(1.08)}to{transform:scale(1)}}@media(min-width:1600px){.section-pad{padding-left:max(8%,calc((100% - 1400px)/2));padding-right:max(8%,calc((100% - 1400px)/2))}}@media(max-width:850px){header{height:85px;padding:0 6%}header .logo{font-size:42px}nav{display:none;position:absolute;top:85px;left:0;width:100%;background:var(--ivory);padding:30px 6%;flex-direction:column;gap:24px;box-shadow:0 15px 20px #493e3710}nav.open{display:flex}.nav-book{margin-left:auto;font-size:9px}.nav-book span{margin-left:12px}#menu{display:block;border:0;background:none;font-size:20px;padding:5px}.hero-scene{padding-top:85px;height:calc(100svh + 60px)}.hero{height:calc(100svh - 85px);min-height:580px}.hero-copy{left:8%;top:18%}.hero h1{font-size:95px}.hero-bottom>span:last-child{display:none}.hero-bottom{font-size:7px;letter-spacing:1px}.section-pad{padding:65px 7%}.essence{padding-top:20px}.essence-intro{grid-template-columns:1fr 1fr;gap:30px;margin:50px 0}.asterisk{display:none}.essence-text{font-size:11px}.editorial-image{height:340px}.card-image{height:280px}.treatment-grid{gap:17px}.card-title h3{font-size:27px}.spa{height:680px}.spa-content{padding:105px 7%}.gallery img{height:360px}.gallery figure:nth-child(2) img{height:280px}.gallery figure:nth-child(2){padding-top:65px}.footer-grid{grid-template-columns:1fr 1fr}.back-top{align-self:end}.footer-top .logo{font-size:60px}}@media(max-width:550px){.logo span{font-size:5px;letter-spacing:2px}.nav-book{font-size:8px}.nav-book span{margin-left:5px}.hero h1{font-size:84px;letter-spacing:-2px}.hero-copy{top:19%}.hero-image{object-position:62% center}.hero-bottom{bottom:23px;left:8%;right:8%}.hero-bottom>span:first-child{max-width:110px;font-size:6px}.hero-bottom a{align-self:end;font-size:6px}.hero-copy .eyebrow{font-size:7px}.light-button{font-size:9px;padding:14px 18px}.section-top .tiny{display:none}.eyebrow{font-size:8px}.essence-intro{grid-template-columns:1fr;margin:40px 0}.essence-intro h2{font-size:67px}.essence-text{max-width:100%}.editorial-image{height:300px}.editorial-image span{left:18px;font-size:6px;right:18px}.section-heading{display:block;margin:40px 0 30px}.section-heading>p{margin:25px 0 0;font-size:11px}.section-heading h2{font-size:60px}.treatment-grid{grid-template-columns:1fr;gap:28px}.card-image{height:380px}.card-title h3{font-size:36px}.treatment>p{margin-bottom:0}.treatment-note{text-align:left;font-size:9px;margin-top:30px}.spa{height:650px}.spa-content{padding-top:90px}.spa h2{font-size:49px;margin-top:48px}.spa .eyebrow{font-size:7px}.gallery{gap:30px;grid-template-columns:1fr}.gallery img{height:360px}.gallery figure:nth-child(2){padding-top:0;margin-left:18%}.gallery figure:nth-child(2) img{height:300px}.gallery figcaption{font-size:7px}.booking h2{font-size:100px}.booking>p:not(.eyebrow){font-size:11px}.footer-top{display:block}.footer-top p{margin-top:25px;font-size:25px}.footer-grid{gap:26px 15px;margin:35px 0}.footer-bottom{font-size:7px;gap:25px}.footer-bottom>span:last-child{max-width:85px;text-align:right}dialog{padding:45px 26px}dialog h2{font-size:49px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero{transform:none!important}}
[hidden]{display:none!important}
.reservation-form{max-width:760px;margin:45px auto 0;text-align:left}.reservation-form>fieldset{border:0;border-top:1px solid #cabbad;padding:28px 0 15px;margin:0 0 24px;min-width:0}.reservation-form>fieldset>legend{font:400 30px var(--serif);padding:0 22px 0 0}.reservation-form>fieldset>legend>span{font:10px Manrope,sans-serif;color:var(--muted);margin-right:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.reservation-form label:not(.choice):not(.consent){display:flex;flex-direction:column;gap:9px;font-size:11px}.full-field{grid-column:1/-1}.reservation-form input:not([type=radio]):not([type=checkbox]),.reservation-form textarea{width:100%;border:1px solid #cabbad;background:#f7f4ef85;border-radius:0;padding:14px 15px;font:13px Manrope,sans-serif;color:var(--ink);min-height:49px}.reservation-form textarea{resize:vertical;line-height:1.7}.reservation-form input::placeholder,.reservation-form textarea::placeholder{color:#94867a;font-size:11px}.reservation-form input:focus-visible,.reservation-form textarea:focus-visible{outline:2px solid #99745e;outline-offset:2px}.choice-group{border:0;padding:0;margin:0 0 28px;min-width:0}.choice-group>legend{font-size:11px;margin-bottom:12px;padding:0}.schedule-options,.attention-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{display:flex;align-items:center;gap:10px;border:1px solid #cabbad;padding:14px;font-size:11px;background:#f7f4ef45;cursor:pointer;transition:background .2s,border-color .2s}.choice:has(input:checked){background:var(--ivory);border-color:var(--ink)}.choice input,.consent input{accent-color:var(--ink);width:17px;height:17px;flex-shrink:0;margin:0}.field-help,.form-disclosure{font-size:11px!important;color:#75685e!important;line-height:1.9;margin:0 0 17px}.consent{display:flex;align-items:flex-start;gap:11px;font-size:11px;line-height:1.7;margin:20px 0}.consent input{margin-top:2px}.reservation-form .dark-button{width:100%;margin-top:8px;min-height:54px}.reservation-status{font-size:11px!important;color:var(--ink)!important;margin:15px 0 0}.reservation-status:empty{display:none}@media(max-width:550px){.form-grid,.attention-options{grid-template-columns:1fr}.form-grid{gap:18px}.reservation-form{margin-top:35px}.choice{min-height:50px}.reservation-form input:not([type=radio]):not([type=checkbox]),.reservation-form textarea{font-size:16px}.reservation-form>fieldset>legend{font-size:28px}.booking-note{line-height:2}}

