@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#f6f2eb;--ink:#382b23;--muted:#756b61;--line:#d8cec1;--sand:#e9dfd0;--accent:#85654c;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.8}body.modal-open{overflow:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a{color:inherit}a{text-decoration:none}button{cursor:pointer}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{cursor:wait}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02}em{font-weight:400;color:var(--accent)}.wrap{width:min(1304px,calc(100% - 112px));margin-inline:auto}.section{padding-block:115px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;line-height:1.6}h2{font-size:62px;letter-spacing:-1.4px}h3{font-size:33px}p{color:var(--muted)}.eyebrow{color:var(--ink)}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--ink);color:white;padding:15px}.skip-link:focus{top:10px}.header{width:calc(100% - 112px);margin:auto;height:105px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-family:var(--serif);font-size:38px;letter-spacing:5px;line-height:1}.brand span{display:block;font-family:var(--sans);font-size:7px;letter-spacing:2px;line-height:2.6}.header nav{display:flex;gap:30px;font-size:11px}.header nav a{position:relative;padding:8px 0}.header nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--ink);transition:width .2s}.header nav a:hover:after{width:100%}.header-book{background:transparent;font-size:11px;border-bottom:1px solid var(--ink);padding:10px 0;display:flex;gap:38px}.header-book span{font-size:19px;line-height:1}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:25px;padding-top:48px;padding-bottom:66px;min-height:720px}.hero-copy{padding-top:52px;display:flex;flex-direction:column;align-items:flex-start}.tiny-star{font-size:20px;vertical-align:middle;margin-right:11px;color:var(--accent)}.hero h1{font-size:clamp(72px,7.4vw,112px);letter-spacing:-3px;margin:32px 0 25px;position:relative;z-index:2;white-space:nowrap}.hero-description{font-size:13px;line-height:1.9;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:17px 24px;min-height:57px;font-size:11px;font-weight:500;transition:background .2s,transform .2s}.button span{font-size:20px;line-height:1}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#594333}.button-outline{background:transparent;border:1px solid #a29180}.button-outline:hover{background:#e4d7c4}.hero-foot{display:flex;justify-content:space-between;align-items:center;width:80%;margin-top:auto;padding-top:56px;font-size:8px;letter-spacing:1.5px}.hero-foot a{display:flex;gap:18px;align-items:center;font-size:20px}.hero-foot a span{font-size:9px;letter-spacing:0}.hero-visual{height:603px;position:relative;margin-left:28px}.hero-image{height:100%;object-position:50% 39%}.image-caption{position:absolute;right:20px;bottom:17px;color:white;font-size:8px;letter-spacing:2px;text-shadow:0 1px 8px #000}.hero-inset{position:absolute;bottom:29px;left:-73px;width:162px;padding:8px 8px 12px;background:var(--paper);transform:rotate(-7deg);box-shadow:0 5px 25px #372b2312}.hero-inset img{height:174px;object-position:center 48%}.hero-inset span{display:block;font-family:var(--serif);font-style:italic;text-align:center;font-size:21px;margin-top:7px}.round-seal{position:absolute;right:-22px;top:-24px;width:115px;height:115px;border-radius:100%;background:var(--sand);border:1px solid #b5a38f;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(12deg)}.round-seal span{font-size:7px;letter-spacing:1.6px}.round-seal b{font-family:var(--serif);font-weight:400;font-style:italic;font-size:54px;line-height:1}.service-ribbon{display:flex;align-items:center;justify-content:space-around;padding:22px 25px;background:var(--sand);border-block:1px solid #d8cbb9;gap:22px;overflow:hidden}.service-ribbon span{font-family:var(--serif);font-size:30px;white-space:nowrap}.service-ribbon i{font-size:25px;color:var(--accent);font-style:normal}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.about-photo{position:relative}.about-photo img{height:440px;object-position:53% center}.photo-index{display:block;font-size:8px;letter-spacing:1.5px;margin-top:15px}.about-copy h2{margin:20px 0 26px;font-size:55px}.about-copy p:not(.eyebrow){font-size:12px;margin-bottom:15px;max-width:440px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:transparent;border-bottom:1px solid #a99a89;padding:9px 0;font-size:11px;line-height:1.7}.about-copy .text-link{margin-top:17px}.services{background:#eee8df}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:47px}.section-heading h2{margin-top:18px}.section-heading>p{font-size:12px;max-width:375px;padding-bottom:6px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-photo{position:relative;overflow:hidden}.service-photo img{height:350px;transition:transform .7s;object-position:50% 40%}.service-card:first-child .service-photo img{object-position:60% center}.service-card:hover img{transform:scale(1.045)}.service-no{position:absolute;left:15px;top:15px;color:white;font-size:11px;letter-spacing:1px;text-shadow:0 1px 5px #000}.circle-arrow{position:absolute;right:17px;bottom:17px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font-size:22px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:22px}.card-title h3{font-size:31px}.card-title>span{font-size:7px;letter-spacing:1px}.service-card>p{font-size:11px;margin-top:9px}.treatment-list{display:grid;grid-template-columns:.85fr 1.6fr;gap:90px;margin-top:85px;padding-top:55px;border-top:1px solid var(--line)}.treatment-intro h3{font-size:47px;margin:19px 0}.treatment-intro>p:last-child{font-size:11px;max-width:260px}.accordions details{border-bottom:1px solid #cfc3b5;scroll-margin-top:120px}.accordions details:first-child{border-top:1px solid #cfc3b5}.accordions summary{list-style:none;display:flex;align-items:center;gap:25px;cursor:pointer;padding:24px 0;font-family:var(--serif);font-size:26px;line-height:1.2}.accordions summary::-webkit-details-marker{display:none}.accordions summary>span{font-family:var(--sans);font-size:9px;color:var(--muted)}.accordions summary i{margin-left:auto;font-family:var(--sans);font-size:22px;font-weight:400;font-style:normal;transition:transform .2s}.accordions details[open] summary i{transform:rotate(45deg)}.detail-body{padding:0 32px 25px;font-size:12px}.detail-body ul{padding-left:16px;margin:0 0 18px;color:var(--muted)}.detail-body .text-link{margin-top:12px}.gallery-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;grid-template-rows:235px 235px;gap:18px}.gallery-item{position:relative;overflow:hidden;padding:0;background:var(--sand)}.gallery-item img{height:100%;transition:transform .7s}.gallery-item:hover img{transform:scale(1.05)}.gallery-tall{grid-row:span 2}.gallery-item>span{position:absolute;inset:auto 0 0;text-align:left;padding:35px 17px 14px;color:white;background:linear-gradient(transparent,#0008);font-size:10px;opacity:0;transition:opacity .2s}.gallery-item:hover>span,.gallery-item:focus-visible>span{opacity:1}.gallery-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:22px;align-items:center}.gallery-bottom p{font-size:10px}.pricing{background:var(--sand);display:grid;grid-template-columns:80px 1fr .65fr;position:relative;gap:45px;padding:48px 55px;margin-bottom:110px;align-items:center}.pricing-symbol{align-self:start;font-family:var(--serif);font-size:110px;line-height:.9;color:var(--accent)}.pricing h2{font-size:55px;margin:18px 0 22px}.pricing p:not(.eyebrow){font-size:11px;margin-bottom:28px}.pricing>img{height:320px;object-position:center 44%}.contact{background:var(--ink);color:var(--paper);padding-top:82px;padding-bottom:55px}.contact .eyebrow{color:#cabba8}.contact-heading{display:flex;align-items:center;justify-content:space-between;margin-top:27px}.contact h2{font-size:90px;letter-spacing:-2px}.contact em{color:#c5aa8e}.contact-cta{background:transparent;width:118px;height:118px;border:1px solid #ad9680;border-radius:50%;color:var(--paper);font-size:60px;font-weight:400;transition:background .2s,transform .2s;margin-right:50px}.contact-cta:hover{background:#594333;transform:rotate(8deg)}.contact-details{margin-top:52px;padding-top:30px;border-top:1px solid #68584c;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px;font-size:11px}.contact-details p{color:#c4b5a5;font-size:10px}.contact-details a>span{display:block;color:#c4b5a5;font-size:10px;margin-top:5px}.footer{display:flex;justify-content:space-between;align-items:center;padding-block:35px;gap:25px}.footer .brand{font-size:28px}.footer>span,.footer>a:last-child{font-size:9px;color:var(--muted)}dialog{color:var(--ink);border:0;padding:48px;background:var(--paper);max-height:90dvh;overflow-y:auto}dialog::backdrop{background:#251b16b8;backdrop-filter:blur(6px)}.booking-dialog{width:min(540px,calc(100% - 28px))}.close-dialog{position:absolute;right:17px;top:10px;background:transparent;font-size:30px;font-weight:400;line-height:1.5;z-index:2}.booking-dialog h2{font-size:45px;margin:17px 0}.booking-dialog>p:not(.eyebrow){font-size:11px}.booking-dialog form{margin-top:25px;display:flex;flex-direction:column;gap:8px}.booking-dialog label{font-size:10px;margin-top:8px}.booking-dialog label span{color:var(--muted)}.booking-dialog input,.booking-dialog select,.booking-dialog textarea{background:#fffcf7;border:1px solid var(--line);border-radius:0;color:var(--ink);padding:11px 12px;max-width:100%;width:100%;min-height:44px;font-size:12px}.booking-dialog textarea{resize:vertical}.booking-dialog form .button{margin-top:12px;gap:10px}.booking-dialog .copy-status{margin-top:14px;min-height:20px;color:#63523e}.booking-socials{display:flex;gap:25px;justify-content:space-between;padding-top:12px}.booking-socials a{font-size:11px;border-bottom:1px solid var(--line)}.booking-dialog small{display:block;color:var(--muted);font-size:9px;margin-top:22px}.lightbox{position:fixed;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;background:#211b17;color:var(--paper);padding:40px 85px;overflow:hidden}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{width:100%;height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.lightbox img{max-width:100%;height:calc(100% - 50px);object-fit:contain}.lightbox figcaption{font-size:11px;text-align:center;min-height:25px}.lightbox .close-dialog{right:25px;top:15px;color:white}.gallery-prev,.gallery-next{position:absolute;top:50%;background:transparent;color:white;font-size:30px;padding:12px;z-index:1}.gallery-prev{left:12px}.gallery-next{right:12px}body:has(dialog[open]){overflow:hidden}::selection{background:#cbb498;color:#2e241d}
@media(min-width:1600px){.hero h1{font-size:114px}.hero-visual{height:660px}.hero{min-height:790px}.hero-copy{padding-top:75px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header{width:calc(100% - 72px);gap:20px}.header nav{gap:18px}.hero{gap:15px;min-height:650px}.hero-visual{height:545px;margin-left:20px}.hero h1{font-size:8vw}.hero-inset{width:132px;left:-42px}.hero-inset img{height:135px}.round-seal{width:95px;height:95px;right:-16px}.round-seal span{font-size:6px}.hero-foot{width:85%}.about{gap:50px}.about-copy h2{font-size:47px}.about-photo img{height:400px}.section{padding-block:85px}.section-heading h2{font-size:54px}.service-photo img{height:290px}.card-title{display:block}.card-title>span{display:block;margin-top:10px}.treatment-list{gap:40px}.pricing{grid-template-columns:40px 1fr .7fr;gap:30px;padding:40px}.pricing-symbol{font-size:75px}.pricing h2{font-size:48px}.contact h2{font-size:80px}.contact-cta{margin-right:0}.contact-details{gap:25px}.gallery-grid{grid-template-rows:200px 200px}}
@media(max-width:800px){.header{height:88px;position:relative}.brand{font-size:32px}.header-book{margin-left:auto;font-size:10px;gap:20px}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:transparent;padding:12px 0 12px 12px;order:3}.menu-toggle span{display:block;background:var(--ink);width:24px;height:1px}.header nav{display:none;position:absolute;top:87px;left:-36px;right:-36px;background:var(--paper);padding:25px 36px;z-index:10;border-bottom:1px solid var(--line);font-size:14px}.header nav.open{display:flex;flex-direction:column;gap:12px}.hero{min-height:580px;padding-top:35px;padding-bottom:45px}.hero-copy{padding-top:30px}.hero h1{font-size:8.8vw;letter-spacing:-2px;margin-top:25px}.hero-description{font-size:11px}.hero .button{padding:15px;gap:20px;font-size:10px}.hero-visual{height:480px;margin-left:8px}.hero-inset{left:-25px;bottom:24px;width:105px}.hero-inset img{height:110px}.hero-inset span{font-size:17px}.hero-foot{width:85%;padding-top:45px}.hero-foot>span{font-size:6px}.hero-foot a span{display:none}.round-seal{width:76px;height:76px;top:-15px;right:-15px}.round-seal b{font-size:37px}.round-seal span{font-size:5px;letter-spacing:1px}.image-caption{font-size:6px;right:10px;bottom:10px}.service-ribbon{gap:25px;justify-content:space-between;padding:18px 25px}.service-ribbon span{font-size:25px}.service-ribbon>span:nth-of-type(4),.service-ribbon>i:last-child{display:none}.section{padding-block:70px}.about{gap:35px}.about-copy h2{font-size:39px}.about-copy p:not(.eyebrow){font-size:11px}.about-photo img{height:385px}.section-heading>p{font-size:10px;max-width:245px}.section-heading h2{font-size:46px}.service-grid{gap:17px}.service-photo img{height:245px}.card-title h3{font-size:25px}.service-card>p{font-size:10px}.treatment-list{grid-template-columns:.7fr 1fr;gap:30px;margin-top:55px;padding-top:40px}.accordions summary{font-size:22px;gap:16px}.treatment-intro h3{font-size:39px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px;gap:14px}.gallery-tall{grid-row:span 2}.gallery-item:last-child{grid-column:span 2}.gallery-item:last-child img{object-position:center 40%}.pricing{grid-template-columns:1fr .7fr;gap:30px;padding:35px;margin-bottom:70px}.pricing-symbol{display:none}.pricing>img{height:320px}.pricing h2{font-size:44px}.contact h2{font-size:70px}.contact-cta{height:95px;width:95px;font-size:45px}.contact-details{grid-template-columns:1fr 1fr}.contact-details p{grid-column:span 2}.footer .brand{font-size:23px}.footer .brand span{font-size:6px}.footer{flex-wrap:wrap}}
@media(max-width:580px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.header{width:calc(100% - 40px);height:80px;gap:14px}.header .brand{font-size:30px}.header .brand span{font-size:6px;letter-spacing:1.5px}.header-book{font-size:9px;gap:12px;padding-block:8px}.header nav{left:-20px;right:-20px;top:79px;padding-inline:25px}.menu-toggle{padding-left:7px}.hero{display:flex;flex-direction:column;padding-top:31px;gap:32px;padding-bottom:35px}.hero-copy{padding-top:0}.eyebrow{font-size:9px;letter-spacing:2px}.tiny-star{font-size:18px}.hero h1{font-size:clamp(57px,14.7vw,85px);letter-spacing:-2px;line-height:.98;margin:23px 0}.hero-description{font-size:12px;margin-bottom:23px}.hero .button{font-size:10px;padding:16px 21px;gap:36px}.hero-foot{display:none}.hero-visual{height:455px;width:calc(100% - 20px);margin-left:20px}.hero-image{object-position:50% 33%}.hero-inset{left:-21px;width:119px;bottom:22px;padding:6px 6px 8px;transform:rotate(-6deg)}.hero-inset img{height:130px}.round-seal{right:-10px;top:-16px;width:83px;height:83px}.round-seal span{font-size:5.5px}.round-seal b{font-size:42px}.image-caption{right:14px;font-size:6px}.service-ribbon{padding:15px 20px;gap:15px}.service-ribbon span{font-size:22px}.service-ribbon i{font-size:19px}.service-ribbon>span:nth-of-type(3),.service-ribbon>i:nth-of-type(3){display:none}.section{padding-block:59px}.about{display:flex;flex-direction:column-reverse;gap:32px;align-items:stretch}.about-copy h2{font-size:44px;margin-top:18px}.about-copy p:not(.eyebrow){font-size:12px}.about-photo img{height:285px}.about-copy .text-link{margin-top:5px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:46px;letter-spacing:-1px}.section-heading>p{margin-top:23px;font-size:12px;max-width:100%}.service-grid{grid-template-columns:1fr;gap:34px}.service-photo img{height:350px}.service-card:first-child .service-photo img{object-position:60% center}.service-card:nth-child(2) .service-photo img{object-position:50% 32%}.card-title{display:flex;margin-top:19px}.card-title h3{font-size:33px}.card-title>span{margin:0;font-size:7px}.service-card>p{font-size:11px}.treatment-list{grid-template-columns:1fr;gap:28px;margin-top:45px;padding-top:35px}.treatment-intro h3{font-size:40px}.treatment-intro h3 br{display:none}.treatment-intro>p:last-child{max-width:100%;font-size:11px}.accordions summary{font-size:23px;padding-block:22px;gap:15px}.detail-body{padding-left:23px;padding-right:10px}.gallery .section-heading .text-link{margin-top:20px}.gallery-grid{grid-template-rows:190px 160px 190px;gap:10px}.gallery-bottom{align-items:flex-start;flex-direction:column;gap:8px}.gallery-bottom p{font-size:10px}.pricing{width:calc(100% - 40px);padding:32px 25px;display:flex;flex-direction:column;gap:30px;align-items:stretch;margin-bottom:58px}.pricing h2{font-size:47px}.pricing p:not(.eyebrow){font-size:12px}.pricing>img{height:235px;object-position:center 43%}.contact h2{font-size:57px}.contact-heading{gap:10px}.contact-cta{width:65px;height:65px;font-size:34px;flex-shrink:0}.contact .eyebrow{font-size:8px}.contact-details{gap:24px 15px;margin-top:35px;padding-top:24px}.contact-details p{font-size:11px}.contact-details a{font-size:11px}.contact-details a>span{font-size:9px}.footer{gap:25px 15px;padding-block:29px}.footer .brand{width:100%;font-size:30px}.footer .brand span{font-size:7px}.footer>span,.footer>a:last-child{font-size:8px}.booking-dialog{padding:38px 25px 28px}.booking-dialog h2{font-size:42px}.booking-socials{gap:12px}.booking-socials a{font-size:10px}.lightbox{padding:55px 45px}.gallery-prev{left:0}.gallery-next{right:0}.gallery-prev,.gallery-next{padding:9px;font-size:26px}.lightbox figcaption{font-size:10px}.lightbox .close-dialog{right:15px;top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
