:root{--bg:oklch(0.985 .003 110);--surface:oklch(.955 .008 110);--forest:oklch(.245 .07 150);--emerald:oklch(.31 .08 150);--ink:oklch(.20 .025 150);--muted:oklch(.44 .025 150);--gold:oklch(.75 .09 110);--pale-gold:oklch(.84 .065 100);--white:oklch(.98 .005 110);--line:oklch(.78 .02 130 / .35);--display:"Bodoni Moda",serif;--sans:"Manrope",sans-serif;--radius:14px;--container:min(1440px,calc(100% - 10vw));--ease:cubic-bezier(.16,1,.3,1);--z-sticky:20;--z-menu:30;--z-modal:40}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.75 var(--sans);overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.03em;text-wrap:balance}h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:1.03;margin-bottom:1.5rem}.skip{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--gold);padding:.7rem 1rem;color:var(--forest)}.skip:focus{top:1rem}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.header{position:fixed;top:0;left:0;width:100%;height:94px;padding:0 4vw;display:flex;align-items:center;gap:2.5vw;color:var(--white);z-index:var(--z-sticky);transition:.45s var(--ease)}.header.scrolled{height:76px;background:oklch(.20 .06 150 / .94);backdrop-filter:blur(16px);box-shadow:0 1px 0 oklch(.8 .04 110 / .15)}.brand{display:flex;flex-direction:column;min-width:165px;line-height:1}.brand strong{font:600 2rem/1 var(--display);letter-spacing:-.03em}.brand span{font-size:.52rem;letter-spacing:.15em;margin-top:8px}.desktop-nav{display:flex;align-items:center;gap:clamp(.8rem,1.3vw,1.5rem);margin-left:auto}.desktop-nav a{position:relative;font-size:.73rem;white-space:nowrap}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}.button{min-height:48px;padding:0 1.45rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.035em;transition:transform .3s var(--ease),background .3s,box-shadow .3s}.button:active{transform:scale(.98)}.button-gold{background:var(--gold);color:var(--forest)}.button-gold:hover{box-shadow:0 0 18px oklch(.75 .09 110 / .35);transform:translateY(-2px)}.button-ghost{border:1px solid oklch(.95 0 0 / .5);color:var(--white);backdrop-filter:blur(5px)}.button-light{background:var(--white);color:var(--forest)}.button-dark{background:var(--forest);color:var(--white)}.button-outline{border:1px solid var(--forest);color:var(--forest)}.menu-button{display:none;background:transparent;border:0;width:48px;height:48px;padding:12px}.menu-button span{display:block;width:24px;height:1px;background:currentColor;margin:7px auto}.mobile-menu{display:none}.hero{position:relative;min-height:100dvh;color:var(--white);display:flex;align-items:center;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{background:url('https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?auto=format&fit=crop&w=2000&q=88') center/cover;animation:heroDrift 20s ease-in-out infinite alternate}.hero-shade{background:linear-gradient(90deg,oklch(.15 .06 150 / .96) 0%,oklch(.18 .06 150 / .72) 48%,oklch(.15 .04 150 / .2) 78%),linear-gradient(0deg,oklch(.12 .04 150 / .62),transparent 50%)}@keyframes heroDrift{to{transform:scale(1.06) translate3d(1%,-1%,0)}}.hero-content{position:relative;z-index:1;width:min(750px,62vw);margin:8rem 0 5rem 8vw}.hero-kicker,.single-kicker,.section-heading>span,.headspa-copy>span,.hotstone-content>span,.beauty-intro>span,.lounge-copy>span,.couple span,.gallery header span,.contact-info>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.19em;color:var(--gold)}.hero h1{font-size:clamp(4.3rem,8.2vw,6rem);line-height:.86;letter-spacing:-.04em;margin:.8rem 0 1.8rem}.hero-lead{max-width:610px;font-family:var(--display);font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.35}.hero-copy{max-width:630px;color:oklch(.92 .012 120);font-size:clamp(.9rem,1.15vw,1.05rem)}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero-meta{position:absolute;z-index:2;right:5vw;bottom:4.6rem;display:flex;gap:3rem;font-size:.72rem;line-height:1.55}.hero-meta a{color:var(--pale-gold)}.scroll-cue{position:absolute;left:2.4vw;bottom:3.5rem;z-index:2;display:flex;align-items:center;gap:1rem;transform:rotate(-90deg);transform-origin:left top;font-size:.6rem;text-transform:uppercase;letter-spacing:.16em}.scroll-cue i{display:block;width:55px;height:1px;background:var(--gold);animation:pulseLine 2.5s infinite}@keyframes pulseLine{50%{transform:scaleX(.45);opacity:.5}}.section{padding:clamp(6rem,11vw,10rem) 0;width:var(--container);margin:auto}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(4rem,9vw,10rem);align-items:center}.about-copy{padding-left:5vw}.about-copy h2{margin-top:.5rem}.about-copy .intro{font:500 1.35rem/1.5 var(--display)}.about-copy>p:not(.intro){max-width:62ch;color:var(--muted)}blockquote{margin:2.5rem 0 0;padding:1.5rem 0;border-top:1px solid var(--gold);font:500 1.15rem/1.55 var(--display);color:var(--emerald)}.arch-image{margin:0;height:min(720px,65vw);border-radius:50vw 50vw var(--radius) var(--radius);overflow:hidden}.arch-image img,.headspa-media img,.lounge-image img{transition:transform 1.2s var(--ease)}.arch-image:hover img,.headspa-media:hover img,.lounge-image:hover img{transform:scale(1.035)}.rituals{width:100%;padding-left:8vw;padding-right:8vw;background:var(--forest);color:var(--white)}.section-heading{max-width:780px;margin-bottom:4.5rem}.section-heading h2{margin:.6rem 0 1rem}.section-heading p{color:oklch(.82 .02 140);font-size:1rem}.ritual-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw}.ritual-feature{min-height:470px;padding:3.5rem;border:1px solid oklch(.8 .08 110 / .4);display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--radius);background:linear-gradient(145deg,oklch(.31 .08 150),oklch(.21 .06 150))}.ritual-index{font:500 4rem/1 var(--display);color:var(--gold)}.ritual-feature h3{font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.05;margin:1rem 0}.ritual-feature p{max-width:64ch;color:oklch(.88 .015 120)}.price-stack{display:flex;gap:1rem;flex-wrap:wrap;border-top:1px solid oklch(.9 0 0 / .18);padding-top:1.5rem}.price-stack span{display:flex;flex-direction:column;font-size:.72rem}.price-stack b{font-size:1rem;color:var(--pale-gold)}.ritual-list{display:flex;flex-direction:column}.ritual-row{padding:1.8rem 0;border-top:1px solid oklch(.9 0 0 / .18);display:grid;grid-template-columns:1fr auto;gap:1rem}.ritual-row h3{font-size:1.45rem;margin:0 0 .4rem}.ritual-row p{font-size:.75rem;color:oklch(.82 .02 140);margin:0}.ritual-row strong{color:var(--pale-gold)}.headspa{display:grid;grid-template-columns:1.2fr .8fr;gap:0;width:100%;padding:0;background:var(--surface);align-items:stretch}.headspa-media{height:900px;position:relative;overflow:hidden}.lotus-mark{position:absolute;bottom:2rem;right:2rem;font:500 7rem/1 var(--display);color:var(--gold);opacity:.8}.headspa-copy{padding:10vw 7vw;align-self:center}.headspa-copy h2{margin:.5rem 0}.lead{font:500 1.25rem/1.45 var(--display);color:var(--emerald)}.service-lines article{padding:1.5rem 0;border-top:1px solid var(--line)}.service-lines h3{font-size:1.5rem;margin-bottom:.2rem}.service-lines p{color:var(--muted);margin-bottom:.5rem}.service-lines strong{font-size:.75rem}.text-link{display:inline-block;margin-top:2rem;border-bottom:1px solid var(--gold);padding-bottom:.2rem;color:var(--emerald)}.menu-section{width:100%;padding-left:8vw;padding-right:8vw}.dark-text>p{color:var(--muted)}.tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.tabs button{flex:0 0 auto;border:0;background:none;padding:1rem 1.4rem;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.tabs button.active{color:var(--forest);border-color:var(--gold)}.tab-panel{display:grid;grid-template-columns:repeat(2,1fr);column-gap:6vw;min-height:320px;padding-top:2rem}.menu-item{display:grid;grid-template-columns:1fr auto auto;gap:1.5rem;align-items:baseline;padding:1.3rem 0;border-bottom:1px solid var(--line);animation:panelIn .5s var(--ease) both}.menu-item h3{font-size:1.25rem;margin:0}.menu-item p{font-size:.72rem;color:var(--muted);grid-column:1/-1;margin:-.7rem 0 0}.menu-item span{font-size:.72rem}.menu-item strong{font-size:.9rem;color:var(--emerald)}@keyframes panelIn{from{opacity:0;transform:translateY(10px)}}.hotstone{min-height:760px;position:relative;display:flex;align-items:center;color:var(--white);overflow:hidden}.hotstone-bg{position:absolute;inset:0;background:linear-gradient(90deg,oklch(.12 .03 150 / .92),oklch(.14 .03 150 / .15)),url('https://images.unsplash.com/photo-1544161515-4ab6ce6db874?auto=format&fit=crop&w=2000&q=85') center 42%/cover}.hotstone-content{position:relative;width:min(590px,80vw);margin-left:10vw}.hotstone h2{margin:.6rem 0}.hotstone p{max-width:50ch;color:oklch(.91 .015 110)}.hot-prices{display:flex;gap:2rem;margin:2rem 0}.hot-prices b{display:flex;flex-direction:column;font-size:.75rem}.hot-prices em{font:500 1.4rem/1.4 var(--display);font-style:normal;color:var(--pale-gold)}.beauty{display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw}.beauty-intro{position:sticky;top:130px;align-self:start}.beauty-intro p{max-width:44ch;color:var(--muted)}.beauty-columns{display:grid;grid-template-columns:1fr 1fr;gap:4vw}.beauty-columns>div>h3{font-size:2rem;padding-bottom:1rem;border-bottom:1px solid var(--forest)}.care-row{padding:1.1rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}.care-row span{color:var(--muted);font-size:.78rem;text-align:right}.values{background:var(--emerald);color:var(--white);padding:8rem 8vw;display:grid;grid-template-columns:repeat(3,1fr);gap:6vw}.value{border-top:1px solid var(--gold);padding-top:1.5rem}.value b{font:500 4.5rem/1 var(--display);color:oklch(.85 .07 110 / .45)}.value h3{font:500 1rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.12em;margin:1.8rem 0 1rem}.value p{color:oklch(.87 .02 140)}.lounge{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}.lounge-copy{padding-left:5vw}.lounge-copy>p{max-width:55ch;color:var(--muted)}.lounge-image{height:720px;margin:0;position:relative;overflow:hidden;border-radius:var(--radius)}.lounge-image figcaption{position:absolute;bottom:0;left:0;right:0;background:oklch(.18 .05 150 / .85);color:var(--white);padding:1.5rem;font-size:.75rem;backdrop-filter:blur(8px)}.lounge-tabs{display:flex;gap:1.2rem;margin:2rem 0 .5rem}.lounge-tabs button{border:0;border-bottom:1px solid transparent;background:none;padding:.5rem 0;cursor:pointer;color:var(--muted)}.lounge-tabs button.active{color:var(--forest);border-color:var(--gold)}.lounge-line{display:flex;justify-content:space-between;gap:2rem;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.8rem}.couple{margin:0 5vw 8vw;padding:8vw;background:var(--forest);color:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:10vw;border-radius:var(--radius);position:relative;overflow:hidden}.couple:after{content:"";position:absolute;width:400px;height:400px;border:1px solid oklch(.75 .09 110 / .25);border-radius:50%;right:-120px;top:-180px}.couple p{color:oklch(.86 .02 140);max-width:55ch}.couple-offer{border-top:1px solid var(--gold);padding-top:2rem;z-index:1}.couple-offer h3{font-size:2rem}.couple-offer strong{display:block;color:var(--pale-gold);margin:1rem 0 2rem}.gallery{padding-top:4rem}.gallery header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem}.gallery header h2{margin:0}.gallery-grid{display:grid;grid-template-columns:1.1fr .7fr .9fr;grid-auto-rows:260px;gap:1rem}.gallery-item{border:0;padding:0;overflow:hidden;cursor:zoom-in;border-radius:var(--radius);position:relative}.gallery-item:nth-child(1),.gallery-item:nth-child(4){grid-row:span 2}.gallery-item img{transition:transform .8s var(--ease)}.gallery-item:hover img{transform:scale(1.03)}.gallery-item:after{content:attr(data-label);position:absolute;inset:auto 0 0;background:linear-gradient(transparent,oklch(.12 .03 150 / .85));padding:3rem 1rem 1rem;color:white;text-align:left;font-size:.7rem;opacity:0;transition:.3s}.gallery-item:hover:after{opacity:1}.booking{min-height:720px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);position:relative}.booking-bg{position:absolute;inset:0;background:linear-gradient(oklch(.14 .05 150 / .82),oklch(.14 .05 150 / .9)),url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=2000&q=85') center/cover}.booking-copy{z-index:1;width:min(680px,84vw)}.booking-copy p{max-width:54ch;margin:0 auto 2rem;color:oklch(.89 .015 120)}.booking-phone{display:block;margin-top:1.4rem;font:500 1.3rem var(--display);color:var(--pale-gold)}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.contact-info{padding-left:4vw}.contact-info h2{margin:.5rem 0 2rem}.contact-info h3{font:500 1.25rem var(--sans);letter-spacing:0}.contact-info>a{font-size:1.2rem;color:var(--emerald)}.hours{margin-top:2rem;border-top:1px solid var(--line)}.hours div{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--line)}.status{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;margin-top:1rem}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}.status.open:before{background:oklch(.68 .16 145)}.contact iframe{border:0;width:100%;height:680px;filter:saturate(.65) contrast(1.05);border-radius:var(--radius)}footer{background:oklch(.16 .05 150);color:var(--white);padding:6rem 7vw 2rem}.footer-main{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:7vw}.footer-brand strong{display:block;font:500 3.4rem/1 var(--display)}.footer-brand span{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.footer-brand p,footer address{color:oklch(.8 .02 140);font-style:normal}footer nav{display:flex;flex-direction:column;gap:.6rem;font-size:.78rem}footer address a{color:var(--pale-gold)}.footer-bottom{border-top:1px solid oklch(.9 0 0 / .14);margin-top:5rem;padding-top:1.5rem;display:flex;justify-content:space-between;color:oklch(.68 .02 140);font-size:.65rem}.footer-bottom div{display:flex;gap:1.5rem}.floating-phone{position:fixed;right:1.5rem;bottom:1.5rem;width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--forest);display:flex;align-items:center;justify-content:center;z-index:18;box-shadow:0 6px 8px oklch(.15 .05 150 / .28)}.mobile-booking{display:none}dialog{border:0;padding:0;background:transparent;max-width:min(1100px,92vw);overflow:visible}dialog::backdrop{background:oklch(.08 .02 150 / .92);backdrop-filter:blur(8px)}dialog img{max-height:80vh;border-radius:var(--radius)}dialog button{position:absolute;right:-10px;top:-45px;border:0;background:none;color:white;font-size:2rem;cursor:pointer}dialog p{color:white;margin-top:.7rem}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js .reveal.visible{opacity:1;transform:none}
@media(max-width:1180px){.desktop-nav{display:none}.menu-button{display:block;margin-left:auto;color:inherit}.header-cta{display:none}.mobile-menu{display:flex;position:fixed;inset:0;background:var(--forest);z-index:var(--z-menu);align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.45s var(--ease)}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu nav{display:flex;flex-direction:column;align-items:center;gap:.6rem}.mobile-menu nav>a:not(.button){font:500 clamp(1.8rem,5vw,3.4rem)/1.25 var(--display)}.mobile-menu .button{margin-top:1.5rem}.header.menu-active{z-index:31}.hero-content{width:min(750px,78vw)}.ritual-layout{gap:4vw}.headspa-media{height:780px}.tab-panel{column-gap:3vw}.beauty{gap:5vw}}
@media(max-width:800px){body{padding-bottom:67px}h2{font-size:clamp(2.55rem,11vw,4.4rem)}.header{height:78px;padding:0 5vw}.brand strong{font-size:1.7rem}.hero{min-height:95dvh;align-items:flex-end}.hero-media{background-position:62% center}.hero-shade{background:linear-gradient(0deg,oklch(.13 .05 150 / .95) 0%,oklch(.14 .05 150 / .58) 68%,oklch(.14 .05 150 / .35))}.hero-content{width:auto;margin:0 6vw 8.5rem}.hero h1{font-size:clamp(3.7rem,18vw,5.4rem)}.hero-copy{font-size:.84rem;line-height:1.65}.hero-lead{font-size:1.15rem}.hero-meta,.scroll-cue{display:none}.actions{align-items:stretch}.hero .actions .button{flex:1}.section{width:calc(100% - 12vw);padding:6rem 0}.about{display:flex;flex-direction:column;gap:3.5rem}.about-copy{padding:0}.arch-image{width:100%;height:115vw;max-height:620px}.rituals{width:100%;padding:6rem 6vw}.section-heading{margin-bottom:3rem}.ritual-layout{display:block}.ritual-feature{padding:1.6rem;min-height:520px}.ritual-list{margin-top:2rem}.headspa{display:flex;flex-direction:column}.headspa-media{height:115vw;max-height:620px}.headspa-copy{padding:5.5rem 6vw}.headspa-copy h2{font-size:clamp(3.3rem,14vw,5rem)}.menu-section{width:100%;padding:6rem 6vw}.tabs{margin-right:-6vw}.tabs button{padding-left:1rem;padding-right:1rem}.tab-panel{grid-template-columns:1fr}.menu-item{grid-template-columns:1fr auto}.menu-item span{grid-column:1}.menu-item strong{grid-column:2;grid-row:1/3}.menu-item p{grid-column:1/-1}.hotstone{min-height:720px}.hotstone-bg{background-position:62% center}.hotstone-content{margin:0 6vw;width:auto}.beauty{display:block}.beauty-intro{position:static}.beauty-columns{grid-template-columns:1fr;margin-top:3rem;gap:3rem}.values{grid-template-columns:1fr;padding:6rem 6vw;gap:4rem}.value b{font-size:3.6rem}.lounge{display:flex;flex-direction:column-reverse;gap:3rem}.lounge-copy{padding:0}.lounge-image{height:110vw;max-height:580px;width:100%}.couple{margin:0;padding:6rem 6vw;grid-template-columns:1fr;gap:3rem;border-radius:0}.gallery header{display:block}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:210px}.gallery-item:nth-child(1),.gallery-item:nth-child(4){grid-row:span 1}.gallery-item:nth-child(1){grid-column:span 2}.booking{min-height:660px}.contact{display:flex;flex-direction:column;gap:3rem}.contact-info{padding:0}.contact iframe{height:440px;width:calc(100% + 12vw);margin-left:-6vw;border-radius:0}.footer-main{grid-template-columns:1fr;gap:3rem}.footer-bottom{display:block}.footer-bottom div{margin-top:1rem}.floating-phone{display:none}.mobile-booking{display:block;position:fixed;left:0;right:0;bottom:0;background:var(--gold);color:var(--forest);z-index:var(--z-sticky);padding:max(.7rem,env(safe-area-inset-bottom)) 5vw .7rem}.mobile-booking a{display:flex;justify-content:space-between;align-items:center;min-height:46px}.mobile-booking span{font-weight:600}.mobile-booking b{font-size:.73rem}.lotus-mark{font-size:5rem}}
@media(max-width:430px){.brand span{font-size:.43rem}.hero .actions{display:grid;grid-template-columns:1fr}.hero-content{margin-bottom:5rem}.gallery-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:270px}.gallery-item:nth-child(1){grid-column:auto}.mobile-booking a{gap:.5rem}.mobile-booking b{font-size:.66rem}.ritual-feature h3{font-size:2rem}.price-stack{gap:.7rem}.care-row{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}

