/* Immersive wellness — people-led hero and quiet, tactile cards. */
:root{--green:#304b3d;--paper:#f7f6f1;--ink:#293c31;--header:96px}
.header{color:white;background:transparent;backdrop-filter:none;box-shadow:none;transition:background .35s,color .35s,box-shadow .35s;gap:24px;border:0}.header.scrolled,.header:has(.is-open){background:#fafaf5ed;color:var(--ink);backdrop-filter:blur(18px);box-shadow:0 4px 30px #1c30210d}.brand img{background:#fff;border-radius:50%;mix-blend-mode:normal;object-fit:contain;padding:5px;width:58px;height:58px}.brand>span{font-size:25px}.brand small{color:inherit;opacity:.85}.header nav a{font-size:14px;min-height:44px;display:flex;align-items:center}.header nav a:after{background:currentColor;bottom:5px;transition:width .35s var(--ease)}.header nav a[aria-current=location]:after{width:100%}.header nav a[aria-current=location]{font-weight:600}.header-cta{color:white;border-color:#ffffff85;order:4;font-size:13px;min-height:48px;background:#ffffff12;backdrop-filter:blur(8px);padding:10px 20px}.header.scrolled .header-cta,.header:has(.is-open) .header-cta{background:var(--green);color:white;border-color:var(--green)}.header-cta:hover{background:#f4f6ed;color:var(--green);border-color:white}.menu-toggle{order:3}.menu-toggle span{background:currentColor}.menu-toggle{color:inherit}.header nav{order:2}.brand{order:1}.hero{margin-top:0;height:100svh;min-height:790px;max-height:1100px;max-width:none;background:#3c4b3d;isolation:isolate;padding:0;display:block;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:-2;order:initial}.hero-image-inner{border-radius:0;width:100%;height:100%;animation:none!important}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.04);will-change:transform}.hero-image-inner:after{background:linear-gradient(90deg,#102a21b8 0%,#1d352892 32%,#263b3038 62%,#283a2610 100%),linear-gradient(0deg,#13281eb3,transparent 50%);border-radius:0}.hero-content{position:relative;z-index:2;padding:clamp(160px,21vh,250px) 0 125px 8%;width:69%;color:#fff}.hero-content .eyebrow{color:#e2e9d7;font-size:11px;letter-spacing:2.8px;margin-bottom:30px}.tiny-line{background:#d3dabb}.hero h1{font-size:clamp(46px,5vw,78px);line-height:1.55;letter-spacing:.1em;text-shadow:0 3px 25px #152b1910}.hero-script{font:italic clamp(28px,3.2vw,49px)/1.2 Georgia;letter-spacing:-1.8px;margin:20px 0 25px;color:#e2e9d5;position:static;opacity:1;transform:none}.hero-script br{display:none}.hero-script em{color:#e2e9d5;margin-left:8px}.hero-sub{font-size:16px;line-height:2;letter-spacing:.08em;margin:0 0 30px}.hero .button{background:#f4f5ed;color:#304b3d;border-color:#f4f5ed;font-size:15px;min-width:252px;padding:16px 22px 16px 28px;box-shadow:0 6px 30px #152b1920}.hero .button:hover{background:#dfe8d4}.hero .button span{border-color:#b7c5aa}.booking-label{color:#e1e7d8;font-size:11px;margin-top:12px;letter-spacing:1.6px}.hero-bottom{position:absolute;bottom:111px;inset-inline:8%;color:#edf1e6;font-size:10px;letter-spacing:1.8px;margin:0;order:initial}.hero-bottom a{color:#edf1e6;font-size:10px}.scroll-line{background:#ffffff40}.scroll-line:after{background:#e3ead6}.photo-caption{bottom:108px;right:3%;color:#fff;font-size:10px;writing-mode:horizontal-tb;letter-spacing:.09em;background:#17342770;border-radius:12px;padding:3px 8px;backdrop-filter:blur(5px)}.hero-location{position:absolute;bottom:0;height:78px;padding:0 8%;color:#f3f5ee;background:#1f382e60;backdrop-filter:blur(12px);border-top:1px solid #f1f5e328;font-size:13px;line-height:1.8}.hero-location .location-label{color:#dce5cf;font-size:11px}.hero-location>span:not(.location-label){color:#cdd6c4}.section{padding-top:120px;padding-bottom:120px}h2{font-size:clamp(30px,3.2vw,48px);font-weight:400}.about-copy h2{font-size:clamp(30px,2.8vw,42px)}.about-copy>p:not(.eyebrow){font-size:16px;font-weight:400}.about{grid-template-columns:100px 1fr 28%;gap:45px}.about-photo{border-radius:180px 180px 24px 24px;box-shadow:0 20px 50px #2237180c}.services{border-radius:56px 56px 0 0;background:#ecf0e7}.service-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:auto auto;gap:24px;align-items:stretch}.service-card{background:#fafbf7;border:1px solid #ffffffb0;border-radius:28px;box-shadow:0 9px 35px #2b422308;padding:0!important;overflow:hidden;transition:box-shadow .4s,translate .5s var(--ease)}.service-card:hover{box-shadow:0 16px 45px #21371d14;translate:0 -4px}.service-card:first-child{grid-column:1;grid-row:1/3;display:flex;flex-direction:column}.service-card:not(:first-child){display:grid;grid-template-columns:43% 1fr;min-height:290px}.service-photo{width:100%;margin:0;overflow:hidden;isolation:isolate}.service-photo:before{display:none}.service-photo img{width:100%;height:100%;border-radius:0;aspect-ratio:auto;object-fit:cover;transition:transform 1.3s var(--ease)}.service-card:hover .service-photo img{transform:scale(1.035)}.service-card:first-child .service-photo{height:340px;min-height:300px;flex:1}.service-card:first-child .service-photo img{object-position:center 42%}.service-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(0deg,#17332180,transparent);pointer-events:none}.service-photo>span{z-index:2;left:23px;bottom:20px}.service-photo>span b{font-size:46px}.service-body{padding:27px 28px}.english{font-size:33px;margin:0 0 7px}.service-body h3{font-size:21px;letter-spacing:0;margin:0 0 15px}.service-body>p:not(.english){font-size:15px;line-height:2}.service-card:not(:first-child) .service-body{padding:24px}.service-card:not(:first-child) .english{font-size:28px}.service-card:not(:first-child) h3{font-size:18px}.service-card:not(:first-child) .service-body>p:not(.english){font-size:14px}.tags{margin:18px 0}.tags span{background:#eaf0e2;border-radius:30px;font-size:11px}.service-bottom{margin-top:30px}.gallery-script{color:#e4e8dc}.gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:-20px;margin-bottom:22px}.gallery-tools p{font-size:14px;color:#64715e}.gallery-tools>div{display:none;gap:8px}.gallery-tools button{width:46px;height:46px;border-radius:50%;border:1px solid #bdc8b4;background:transparent;color:var(--green);transition:background .2s}.gallery-tools button:hover{background:#e1e8d7}.gallery-tools button:disabled{opacity:.35;cursor:default}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:23px;outline-offset:8px;border-radius:24px}.gallery-grid figure{padding:0!important;background:#fff;border:1px solid #fff;border-radius:24px;overflow:hidden;box-shadow:0 12px 35px #2b42230a}.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){margin-top:0}.gallery-grid img,.gallery-grid .gallery-wide img{height:330px;border-radius:0;object-fit:cover;width:100%}.gallery-grid figcaption{font-size:13px;padding:16px 17px;margin:0;line-height:1.7}.gallery-grid figcaption span{display:inline;font-size:19px;margin-right:8px}.access iframe{border-radius:28px;box-shadow:0 12px 35px #2b42230c}.access-info h2{font-size:clamp(30px,3vw,43px)}.reservation{border-radius:56px 56px 0 0}.reservation-script{color:#c0d0a6}.reservation .button{min-height:64px}.footer-bottom button{min-height:44px}.socials a{min-height:46px}.motion-toggle{min-height:44px;right:16px;bottom:16px}.gallery-grid:focus-visible{outline:3px solid #16808e}.section-heading>p{font-size:15px}.hero-content{max-width:1100px}
@keyframes kenBurns{0%{transform:scale(1.015) translateX(0)}100%{transform:scale(1.08) translateX(-.6%)}}
@media(prefers-reduced-motion:no-preference){.motion-ready .hero-image img{animation:kenBurns 24s ease-in-out infinite alternate}.motion-ready [data-reveal]{transform:translateY(24px);transition-duration:.85s,1s}.motion-ready [data-reveal].is-visible{transform:none}}
@media(max-width:1150px){.header{gap:14px;padding:0 3%}.brand>span{font-size:22px}.brand img{width:48px;height:48px}.header nav{gap:15px}.header nav a{font-size:12px}.header-cta{font-size:12px;padding:8px 17px}.hero-content{width:75%;padding-left:7%;padding-top:170px}.hero h1{font-size:clamp(47px,5vw,62px)}.hero{min-height:790px}.hero-sub{font-size:15px}.hero-script{font-size:37px}.about{grid-template-columns:75px 1fr 27%;gap:30px}.service-grid{grid-template-columns:1fr 1fr;gap:20px}.service-card:not(:first-child){grid-template-columns:38% 1fr}.service-card:not(:first-child) .service-body{padding:21px 18px}.service-card:not(:first-child) h3{font-size:17px}.service-card:not(:first-child) .english{font-size:25px}.gallery-grid img,.gallery-grid .gallery-wide img{height:290px}.gallery-grid figcaption{font-size:12px;padding:14px}.section-heading>p{font-size:14px}}
@media(max-width:900px){.header nav{background:#fafaf5f7;color:var(--ink);backdrop-filter:blur(18px)}.header nav a{font-size:16px}.hero-content{width:85%;padding-top:180px}.hero h1{font-size:49px}.hero-content .eyebrow{font-size:10px}.hero-sub{font-size:14px}.hero-script{font-size:34px}.hero-image img{object-position:58% center}.hero-image-inner:after{background:linear-gradient(90deg,#132c21b3,#20392b60 55%,#20392b18),linear-gradient(0deg,#17312490,transparent)}.hero-bottom{left:7%;right:7%;font-size:9px}.hero-location{font-size:12px;padding:0 7%}.photo-caption{right:3%;bottom:150px;font-size:9px}.about{grid-template-columns:1fr 30%;gap:35px}.about-copy h2{font-size:31px}.about-copy>p:not(.eyebrow){font-size:15px}.service-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.service-card:first-child{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:46% 1fr}.service-card:first-child .service-photo{height:100%;min-height:330px}.service-card:not(:first-child){display:flex;flex-direction:column}.service-card:not(:first-child) .service-photo{height:250px}.service-card:not(:first-child) .service-body{padding:25px}.service-card:not(:first-child) h3{font-size:19px}.service-card:not(:first-child) .english{font-size:30px}.service-card:not(:first-child) .service-body>p:not(.english){font-size:15px}.gallery-grid{gap:16px;grid-template-columns:1.2fr 1fr 1fr}.gallery-grid img,.gallery-grid .gallery-wide img{height:250px}.gallery-grid figcaption{font-size:11px}.gallery-grid figcaption span{display:block}.section{padding-top:95px;padding-bottom:95px}}
@media(max-width:640px){:root{--header:80px}.header{padding:0 4%;gap:6px}.brand>span{font-size:16px;letter-spacing:-.4px}.brand img{width:38px;height:38px;padding:3px}.brand small{font-size:7px}.header-cta{font-size:10px;min-height:44px;padding:8px 11px;flex-shrink:0;backdrop-filter:none}.menu-toggle{width:38px;height:44px;padding:7px;flex-shrink:0}.hero{min-height:830px;height:100svh;max-height:1050px;padding:0;display:block}.hero-image{position:absolute;inset:0;margin:0;width:100%;height:100%;z-index:-2}.hero-image-inner{border-radius:0;height:100%}.hero-image img{height:100%;object-position:64% center}.hero-image-inner:after{background:linear-gradient(0deg,#102c24f2 0%,#183329c4 28%,#16312745 68%,#122b215c 100%),linear-gradient(90deg,#132c2340,transparent)}.hero-content{position:absolute;left:0;bottom:130px;padding:0 7%;width:100%;max-width:none}.hero-content .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:18px;gap:12px}.hero h1{font-size:clamp(33px,9vw,47px);letter-spacing:.09em;line-height:1.65}.hero-script{font-size:29px;letter-spacing:-1.2px;margin:12px 0 20px;position:static;opacity:1;transform:none}.hero-sub{font-size:13px;line-height:2.1;margin:0 0 22px;letter-spacing:.06em}.hero .button{font-size:13px;padding:12px 19px 12px 25px;min-width:215px;min-height:52px}.hero .button span{width:28px;height:28px;font-size:18px}.booking-label{font-size:10px;margin-top:9px}.hero-bottom{position:absolute;bottom:88px;left:7%;right:7%;font-size:8px;letter-spacing:1px;inset-inline:7%;margin:0}.hero-bottom a{font-size:0;gap:0}.hero-bottom .scroll-line{height:27px}.hero-location{height:66px;padding:0 7%;font-size:10px;display:flex;flex-wrap:wrap;align-content:center;justify-content:start;line-height:1.8}.hero-location .location-label{flex:0 0 100%;font-size:9px;margin:0 0 3px}.hero-location>span:not(.location-label){margin:0 10px}.photo-caption{bottom:auto;top:105px;right:6%;font-size:9px;letter-spacing:.05em;padding:3px 8px;background:#1333297d}.section{padding:76px 7%}.section-heading h2{font-size:29px}.section-heading>p{font-size:14px}.about{grid-template-columns:1fr;gap:35px}.about-copy h2{font-size:29px}.about-copy>p:not(.eyebrow){font-size:15px}.about-visual{width:75%}.about-photo{height:300px;border-radius:160px 160px 24px 24px}.services{border-radius:32px 32px 0 0}.service-grid{grid-template-columns:1fr;gap:26px}.service-card,.service-card:first-child,.service-card:not(:first-child){display:flex;flex-direction:column;grid-column:auto;grid-row:auto;border-radius:24px}.service-card:first-child .service-photo,.service-card:not(:first-child) .service-photo{height:250px;min-height:0;flex:none;width:100%;margin:0}.service-photo img{height:100%;aspect-ratio:auto;border-radius:0}.service-body,.service-card:not(:first-child) .service-body{padding:25px}.english,.service-card:not(:first-child) .english{font-size:31px}.service-body h3,.service-card:not(:first-child) h3{font-size:20px}.service-body>p:not(.english),.service-card:not(:first-child) .service-body>p:not(.english){font-size:15px}.service-photo>span{left:22px;bottom:18px}.service-photo>span b{font-size:43px}.tags span{font-size:11px}.service-bottom{margin-top:26px}.gallery{padding-left:0;padding-right:0}.gallery .section-heading,.gallery-tools{margin-left:7%;margin-right:7%}.gallery .section-heading{margin-bottom:23px}.gallery-tools{margin-top:0;margin-bottom:22px}.gallery-tools p{font-size:12px}.gallery-tools>div{display:flex}.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:7vw;gap:18px;padding:0 7vw 25px;border-radius:0;scrollbar-width:thin;scrollbar-color:#b8c6aa transparent;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.gallery-grid figure,.gallery-grid .gallery-wide{flex:0 0 83vw;width:83vw;min-width:0;scroll-snap-align:start;grid-column:auto;border-radius:23px;box-shadow:0 9px 22px #2b422309;margin:0!important}.gallery-grid img,.gallery-grid .gallery-wide img{height:295px;object-fit:cover}.gallery-grid figcaption{padding:16px 19px;font-size:13px;line-height:1.7}.gallery-grid figcaption span{display:inline;font-size:20px}.access{gap:32px}.access iframe{border-radius:25px;min-height:340px}.access dl>div{font-size:13px}.reservation{border-radius:32px 32px 0 0}.reservation .button{min-height:58px;font-size:12px;padding:16px 18px;gap:9px}.reservation-script{font-size:36px;letter-spacing:-1.6px}.line-link{font-size:11px;line-height:2;min-height:44px;display:flex;align-items:center}.footer{padding-bottom:65px}.motion-toggle{font-size:9px;min-height:44px;padding:10px 12px;right:10px;bottom:10px}}
@media(max-width:360px){.brand>span{font-size:14px}.brand small{font-size:6px}.brand img{width:31px;height:31px}.header-cta{font-size:9px;padding:7px 9px}.hero h1{font-size:30px}.hero-script{font-size:26px}.hero-content{bottom:126px}.hero{min-height:800px}.hero-sub{font-size:12px}.hero-location{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-image img{animation:none!important;transform:none!important}.service-card{translate:none!important}.service-card:hover .service-photo img{transform:none!important}}
.motion-paused .hero-image img{animation:none!important;transform:none!important}
@media(max-width:640px){.hero-image-inner{background:#1a3429}.hero-image img{height:60%;object-position:73% center}.hero-image-inner:after{background:linear-gradient(0deg,#1a3429 0%,#1a3429 32%,#1a3429c9 47%,#1a342900 77%),linear-gradient(180deg,#17332745,transparent 25%)}.hero-content{bottom:126px}.photo-caption{top:92px}}
@media(min-width:641px){.hero-content{position:absolute;top:50%;left:0;transform:translateY(-50%);padding:0 0 0 8%;width:75%}.hero h1{font-size:clamp(44px,4.4vw,66px);line-height:1.5}.hero-content .eyebrow{margin-bottom:24px}.hero-script{font-size:36px;line-height:1.2;margin:14px 0 20px}.hero-sub{font-size:15px;line-height:2;margin-bottom:22px}.hero .button{padding-top:13px;padding-bottom:13px}.hero-bottom{justify-content:flex-end}.hero-bottom>span{display:none}}
.real-salon-preview{position:absolute;z-index:4;right:6%;bottom:172px;display:flex;align-items:center;gap:17px;padding:10px 20px 10px 10px;background:#f6f7eedb;backdrop-filter:blur(12px);border:1px solid #ffffff80;border-radius:20px;box-shadow:0 8px 30px #16321f14;color:#294332;transition:transform .4s var(--ease),background .3s}.real-salon-preview:hover{transform:translateY(-4px);background:#fafbf4}.real-salon-preview img{width:98px;height:78px;object-fit:cover;border-radius:12px}.real-salon-preview>span{font-size:13px}.real-salon-preview small{display:block;font:9px/1.5 Arial;letter-spacing:1.6px;margin-bottom:8px;color:#657956}.real-salon-preview b{font-size:20px;font-weight:400;margin-left:12px}
@media(max-width:1100px) and (min-width:641px){.real-salon-preview{right:4%;bottom:165px;padding:8px 12px 8px 8px;gap:12px}.real-salon-preview img{width:76px;height:66px}.real-salon-preview>span{font-size:11px}.real-salon-preview b{margin-left:4px}}
@media(max-width:640px){.real-salon-preview{right:7%;bottom:81px;padding:5px 11px 5px 5px;border-radius:14px;gap:9px;background:#f6f7eeed}.real-salon-preview img{width:46px;height:39px;border-radius:9px}.real-salon-preview small{font-size:7px;margin-bottom:0;letter-spacing:1px}.real-salon-preview>span{font-size:10px}.real-salon-preview b{font-size:15px;margin-left:5px}.hero-bottom>span{display:none}.hero-bottom a{display:none}}
/* Use geometry, never font glyphs, for consistent arrows across devices. */
.ui-arrow{display:inline-block;width:18px;height:18px;min-width:18px;max-width:none;flex:0 0 18px;vertical-align:middle;overflow:visible;pointer-events:none;line-height:1}
.button>span{flex-shrink:0;line-height:1;aspect-ratio:1;align-self:center}
.button .ui-arrow{width:16px;height:16px;min-width:16px;flex-basis:16px}
.gallery-tools button{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}
.real-salon-preview b{display:inline-flex;align-items:center;vertical-align:middle;line-height:1}
.text-link{align-items:center}.text-link .ui-arrow{margin-left:auto}.line-link .ui-arrow{margin-left:6px}
.footer-bottom a{display:inline-flex;align-items:center;gap:6px}.footer-bottom a .ui-arrow{width:14px;height:14px;min-width:14px;flex-basis:14px}
@media(max-width:640px){.hero h1{font-size:clamp(28px,8vw,40px);letter-spacing:.05em}.hero h1 .line-mask{white-space:nowrap}.real-salon-preview .ui-arrow{width:15px;height:15px;min-width:15px;flex-basis:15px}.reservation .button{gap:12px}.reservation .button>span{width:24px;height:24px;flex:0 0 24px}}
