:root{--olive:#595b36;--olive-deep:#383e29;--gold:#bd9452;--cream:#f3eee6;--rose:#d6c5a0;--ink:#303426}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #997638;outline-offset:5px}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.brand,.footer-brand{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}em{font-weight:400}header{position:absolute;z-index:10;top:0;left:0;width:100%;padding:28px 4.5%;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid #ffffff36}.brand{font-size:54px;line-height:.75;letter-spacing:-3px}.brand span,.footer-brand span{font:10px Manrope,sans-serif;letter-spacing:3px;display:block;margin-top:13px}nav{display:flex;gap:38px;font-size:14px}.book{background:transparent;border:1px solid #ffffff80;border-radius:40px;color:white;padding:15px 25px;font-size:14px}.book span{padding-left:20px}.menu{display:none}.hero{height:100svh;min-height:730px;position:relative;overflow:hidden;color:#fff;background:#322f24}.hero-photo{position:absolute;inset:-5%;background:url('assets/studio.jpg') center 56%/cover;will-change:transform;animation:arrival 2.2s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#262c2099,#383c2533 70%),linear-gradient(0deg,#22271c88,transparent 70%)}.hero-top{position:absolute;top:160px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px}.hero-title{position:absolute;left:10%;top:27%;right:10%;animation:rise 1.3s .15s both}.hero-title>p{font-size:13px;letter-spacing:2px;margin-bottom:20px}h1{font-size:clamp(90px,10.5vw,170px);line-height:.85;letter-spacing:-5px}h1 em{padding-left:0;color:#ebd8ae}.hero-bottom{display:flex;align-items:center;justify-content:space-between;max-width:670px;margin-top:35px;font-size:14px;line-height:1.8}.round-link{border-radius:50%;width:72px;height:72px;border:1px solid #ffffff70;background:#ffffff10;color:white;font-size:28px}.scroll{position:absolute;bottom:40px;left:4.5%;display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:2px}.scroll i{height:1px;width:70px;background:#fff}.hero-caption{position:absolute;bottom:35px;left:47%;font-size:11px;line-height:1.8;letter-spacing:1px}.chapter{position:absolute;bottom:40px;right:4.5%;font-size:16px}.chapter span{opacity:.5;font-size:12px}.section-label{font-size:11px;letter-spacing:2px;margin-bottom:38px}.story{padding:115px 10% 125px}.story>h2{text-align:center;font-size:clamp(50px,6vw,88px);line-height:1.05}.story>h2 em{color:#727344}.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:70px;align-items:center}.arch img{width:100%;height:530px;object-fit:cover;border-radius:48% 48% 0 0}.arch figcaption{font-size:11px;margin-top:16px;letter-spacing:1px}.star{font-size:55px;color:#997638}.story-copy>p{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;line-height:1.2;margin:25px 0}.body-copy{font-size:14px;line-height:1.9;max-width:350px;color:#686b58}.line-link{display:inline-flex;gap:30px;justify-content:space-between;padding:16px 0;border-bottom:1px solid currentColor;font-size:13px;margin-top:25px}.rituals{background:var(--olive);color:var(--cream);padding:95px 10% 110px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:50px}h2{font-size:clamp(50px,5.8vw,84px);line-height:1.04;letter-spacing:-1.5px}.section-heading>p{font-size:14px;line-height:1.8;color:#dfdac3}.service{width:100%;display:grid;grid-template-columns:45px 1fr 220px 40px;align-items:center;text-align:left;gap:20px;padding:27px 0;border:0;border-top:1px solid #ffffff30;background:transparent;transition:padding .3s,background .3s}.service:last-child{border-bottom:1px solid #ffffff30}.service>span{font-size:11px;opacity:.5}.service strong{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:40px}.service small{font-size:12px;opacity:.65}.service b{font-size:25px;font-weight:400}.service:hover{padding-left:20px;background:#ffffff06}.immersive{position:relative;height:85svh;min-height:570px;overflow:hidden;color:white;text-align:center;display:grid;place-items:center}.immersive>img{position:absolute;width:100%;height:125%;object-fit:cover;filter:brightness(.48);top:-12%;will-change:transform}.immersive>div{position:relative}.immersive span{font-size:11px;letter-spacing:3px}.immersive h2{margin:30px 0 45px;font-size:clamp(65px,8vw,120px)}.light-button{background:var(--cream);border:0;padding:20px 30px;color:var(--olive);border-radius:40px;font-size:13px}.journal{padding:100px 7%}.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.instagram-grid a{position:relative;overflow:hidden}.instagram-grid img{width:100%;height:390px;object-fit:cover;transition:transform .7s}.instagram-grid a:nth-child(2){margin-top:50px}.instagram-grid a:hover img{transform:scale(1.06)}.instagram-grid span{display:block;padding:18px 0;font-size:12px}.preview-note{font-size:12px;line-height:1.7;color:#686b58;margin-top:20px}.reservation{padding:90px 10%;display:grid;grid-template-columns:1.1fr 1fr;gap:8%;background:#e5e2d4;align-items:center}.reservation>div>p{font-size:14px;margin-top:25px;line-height:1.8}.booking-card{padding:35px;background:var(--cream);border:1px solid #cccbb6}.eyebrow{font-size:11px;letter-spacing:2px}.booking-card h3{font-size:38px;margin:22px 0}.booking-card label{display:block;font-size:12px;margin:20px 0 10px}select{width:100%;padding:17px 15px;border:1px solid #a8aa90;background:transparent;border-radius:0;color:var(--ink);font-size:15px}.full-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px;background:var(--olive);color:var(--cream);border:0;font-size:14px;margin-top:18px}.visit{padding:100px 10%;display:grid;grid-template-columns:1fr 1fr;gap:12%}.visit h3{font-size:60px;line-height:1.05;margin:25px 0}.visit p{font-size:14px;line-height:1.8}dl{margin:30px 0}dl>div{display:flex;justify-content:space-between;border-bottom:1px solid #c7c8b5;padding:18px 0;font-size:13px}dd{margin:0}details{border-bottom:1px solid #c7c8b5;padding:18px 0;font-size:14px}summary{cursor:pointer}details p{padding-top:15px}footer{background:var(--olive-deep);color:var(--cream);padding:70px 7%;display:flex;align-items:flex-end;justify-content:space-between}.footer-brand{font-size:160px;line-height:.8;letter-spacing:-8px}.footer-brand span{font-size:12px;text-align:center;letter-spacing:6px;margin-top:25px}footer>div{display:flex;flex-direction:column;gap:25px;font-size:12px}footer>div>span{letter-spacing:3px}footer p{opacity:.5;font-size:11px}dialog{padding:50px;max-width:560px;width:calc(100% - 32px);background:var(--cream);color:var(--ink);border:0}dialog::backdrop{background:#202619b8;backdrop-filter:blur(7px)}dialog h2{font-size:48px;margin:20px 0}dialog p{font-size:15px;line-height:1.8}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px}.notice{padding:15px;background:#e2dfce;margin:20px 0}.skip{position:fixed;left:10px;top:-100px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s}.motion-ready .reveal.visible{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes arrival{from{transform:scale(1.1)}to{transform:scale(1)}}@media(max-width:800px){header{padding:22px 6%}.brand{font-size:44px}.brand span{font-size:8px}nav{display:none}nav.open{display:flex;position:absolute;top:94px;left:0;right:0;background:var(--olive);padding:28px;flex-direction:column}.book{font-size:11px;padding:12px 14px;margin-left:auto;margin-right:12px}.book span{padding-left:7px}.menu{display:block;border:0;background:transparent;color:white;font-size:23px;width:44px;height:44px}.hero{min-height:710px;max-height:1000px}.hero-photo{background-position:60% center}.hero-top{top:135px;left:6%;font-size:9px}.hero-top span:last-child{display:none}.hero-title{left:7%;right:7%;top:29%}h1{font-size:clamp(78px,15vw,120px);letter-spacing:-3px}h1 em{padding-left:0}.hero-title>p{font-size:11px}.hero-bottom{font-size:12px;margin-top:30px;gap:20px}.round-link{flex-shrink:0;width:58px;height:58px}.hero-caption{display:none}.scroll{left:7%;font-size:9px}.story,.rituals,.journal,.visit{padding:70px 7%}.story-layout{gap:40px;grid-template-columns:1fr;margin-top:45px}.arch{max-width:440px;width:100%;margin:auto}.arch img{height:420px}.story-copy{padding:0 8%}.story-copy>p{font-size:36px}.section-heading{align-items:flex-start;flex-direction:column;gap:18px}.service{grid-template-columns:25px 1fr 30px;gap:10px;padding:22px 0}.service strong{font-size:31px}.service small{display:none}.immersive{height:650px}.instagram-grid{gap:9px}.instagram-grid img{height:220px}.instagram-grid a:nth-child(2){margin-top:28px}.instagram-grid span{font-size:10px}.reservation{padding:65px 7%;grid-template-columns:1fr;gap:35px}.booking-card{padding:25px}.visit{grid-template-columns:1fr;gap:50px}footer{align-items:flex-start;gap:50px;flex-direction:column;padding:60px 7%}.footer-brand{font-size:120px}dialog{padding:35px 25px}h2{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.hero-photo,.immersive>img{transform:none!important}}

.language-switch{display:flex;align-items:center;gap:5px;margin-left:auto;margin-right:24px;color:#fff;font-size:12px;flex-shrink:0}.language-switch button{background:none;border:0;color:inherit;font:500 12px Manrope,Arial,sans-serif;letter-spacing:1px;padding:12px 8px;min-height:44px;opacity:.6;transition:opacity .2s}.language-switch button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.language-switch button:hover{opacity:1}.language-switch>span{opacity:.4}header nav{margin-left:auto;margin-right:36px}html[lang="en"] h1{font-size:clamp(78px,9.3vw,148px)}html[lang="en"] h1 em{padding-left:0}@media(max-width:800px){.language-switch{margin-right:12px}.book{margin-left:0}header nav{margin-left:0;margin-right:0}html[lang="en"] h1{font-size:clamp(67px,13vw,104px)}html[lang="en"] h1 em{padding-left:0}}@media(max-width:480px){header .book{display:none}.language-switch{margin-left:auto;margin-right:14px}.language-switch button{min-width:38px}html[lang="en"] .hero-bottom{font-size:12px}html[lang="en"] .service strong{font-size:29px}}

#booking-dialog{max-height:90svh;overflow-y:auto}#fresha-services{margin:25px 0}.fresha-service{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #595b3630;padding:18px 0;color:inherit;text-decoration:none;text-align:left}.fresha-service span{font-size:15px;line-height:1.5}.fresha-service small{font-size:11px;flex-shrink:0}.fresha-service:hover{color:#666b3b}@media(max-width:600px){.fresha-service{align-items:flex-start;flex-direction:column;gap:8px}}

/* Original studio artwork, framed without altering the supplied logo. */
.logo-frame{display:block;position:relative;overflow:hidden;background:transparent;flex-shrink:0;width:180px;height:90px;line-height:normal;letter-spacing:normal}.logo-frame img{position:absolute;width:150%;max-width:none;height:auto;left:-25%;top:50%;transform:translateY(-50%)}.footer-brand.logo-frame{width:320px;height:160px}header{padding-top:18px;padding-bottom:18px}@media(max-width:800px){.brand.logo-frame{width:120px;height:60px}header{padding-top:17px;padding-bottom:17px}.footer-brand.logo-frame{width:min(280px,100%);height:140px}}

/* Olive and warm neutral palette inspired by the studio reference. */
.rituals .section-label,.rituals .service b{color:#ebd1a2}.rituals .service small{color:#e3dfcf;opacity:1}.rituals .service>span{color:#e3dfcf;opacity:1}.full-button:hover{background:var(--olive-deep)}.section-label,.eyebrow{color:var(--olive)}.rituals .section-label{color:#ebd1a2}footer>div>span{color:#ebd1a2}footer p{opacity:1;color:#cccdbd}::selection{background:#d8c28f;color:#303426}

.contact-links{margin:30px 0;display:grid;gap:0}.contact-item{display:block;padding:18px 0;border-bottom:1px solid #c7c8b5}.contact-item>span{display:block;font-size:11px;letter-spacing:1px;color:var(--olive);margin-bottom:9px}.contact-item strong{font-size:clamp(14px,1.4vw,20px);font-weight:500;overflow-wrap:anywhere;line-height:1.6}.contact-item b{font-weight:400;margin-left:8px;color:var(--olive)}.contact-item:hover strong{color:var(--olive)}@media(min-width:801px){header nav{gap:24px}}

.contact-map{display:block;width:100%;height:280px;border:1px solid #c7c8b5;margin-top:28px;border-radius:3px;background:#e5e2d4}@media(max-width:800px){.contact-map{height:250px}}

.instagram-marquee{overflow:hidden;width:100%}.instagram-track{display:flex;width:100%;animation:instagram-loop 30s linear infinite}.instagram-track .instagram-grid{flex:0 0 100%;display:flex;gap:20px;padding-right:20px}.instagram-track .instagram-grid a{flex:0 0 calc((100% - 40px)/3);min-width:0;margin-top:0}.instagram-track img{height:360px;display:block}.instagram-marquee:hover .instagram-track,.instagram-marquee:focus-within .instagram-track,.instagram-marquee.is-paused .instagram-track{animation-play-state:paused}.feed-toggle{border:1px solid #a8aa90;background:transparent;padding:10px 18px;margin-top:20px;font:inherit;color:var(--olive)}@keyframes instagram-loop{to{transform:translateX(-100%)}}@media(max-width:650px){.instagram-track{width:240%}.instagram-track img{height:300px}}@media(prefers-reduced-motion:reduce){.instagram-track{animation:none;width:100%}.instagram-marquee{overflow-x:auto}.instagram-track .instagram-grid a{flex-basis:80%}.instagram-track .instagram-grid[aria-hidden]{display:none}.feed-toggle{display:none}}

.instagram-marquee{container-type:inline-size}.instagram-track{width:max-content;animation-duration:80s}.instagram-track .instagram-grid{width:max-content;flex:0 0 auto}.instagram-track .instagram-grid a{width:calc((100cqw - 40px)/3);flex:0 0 auto}.instagram-track img{width:100%}@keyframes instagram-loop{to{transform:translateX(-50%)}}@media(max-width:650px){.instagram-track{width:max-content}.instagram-track .instagram-grid a{width:80cqw}}@media(prefers-reduced-motion:reduce){.instagram-track{width:max-content}.instagram-track .instagram-grid a{flex:0 0 auto}}

.instagram-track span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.feed-status{margin-top:16px;font-size:12px}.feed-toggle[hidden]{display:none}

/* Gift card welcome dialog. */
#gift-dialog{padding:0;border:0;width:min(880px,calc(100vw - 40px));max-width:880px;max-height:calc(100svh - 40px);overflow:auto;background:var(--cream);color:var(--ink);box-shadow:0 24px 100px #1118}
#gift-dialog::backdrop{background:#24291999;backdrop-filter:blur(6px)}
.gift-layout{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.gift-art{background:#e4dccb;min-height:100%;overflow:hidden}.gift-art img{display:block;width:100%;height:100%;object-fit:cover}.gift-copy{padding:62px 40px 38px;display:flex;flex-direction:column;justify-content:center}.gift-eyebrow{font-size:9px;line-height:1.8;letter-spacing:1.8px;color:var(--olive)}#gift-title{font-size:58px;line-height:.98;margin:24px 0;letter-spacing:-1.5px}#gift-title em{color:var(--olive)}#gift-description{font-size:13px;line-height:1.9;color:#626650}.gift-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--olive);color:var(--cream);padding:18px 22px;margin-top:28px;font-size:13px}.gift-cta:hover{background:var(--olive-deep)}.gift-note{font-size:10px;line-height:1.7;color:#74765f;margin-top:12px}.gift-later{align-self:flex-start;border:0;border-bottom:1px solid #babca7;background:none;font-size:11px;padding:8px 0;margin-top:20px}.gift-close{position:absolute;z-index:1;right:12px;top:10px;width:44px;height:44px;border:0;border-radius:50%;font:30px Arial,sans-serif;color:var(--olive-deep);background:#f3eee6ed}.gift-reopen{background:none;border:0;border-bottom:1px solid #c5c9ad;color:inherit;padding:12px 0;font-size:13px}#gift-dialog[open]{animation:gift-arrival .35s ease-out}@keyframes gift-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:650px){#gift-dialog{width:calc(100vw - 28px);max-height:calc(100svh - 28px)}.gift-layout{grid-template-columns:1fr;min-height:0}.gift-art{height:210px;min-height:0}.gift-art img{object-position:center 48%}.gift-copy{padding:26px 28px 24px}#gift-title{font-size:44px;margin:14px 0}#gift-description{font-size:12px;line-height:1.75}.gift-cta{margin-top:18px}.gift-later{margin-top:12px}.gift-eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){#gift-dialog[open]{animation:none}}