/* Flagship polish pass */
::selection{background:var(--gold);color:var(--forest)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;background:radial-gradient(circle at 12% 8%,oklch(.84 .065 100 / .025),transparent 24%)}
.header{border-bottom:1px solid transparent}.header.scrolled{border-color:oklch(.84 .065 100 / .16);box-shadow:none}.header-cta{margin-left:.25rem}.brand strong{font-size:2.15rem}.brand span{opacity:.78}.desktop-nav a{font-weight:500;letter-spacing:.012em}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 20%,oklch(.8 .08 110 / .12),transparent 23%);pointer-events:none}.hero-content{margin-left:9vw}.hero-kicker{display:flex;align-items:center;gap:.85rem;color:var(--pale-gold)}.hero-kicker:before{content:"";width:36px;height:1px;background:currentColor}.hero h1 span{color:var(--pale-gold);font-style:italic}.hero-copy{max-width:570px}.hero-seal{position:absolute;right:5vw;top:30%;z-index:2;width:152px;height:152px;border:1px solid oklch(.84 .065 100 / .46);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:sealFloat 7s ease-in-out infinite}.hero-seal span{font:500 1.45rem/1 var(--display);letter-spacing:.08em}.hero-seal i{width:36px;height:1px;background:var(--gold);margin:.65rem 0}.hero-seal small{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:oklch(.9 .02 110)}@keyframes sealFloat{50%{transform:translateY(-8px)}}
.section{position:relative}.about{padding-top:clamp(8rem,13vw,12rem);padding-bottom:clamp(8rem,13vw,12rem)}.about-copy{position:relative}.about-copy:before{content:"";position:absolute;width:1px;height:72px;background:var(--gold);left:1.5vw;top:0}.arch-image{position:relative}.arch-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,oklch(.12 .04 150 / .55),transparent 34%)}.arch-image figcaption{position:absolute;z-index:2;left:2rem;bottom:2rem;color:var(--white);font:500 1.15rem/1.35 var(--display)}.arch-image figcaption span{display:block;color:var(--pale-gold);font:500 .68rem/1 var(--sans);letter-spacing:.14em;margin-bottom:.6rem}
.section-heading>span,.headspa-copy>span,.hotstone-content>span,.beauty-intro>span,.lounge-copy>span,.couple span,.gallery header span,.contact-info>span{display:inline-flex;align-items:center;gap:.7rem}.section-heading>span:before,.headspa-copy>span:before,.hotstone-content>span:before,.beauty-intro>span:before,.lounge-copy>span:before,.couple span:before,.gallery header span:before,.contact-info>span:before{content:"";width:26px;height:1px;background:currentColor}.section-heading{margin-left:3vw}.rituals{background:linear-gradient(135deg,var(--forest),oklch(.19 .055 150));overflow:hidden}.rituals:after{content:"LU LI";position:absolute;right:-1vw;bottom:-5vw;font:500 clamp(8rem,20vw,22rem)/.75 var(--display);color:oklch(.7 .05 120 / .035);letter-spacing:-.06em;pointer-events:none}.ritual-feature{position:relative;z-index:1}.ritual-row{position:relative;transition:transform .35s var(--ease),color .35s}.ritual-row:before{content:"";position:absolute;inset:0 auto 0 -1rem;width:2px;background:var(--gold);transform:scaleY(0);transition:transform .35s var(--ease)}.ritual-row:hover{transform:translateX(1rem)}.ritual-row:hover:before{transform:scaleY(1)}
.headspa{background:oklch(.945 .012 140)}.headspa-media:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 55%,oklch(.15 .05 150 / .42))}.headspa-copy{position:relative}.headspa-copy:after{content:"VIETNAM";position:absolute;right:1.5vw;top:7vw;writing-mode:vertical-rl;font-size:.58rem;letter-spacing:.42em;color:oklch(.3 .04 150 / .38)}.service-lines article{transition:transform .35s var(--ease),background .35s}.service-lines article:hover{transform:translateX(.7rem);background:oklch(.98 .004 110 / .65)}
.headspa{min-height:720px}.headspa-media{height:auto;min-height:720px}.headspa-copy{padding:clamp(4.5rem,6vw,6.5rem) clamp(3.5rem,6vw,7rem)}.headspa-copy h2{font-size:clamp(3.7rem,5vw,5.4rem);line-height:.98}.headspa-copy:after{display:none}
.menu-section{background:var(--bg)}.tabs{position:sticky;top:76px;z-index:10;background:oklch(.985 .003 110 / .94);backdrop-filter:blur(14px);padding-top:.3rem}.tabs button{min-height:52px;font-size:.78rem;font-weight:600}.tabs button:hover{color:var(--forest);background:oklch(.75 .09 110 / .08)}.menu-item{padding:1.6rem .9rem;transition:background .3s,transform .3s var(--ease)}.menu-item:hover{background:oklch(.75 .09 110 / .075);transform:translateX(.35rem)}.menu-item h3{font-size:1.38rem}.menu-item strong{font-size:1rem}
.menu-section{padding-top:clamp(4.5rem,7vw,6.5rem);padding-bottom:clamp(5rem,8vw,7rem)}.menu-section .section-heading{max-width:880px;margin-left:0;margin-bottom:2.75rem}.menu-section .section-heading h2{font-family:var(--sans);font-size:clamp(2.8rem,4.2vw,4.5rem);font-weight:500;letter-spacing:-.05em;line-height:1.05}.menu-section .section-heading p{color:var(--muted);font-size:1rem}.menu-item h3{font-family:var(--sans);font-size:1.1rem;font-weight:600;letter-spacing:-.02em;line-height:1.35}.menu-item p{font-size:.78rem;line-height:1.6}.menu-item span{font-weight:500}.menu-item strong{font-family:var(--sans);font-weight:600}
@media(max-width:800px){.menu-section{padding-top:4.5rem;padding-bottom:5rem}.menu-section .section-heading{margin-bottom:2rem}.menu-section .section-heading h2{font-size:clamp(2.5rem,10vw,3.5rem);line-height:1.08}.menu-item h3{font-size:1.02rem}}
.hotstone-bg{background-image:linear-gradient(90deg,oklch(.12 .03 150 / .92),oklch(.14 .03 150 / .15)),url('https://images.unsplash.com/photo-1616394584738-fc6e612e71b9?auto=format&fit=crop&w=2000&q=85');background-position:center 38%;transition:transform 1.5s var(--ease)}.hotstone:hover .hotstone-bg{transform:scale(1.018)}.hotstone-content{padding-left:2rem;border-left:1px solid var(--gold)}.beauty-columns>div{padding-top:1.2rem}.care-row{min-height:62px;align-items:center;transition:transform .3s var(--ease),background .3s}.care-row:hover{transform:translateX(.35rem);background:oklch(.75 .09 110 / .07)}.values{background:linear-gradient(110deg,var(--emerald),oklch(.255 .07 150));position:relative;overflow:hidden}.value{position:relative}.value b{transition:color .4s,transform .4s var(--ease);display:inline-block}.value:hover b{color:var(--gold);transform:translateY(-4px)}.lounge-image:before{content:"";position:absolute;z-index:2;inset:1.2rem;border:1px solid oklch(.84 .065 100 / .38);border-radius:calc(var(--radius) - 4px);pointer-events:none}.lounge-tabs button{min-height:44px;font-weight:600}.lounge-line{min-height:48px;align-items:center;transition:transform .3s var(--ease),background .3s}.lounge-line:hover{transform:translateX(.35rem);background:oklch(.75 .09 110 / .075)}.couple{box-shadow:0 8px 8px oklch(.18 .05 150 / .14)}.gallery-item{background:var(--surface)}.gallery-item:focus-visible{outline-offset:5px}.booking-copy h2{text-shadow:0 2px 16px oklch(.08 0 0 / .26)}.contact iframe{box-shadow:0 8px 8px oklch(.18 .05 150 / .12)}
footer{position:relative;overflow:hidden}footer:before{content:"";position:absolute;width:520px;height:520px;border:1px solid oklch(.75 .09 110 / .09);border-radius:50%;left:-240px;top:-260px}.footer-main{position:relative;z-index:1}.footer-main nav a{width:max-content;transition:color .25s,transform .25s}.footer-main nav a:hover{color:var(--pale-gold);transform:translateX(4px)}.footer-bottom{position:relative;align-items:center;min-height:40px}.design-credit{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;color:oklch(.76 .025 130);letter-spacing:.04em}.design-credit b{color:var(--pale-gold);font-weight:600}.footer-bottom a:hover{color:var(--pale-gold)}
@media(max-width:1180px){.hero-seal{right:4vw;top:24%;width:126px;height:126px}.about-copy:before{display:none}.section-heading{margin-left:0}}
@media(max-width:800px){body{font-size:14px}.hero-seal{display:none}.hero-kicker,.single-kicker,.section-heading>span,.headspa-copy>span,.hotstone-content>span,.beauty-intro>span,.lounge-copy>span,.couple span,.gallery header span,.contact-info>span{font-size:.72rem}.hero-content{margin-left:6vw}.hero h1{line-height:.9}.hero h1 span{display:inline-block;padding-bottom:.08em}.arch-image figcaption{left:1.4rem;bottom:1.4rem}.tabs{top:77px}.tabs button{font-size:.82rem}.menu-item span,.menu-item p,.ritual-row p{font-size:.8rem}.ritual-row{grid-template-columns:1fr}.ritual-row strong{font-size:.9rem}.hotstone-content{padding-left:1rem}.footer-bottom{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.footer-bottom>span:first-child{order:2}.design-credit{position:static;transform:none;order:1}.footer-bottom div{order:3;margin-top:0}.footer-main nav a{font-size:.9rem}}
@media(max-width:800px){.headspa{min-height:0}.headspa-media{height:115vw;min-height:0;max-height:620px}.headspa-copy{padding:4.5rem 6vw}.headspa-copy h2{font-size:clamp(3rem,13vw,4.6rem);line-height:1}}
@media(max-width:430px){.hero .button{font-size:.78rem}.hero-lead{max-width:29ch}.about{padding-top:6.5rem}.ritual-feature{min-height:auto;gap:4rem}.hot-prices{gap:1.2rem}.contact-info .actions{display:grid}.footer-brand strong{font-size:3rem}}

/* Editorial gallery and PDF-sourced Genuss menu */
.gallery{width:100%;padding:clamp(6.5rem,10vw,9rem) 5vw;background:oklch(.965 .01 140)}
.gallery header{width:min(1320px,100%);margin:0 auto 3.5rem;align-items:end}
.gallery header:after{content:"Ausgewählte Impressionen aus unseren Ritualen";max-width:34ch;color:var(--muted);font-size:.78rem;line-height:1.6;text-align:right}
.gallery-grid{width:min(1420px,100%);margin:auto;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(2,clamp(250px,22vw,340px));grid-auto-rows:unset;gap:.8rem}
.gallery-item:nth-child(1){grid-column:1/6;grid-row:1/3}
.gallery-item:nth-child(2){grid-column:6/9;grid-row:1}
.gallery-item:nth-child(3){grid-column:9/13;grid-row:1}
.gallery-item:nth-child(4){grid-column:6/10;grid-row:2}
.gallery-item:nth-child(5){grid-column:10/13;grid-row:2}
.gallery-item:after{opacity:1;padding:4.5rem 1.2rem 1.2rem;font-size:.72rem;letter-spacing:.04em}
.gallery-item:before{content:"";position:absolute;z-index:2;inset:.7rem;border:1px solid oklch(.95 0 0 / 0);border-radius:calc(var(--radius) - 5px);transition:border-color .4s var(--ease);pointer-events:none}
.gallery-item:hover:before{border-color:oklch(.95 0 0 / .46)}
.genuss-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.4rem}
.genuss-item{min-width:0;min-height:104px;display:flex;align-items:center;gap:.9rem;padding:.7rem;border-bottom:1px solid var(--line);transition:transform .3s var(--ease),background .3s}
.genuss-item:hover{transform:translateY(-3px);background:oklch(.75 .09 110 / .075)}
.genuss-item img,.genuss-monogram{flex:0 0 78px;width:78px;height:78px;border-radius:50%;object-fit:cover;background:var(--forest)}
.genuss-monogram{display:grid;place-items:center;color:var(--pale-gold);font:500 1.25rem var(--display);border:1px solid oklch(.75 .09 110 / .45)}
.genuss-item div{min-width:0;display:flex;flex-direction:column;gap:.25rem}
.genuss-item h3{margin:0;font:500 1.02rem/1.2 var(--display);letter-spacing:-.01em}
.genuss-item b{font-size:.73rem;color:var(--emerald)}
.lounge.showing-genuss{grid-template-columns:1.2fr .8fr;gap:6vw}
.lounge.showing-genuss .lounge-image{height:640px}
@media(max-width:800px){.gallery{padding-left:4vw;padding-right:4vw}.gallery header:after{display:none}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 220px 220px;gap:.6rem}.gallery-item:nth-child(1){grid-column:1/3;grid-row:1}.gallery-item:nth-child(2),.gallery-item:nth-child(3),.gallery-item:nth-child(4),.gallery-item:nth-child(5){grid-column:auto;grid-row:auto}.lounge.showing-genuss{display:flex}.genuss-grid{grid-template-columns:1fr}.genuss-item{min-height:96px}.genuss-item img,.genuss-monogram{flex-basis:72px;width:72px;height:72px}}
@media(max-width:430px){.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:280px;grid-auto-rows:230px}.gallery-item:nth-child(1),.gallery-item:nth-child(2),.gallery-item:nth-child(3),.gallery-item:nth-child(4),.gallery-item:nth-child(5){grid-column:1;grid-row:auto}.genuss-item h3{font-size:1.1rem}}

