/* AuraLynk editorial refinement · v20261021.7 */
:root{--ink:#082b26;--muted:#68746d;--gold:#baa382;--paper:#f7f6f2;--violet:#75649e}
#home,#about,#menu,#gallery,#contact,#treatment-menu,#gallery-moments,#about-story,#studio-notes{scroll-margin-top:84px}
.section-kicker{font-family:Jost,Arial,sans-serif;font-size:11px;line-height:1.6;letter-spacing:2.5px;font-weight:500;color:var(--violet);margin:0 0 18px;text-transform:uppercase}
.editorial-link{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:12px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);font-family:Jost,Arial,sans-serif;font-size:14px;letter-spacing:.2px}
.editorial-link:hover{color:var(--violet);border-color:var(--violet)}
.editorial-link span,.action-link span{font-size:18px}
.action-link{display:inline-flex;align-items:center;justify-content:center;gap:22px;text-decoration:none}
/* Equal halves and an independent centre column keep the logo exactly centred. */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:60;padding:12px 36px;transition:background .25s,padding .25s,box-shadow .25s}
.site-nav.is-scrolled{background:rgba(247,246,242,.98);padding-top:0;padding-bottom:0;box-shadow:0 1px 12px #082b2610}
.site-nav.is-scrolled .nav-links{background:transparent;border-color:transparent}
.site-nav.is-scrolled .nav-side>a{color:var(--ink)}
.site-nav.is-scrolled .nav-side>a[aria-current="location"]{color:var(--violet)}
.site-nav.is-scrolled .desktop-booking{border-color:#082b2633}
.site-nav.is-scrolled .desktop-booking:hover{background:var(--ink);color:white}
.nav-links{max-width:1280px;margin:auto;grid-template-columns:1fr 96px 1fr;align-items:center;min-height:76px;border-top:1px solid #ffffff80;border-bottom:1px solid #ffffff80;background:#082b2614}
.nav-side{display:flex;align-items:center;justify-content:space-evenly;gap:15px}
.nav-side>a{color:white;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:1.7px;padding:12px 8px}
.nav-side>a:hover,.nav-side>a[aria-current="location"]{color:#dfc9a5}
.nav-logo{display:flex;align-items:center;justify-content:center;height:76px}
.nav-logo img{width:48px;height:48px;display:block;border-radius:11px}
.nav-side>.desktop-booking{border:1px solid #ffffff75;padding:10px 15px;gap:15px;font-size:11px}
.nav-side>.desktop-booking:hover{color:var(--ink);background:#fff}
.mobile-bar{display:none}
@media(min-width:992px){.site-nav .nav-links{display:grid!important}}
@media(max-width:991.98px){
 body{padding-top:72px}
 .site-nav{position:fixed;top:0;z-index:60;padding:0;background:var(--paper);height:72px;box-shadow:0 1px 0 #082b2612}
 .mobile-bar{display:flex;gap:12px;align-items:center;height:72px;padding:0 18px;position:relative}
 .mobile-brand{display:flex;align-items:center;gap:9px;margin-right:auto;color:var(--ink);text-decoration:none}
 .mobile-brand img{display:block;width:36px;height:36px;flex-shrink:0}
 .mobile-brand>span{font-size:16px;line-height:1.15;letter-spacing:.2px}
 .mobile-brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;color:var(--muted)}
 .mobile-menu-toggle{width:42px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;padding:8px;color:var(--ink)}
 .mobile-menu-toggle span{display:block;width:22px;height:1px;background:currentColor;transition:transform .2s}
 .mobile-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .mobile-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .mobile-booking{background:var(--ink);color:white;font-size:11px;letter-spacing:.5px;padding:10px 12px;gap:10px;white-space:nowrap}
 .mobile-booking:hover{color:white;background:#254b40}
 .nav-links{position:absolute;top:72px;left:0;right:0;max-width:none;margin:0;background:var(--paper);border:0;box-shadow:0 15px 25px #082b2610;padding:16px 28px 24px;max-height:calc(100dvh - 72px);overflow-y:auto}
 .nav-links.collapse:not(.show){display:none}
 .nav-links.show,.nav-links.collapsing{display:block}
 .nav-side{flex-direction:column;align-items:stretch;gap:0}
 .nav-side>a{color:var(--ink);font-size:13px;letter-spacing:2px;padding:15px 0;border-bottom:1px solid #082b2614}
 .nav-logo,.nav-side>.desktop-booking{display:none}
 .nav-side>a:hover,.nav-side>a[aria-current="location"]{color:var(--violet)}
}
#home .PropertyHeroView-content{position:absolute}
#home{isolation:isolate;min-height:440px}
.hero-track{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.hero-track::-webkit-scrollbar{display:none}
.hero-slide{position:relative;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start}
.hero-slide img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#082b2630,#082b2620 35%,#082b2655);pointer-events:none}
.hero-brand{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:80px 25px}
.hero-brand h1{text-transform:none;color:white;margin:0;text-shadow:0 2px 22px #0003}
.hero-brand h1>span{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(58px,7vw,100px);line-height:1.08;letter-spacing:2px}
.hero-brand h1>small{display:block;font-family:Jost,Arial,sans-serif;font-weight:400;font-size:15px;line-height:1.5;letter-spacing:6px;margin-top:20px}
.hero-controls{position:absolute;bottom:28px;left:0;right:0;max-width:1280px;margin:auto;padding:0 30px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.hero-drag-hint{font-size:11px;letter-spacing:1.5px;color:#ffffffd9}
.hero-dots{display:flex;gap:11px;pointer-events:auto}
.hero-dot{width:7px;height:7px;border:1px solid #fff;border-radius:50%;background:transparent;padding:0;box-sizing:content-box}
.hero-dot[aria-pressed="true"]{background:#fff}
.CarouselFlatView-root .swiper-wrapper{cursor:grab}
.drag-track.is-dragging,.swiper-wrapper.is-dragging{cursor:grabbing;scroll-snap-type:none!important;scroll-behavior:auto!important;user-select:none}
.is-dragging *{user-select:none!important}
.atmosphere-banner{width:100%;height:560px;position:relative;isolation:isolate;margin:75px 0 90px;overflow:hidden;background:var(--ink)}
.atmosphere-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}
.atmosphere-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#082b26c9,#082b2680 45%,#082b2620);z-index:-1}
.atmosphere-copy{max-width:1280px;height:100%;margin:auto;padding:65px 55px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:white}
.atmosphere-copy .section-kicker{color:#dfcbb0}
.atmosphere-copy h2{text-transform:none;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(48px,5.8vw,78px);line-height:1.03;font-weight:500;letter-spacing:-.5px;margin:0 0 22px}
.atmosphere-copy>p:not(.section-kicker){font-size:16px;line-height:1.8;color:#eeeae3;margin:0 0 25px}
.atmosphere-booking{display:inline-flex;gap:35px;padding:10px 0;color:white;text-decoration:none;border-bottom:1px solid #d4c1a6;font-size:14px}
.atmosphere-booking:hover{color:#dfcbb0}
@media(max-width:767.98px){
 #home{min-height:420px}
 .hero-brand h1>span{font-size:64px}
 .hero-brand h1>small{font-size:12px;letter-spacing:4px;margin-top:15px}
 .hero-controls{padding:0 22px;bottom:24px}
 .hero-drag-hint{font-size:10px;letter-spacing:.5px}
 .atmosphere-banner{height:480px;margin:45px 0 55px}
 .atmosphere-copy{padding:45px 28px}
 .atmosphere-overlay{background:#082b2699}
}
@media(max-width:359.98px){.mobile-bar{padding:0 12px;gap:8px}.mobile-booking{padding:10px}.mobile-booking span{display:none}.mobile-menu-toggle{width:34px;padding:6px}.mobile-brand>span{font-size:14px}}
@media(max-width:991.98px){.site-nav.is-scrolled .nav-links{background:var(--paper)}}
/* v20261021.7 — single-line hero and a quiet, flush booking tab. */
.hero-brand h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(22px,4vw,58px);line-height:1.25;font-weight:600;letter-spacing:3px;white-space:nowrap;text-transform:none;max-width:100%}
.hero-brand{padding-left:18px;padding-right:18px}
.hero-controls{padding-right:82px}
.side-booking{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:55;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;background:#082b26;color:#f7f3ea;text-decoration:none;font-family:Jost,Arial,sans-serif;font-size:10px;line-height:1.5;letter-spacing:1.8px;text-transform:uppercase;border:1px solid #ffffff26;border-right:0;border-radius:0;box-shadow:none;transition:none;animation:none}
.side-booking:hover,.side-booking:active{background:#082b26;color:#f7f3ea;transform:translateY(-50%);box-shadow:none}
@media(max-width:767.98px){.hero-brand h1{font-size:clamp(21px,5.1vw,38px);letter-spacing:.8px}.side-booking{width:48px;height:48px;font-size:10px}}
#about{background:transparent;padding:78px 30px 62px;margin:0 auto}
#about .BannerView-container{max-width:900px;padding:0}
#about .title{font-size:clamp(38px,4.1vw,58px);line-height:1.08;font-weight:500;letter-spacing:-1px!important;text-transform:none!important;margin:0 0 27px}
#about .description{max-width:720px;margin:0 auto;color:#4e5f55;font-size:17px;line-height:1.8}
#about .description p+p{margin-top:12px}
#about .editorial-link{margin-top:25px}
.beauty-approach{background:#fff;margin:0 0 65px;padding:48px 0}
.HorizontalCardView-root.row{--bs-gutter-x:0}
.HorizontalCardView-root.row>*{flex-shrink:0;margin-top:0}
.HorizontalCardView-imgWrapperInner .HorizontalCardView-img{opacity:1!important}
.editorial-feature .HorizontalCardView-title{font-size:clamp(33px,3.1vw,45px);font-weight:500;line-height:1.12;letter-spacing:-.5px!important;text-transform:none}
.editorial-feature .HorizontalCardView-descriptionMD{margin-top:24px;color:#536258;font-size:16px;line-height:1.75;white-space:normal}
.editorial-feature .HorizontalCardView-descriptionMD p+p{margin-top:14px}
.editorial-feature .HorizontalCardView-btnWrapper{margin-top:22px}
.editorial-feature .HorizontalCardView-imgWrapper{background:#d8ddd5}
/* Photograph width, height and 126% portrait ratio remain unchanged. */
.CarouselFlatView-root.editorial-carousel{padding:72px 45px 65px;background:#fff;margin:70px 0}
.section-heading{max-width:1280px;margin:0 auto 42px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.section-heading h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(36px,3.7vw,52px);line-height:1.1;font-weight:500;letter-spacing:-.6px;margin:0 0 16px}
.section-heading h2,.visit-copy h2,.contact-heading h2{text-transform:none}
.section-intro{color:var(--muted);font-size:15px;line-height:1.7;max-width:620px;margin:0}
.carousel-controls{display:flex;gap:10px;flex-shrink:0;padding-bottom:4px}
.carousel-arrow{width:45px;height:45px;border:1px solid #bac5bc;border-radius:50%;background:transparent;color:var(--ink);font-size:23px;line-height:1;display:grid;place-items:center;transition:background .2s,color .2s}
.carousel-arrow:hover:not(:disabled){background:var(--ink);color:white;border-color:var(--ink)}
.carousel-arrow:disabled{opacity:.3;cursor:default}
.CarouselFlatView-root .swiper{overflow:visible}
.CarouselFlatView-root .swiper-wrapper{overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none;gap:30px;transform:none!important;width:100%}
.CarouselFlatView-root .swiper-wrapper::-webkit-scrollbar{display:none}
.CarouselFlatView-root .swiper-slide{flex:0 0 calc((100% - 60px)/3);width:calc((100% - 60px)/3);margin:0!important;padding:0;scroll-snap-align:start}
.CarouselFlatView-root .swiper-scrollbar{display:none}
.editorial-carousel .CarouselFlatItemView-imgContainer{margin-bottom:22px;overflow:hidden}
.editorial-carousel .CarouselFlatItemView-img{transition:transform .5s}
.editorial-carousel .swiper-slide:hover .CarouselFlatItemView-img{transform:scale(1.025)}
.editorial-carousel .CarouselFlatItemView-suptitle{font-size:10px;color:var(--violet);letter-spacing:1.5px;margin:0 0 10px}
.editorial-carousel .CarouselFlatItemView-title{font-size:29px;line-height:1.2;font-weight:500;margin:0 0 14px}
.editorial-carousel .CarouselFlatItemView-description{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted);margin-bottom:0;line-height:1.6}
.editorial-carousel .CarouselFlatItemView-description strong{color:var(--ink);font-weight:500;font-size:16px}
.treatment-booking{margin-top:20px;justify-content:space-between;border-top:1px solid #dbe1dc;padding:15px 0 4px;font-size:13px;color:var(--ink);width:100%}
.treatment-booking:hover{color:var(--violet)}
.visit-section{max-width:1280px;margin:75px auto 85px;padding:0 30px}
.visit-panel{display:grid;grid-template-columns:55% 45%;background:var(--ink);min-height:540px}
.visit-photo{position:relative;min-height:450px}
.visit-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.visit-copy{padding:60px 50px;align-self:center;color:#fff}
.visit-copy .section-kicker{color:#cbb68e}
.visit-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(42px,4.1vw,60px);font-weight:500;letter-spacing:-1px;line-height:1.03;margin:0 0 25px}
.visit-copy>p:not(.section-kicker){color:#d5dfd8;font-size:16px;line-height:1.8;margin:0 0 30px}
.visit-booking{width:100%;background:#e9dfce;color:var(--ink);padding:15px 20px;justify-content:space-between;font-size:14px}
.visit-booking:hover{background:white;color:var(--ink)}
.visit-hours{display:inline-flex;gap:25px;color:#d1dbd3;font-size:13px;text-underline-offset:5px;margin-top:22px;text-decoration:none}
.visit-hours:hover{color:#fff}
.visit-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:34px 0 32px;border-bottom:1px solid #082b2626}
.visit-steps span{font-size:11px;color:var(--violet);letter-spacing:2px}
.visit-steps h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:500;margin:10px 0}
.visit-steps p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}
.contact-section{max-width:1280px;margin:0 auto;padding:0 30px 80px}
.contact-heading{margin-bottom:35px}
.contact-heading h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(38px,4vw,54px);font-weight:500;line-height:1.1;letter-spacing:-.7px;margin:0 0 18px}
.contact-heading>p:last-child{color:var(--muted);font-size:16px}
.contact-layout{display:grid;grid-template-columns:36% 64%;background:#fff}
.contact-info{padding:36px}
.contact-details{display:grid;grid-template-columns:1fr;gap:30px;margin:0 0 25px;text-align:left;--bs-gutter-x:0;--bs-gutter-y:0}
.contact-details>div{width:100%;margin:0;padding:0}
.contact-details h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-weight:500;margin:0 0 12px}
.contact-details p{font-size:15px;line-height:1.9;margin:0;color:#536258}
.contact-details a{color:var(--ink);text-underline-offset:4px;overflow-wrap:anywhere}
.contact-map-panel{position:relative;min-height:420px}
.contact-map{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#dce2da;margin:0}
.contact-section .contact-note{margin:20px 0 0!important;max-width:800px;font-size:12px;line-height:1.7;color:#788078}
.footer-main{gap:30px}
@media(max-width:1279.98px){
 .CarouselFlatView-root .swiper-slide{flex-basis:266px;width:266px;margin:0!important}
 .visit-copy{padding:40px 32px}
}
@media(max-width:991.98px){
 .visit-panel{grid-template-columns:1fr 1fr}
 .contact-layout{grid-template-columns:1fr 1fr}
 .contact-info{padding:28px}
}
@media(max-width:767.98px){
 #about{padding:55px 25px 45px}
 #about .description{font-size:16px}
 .beauty-approach{padding:25px 0;margin-bottom:35px}
 .section-heading{gap:15px;align-items:flex-start}
 .section-heading .section-kicker{max-width:230px;font-size:10px;letter-spacing:1.8px}
 .section-heading h2{font-size:36px}
 .carousel-controls{gap:7px;padding-bottom:0}
 .carousel-arrow{width:35px;height:35px;font-size:20px}
 .section-intro{font-size:14px}
 .CarouselFlatView-root.editorial-carousel{padding:45px 20px;margin:45px 0}
 .visit-section{margin:45px auto 55px;padding:0 20px}
 .visit-panel{grid-template-columns:1fr}
 .visit-photo{min-height:320px}
 .visit-copy{padding:40px 28px}
 .visit-steps{grid-template-columns:1fr;gap:25px;padding-top:30px}
 .visit-steps>div+div{border-top:1px solid #082b261a;padding-top:20px}
 .contact-section{padding:0 20px 50px}
 .contact-layout{grid-template-columns:1fr}
 .contact-map-panel{min-height:320px}
}
