:root{--bg:#0d0d0c;--paper:#efebe3;--muted:#aaa79f;--gold:#cbb69a;--line:#ffffff24;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--paper);font:16px/1.65 var(--sans);overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{border:0;background:none}img{display:block;max-width:100%}.skip{position:fixed;top:-90px;left:20px;z-index:999;background:var(--paper);color:var(--bg);padding:15px}.skip:focus{top:10px}.header{height:112px;position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 4.2%;border-bottom:1px solid var(--line)}.logo{width:190px;aspect-ratio:975/370;position:relative;overflow:hidden;display:block;flex-shrink:0}.logo img{position:absolute;width:123.6923%;max-width:none;height:auto;left:-11.8974%;top:-121.6216%}.header nav{display:flex;gap:27px;font-size:13px}.header nav a{transition:color .2s}.header nav a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:25px}.language{font-size:12px;letter-spacing:.1em;padding:8px}.language span{color:#999}.button{display:inline-flex;justify-content:center;align-items:center;min-height:58px;padding:0 31px;background:var(--gold);color:#14130f;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border:1px solid var(--gold);transition:background .25s,color .25s,transform .25s}.button:hover{background:#e2d3be}.button-small{min-height:43px;padding:0 23px}.menu-toggle{display:none}.hero{position:relative;min-height:840px;height:100svh;max-height:1200px;isolation:isolate;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:72% 43%}.hero-shade{background:linear-gradient(90deg,#0d0d0c66,transparent 80%),linear-gradient(0deg,#0d0d0c 0%,transparent 26%,transparent 72%,#0d0d0c77);z-index:-1}.hero-content{position:relative;padding:180px 7.5% 120px}.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;line-height:1.8}.hero .eyebrow{display:flex;align-items:center;gap:25px;color:var(--gold);margin:0 0 28px}.hero .eyebrow span{border-left:1px solid #a38e7180;padding-left:25px;color:#b7b3a9;font-size:11px;letter-spacing:.12em}h1{font-size:clamp(70px,7.8vw,132px);line-height:.94;letter-spacing:-.045em;font-weight:500;margin:0 0 28px}h1 em{font-family:var(--serif);font-weight:400;color:var(--gold);letter-spacing:-.055em}h2{font-size:clamp(42px,5.8vw,92px);font-weight:400;letter-spacing:-.05em;line-height:1.07;margin:28px 0}h2 em{font-family:var(--serif);color:var(--gold);font-weight:400}.hero-description{font-size:16px;line-height:1.7;color:#c2beb7;margin-bottom:30px}.hero-buttons{display:flex;gap:30px;align-items:center}.text-link{font-size:12px;letter-spacing:.08em;padding:12px 0;border-bottom:1px solid #bba58b}.vertical-label{position:absolute;right:28px;top:38%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.3em;color:#b5afa4}.hero-bottom{position:absolute;bottom:34px;left:7.5%;right:7.5%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px}.hero-ratings{display:flex;gap:35px;font-size:11px;color:#b0aca5}.hero-ratings b{font-size:19px;color:var(--paper);font-weight:400;margin-right:10px}.hero-ratings i{color:var(--gold);font-style:normal;font-size:13px}.scroll-link{font-size:10px;text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:14px}.scroll-line{width:1px;height:30px;background:linear-gradient(transparent,var(--gold))}.image-credit{position:absolute;right:7.5%;bottom:9px;font-size:10px;color:#8b887f}.section{padding:130px 7.5%}.experience{max-width:1600px;margin:auto}.experience>p:last-child{max-width:440px;color:var(--muted)}@media(min-width:1600px){.hero-content{padding-top:200px}}@media(max-width:1100px){.header nav{gap:16px;font-size:12px}.header{padding:0 5%;height:95px}.logo{width:150px}.header-actions{gap:10px}.hero{min-height:790px}.hero-content{padding-top:165px}h1{font-size:10vw}.hero-image img{object-position:63% center}.hero-shade{background:linear-gradient(90deg,#0d0d0c77,transparent),linear-gradient(0deg,#0d0d0c,transparent 50%)}}@media(max-width:800px){.header{height:90px}.header nav{display:none}.logo{width:150px}.menu-toggle{display:flex;flex-direction:column;gap:6px;width:36px;padding:8px}.menu-toggle span{width:22px;height:1px;background:var(--paper)}.header-actions{gap:5px}.header .button-small{display:none}.hero{min-height:810px;height:100svh;max-height:1000px}.hero-content{padding:170px 6% 140px}.hero-image{left:0}.hero-image img{object-position:62% top;opacity:.68}.hero-shade{background:linear-gradient(90deg,#0d0d0c55,transparent),linear-gradient(0deg,#0d0d0c 2%,#0d0d0c33 80%)}h1{font-size:clamp(51px,13vw,92px);line-height:1}.hero .eyebrow{font-size:10px;gap:15px}.hero .eyebrow span{font-size:9px;padding-left:15px}.hero-description{font-size:15px;margin-top:24px}.hero-buttons{gap:22px;flex-wrap:wrap}.button{min-height:54px;padding:0 23px}.hero-bottom{left:6%;right:6%;bottom:35px;padding-top:20px}.hero-ratings{gap:20px;flex-wrap:wrap;font-size:10px}.hero-ratings b{font-size:16px;margin-right:5px}.scroll-link{display:none}.vertical-label{display:none}.image-credit{right:6%;font-size:9px}.section{padding:85px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
:root{--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}.header{position:fixed;transition:background .3s,height .3s}.header.scrolled{height:86px;background:#0d0d0cf2;backdrop-filter:blur(18px)}.header nav{font-size:12px;gap:23px}.mobile-only{display:none}.hero .eyebrow .location-label{border:0;padding:0;color:var(--gold);font-size:12px;letter-spacing:.18em}h1{font-weight:500;font-size:clamp(70px,7.75vw,132px);line-height:.98;letter-spacing:-.055em}h1 em{font-size:1.18em;line-height:.83;display:inline-block;font-weight:500}.hero-content{padding-top:180px}.hero .eyebrow{margin-bottom:33px}.hero-ratings>span{display:flex;align-items:center}.hero-ratings>span>span{font-size:11px}.hero-ratings b{white-space:nowrap}/* A short signature sequence; CSS releases the overlay even if scripting fails. */
.intro{display:none;position:fixed;inset:0;z-index:100;place-items:center;isolation:isolate;overflow:hidden;pointer-events:none}
.intro-enabled .intro{display:grid;pointer-events:auto;animation:intro-release 0s 2.55s forwards}
.intro:before,.intro:after{content:'';position:absolute;left:0;right:0;height:50.2%;background:#070706;z-index:-1}
.intro:before{top:0;animation:curtain-top .95s 1.55s cubic-bezier(.76,0,.24,1) both}
.intro:after{bottom:0;animation:curtain-bottom .95s 1.55s cubic-bezier(.76,0,.24,1) both}
.intro-brand{display:flex;align-items:center;flex-direction:column;animation:brand-depart .55s 1.42s ease-in forwards}
.intro .logo{width:min(560px,83vw);mix-blend-mode:screen;animation:brand-arrive 1.2s .05s cubic-bezier(.16,1,.3,1) both}
.intro .logo:after{content:'';position:absolute;inset:-35%;background:linear-gradient(110deg,transparent 36%,#fff4 49%,transparent 62%);mix-blend-mode:screen;animation:brand-light 1.05s .4s ease-in-out both}
.intro-brand p{font-size:10px;letter-spacing:.38em;color:#b8a58b;line-height:1.5;margin:22px 0 0;text-align:center;animation:signature-arrive .8s .5s ease-out both}
.intro-blade{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,#cbb69a 30%,#fff4df 50%,#cbb69a 70%,transparent);box-shadow:0 0 18px #efd1a044;transform-origin:left;animation:blade-pass 1.05s 1.15s cubic-bezier(.65,0,.25,1) both}
.intro-finished .intro{display:none}
.intro-enabled .hero-image img{animation:hero-lens 1.7s 1.6s cubic-bezier(.16,1,.3,1) backwards}
.intro-enabled .hero .eyebrow,.intro-enabled .hero h1,.intro-enabled .hero-description,.intro-enabled .hero-buttons,.intro-enabled .hero-bottom{animation:hero-arrive .9s cubic-bezier(.16,1,.3,1) backwards}
.intro-enabled .hero .eyebrow{animation-delay:1.75s}.intro-enabled .hero h1{animation-delay:1.9s}.intro-enabled .hero-description{animation-delay:2.07s}.intro-enabled .hero-buttons{animation-delay:2.2s}.intro-enabled .hero-bottom{animation-delay:2.3s}
.intro-enabled .header{animation:header-arrive .8s 1.85s ease-out backwards}
@keyframes brand-arrive{from{opacity:0;filter:blur(7px);transform:translateY(18px) scale(.94);clip-path:inset(0 100% 0 0)}to{opacity:1;filter:none;transform:none;clip-path:inset(0)}}
@keyframes brand-light{from{transform:translateX(-100%);opacity:0}25%{opacity:.8}to{transform:translateX(100%);opacity:0}}
@keyframes signature-arrive{from{opacity:0;transform:translateY(10px);letter-spacing:.55em}to{opacity:1;transform:none;letter-spacing:.38em}}
@keyframes brand-depart{to{opacity:0;transform:translateY(-10px) scale(1.025);filter:blur(2px)}}
@keyframes blade-pass{0%{transform:scaleX(0);opacity:0}25%{opacity:1}65%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@keyframes curtain-top{to{transform:translateY(-101%)}}@keyframes curtain-bottom{to{transform:translateY(101%)}}
@keyframes intro-release{to{visibility:hidden;pointer-events:none}}
@keyframes hero-arrive{from{opacity:0;transform:translateY(25px);filter:blur(4px);clip-path:inset(0 0 100%)}to{opacity:1;transform:none;filter:none;clip-path:inset(0)}}
@keyframes hero-lens{from{transform:scale(1.075);filter:brightness(.55)}to{transform:none;filter:none}}
@keyframes header-arrive{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(max-width:600px){.intro-brand p{font-size:8px;letter-spacing:.24em;margin-top:15px}.intro .logo{width:86vw}}
@media(prefers-reduced-motion:reduce){.intro-enabled .intro{display:none}.intro-enabled .hero-image img,.intro-enabled .hero .eyebrow,.intro-enabled .hero h1,.intro-enabled .hero-description,.intro-enabled .hero-buttons,.intro-enabled .hero-bottom,.intro-enabled .header{animation:none!important}}
.experience-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.experience-copy{position:sticky;top:145px}.experience-copy>p:not(.eyebrow){max-width:430px;color:var(--muted);line-height:1.9;margin:25px 0}.experience-copy .text-link{display:inline-block;margin-top:12px}.experience-visual{position:relative;margin:70px 0 0;min-width:0}.experience-visual img{width:100%;height:660px;object-fit:cover;object-position:45%;filter:saturate(.7) brightness(.77)}figcaption{display:flex;justify-content:space-between;gap:18px;font-size:11px;letter-spacing:.08em;padding:20px 0;color:var(--muted)}.photo-index{position:absolute;top:25px;right:24px;font-size:11px;color:white;letter-spacing:.2em}.cut-transition{position:relative;height:110px;overflow:hidden}.cut-transition>span{position:absolute;width:66%;height:1px;left:17%;top:50%;background:linear-gradient(90deg,transparent,#cbb69a,transparent);transform:rotate(calc(var(--cut,1)*9deg));transition:transform .12s}.cut-transition>span:nth-child(2){transform:rotate(calc(var(--cut,1)*-9deg))}.cut-transition i{position:absolute;left:calc(38% + var(--n)*5%);width:1px;height:8px;background:#bba28466;top:50%;transform:translateY(calc(var(--fall,0)*80px)) rotate(26deg);opacity:var(--fall,0)}.cut-transition i:nth-of-type(1){--n:1}.cut-transition i:nth-of-type(2){--n:2;height:5px}.cut-transition i:nth-of-type(3){--n:3;height:12px}.cut-transition i:nth-of-type(4){--n:4}.cut-transition i:nth-of-type(5){--n:5;height:4px}.transformation{height:145vh;min-height:1050px;padding:0 7.5%;background:#111110}.transformation-sticky{position:sticky;top:90px;max-width:1600px;margin:auto;padding:45px 0 40px}.transformation-top{display:flex;justify-content:space-between;color:var(--muted)}.transformation h2{font-size:clamp(42px,5.2vw,80px);position:relative;z-index:3;margin:15px 0 35px}.precision-frame{height:350px;position:relative;isolation:isolate;overflow:hidden;--reveal:45%}.precision-frame>img,.precision-reveal,.precision-reveal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}.precision-base{filter:grayscale(1) brightness(.45)}.precision-reveal{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.precision-reveal img{filter:brightness(.8)}.precision-blade{position:absolute;left:var(--reveal);top:0;bottom:0;width:2px;background:linear-gradient(#f2ede4,#b29671,#fff);box-shadow:0 0 18px #f3e1c444;z-index:3}.precision-blade:before{content:'';position:absolute;top:0;left:-5px;width:10px;height:45px;background:repeating-linear-gradient(0deg,#c5c3bd 0 2px,transparent 2px 4px)}.precision-blade span{position:absolute;top:52px;left:12px;font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl}.precision-word{position:absolute;left:5%;bottom:12%;font-size:clamp(52px,9vw,130px);font-weight:500;letter-spacing:-.04em;color:#ffffffc4;mix-blend-mode:soft-light}.precision-caption{position:absolute;left:25px;right:25px;bottom:16px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.06em;color:#ddd5ca}.precision-controls{display:flex;align-items:center;gap:22px;margin:20px auto 0;max-width:500px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.precision-controls input{width:100%;accent-color:var(--gold);height:26px;cursor:ew-resize}.precision-hint{text-align:center;color:#98948c;font-size:11px;margin:5px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px;gap:40px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:310px;color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:8px}.service{position:relative;display:grid;grid-template-columns:45px 1fr 65px 115px 64px;gap:25px;align-items:center;padding:34px 25px 34px 0;border-top:1px solid var(--line);transition:background .3s,padding .3s}.service:last-child{border-bottom:1px solid var(--line)}.service:hover{background:#cbb69a0c;padding-left:20px}.service:after{content:'';position:absolute;bottom:-1px;left:0;height:1px;width:0;background:var(--gold);transition:width .5s}.service:hover:after{width:100%}.service-num{font-size:11px;color:#8d8476}.service-name h3{margin:0;font-size:23px;font-weight:400;letter-spacing:-.025em;line-height:1.4}.service-name p{font-size:13px;color:var(--muted);margin:10px 0 0;max-width:550px}.service-time{font-size:12px;color:var(--muted)}.price{font-family:var(--serif);font-size:46px;line-height:1.1;white-space:nowrap;transition:color .3s}.price small{font-size:30px}.service:hover .price{color:var(--gold)}.service-book{font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid #5f584e;padding-bottom:5px;justify-self:end}.service-tag{color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.18em;display:block;margin-bottom:12px}.service-featured{background:linear-gradient(90deg,transparent,#cbb69a08,transparent)}.service-note,.source-note{font-size:11px;color:#89877f;margin-top:24px}.ritual{position:relative;isolation:isolate;text-align:center;padding:150px 6%;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#312a2260 0,transparent 60%),#111110}.ritual h2{font-size:clamp(90px,14vw,220px);line-height:1.1;margin:10px 0 25px}.ritual>p:not(.eyebrow){color:var(--muted);margin:30px auto;max-width:400px;line-height:1.9}.ritual-details{display:flex;align-items:center;justify-content:center;gap:22px;font-size:12px;letter-spacing:.07em}.ritual-details i{width:3px;height:3px;border-radius:50%;background:var(--gold)}.ritual-orbit{position:absolute;width:70%;height:85%;left:15%;top:20%;border:1px solid #cbb69a15;border-radius:50%;filter:blur(.3px);transform:rotate(-15deg);z-index:-1}.ritual-orbit:before{content:'';position:absolute;inset:-20%;background:radial-gradient(ellipse,#cbb69a13,transparent 65%);filter:blur(40px);animation:steam 12s ease-in-out infinite alternate}@keyframes steam{to{transform:translate(5%,-12%) scale(1.12);opacity:.4}}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:1000px;margin:auto}.team-card:nth-child(2){padding-top:95px}.team-photo{position:relative;overflow:hidden;aspect-ratio:1.04}.team-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .7s,transform 1s}.team-photo:hover img{filter:grayscale(.25);transform:scale(1.035)}.team-photo>span{position:absolute;top:16px;right:20px;color:#fff;font-size:11px}.team-info{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.team-info h3{font-size:25px;font-weight:400;letter-spacing:-.03em;margin:0}.team-info p{font-size:12px;color:var(--muted)}.team-card>.text-link{font-size:11px;display:inline-block;margin-top:10px}.gallery{background:#131312}.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:start}.gallery-item{position:relative;text-align:left;padding:0;overflow:hidden;width:100%;background:#1d1c19}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.5) brightness(.8);transition:transform .9s,filter .6s}.gallery-item:hover img{transform:scale(1.035);filter:saturate(.9) brightness(.95)}.gallery-wide{height:370px}.gallery-tall{height:570px;margin-top:100px}.gallery-bottom{height:400px;margin-top:-200px}.gallery-item>span{position:absolute;bottom:0;left:0;right:0;padding:35px 25px 20px;display:flex;gap:25px;align-items:center;background:linear-gradient(transparent,#000a);font-size:11px}.gallery-item i{font-style:normal;letter-spacing:.06em}.gallery-item b{margin-left:auto;font-size:25px;font-weight:400}.gallery-word{font-size:clamp(44px,6vw,84px);line-height:1.03;letter-spacing:-.04em;padding:8px 0 10px 10%}.gallery-word em{font-family:var(--serif);color:var(--gold);font-size:.82em}.reviews{text-align:center}.ratings-grid{max-width:850px;display:grid;grid-template-columns:1fr 1fr;margin:60px auto 0}.rating-card{padding:20px 35px;display:flex;align-items:center;flex-direction:column}.rating-card:first-child{border-right:1px solid var(--line)}.rating-card>span:first-child{font-size:12px;letter-spacing:.2em}.rating-card strong{font-family:var(--serif);font-size:100px;font-weight:400;line-height:1.3}.rating-card strong small{font-family:var(--sans);font-size:13px;color:var(--muted);margin-left:10px}.stars{color:var(--gold);letter-spacing:8px;font-size:15px}.rating-card p{font-size:12px;color:var(--muted)}.rating-card .text-link{margin-top:10px;font-size:11px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#171715}.contact h2{font-size:clamp(40px,5vw,78px)}address{font-style:normal;color:var(--muted);line-height:1.8;margin-top:35px}.contact-phone{display:inline-block;font-size:23px;margin:25px 0 15px;font-family:var(--serif)}.contact-hours{font-size:12px;color:var(--muted);white-space:pre-line}.contact-buttons{display:flex;align-items:center;gap:24px;margin-top:35px}.contact-buttons .button{font-size:10px;padding:0 22px}.map-panel{min-height:510px;background:#20201c;border:1px solid var(--line);position:relative;isolation:isolate}.map-placeholder{height:100%;min-height:510px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px;position:relative;overflow:hidden;background:repeating-linear-gradient(35deg,transparent 0 100px,#cbb69a0a 101px 102px,transparent 103px 145px),repeating-linear-gradient(-48deg,transparent 0 145px,#cbb69a0a 146px 148px,transparent 150px 240px)}.map-coordinates{font-size:10px;letter-spacing:.25em;color:var(--muted)}.map-city{font-family:var(--serif);font-size:60px;letter-spacing:.08em;margin:28px 0 0}.map-placeholder>p:not(.map-city){font-size:13px;color:#c3b8a5}.map-pin{width:10px;height:10px;border:1px solid var(--gold);border-radius:50%;box-shadow:0 0 0 8px #cbb69a12;margin:15px}.map-placeholder small{font-size:10px;color:#9c998e;max-width:280px;line-height:1.6;margin-top:20px}.button-outline{background:transparent;color:var(--gold);font-size:10px;min-height:46px;margin-top:15px}.button-outline:hover{color:var(--bg)}.map-panel iframe{border:0;width:100%;height:100%;min-height:510px;position:absolute;inset:0}.map-revoke{position:absolute;bottom:10px;left:10px;z-index:2;background:#0d0d0c;color:white;padding:9px 15px;font-size:11px}.final-cta{min-height:620px;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding:90px 6%;isolation:isolate}.final-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 30%;opacity:.2;filter:grayscale(.5);z-index:-2;animation:closing 20s linear infinite alternate}.final-cta:after{content:'';position:absolute;inset:0;background:linear-gradient(#0d0d0c 0%,transparent 35%,#0d0d0c 100%);z-index:-1}.final-cta h2{font-size:clamp(45px,6vw,92px)}.final-cta>div>p:not(.eyebrow){font-size:15px;color:var(--muted);margin:25px 0 35px}@keyframes closing{to{transform:scale(1.08)}}.footer{padding:60px 7.5% 30px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding-bottom:35px}.footer-top>.logo{width:240px}.footer-top>p{font-size:11px;letter-spacing:.2em;color:#a79781}.footer-top>a:last-child{font-size:13px}.footer-main{display:flex;justify-content:space-between;padding:30px 0 50px;gap:40px}.footer-main>p{font-size:12px;line-height:1.9;color:var(--muted)}.footer-main nav{display:flex;gap:25px;font-size:12px;padding-top:15px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:25px;font-size:10px;color:#98938a}.footer-bottom>div{display:flex;gap:20px}.footer-bottom button{padding:0;font-size:10px}.cookie-banner{position:fixed;z-index:50;left:24px;bottom:24px;width:400px;max-width:calc(100% - 48px);background:#1c1b18f5;backdrop-filter:blur(20px);padding:24px;border:1px solid #cbb69a40;box-shadow:0 10px 60px #0008}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:0}.cookie-banner strong{display:block;font-size:14px;font-weight:500;margin-bottom:10px}.cookie-banner p>span{font-size:12px;line-height:1.6;display:block;color:#b3aea3}.cookie-banner>div{display:flex;gap:20px;margin-top:18px}.cookie-banner button{font-size:11px;padding:5px 0;border-bottom:1px solid #867660}.cookie-banner .cookie-accept{color:var(--gold)}dialog{background:#191917;color:var(--paper);border:1px solid #cbb69a50;max-width:calc(100% - 40px);padding:45px;box-shadow:0 0 90px #0009}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}.preferences-dialog{width:620px}.preferences-dialog h2{font-size:42px;line-height:1.1;letter-spacing:-.03em}.preferences-dialog>p:not(.eyebrow){font-size:14px;color:var(--muted)}.close-dialog{position:absolute;right:13px;top:8px;font-size:30px;line-height:1;padding:10px;z-index:3}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0;border-top:1px solid var(--line)}.preference-row strong{font-size:14px;font-weight:500}.preference-row p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:0}.preference-row>span{font-size:10px;white-space:nowrap;color:var(--gold)}.preference-row input{width:22px;height:22px;flex-shrink:0;accent-color:var(--gold)}.preferences-dialog>.button{display:flex;width:100%;margin-top:30px}.preferences-dialog>.text-link{font-size:12px}.lightbox{width:1100px;padding:20px;max-height:95svh}.lightbox img{width:100%;max-height:76svh;object-fit:contain}.lightbox p{font-size:13px;margin:14px 0 0}.lightbox .close-dialog{background:#0d0d0ca8;right:25px;top:25px}.custom-cursor{display:none;position:fixed;z-index:60;width:60px;height:60px;border:1px solid #d0b89899;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);font-size:8px;text-transform:uppercase;letter-spacing:.05em;align-items:center;justify-content:center;background:#0002;color:#e7d5bd;opacity:0;transition:opacity .15s}.custom-cursor.active{opacity:1}@media(pointer:fine){.custom-cursor{display:flex}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(32px);filter:blur(3px);clip-path:inset(0 0 5%);transition:opacity .85s,transform .85s cubic-bezier(.2,.7,.2,1),filter .85s,clip-path 1s}.js-motion .reveal.visible{opacity:1;transform:none;filter:none;clip-path:inset(0)}
@media(min-width:1600px){.hero-content{padding-top:205px}.experience,.services,.team,.gallery,.reviews{padding-left:max(7.5%,calc((100% - 1550px)/2));padding-right:max(7.5%,calc((100% - 1550px)/2))}.hero{min-height:940px}.experience-visual img{height:740px}}
@media(max-width:1200px){.header nav{gap:14px;font-size:11px}.header-actions{gap:10px}.service{grid-template-columns:30px 1fr 55px 95px 55px;gap:16px}.service-name h3{font-size:21px}.footer-main nav{gap:15px}.experience-visual img{height:580px}}
@media(max-width:1000px){.header nav{display:none}.header .menu-toggle{display:flex;flex-direction:column;gap:6px;width:36px;padding:8px}.menu-toggle span{width:22px;height:1px;background:var(--paper);transition:transform .25s}.header nav.open{position:fixed;inset:86px 0 auto;background:#111110fa;display:flex;flex-direction:column;padding:30px 7.5% 40px;gap:15px;font-size:20px;max-height:calc(100svh - 86px);overflow:auto;border-bottom:1px solid var(--line)}.mobile-only{display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.experience-layout{gap:6%}.experience-copy h2{font-size:50px}.experience-copy>p:not(.eyebrow){font-size:15px}.experience-visual img{height:560px}.contact{gap:6%;padding-left:6%;padding-right:6%}.contact-buttons{flex-wrap:wrap}.footer-main{align-items:start}.footer-main nav{flex-wrap:wrap;max-width:350px}.footer-top>p{display:none}.gallery-tall{height:470px}.gallery-bottom{margin-top:-100px}.service-name h3{font-size:20px}.service-name p{font-size:12px}.service{gap:12px}}
@media(max-width:800px){.hero-content{padding-top:175px}.hero .eyebrow .location-label{font-size:10px}h1{font-size:clamp(47px,12.8vw,90px)}.hero{min-height:820px}.hero .eyebrow{margin-bottom:30px}.hero-description{font-size:15px}.experience-layout{grid-template-columns:1fr}.experience-copy{position:relative;top:auto}.experience-copy h2{font-size:clamp(45px,9vw,72px)}.experience-copy>p:not(.eyebrow){max-width:580px}.experience-visual{margin-top:50px}.experience-visual img{height:450px}.cut-transition{height:80px}.transformation{height:auto;min-height:0;padding:0 6%}.transformation-sticky{position:relative;top:auto;padding:50px 0}.transformation h2{font-size:clamp(37px,8vw,64px);margin-top:20px}.transformation-top .eyebrow{font-size:9px}.precision-frame{height:360px}.precision-frame>img,.precision-reveal img{object-position:65% center}.precision-caption{font-size:8px;left:15px;right:15px;gap:15px}.precision-caption span:last-child{max-width:100px;text-align:right}.precision-word{font-size:14vw}.section-heading{display:block;margin-bottom:40px}.section-heading>p{margin-top:30px;max-width:440px}.service{grid-template-columns:25px 1fr 80px;gap:10px;padding:25px 0}.service-name h3{font-size:19px}.service-name p{display:none}.service-time{grid-column:2;font-size:11px}.price{grid-column:3;grid-row:1;font-size:39px;text-align:right}.price small{font-size:25px}.service-book{grid-column:3;grid-row:2;font-size:9px}.service-tag{font-size:8px;letter-spacing:.1em}.service:hover{padding-left:7px}.ritual{padding:100px 6%}.ritual h2{font-size:24vw}.ritual .eyebrow{font-size:9px}.ritual-details{gap:14px;font-size:10px}.ritual>p:not(.eyebrow){font-size:14px}.team-grid{gap:30px}.team-card:nth-child(2){padding-top:60px}.team-info{display:block}.team-info h3{font-size:23px}.team-info p{margin-top:5px;font-size:11px}.team-card>.text-link{font-size:10px;letter-spacing:0}.gallery-grid{gap:20px}.gallery-wide{height:280px}.gallery-tall{height:400px;margin-top:80px}.gallery-bottom{height:300px;margin-top:-120px}.gallery-item>span{padding:25px 13px 10px;font-size:9px;gap:12px}.gallery-word{font-size:7vw;padding-left:2%}.gallery-item b{font-size:20px}.ratings-grid{margin-top:40px}.rating-card{padding:15px}.rating-card strong{font-size:80px}.rating-card p{font-size:11px;min-height:36px}.rating-card .text-link{font-size:10px;letter-spacing:0}.rating-card>span:first-child{font-size:10px}.source-note{font-size:10px}.contact{grid-template-columns:1fr;gap:45px}.contact h2{font-size:clamp(45px,9vw,72px)}.map-panel,.map-placeholder,.map-panel iframe{min-height:430px}.final-cta{min-height:550px}.final-cta h2{font-size:clamp(38px,8vw,62px)}.final-cta>img{object-position:64% center}.footer{padding:40px 6% 25px}.footer-top>.logo{width:200px}.footer-top>a:last-child{font-size:12px}.footer-main{flex-direction:column;gap:20px;padding-bottom:35px}.footer-main nav{max-width:100%;gap:20px}.footer-bottom{align-items:start;flex-wrap:wrap;font-size:9px;gap:20px}.footer-bottom>div{flex-wrap:wrap;gap:15px}.footer-bottom>span:last-child{width:100%}.cookie-banner{left:15px;bottom:15px;max-width:calc(100% - 30px);padding:20px}.custom-cursor{display:none}dialog{padding:35px 25px}.preferences-dialog h2{font-size:34px}.preference-row{gap:15px}.lightbox{padding:10px}.lightbox .close-dialog{right:15px;top:15px}}
@media(max-width:430px){.hero-content{padding-top:156px}.hero{min-height:780px}.hero .eyebrow{gap:10px;flex-wrap:wrap}.hero .eyebrow span{padding-left:10px;font-size:8px;letter-spacing:.08em}.hero .eyebrow .location-label{font-size:9px}.hero-description{font-size:14px}.hero-buttons{gap:20px}.hero-buttons .button{font-size:10px;padding:0 20px}.hero-buttons .text-link{font-size:10px;letter-spacing:0}.hero-ratings{gap:17px}.hero-ratings>span>span{font-size:9px}.hero-ratings b{font-size:15px}.hero-bottom{bottom:35px}.experience-visual img{height:380px}.team-grid{gap:25px;grid-template-columns:1fr}.team-card{max-width:340px}.team-card:nth-child(2){padding-top:20px;margin-left:30px}.team-info{display:flex}.team-info p{margin:0}.gallery-grid{grid-template-columns:1fr}.gallery-wide{height:280px}.gallery-tall{height:340px;margin:0 0 0 25px;width:calc(100% - 25px)}.gallery-bottom{height:280px;margin:0;width:calc(100% - 25px)}.gallery-word{display:none}.rating-card strong{font-size:65px}.rating-card strong small{font-size:10px;margin-left:4px}.stars{font-size:11px;letter-spacing:5px}.footer-top{flex-direction:column;align-items:start;gap:10px}.preference-row>span{white-space:normal;max-width:60px}.precision-frame{height:300px}.precision-controls{gap:12px;font-size:10px}.eyebrow{font-size:10px}.service-name h3{font-size:17px}.service{grid-template-columns:20px 1fr 68px}.price{font-size:36px}}
@media(prefers-reduced-motion:reduce){.intro{display:none}.js-motion .reveal{opacity:1;transform:none;filter:none;clip-path:none}.transformation{height:auto;min-height:0}.transformation-sticky{position:relative;top:auto}.custom-cursor{display:none}.hero-image{transform:none!important}.precision-blade{box-shadow:none}}
.legal-content{padding:190px 7.5% 80px;max-width:1100px;margin:auto}.legal-content h1{font-size:clamp(38px,6vw,76px);line-height:1.1;margin:30px 0 60px}.legal-content h2{font-size:30px;line-height:1.3;margin-top:45px;letter-spacing:-.03em}.legal-content p{font-size:16px;line-height:1.9;color:#bbb7af}.legal-content p.eyebrow{font-size:12px}.legal-content p a{color:var(--gold);text-decoration:underline;text-underline-offset:4px}.legal-table{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:18px 12px;border-bottom:1px solid var(--line)}th{font-weight:500;color:var(--gold)}td{color:var(--muted)}.legal-page .header{background:#0d0d0cf5}.legal-page .header .text-link{font-size:12px}.service-name p{font-size:14px}.section-heading>p,.experience-copy>p:not(.eyebrow),.hero-description{font-size:16px}.hero-ratings>span>span{font-size:12px}.logo img{mix-blend-mode:screen}.logo{isolation:isolate}.section-heading>p{white-space:pre-line}.preferences-dialog [data-en]{white-space:normal}@media(max-width:800px){.hero-ratings>span>span{font-size:10px}.legal-content{padding-top:145px}.legal-content h2{font-size:26px}.hero-description{font-size:16px}.legal-page .logo{width:130px}.legal-page .header-actions{gap:4px}.legal-page .header .text-link{font-size:10px}.legal-content p.eyebrow{font-size:10px}}