/* Brand mark extracted and refined from the original PDF */
.brand{min-width:150px;align-items:center}
.brand img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 2px 3px oklch(.08 0 0 / .12))}
.brand span{margin-top:2px;font-size:.48rem;letter-spacing:.17em}
.footer-brand img{display:block;width:min(190px,100%);height:auto;margin:-1rem 0 1rem;object-fit:contain;object-position:left center}
.footer-brand>span{display:block}
@media(max-width:800px){.brand{min-width:64px;align-items:flex-start}.brand img{width:58px;height:58px}.footer-brand img{width:170px}}
.care-row>div{min-width:0}.care-row b{display:block}.care-row small{display:block;max-width:44ch;margin-top:.35rem;color:var(--muted);font-size:.7rem;font-weight:400;line-height:1.5}.beauty-columns>div>h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.15}
@media(max-width:800px){.care-row small{font-size:.78rem}}

/* 2026 typography and rhythm refinement */
:root{--display:"Be Vietnam Pro",sans-serif;--sans:"Be Vietnam Pro",sans-serif;--muted:oklch(.38 .025 150);--section-space:clamp(5.5rem,8vw,8rem)}
body{font-size:16px;line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.035em;line-height:1.08}
h2{font-size:clamp(2.7rem,4.6vw,4.8rem)}
p{ text-wrap:pretty }
.section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.hero h1{max-width:10ch;font-size:clamp(4rem,7.2vw,6rem);font-weight:500;line-height:.96;letter-spacing:-.04em}
.hero-lead,.about-copy .intro,.lead{font-family:var(--sans);font-weight:500;letter-spacing:-.015em}
.hero-kicker,.single-kicker,.section-heading>span,.headspa-copy>span,.hotstone-content>span,.beauty-intro>span,.lounge-copy>span,.couple span,.gallery header span,.contact-info>span{font-weight:600;letter-spacing:.11em}
.section-heading{margin-bottom:3.25rem}.section-heading h2{letter-spacing:-.04em}
.ritual-feature h3,.headspa-copy h2,.hotstone h2,.beauty-intro h2,.lounge-copy h2,.couple h2,.booking-heading h2,.contact-info h2{letter-spacing:-.04em}
.service-lines h3,.beauty-columns>div>h3,.ritual-row h3,.couple-offer h3{font-family:var(--sans);font-weight:500;letter-spacing:-.025em}
.text-link{font-weight:500;text-underline-offset:.3rem}
.tabs button{font-size:.84rem;letter-spacing:-.01em}.menu-item{padding-top:1.4rem;padding-bottom:1.4rem}
.care-row b{font-weight:500}.care-row span,.menu-item span,.menu-item p{font-size:.8rem}
.service-preview-card strong{font-family:var(--sans);font-weight:500;letter-spacing:-.035em}
.button{font-size:.78rem;letter-spacing:.01em}
@media(max-width:800px){body{font-size:15px}h2{font-size:clamp(2.4rem,10vw,3.7rem)}.section{padding-top:5rem;padding-bottom:5rem}.hero h1{font-size:clamp(3.4rem,15vw,5rem)}.section-heading{margin-bottom:2.5rem}}

