:root{--ink:#191919;--paper:#fff;--muted:#757575;--line:#dededb;--mint:#f1f1ef}body{background:#fff;color:var(--ink)}.header{height:100px;background:#fff;padding:0 4.5%;border-bottom:1px solid #ececea}.header.scrolled{height:80px;background:#fffffff5;box-shadow:none}.brand{width:240px;height:68px;display:block;position:relative;overflow:hidden;flex-shrink:0}.brand img{position:absolute;left:0;top:50%;width:240px;height:240px;transform:translateY(-50%);max-width:none;object-fit:contain}.desktop-nav{font-size:12px;gap:32px}.button{border-radius:0;min-height:48px;background:#1b1b1b;color:#fff;padding:14px 21px;font-size:12px;gap:28px}.button:hover{background:#3b3b3b;transform:translateY(-2px)}.header-book{min-height:43px;font-size:11px;padding:12px 18px}.hero{height:auto;min-height:0;padding:100px 24px 0;position:relative}.hero-top{height:44px;align-items:center;font-size:8px;letter-spacing:1.6px;padding:0 2%}.hero-top>span:last-child{display:flex;align-items:center;gap:14px;font-size:8px;letter-spacing:1.3px}.hero-top i{display:block;width:3px;height:3px;border-radius:50%;background:#999}.tour{--look-x:0;--look-y:0;height:calc(100svh - 205px);min-height:540px;max-height:1000px;position:relative;overflow:hidden;background:#e9e8e4;isolation:isolate;outline-offset:3px;perspective:1400px}.tour-viewport{position:absolute;inset:0;overflow:hidden;perspective:1400px;background:#e9e8e4}.tour-slide{position:absolute;inset:-4%;opacity:0;transform:scale(1.18) translateX(calc(var(--transition-direction,1)*2%));transition:opacity 1.3s cubic-bezier(.3,0,.2,1),transform 1.6s cubic-bezier(.15,.65,.25,1),filter 1.3s;filter:blur(6px);will-change:transform,opacity;pointer-events:none}.tour-slide.active{opacity:1;transform:scale(1.035);filter:blur(0);z-index:2}.tour-slide.departing{z-index:3;opacity:0;transform:scale(1.34) translate(var(--exit-x,0),var(--exit-y,0));filter:blur(5px)}.tour-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 51%;display:block;transform:translate3d(calc(var(--look-x)*-16px),calc(var(--look-y)*-12px),30px) rotateY(calc(var(--look-x)*-1.2deg)) rotateX(calc(var(--look-y)*.8deg)) scale(1.02);transition:transform 1.3s cubic-bezier(.2,.65,.25,1);animation:roomDrift 16s ease-in-out infinite alternate;animation-composition:add}.tour-slide[data-room="1"] img{object-position:50% 50%}.portrait-slide img{object-position:50% 48%}.tour.paused .tour-slide img{animation-play-state:paused}.tour-vignette{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.17),transparent 32%)}.tour-tag{position:absolute;top:28px;left:30px;background:#ffffffde;backdrop-filter:blur(15px);padding:12px 15px;font-size:8px;letter-spacing:1.3px;display:flex;align-items:center;gap:9px;z-index:6}.live-dot{width:5px;height:5px;border-radius:50%;background:#222;box-shadow:0 0 0 4px #2222220a}.hero-copy{position:absolute;left:4%;bottom:106px;background:rgba(255,255,255,.94);padding:35px 37px 32px;max-width:490px;margin:0;z-index:7;backdrop-filter:blur(18px);transition:opacity .5s,transform .6s}.hero-copy .eyebrow{font-size:8px;margin:0 0 18px;background:none;padding:0;width:auto;color:#666;border:0;letter-spacing:1.6px}.hero-copy h1{font-size:clamp(42px,4.2vw,67px);line-height:1.04;letter-spacing:-3px}.hero-copy h1 em{letter-spacing:-2.5px}.hero-copy>p:not(.eyebrow){color:#686868;font-size:12px;background:none;border:0;backdrop-filter:none;padding:0;margin-top:19px;line-height:1.7;max-width:none}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:25px}.tour-start{display:inline-flex;align-items:center;gap:14px;font-size:11px;background:transparent;padding:8px 0;border-bottom:1px solid #aaa;white-space:nowrap}.tour-start span{font-size:20px}.tour-hotspot{--hot-x:67%;--hot-y:47%;position:absolute;left:var(--hot-x);top:var(--hot-y);z-index:8;display:flex;align-items:center;gap:10px;padding:0;background:transparent;transform:translate(-50%,-50%);transition:left .9s,top .9s,opacity .3s}.hotspot-circle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid #ffffffa6;border-radius:50%;background:#ffffffd9;backdrop-filter:blur(8px);font-size:24px;box-shadow:0 0 0 9px #ffffff25;transition:box-shadow .3s,transform .3s}.hotspot-label{font-size:10px;padding:10px 13px;background:#ffffffeb;border:1px solid #fff;backdrop-filter:blur(8px)}.tour-hotspot:hover .hotspot-circle{box-shadow:0 0 0 15px #ffffff35;transform:scale(1.08)}.transitioning .tour-hotspot{opacity:0;pointer-events:none}.tour-hint{position:absolute;right:30px;bottom:104px;z-index:6;font-size:7px;color:#fff;letter-spacing:1.2px;text-shadow:0 1px 8px #0008}.tour-toolbar{position:absolute;bottom:24px;left:30px;right:30px;min-height:60px;background:#fffffff0;backdrop-filter:blur(18px);z-index:9;display:flex;align-items:center;justify-content:space-between;padding:12px 19px;gap:25px}.room-info{display:flex;align-items:center;gap:19px;min-width:270px}.room-info>span{font-size:8px;letter-spacing:1px;color:#888}.room-info strong{font-size:12px;font-weight:450}.room-tabs{display:flex;align-items:center;gap:3px}.room-tabs button{width:34px;height:30px;background:transparent;display:flex;align-items:center;justify-content:center;padding:5px}.room-tabs button>span{display:block;width:22px;height:2px;background:#ccc;transition:background .3s}.room-tabs button[aria-current] span{background:#222}.tour-buttons{display:flex;align-items:center;gap:4px}.tour-buttons button{width:34px;height:34px;background:transparent;border:1px solid #dededb;font-size:16px}.tour-buttons button:hover{background:#eee}.tour-buttons #tour-motion{font-size:12px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;padding:24px 2% 30px;font-size:8px;letter-spacing:1.2px;gap:20px;border-bottom:1px solid #e5e5e2}.hero-bottom>a{display:flex;gap:45px;align-items:center}.hero-bottom>a>span{font-size:18px}.hero-bottom>span:nth-child(2){font-size:10px;letter-spacing:.2px;color:#777}.hero-bottom>span:last-child{font-size:7px;color:#888}.tour.immersive .hero-copy{opacity:0;transform:translateY(20px);pointer-events:none}.tour.immersive .hero-actions{position:fixed}.tour.immersive .tour-start{position:fixed;right:30px;top:28px;background:#fff;z-index:20;padding:13px 18px;border:0;pointer-events:auto;opacity:1;transform:none}.tour.immersive .hero-copy{display:contents}.tour.immersive .hero-copy>*:not(.hero-actions){display:none}.tour.immersive .hero-actions>a{display:none}.tour.immersive .hero-actions{inset:0;pointer-events:none;opacity:1}.tour.immersive .tour-hint{font-size:8px}.tour.immersive .tour-hotspot{left:var(--hot-x);top:var(--hot-y)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.intro{background:#fff;padding:100px 7%;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.intro-panel{padding:0;border:0;background:transparent;backdrop-filter:none;max-width:none}.intro-panel h2{font-size:clamp(36px,3.7vw,58px)}.intro-panel>p:not(.eyebrow):not(.intro-text){color:#777;font-size:13px}.intro-text{font-size:16px;line-height:1.8;color:#555}.intro-tags span{border-color:#ddd;border-radius:0;color:#555}.intro-photo{margin:0;height:550px;position:relative}.intro-photo img{width:100%;height:100%;object-fit:cover}.intro-photo figcaption{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.3px;padding-top:15px;color:#777}.intro-photo figcaption span{font-size:6px}.services{background:#f7f7f5;padding-top:100px}.section-heading>div>p,.service-short,.service-index,.service-detail p,.services-bottom p{color:#777}.service-detail a{color:#222}.button-outline{background:transparent;border:1px solid #333;color:#222}.button-outline:hover{background:#e9e9e6}.care{padding-top:30px;background:#fff}.care-photo{height:540px}.care-photo img{object-position:60% 50%;filter:none}.care-photo:after{background:linear-gradient(transparent 65%,#0006)}.care-copy>p:not(.eyebrow),.care-points p,.care-points>div>span{color:#777}.care-points strong{color:#222}.first-visit{background:#f4f4f1;color:#222;padding-top:90px;padding-bottom:90px;border-top:1px solid #ecece8}.first-visit:after{display:none}.steps article{border-color:#cfcfcb}.steps article>span{color:#777}.steps p{color:#777}.first-visit .button-cream{background:#222;color:#fff}.first-visit .button-cream:hover{background:#444}.contact{background:#fff}.contact-grid .small-note{color:#777}.phone-link{border-color:#ccc}.footer{background:#fafaf8;border-top:1px solid #ddd;padding:40px 7% 25px}.footer-wordmark{position:relative;display:block;overflow:hidden;width:380px;height:90px;margin:15px auto}.footer-wordmark img{position:absolute;width:380px;height:380px;top:50%;left:0;transform:translateY(-50%);object-fit:contain;max-width:none}.footer>div{border-color:#ddd;color:#777;margin-top:40px}.progress-track span{background:#333}.mobile-menu{box-shadow:0 20px 30px #00000010}.menu-toggle span{background:#222}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#777}.tour.paused .tour-slide.active{transform:scale(1.035)}@keyframes roomDrift{from{scale:1}to{scale:1.065}}
@media(min-width:1600px){.tour{height:calc(100svh - 215px)}.hero-copy{max-width:570px;padding:45px 48px;bottom:120px}.hero-copy h1{font-size:77px}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-actions{margin-top:28px}}
@media(max-width:1000px){.brand{width:205px}.brand img{width:205px;height:205px}.desktop-nav{gap:17px;font-size:10px}.header-book{font-size:10px}.tour{min-height:570px}.hero-copy{left:30px;max-width:410px;padding:30px}.hero-copy h1{font-size:54px}.tour-toolbar{left:20px;right:20px;gap:10px}.room-info{min-width:220px}.intro{gap:6%;padding:80px 6%}.intro-photo{height:500px}.tour-hotspot{left:75%}.hotspot-label{display:none}.tour-hint{display:none}.hero-bottom>span:nth-child(2){display:none}}
@media(max-width:700px){.header{height:84px;padding:0 5%}.header.scrolled{height:74px}.brand{width:164px;height:60px}.brand img{width:164px;height:164px}.header-book{margin-right:14px;font-size:9px;gap:12px;padding:10px 12px;min-height:36px}.header-book span{font-size:16px}.menu-toggle{width:23px;flex-shrink:0}.menu-toggle span{width:22px}.mobile-menu{inset:74px 0 auto;background:#fff}.hero{padding:84px 12px 0;height:auto;min-height:0}.hero-top{height:42px;padding:0 8px;font-size:6px;letter-spacing:1px}.hero-top>span:last-child{font-size:6px;letter-spacing:.5px;gap:6px}.tour{height:740px;min-height:0;max-height:none;perspective:1000px}.tour-slide{inset:-2%}.tour-slide img{object-position:54% 44%;animation-duration:18s}.tour-slide[data-room="1"] img{object-position:37% 48%}.tour-slide[data-room="2"] img{object-position:60% 48%}.tour-slide[data-room="3"] img{object-position:54% 50%}.portrait-slide img{object-position:50% 48%}.tour-tag{top:18px;left:18px;font-size:6px;letter-spacing:1px;padding:10px}.hero-copy{left:16px;right:16px;bottom:100px;max-width:none;padding:25px 24px 24px;background:#ffffffed}.hero-copy .eyebrow{font-size:7px;margin-bottom:15px}.hero-copy h1{font-size:45px;letter-spacing:-2px}.hero-copy h1 em{letter-spacing:-1.7px}.hero-copy>p:not(.eyebrow){font-size:11px;margin-top:16px}.hero-actions{gap:18px;margin-top:20px}.hero-actions .button{font-size:10px;gap:18px;padding:12px 15px;min-height:42px}.tour-start{font-size:10px;gap:8px}.tour-start span{font-size:18px}.tour-hotspot{top:33%!important;left:70%!important}.hotspot-circle{width:38px;height:38px;font-size:21px;box-shadow:0 0 0 7px #ffffff33}.tour-toolbar{bottom:16px;left:16px;right:16px;padding:12px;min-height:65px;gap:10px}.room-info{display:block;min-width:0;max-width:155px}.room-info>span{font-size:7px;display:block;margin-bottom:7px}.room-info strong{font-size:10px;line-height:1.2;display:block}.room-tabs{gap:0;margin-left:auto}.room-tabs button{width:14px;height:28px;padding:0 3px}.room-tabs button>span{width:8px;height:3px}.tour-buttons{gap:3px}.tour-buttons button{width:26px;height:30px;font-size:14px}.tour-buttons #tour-motion{font-size:10px}.hero-bottom{padding:21px 7px 24px;font-size:6px;letter-spacing:.8px}.hero-bottom>a{gap:20px}.hero-bottom>span:last-child{font-size:5px;letter-spacing:.4px}.tour.immersive .tour-start{top:18px;right:18px;padding:11px 14px;font-size:10px}.intro{display:flex;flex-direction:column;padding:65px 7% 70px;min-height:0;gap:40px;align-items:stretch}.intro-panel{padding:0;background:transparent}.intro-panel h2{font-size:37px}.intro-text{font-size:15px}.intro-photo{width:100%;height:390px}.intro-photo img{object-position:40% 50%}.intro-photo figcaption{font-size:6px}.intro-photo figcaption span{font-size:5px}.services{padding-top:65px;padding-bottom:55px}.care{padding-top:30px;gap:35px}.care-photo{height:380px}.first-visit{padding-top:65px;padding-bottom:65px}.contact{padding-top:65px}.footer{padding-top:25px}.footer-wordmark{width:285px;height:70px;max-width:100%}.footer-wordmark img{width:285px;height:285px}.footer>div{margin-top:25px}.tour.immersive .tour-hotspot{top:48%!important}.tour.immersive .tour-hint{display:block;left:20px;right:20px;bottom:96px;font-size:6px;text-align:center}}
@media(max-width:370px){.brand{width:140px}.brand img{width:140px;height:140px}.header-book{margin-right:10px;padding:10px;font-size:8px;gap:8px}.hero-copy h1{font-size:39px}.hero-actions{gap:12px}.hero-actions .button{gap:15px}.tour-start{font-size:9px}.room-tabs{display:none}.room-info{max-width:150px}.hero-top>span:last-child{font-size:5px}}
.tour:not(.immersive) .tour-hotspot{left:max(62%,var(--hot-x))}.no-js .tour-hotspot,.no-js .tour-start,.no-js .tour-buttons,.no-js .room-tabs{display:none}
@media(prefers-reduced-motion:reduce){.tour-slide,.tour-slide.active,.tour-slide.departing{transform:none;filter:none}.tour-slide img{animation:none!important;transform:none}.hero-copy{transition:none}}
