:root{--porcelain: #FAF9F5;--porcelain-deep: #F1EFE7;--sage: #6C8B7B;--sage-ink: #4E6B5C;--moss: #33473D;--moss-deep: #2A3B33;--blush: #C89B8C;--blush-light: #E7CFC5;--text-primary: #2E4038;--text-secondary: #3F5A4B;--on-moss: #F4F1EA;--on-moss-soft: #C5D0C8;--shadow-soft: 0 10px 40px rgba(51, 71, 61, .08);--shadow-deep: 0 24px 70px rgba(42, 59, 51, .18);--blob-a: 60% 40% 55% 45% / 55% 45% 60% 40%;--blob-b: 45% 55% 40% 60% / 60% 40% 55% 45%}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Montserrat,sans-serif;background:var(--porcelain);color:var(--text-primary);line-height:1.85;font-weight:400;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Cormorant Garamond,serif;font-weight:300;line-height:1.18;color:var(--moss)}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 2rem}.header{position:sticky;top:0;z-index:200;padding:1.35rem 0;background:#faf9f5eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(108,139,123,.16);transition:box-shadow .5s ease,padding .5s ease}.header.hdr-scrolled{padding:.9rem 0;box-shadow:var(--shadow-soft)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}.logo{font-family:Cormorant Garamond,serif;font-size:1.55rem;font-weight:400;color:var(--moss);text-decoration:none;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}.header-right{display:flex;align-items:center;gap:1.8rem}.header-phone{color:var(--text-secondary);text-decoration:none;font-size:.88rem;font-weight:500;letter-spacing:.08em}.header-cta{display:inline-block;background:var(--moss);color:var(--on-moss);padding:.7rem 1.7rem;text-decoration:none;font-size:.76rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;border-radius:999px;transition:background .4s ease}.header-cta:hover{background:var(--moss-deep)}body .bizdir-breadcrumbs{background:var(--porcelain);border-bottom:0;color:var(--text-secondary);font-size:.8rem;padding:.85rem 0 0}body .bizdir-breadcrumbs a,body .bizdir-crumb{color:var(--text-secondary)}body .bizdir-breadcrumbs a:hover{color:var(--moss);opacity:1}body .bizdir-crumb--current{color:var(--moss)}body .bizdir-type-tags{background:var(--porcelain);margin:0;padding:.5rem max(2rem,calc((100vw - 1180px)/2 + 2rem)) 0}body .bizdir-type-tag{background:var(--porcelain-deep);color:var(--text-secondary);border:1px solid rgba(108,139,123,.25);border-radius:999px}.hero{position:relative;background:var(--porcelain);overflow:hidden}.hero:before{content:"";position:absolute;top:-220px;right:-180px;width:640px;height:640px;border-radius:var(--blob-b);background:radial-gradient(circle at 35% 35%,rgba(108,139,123,.14),rgba(108,139,123,.05) 70%,transparent);pointer-events:none}.hero:after{content:"";position:absolute;bottom:-160px;left:-140px;width:420px;height:420px;border-radius:var(--blob-a);background:radial-gradient(circle at 60% 40%,rgba(200,155,140,.12),transparent 72%);pointer-events:none}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(3rem,7vw,6rem);align-items:center;padding:clamp(4rem,10vh,7.5rem) 0 clamp(4.5rem,11vh,8rem)}.hero-text{max-width:560px}.hero-tagline{display:inline-flex;align-items:center;gap:.9rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.38em;color:var(--sage-ink);font-weight:500;margin-bottom:2rem}.hero-tagline:before{content:"";width:44px;height:1px;background:var(--sage)}.hero-title{font-size:clamp(2.8rem,6.5vw,5rem);font-weight:300;letter-spacing:.01em;color:var(--moss);margin-bottom:1.6rem;text-wrap:balance}.hero-desc-wrap,.hero-description{font-size:1.04rem;color:var(--text-secondary);margin-bottom:1.8rem;line-height:1.9;font-weight:300}.hero-desc-wrap .hero-about-title{color:var(--moss);font-weight:400}body .hero .hero-desc-toggle{color:var(--sage-ink);font-weight:500;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--sage)}.hero-rating{display:flex;align-items:center;gap:.85rem;margin-bottom:2.4rem}.stars{color:var(--blush);font-size:1.05rem;letter-spacing:4px}.rating-text{color:var(--text-secondary);font-size:.9rem}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary,.btn-secondary,.form-submit{display:inline-block;padding:1.05rem 2.5rem;font-size:.76rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:background .4s ease,color .4s ease,border-color .4s ease}.btn-primary{background:var(--moss);color:var(--on-moss)}.btn-primary:hover{background:var(--moss-deep)}.btn-secondary{background:transparent;color:var(--moss);border-color:#33473d66}.btn-secondary:hover{border-color:var(--moss);background:#6c8b7b14}.hero-image{position:relative}.hero-image:before{content:"";position:absolute;inset:-7% -6% auto auto;width:58%;height:58%;border-radius:var(--blob-b);background:#c89b8c2e;z-index:0}.hero-image img{position:relative;z-index:1;width:100%;height:clamp(380px,46vw,540px);object-fit:cover;border-radius:var(--blob-a);box-shadow:var(--shadow-deep);display:block}.hero-image-placeholder{position:relative;z-index:1;width:100%;height:clamp(380px,46vw,540px);border-radius:var(--blob-a);background:linear-gradient(150deg,var(--sage) 0%,var(--moss) 100%)}.mq-band{background:var(--porcelain-deep);border-top:1px solid rgba(108,139,123,.18);border-bottom:1px solid rgba(108,139,123,.18);overflow:hidden;padding:1.1rem 0;white-space:nowrap}.mq-track{display:inline-flex;gap:4.5rem;padding-right:4.5rem;animation:mq-drift 40s linear infinite;will-change:transform}.mq-track span{font-size:.74rem;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--sage-ink);display:inline-flex;align-items:center;gap:4.5rem}.mq-track span:after{content:"\2726";font-size:.55rem;color:var(--blush)}@keyframes mq-drift{to{transform:translate(-50%)}}.stats-band{background:var(--moss);padding:clamp(3.5rem,8vw,5.5rem) 0}.stats-band .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:2.5rem;text-align:center}.stat-num{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(2.6rem,5vw,3.8rem);color:var(--blush);line-height:1}.stat-lbl{margin-top:.7rem;font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--on-moss-soft)}.treatments,.experience,.gallery-section,.reviews-section,.testimonial,.contact{padding:clamp(5rem,12vw,9.5rem) 0}.section-header{text-align:center;max-width:640px;margin:0 auto clamp(3rem,8vw,5.5rem)}.section-tagline{display:inline-flex;align-items:center;gap:.85rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.36em;color:var(--sage-ink);margin-bottom:1.2rem;font-weight:500}.section-tagline:before,.section-tagline:after{content:"";width:34px;height:1px;background:var(--sage);opacity:.6}.section-title{font-size:clamp(2.1rem,4.5vw,3.4rem);font-weight:300;color:var(--moss);margin-bottom:1.1rem;text-wrap:balance}.section-description{color:var(--text-secondary);font-size:1rem;font-weight:300}.treatments{background:#fff}.treatments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.8rem,3.5vw,3rem)}.treatment-card{background:var(--porcelain);padding:3.2rem 2.4rem;text-align:center;border-radius:32px;border:1px solid rgba(108,139,123,.14);transition:transform .5s ease,box-shadow .5s ease}.treatment-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft)}.treatment-icon{width:74px;height:74px;margin:0 auto 1.8rem;background:#6c8b7b24;border-radius:var(--blob-a);display:flex;align-items:center;justify-content:center}.treatment-icon svg{width:30px;height:30px;stroke:var(--sage-ink)}.treatment-name{font-family:Cormorant Garamond,serif;font-weight:400;font-size:1.65rem;color:var(--moss);margin-bottom:.8rem}.treatment-description{color:var(--text-secondary);font-size:.93rem;line-height:1.85;font-weight:300}.experience{background:var(--porcelain)}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,6rem);align-items:center}.experience-image{position:relative}.experience-image:before{content:"";position:absolute;inset:auto auto -8% -7%;width:55%;height:55%;border-radius:var(--blob-a);background:#6c8b7b29;z-index:0}.experience-image img{position:relative;z-index:1;width:100%;height:clamp(360px,42vw,480px);object-fit:cover;border-radius:var(--blob-b);box-shadow:var(--shadow-soft);display:block}.experience-image-placeholder{position:relative;z-index:1;width:100%;height:clamp(360px,42vw,480px);border-radius:var(--blob-b);background:linear-gradient(145deg,var(--blush) 0%,var(--sage) 100%)}.experience-content{max-width:500px}.experience-content .section-tagline:after{display:none}.experience-title{font-size:clamp(2rem,4vw,3.1rem);font-weight:300;color:var(--moss);margin-bottom:1.6rem}.experience-text{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem;line-height:1.9;font-weight:300}.experience-features{list-style:none;margin-top:2.2rem;display:grid;gap:1rem}.experience-features li{display:flex;align-items:center;gap:.95rem;color:var(--text-primary);font-size:.93rem;font-weight:400}.check-icon{width:26px;height:26px;background:#6c8b7b29;border-radius:var(--blob-b);display:flex;align-items:center;justify-content:center;flex-shrink:0}.check-icon svg{width:12px;height:12px;stroke:var(--sage-ink)}.gallery-section{background:var(--moss)}.gallery-section .section-tagline{color:var(--blush-light)}.gallery-section .section-tagline:before,.gallery-section .section-tagline:after{background:var(--blush)}.gallery-section .section-title{color:var(--on-moss)}.gallery-section .section-description{color:var(--on-moss-soft)}body .gallery-section .bizdir-sec-tagline{color:var(--blush-light)!important}body .gallery-section .bizdir-sec-title{color:var(--on-moss)!important;font-weight:300!important;font-family:Cormorant Garamond,serif!important}.gallery-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem}.gallery-item{flex:0 1 300px;max-width:360px;position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:28px;cursor:pointer;background:var(--moss-deep)}.gallery-item:nth-child(3n+2){border-radius:var(--blob-a)}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-caption{position:absolute;inset-inline:0;bottom:0;background:linear-gradient(transparent,#2a3b33d9);color:var(--on-moss);padding:1.6rem 1.2rem .85rem;font-size:.85rem;font-weight:300}.gallery-video-item{position:relative}.video-play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#2a3b3366;z-index:1;pointer-events:none}.reviews-section{background:#fff}.reviews-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2.2rem}.review-card{flex:0 1 calc(33.333% - 2.2rem);min-width:300px;max-width:440px;background:var(--porcelain);padding:2.4rem 2.2rem;border-radius:28px;border:1px solid rgba(108,139,123,.14)}.review-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.reviewer-photo{width:50px;height:50px;border-radius:50%;object-fit:cover}.reviewer-photo-placeholder{width:50px;height:50px;border-radius:var(--blob-b);background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:400;font-size:1.25rem;font-family:Cormorant Garamond,serif}.reviewer-info{flex:1;min-width:0}.reviewer-name{margin:0;font-size:1.15rem;font-weight:400;color:var(--moss);font-family:Cormorant Garamond,serif}.local-guide-badge{font-size:.72rem;color:var(--sage-ink);display:block;letter-spacing:.04em}.review-date{font-size:.74rem;color:var(--text-secondary)}.review-rating{margin-bottom:.8rem;letter-spacing:2px}.review-rating .star{font-size:.95rem;color:#33473d38}.review-rating .star.filled{color:var(--blush)}.review-text{color:var(--text-secondary);line-height:1.85;margin-bottom:1rem;font-size:.93rem;font-weight:300}.owner-response{background:#fff;padding:1.1rem 1.2rem;border-radius:0 18px 18px 0;border-left:2px solid var(--sage);margin-top:1.1rem}.owner-response strong{color:var(--sage-ink);font-size:.82rem}.owner-response p{margin:.5rem 0 0;color:var(--text-secondary);font-size:.88rem}.review-photos{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.review-photo{width:70px;height:70px;object-fit:cover;border-radius:14px;cursor:pointer;transition:transform .3s ease}.review-photo:hover{transform:scale(1.05)}.testimonial{background:var(--moss);text-align:center;position:relative;overflow:hidden}.testimonial:before{content:"";position:absolute;top:-180px;right:-120px;width:460px;height:460px;border-radius:var(--blob-a);background:#c89b8c17;pointer-events:none}.testimonial-content{position:relative;max-width:760px;margin:0 auto}.testimonial-quote{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(1.5rem,3.2vw,2.2rem);font-style:italic;color:var(--on-moss);margin-bottom:1.8rem;line-height:1.55}.testimonial-author{color:var(--blush-light);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500}.contact{background:var(--porcelain)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,5rem);align-items:start}.contact-info h2{font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--moss);margin-bottom:1rem}.contact-info>p{color:var(--text-secondary);margin-bottom:2.2rem;font-weight:300}.contact-details{margin-bottom:2rem;display:grid;gap:1.3rem}.contact-item{display:flex;align-items:flex-start;gap:1.1rem}.contact-icon{width:46px;height:46px;background:#6c8b7b24;border-radius:var(--blob-b);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-icon svg{width:19px;height:19px;stroke:var(--sage-ink)}.contact-item-content h3,.contact-item-content h4{font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:600;color:var(--moss);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.14em}.contact-item-content,.contact-item-content p,.contact-item-content a{color:var(--text-secondary);text-decoration:none;font-size:.93rem}.contact-item-content a:hover{color:var(--moss)}.map-container{margin-top:2rem;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft)}.map-container iframe{display:block;width:100%;height:420px;border:none}.contact-form-wrapper{background:var(--moss);padding:clamp(2rem,4vw,3rem);border-radius:36px;box-shadow:var(--shadow-deep)}.contact-form-wrapper h3{font-size:1.9rem;font-weight:300;color:var(--on-moss);margin-bottom:.5rem}.contact-form-wrapper>p{color:var(--on-moss-soft);margin-bottom:1.8rem;font-size:.92rem;font-weight:300}.form-group{margin-bottom:1.2rem}.form-label{display:block;font-size:.72rem;font-weight:500;color:var(--blush-light);margin-bottom:.45rem;text-transform:uppercase;letter-spacing:.18em}.form-control{width:100%;padding:.9rem 1.1rem;font-size:.95rem;font-family:inherit;color:var(--on-moss);background:#faf9f514;border:1px solid rgba(250,249,245,.22);border-radius:16px;transition:border-color .4s ease}.form-control::placeholder{color:#f4f1ea73}.form-control:focus{outline:none;border-color:var(--blush)}textarea.form-control{min-height:120px;resize:vertical}.form-submit{width:100%;background:var(--porcelain);color:var(--moss);border:none;margin-top:.4rem}.form-submit:hover{background:#fff}.footer{background:var(--moss-deep);color:var(--on-moss-soft);padding:4rem 0 3rem;text-align:center;font-size:.85rem}.footer-logo{font-family:Cormorant Garamond,serif;font-weight:300;font-size:1.7rem;color:var(--on-moss);margin-bottom:1rem}.footer p{color:var(--on-moss-soft)}.lightbox{display:none;position:fixed;inset:0;background:#1a241ff0;z-index:1000;justify-content:center;align-items:center;cursor:pointer;padding:2rem}.lightbox.active{display:flex}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:18px}.lightbox-close{position:absolute;top:1.2rem;right:1.8rem;color:#fff;font-size:2.4rem;cursor:pointer;line-height:1;visibility:hidden}.lightbox.active .lightbox-close{visibility:visible}.subsite-share-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;border:1px solid rgba(51,71,61,.18);background:#6c8b7b0f;color:var(--text-secondary);font-size:1.1rem;transition:transform .3s ease,box-shadow .3s ease,color .3s ease,border-color .3s ease;text-decoration:none;cursor:pointer}.subsite-share-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.subsite-share-btn.fb:hover{color:#1877f2;border-color:#1877f2;background:#1877f20d}.subsite-share-btn.tw:hover{color:#1da1f2;border-color:#1da1f2;background:#1da1f20d}.subsite-share-btn.wa:hover{color:#25d366;border-color:#25d366;background:#25d3660d}.subsite-share-btn.lk:hover{color:#a9705f;border-color:#a9705f;background:#c89b8c1a}.maction{display:none;position:fixed;left:0;right:0;bottom:0;z-index:300;background:#2a3b33f0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.65rem .9rem calc(.65rem + env(safe-area-inset-bottom));gap:.7rem}.maction a{flex:1;text-align:center;padding:.9rem 0;border-radius:999px;font-size:.76rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}.maction .ma-call{border:1px solid rgba(244,241,234,.4);color:var(--on-moss)}.maction .ma-book{background:var(--porcelain);color:var(--moss)}@media (max-width: 768px){.maction{display:flex}body{padding-bottom:64px}.footer{padding-bottom:6rem}}.to-top{position:fixed;right:1.4rem;bottom:1.4rem;z-index:290;width:48px;height:48px;border-radius:var(--blob-a);background:var(--moss);color:var(--on-moss);border:none;cursor:pointer;font-size:1.15rem;box-shadow:var(--shadow-deep);opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .4s ease,transform .4s ease}.to-top.show{opacity:1;pointer-events:auto;transform:none}@media (max-width: 768px){.to-top{bottom:5rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.mq-track{animation:none}.to-top{transition:none}}@media (max-width: 992px){.hero-content{grid-template-columns:1fr;text-align:center;padding-top:3rem}.hero-text{max-width:100%}.hero-image{order:-1;max-width:480px;margin:0 auto}.hero-image img,.hero-image-placeholder{height:320px}.hero-tagline,.hero-rating,.hero-buttons{justify-content:center}.treatments-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}.experience-grid{grid-template-columns:1fr}.experience-content{max-width:100%}.contact-grid{grid-template-columns:1fr}}@media (max-width: 768px){.header-right{gap:1rem}.header-phone{display:none}.section-title{font-size:2rem}.map-container iframe{height:320px}}@media (max-width: 480px){.container{padding:0 1.25rem}.hero-title{font-size:2.4rem}.header-cta{padding:.55rem 1.1rem;font-size:.68rem}.logo{font-size:1.2rem}.btn-primary,.btn-secondary{width:100%;text-align:center}.gallery-item{flex-basis:100%}}