/* Visual service overview directly after the hero */
.service-preview{width:min(1360px,90vw);margin:auto;padding:clamp(4.5rem,7vw,7rem) 0;display:grid;grid-template-columns:minmax(290px,.6fr) minmax(0,1.4fr);gap:clamp(2.5rem,5vw,5.5rem);align-items:center}.service-preview-heading{padding-top:.4rem}.service-preview-heading>p{margin:0 0 1rem;color:var(--emerald);font-size:.68rem;letter-spacing:.19em;text-transform:uppercase}.service-preview-heading h2{max-width:11ch;font-family:var(--sans);font-size:clamp(2.35rem,3.15vw,3.5rem);font-weight:500;letter-spacing:-.045em;line-height:1.08;margin:0 0 2rem;text-wrap:balance}.service-preview-heading .text-link{color:var(--emerald)}
.service-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,clamp(245px,20vw,320px));gap:.8rem}.service-preview-card{position:relative;overflow:hidden;border-radius:var(--radius);isolation:isolate;background:var(--forest);color:var(--white)}.service-preview-card-large{grid-row:auto}.service-preview-card:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,oklch(.11 .045 150 / .84),transparent 62%)}.service-preview-card img{transition:transform .8s var(--ease),filter .5s var(--ease)}
.service-preview-card>span{position:absolute;z-index:2;left:clamp(1.2rem,2.2vw,2rem);right:1.2rem;bottom:clamp(1.2rem,2.2vw,2rem);display:flex;flex-direction:column;align-items:flex-start}.service-preview-card small{margin-bottom:.45rem;color:var(--pale-gold);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.service-preview-card strong{font:500 clamp(1.45rem,2.2vw,2.5rem)/1.08 var(--display);letter-spacing:-.02em}.service-preview-card em{margin-top:.55rem;font-size:.7rem;font-style:normal;color:oklch(.92 .015 120)}.service-preview-card:hover img{transform:scale(1.045);filter:saturate(1.06)}.service-preview-card:focus-visible{outline-offset:5px}
@media(max-width:900px){.service-preview{grid-template-columns:1fr;align-items:start}.service-preview-heading{max-width:650px}.service-preview-heading h2{max-width:15ch;font-size:clamp(2.6rem,7vw,3.6rem)}.service-preview-grid{grid-template-rows:repeat(2,320px)}}
@media(max-width:600px){.service-preview{width:calc(100% - 8vw);padding:4.5rem 0}.service-preview-heading h2{max-width:13ch;font-size:clamp(2.35rem,10vw,3.1rem);line-height:1.1}.service-preview-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.65rem;padding-bottom:.65rem;scrollbar-width:none}.service-preview-grid::-webkit-scrollbar{display:none}.service-preview-card,.service-preview-card-large{flex:0 0 84vw;height:440px;scroll-snap-align:start}.service-preview-card strong{font-size:2rem}.service-preview-card>span{left:1.4rem;bottom:1.4rem}}

/* Asymmetric booking composition */
.booking{min-height:760px;justify-content:flex-start;text-align:left;isolation:isolate}
.booking-bg{z-index:-2;background:linear-gradient(90deg,oklch(.105 .035 150 / .96) 0%,oklch(.14 .05 150 / .72) 54%,oklch(.11 .03 150 / .38) 100%),linear-gradient(0deg,oklch(.08 .02 150 / .52),transparent 58%),url('https://images.unsplash.com/photo-1515377905703-c4788e51af15?auto=format&fit=crop&w=2000&q=88') center 48%/cover}
.booking:after{content:"";position:absolute;z-index:-1;inset:1.3rem;border:1px solid oklch(.84 .065 100 / .2);pointer-events:none}
.booking-inner{width:min(1320px,88vw);margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(4rem,10vw,10rem);align-items:end}
.booking-heading>span{display:inline-flex;align-items:center;gap:.75rem;color:var(--pale-gold);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.booking-heading>span:before{content:"";width:34px;height:1px;background:currentColor}
.booking-heading h2{font-size:clamp(4.2rem,7.2vw,6rem);line-height:.9;letter-spacing:-.04em;margin:1.1rem 0 0;max-width:9ch}
.booking-heading h2 em{display:inline-block;color:var(--pale-gold);font-weight:500;padding-bottom:.08em}
.booking-details{position:relative;padding:2.2rem 0;border-top:1px solid var(--gold);border-bottom:1px solid oklch(.84 .065 100 / .35)}
.booking-details>img{width:76px;height:76px;object-fit:contain;margin-bottom:1.5rem}
.booking-details>p{max-width:47ch;margin-bottom:1.8rem;color:oklch(.9 .015 120);font-size:.94rem}
.booking-phone{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 1.8rem;color:var(--white)}
.booking-phone small{font:500 .66rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--pale-gold)}
.booking-phone strong{font:500 clamp(1.8rem,2.6vw,2.6rem)/1.2 var(--display);letter-spacing:-.02em}
.booking-details>.button{min-width:230px}
.booking-hours{position:absolute;right:0;bottom:2.4rem;display:grid;grid-template-columns:auto auto;gap:.15rem 1rem;font-size:.68rem;color:oklch(.82 .02 130)}
.booking-hours b{color:var(--white);font-weight:500}
@media(max-width:800px){.booking{min-height:760px;align-items:flex-end}.booking-bg{background:linear-gradient(0deg,oklch(.1 .035 150 / .97) 0%,oklch(.12 .04 150 / .74) 68%,oklch(.12 .03 150 / .3)),url('https://images.unsplash.com/photo-1515377905703-c4788e51af15?auto=format&fit=crop&w=1200&q=84') center/cover}.booking:after{inset:.7rem}.booking-inner{width:calc(100% - 12vw);margin:7rem 6vw 4rem;grid-template-columns:1fr;gap:2.5rem}.booking-heading h2{font-size:clamp(3.5rem,15vw,5rem);max-width:10ch}.booking-details{padding:1.5rem 0}.booking-details>img{display:none}.booking-details>p{font-size:.88rem}.booking-phone{align-items:flex-start}.booking-hours{position:static;margin-top:1.7rem;width:max-content}.booking-details>.button{width:100%}}
@media(max-width:430px){.booking{min-height:800px}.booking-heading h2{font-size:3.55rem}.booking-inner{margin-bottom:2.7rem}.booking-phone strong{font-size:1.9rem}}

/* Final type safety overrides */
.service-preview-heading h2,.menu-section .section-heading h2{letter-spacing:-.035em}

/* Dessert menu image framing */
.genuss-grid{gap:.4rem 1rem}
.genuss-item{min-height:118px;gap:1.15rem;padding:.8rem 0}
.genuss-item img,.genuss-monogram{flex:0 0 112px;width:112px;height:88px;border-radius:12px;border:0;background:var(--forest)}
.genuss-item img{object-fit:contain;object-position:center;background:transparent}
.genuss-monogram{display:grid;place-items:center;color:var(--pale-gold);font:600 .76rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.genuss-item h3{font-family:var(--sans);font-size:1rem;font-weight:500;letter-spacing:-.02em;line-height:1.3}
.genuss-item b{font-size:.78rem;font-weight:600}
@media(max-width:800px){.genuss-item{min-height:108px}.genuss-item img,.genuss-monogram{flex-basis:96px;width:96px;height:80px}.genuss-item h3{font-size:1rem}}

/* Service selection and WhatsApp request */
.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}
.tab-count{min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;display:inline-grid;place-items:center;background:var(--forest);color:var(--white);font-size:.65rem;line-height:1}
.tab-count[hidden],.selection-clear[hidden],.selection-list[hidden],.selection-empty[hidden]{display:none!important}
.tabs button.active .tab-count{background:var(--gold);color:var(--forest)}
.service-choice{position:relative;grid-template-columns:44px minmax(0,1fr) auto;gap:1rem;align-items:center;min-height:82px;padding:1.2rem .9rem;cursor:pointer}
.service-checkbox{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.choice-control{grid-column:1;grid-row:1;width:30px;height:30px;border:1.5px solid var(--muted);border-radius:50%;display:grid;place-items:center;color:var(--forest);transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.choice-control svg{width:17px;height:17px;opacity:0;transform:scale(.7);transition:opacity .2s,transform .25s var(--ease)}
.service-choice .choice-copy{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0}
.service-choice .choice-title{font:600 1.08rem/1.35 var(--sans);letter-spacing:-.02em;color:var(--ink)}
.service-choice .choice-meta{display:flex;flex-wrap:wrap;gap:.1rem .75rem;margin-top:.2rem;color:var(--muted);font-size:.78rem;line-height:1.5}
.service-choice .choice-price{grid-column:3;grid-row:1;color:var(--emerald);font:600 .95rem/1.3 var(--sans);white-space:nowrap}
.service-choice.selected{background:oklch(.84 .065 100 / .22);box-shadow:inset 0 0 0 1px var(--gold);border-bottom-color:transparent;border-radius:10px}
.service-choice.selected .choice-control{background:var(--gold);border-color:var(--gold);transform:scale(1.04)}
.service-choice.selected .choice-control svg{opacity:1;transform:scale(1)}
.service-choice:has(.service-checkbox:focus-visible){outline:2px solid var(--emerald);outline-offset:3px;border-radius:10px}
.service-checkbox:focus-visible+.choice-control{outline:2px solid var(--emerald);outline-offset:3px}
@media(hover:hover){.service-choice:hover .choice-control{border-color:var(--gold)}.service-choice:hover{background:oklch(.75 .09 110 / .08)}}

.service-selection{margin-top:clamp(3rem,5vw,5rem);padding:clamp(1.6rem,3vw,3rem) 0 0;background:transparent;color:var(--ink);border-top:1px solid var(--forest)}
.service-selection-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}
.service-selection-header h3{margin:0 0 .2rem;font:500 clamp(1.8rem,3vw,2.7rem)/1.1 var(--sans);letter-spacing:-.035em}
.service-selection-header p{margin:0;color:var(--muted);font-size:.84rem}
.selection-clear{min-height:44px;padding:.55rem 0;border:0;background:transparent;color:var(--emerald);font:600 .75rem/1.2 var(--sans);cursor:pointer}
.selection-clear:hover{text-decoration:underline;text-underline-offset:.25rem}
.selection-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.86fr);gap:clamp(2rem,5vw,5rem);padding-top:1.7rem}
.selection-services{min-width:0}
.selection-empty{max-width:42ch;margin:0;color:var(--muted);font-size:.9rem}
.selection-list{list-style:none;margin:0;padding:0}
.selection-item{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.selection-item:first-child{padding-top:0}
.selection-item>span{display:flex;flex-direction:column;min-width:0}
.selection-item strong{font:600 .9rem/1.35 var(--sans);color:var(--ink)}
.selection-item small{margin-top:.15rem;color:var(--emerald);font-size:.72rem}
.selection-item button{width:44px;height:44px;border:0;border-radius:50%;background:var(--surface);color:var(--ink);font-size:1.35rem;cursor:pointer;transition:background .2s,transform .2s var(--ease)}
.selection-item button:hover{background:oklch(.84 .065 100 / .28)}
.selection-item button:active{transform:scale(.94)}
.booking-request{min-width:0}
.request-fields{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem}
.request-field{display:flex;flex-direction:column;gap:.45rem;color:var(--ink);font-size:.76rem;font-weight:600}
.request-field input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:.65rem .85rem;background:var(--white);color:var(--ink);font:500 .9rem/1.2 var(--sans);color-scheme:light}
.request-field input:disabled{opacity:.48;cursor:not-allowed}
.request-field input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.selection-submit{width:100%;border:0;cursor:pointer}
.selection-submit:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.selection-helper{margin:.65rem 0 0;text-align:center;color:var(--muted);font-size:.7rem;line-height:1.5}
@media(max-width:800px){.service-choice{grid-template-columns:40px minmax(0,1fr) auto;gap:.7rem;min-height:78px;padding:1rem .55rem}.choice-control{width:28px;height:28px}.service-choice .choice-title{font-size:1rem}.service-choice .choice-meta{font-size:.75rem}.service-choice .choice-price{font-size:.88rem}.service-selection{margin-left:0;margin-right:0;padding:1.5rem 0 0}.selection-layout{grid-template-columns:1fr;gap:1.8rem}.selection-services{min-height:3rem}.selection-submit{min-height:52px}}
@media(max-width:520px){.request-fields{grid-template-columns:1fr}.service-selection-header{align-items:flex-start}.selection-clear{flex:0 0 auto}.service-choice .choice-meta{display:block}.service-choice .choice-meta>span{display:block}.service-choice .choice-price{white-space:normal;text-align:right}.selection-submit{padding-left:1rem;padding-right:1rem}}

/* Booking flow polish */
.tabs{gap:.25rem;padding:.42rem;border-bottom:0;border-radius:12px;background:var(--surface);backdrop-filter:none}
.tabs button{min-height:44px;padding:.65rem 1.1rem;border-bottom:0;border-radius:999px;transition:color .25s,background .25s,transform .25s var(--ease)}
.tabs button.active{border-color:transparent;background:var(--forest);color:var(--white)}
.tabs button:active{transform:scale(.97)}
.tabs button.active .tab-count{background:var(--gold);color:var(--forest)}
.tab-panel{gap:.35rem 5vw;padding-top:1.25rem}
.service-choice{border-radius:10px}
.service-choice.selected{background:oklch(.84 .065 100 / .28)}
.service-choice:active .choice-control{transform:scale(.92)}
.service-selection{scroll-margin-top:110px}
.selection-empty{position:relative;padding:1rem 0 1rem 2.8rem}
.selection-empty:before{content:"+";position:absolute;left:0;top:.85rem;width:30px;height:30px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--emerald);font:500 1.1rem/1 var(--sans)}
.selection-item{animation:selectionIn .3s var(--ease) both}
.selection-item>span{position:relative;padding-left:2.25rem}
.selection-item>span:before{content:"✓";position:absolute;left:0;top:.08rem;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--forest);font:700 .72rem/1 var(--sans)}
@keyframes selectionIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.booking-request{position:relative;overflow:hidden;padding:1.5rem;background:var(--forest);border-radius:var(--radius);color:var(--white)}
.booking-request:after{content:"";position:absolute;right:-1.5rem;bottom:-1.8rem;width:120px;height:120px;background:url('assets/brand/lu-li-mark.png') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.065;pointer-events:none}
.request-fields,.selection-submit,.selection-helper{position:relative;z-index:1}
.request-field{color:var(--white)}
.request-field>span{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}
.request-field span small{color:var(--pale-gold);font-size:.65rem;font-weight:500}
.request-field input{border-color:transparent;background:var(--white)}
.request-field input:disabled{background:oklch(.98 0 0 / .82);opacity:.62}
.selection-submit{min-height:54px;padding-left:1.25rem;padding-right:1.25rem}
.selection-submit>span{text-align:left}
.selection-submit:after{content:"→";margin-left:auto;font-size:1.2rem;line-height:1;transition:transform .25s var(--ease)}
.selection-submit:not(:disabled):hover:after{transform:translateX(4px)}
.selection-helper{color:oklch(.84 .025 125);letter-spacing:.01em}
.mobile-booking.has-selection{background:var(--forest);color:var(--white);box-shadow:0 -1px 0 var(--gold)}
.mobile-booking.has-selection b{color:var(--pale-gold)}
@media(max-width:800px){.tabs{margin-right:-6vw;border-radius:12px 0 0 12px;padding-right:6vw}.tabs button{padding-left:1rem;padding-right:1rem}.selection-layout{gap:2rem}.booking-request{padding:1.3rem}.selection-item{padding:.7rem 0}}
@media(max-width:520px){.service-selection-header h3{font-size:1.75rem}.service-selection-header p{font-size:.78rem}.selection-clear{font-size:.7rem}.booking-request{margin-left:-1vw;margin-right:-1vw}.selection-submit{font-size:.7rem}}
