:root{--bg:#121212;--gold:#d8b875;--text:#f3efe6;--muted:#b8b5ae;--line:#ffffff20}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,'Microsoft Yahei',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#121212} .brand{display:flex;align-items:center;gap:14px;font-size:17px;letter-spacing:2px}.brand small{display:block;font-size:11px;letter-spacing:2.5px;color:var(--gold)}.seal{font-family:serif;font-size:34px;color:var(--gold);border:1px solid #d8b87566;width:50px;height:54px;text-align:center;line-height:50px}nav{display:flex;gap:35px;font-size:14px}nav a:hover,.text-link:hover{color:var(--gold)}.languages{display:flex;gap:2px}.languages button{border:0;background:transparent;color:var(--muted);padding:10px;cursor:pointer;font-size:14px}.languages button[aria-pressed=true]{color:var(--gold);border-bottom:1px solid var(--gold)}.hero{position:relative;min-height:740px;overflow:hidden;display:flex;align-items:center}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#121212 0%,#121212e8 28%,#12121240 70%),linear-gradient(0deg,#121212 0%,transparent 30%)}.hero-content{position:relative;width:100%;padding:65px 8% 110px;max-width:1500px;margin:auto}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:600;color:var(--gold);margin:0 0 30px}.hero-chinese{font-family:serif;font-size:26px;letter-spacing:15px;color:var(--gold);margin:0 0 10px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(70px,8vw,120px);line-height:.97;letter-spacing:-4px;margin:0 0 30px}em{font-family:Georgia,serif;font-weight:400;color:var(--gold)}.hero-description{font-size:19px;color:#d3d0c9;margin-bottom:35px}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;font-size:14px;min-height:52px;font-weight:600;border:1px solid transparent;transition:background .2s}.gold{background:var(--gold);color:#181613}.gold:hover{background:#ecd198}.outline{border-color:#d8b87580;color:var(--gold)}.outline:hover{background:#d8b87514}.text-link{font-size:14px;border-bottom:1px solid #b8b5ae;padding-bottom:4px}.hero-bottom{position:absolute;bottom:25px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;color:var(--muted)}.section{padding:95px 8%;max-width:1500px;margin:auto}h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(32px,3.5vw,49px);line-height:1.25;margin:0;letter-spacing:-.7px}.intro{border-bottom:1px solid var(--line)}.intro-grid,.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.large-copy{font-size:20px;margin:0 0 20px}.muted{color:var(--muted);margin-bottom:0}.qualities{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:28px;margin-top:55px;font-size:14px;color:var(--gold)}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:18px}.section-heading .muted{font-size:14px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.service{position:relative;min-height:390px;padding:35px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line)}.massage{background:linear-gradient(135deg,#272620,#181916)}.ktv{background:linear-gradient(135deg,#33211e,#201817)}.service-no{font-size:12px;letter-spacing:3px;color:var(--gold)}.service-han{position:absolute;right:35px;top:20px;font-size:140px;font-family:serif;color:#d8b87513;line-height:1.2}.service h3{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:400;margin:50px 0 15px}.service p{max-width:370px;color:var(--muted);margin:0 0 25px}.service a{font-size:14px;color:var(--gold);border-bottom:1px solid #d8b87570;padding-bottom:6px}.booking{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps>div{display:flex;gap:25px;padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.steps>div:last-child{margin-bottom:0}.steps>div>span{color:var(--gold);font-family:Georgia,serif;font-size:25px}.steps p{margin:0}.steps strong{font-weight:400;font-size:18px}.steps small{display:block;color:var(--muted);font-size:14px;margin-top:6px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.contact-intro h2{font-size:clamp(36px,4vw,58px)}.contact-intro>.muted{max-width:450px;margin:25px 0 30px}.phone{display:block;font-size:25px;letter-spacing:1px;margin-top:25px}.phone span{font-size:14px;display:block;color:var(--muted);letter-spacing:0}.address-card{border:1px solid #d8b87540;padding:35px;background:#1a1917}.address-top{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:30px}.address-top>span{font-family:serif;font-size:45px;color:var(--gold)}.address-top p{font-size:15px;letter-spacing:2px;margin:0}.address-top small{display:block;font-size:11px;letter-spacing:3px;color:var(--muted)}.address-card .eyebrow{margin-bottom:12px}.address{font-size:19px;line-height:1.8}.address-card .button{width:100%;padding:12px}.address-note{font-size:14px;color:var(--muted);margin:20px 0 0}footer{display:flex;justify-content:space-between;align-items:center;padding:35px 5%;border-top:1px solid var(--line)}footer p,footer>a:last-child{font-size:12px;color:var(--muted)}.mobile-book{display:none}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}@media(min-width:1550px){.hero-art{object-position:center 44%}}@media(max-width:900px){nav{gap:18px}.brand{font-size:14px}.contact,.intro-grid,.booking-grid{gap:35px}.section{padding:70px 6%}.hero-content{padding-left:6%}.hero-bottom{left:6%;right:6%}.hero{min-height:700px}.service{padding:25px}.contact{grid-template-columns:1fr 1fr}}@media(max-width:650px){header{height:85px;padding:0 5%}.brand{font-size:12px;letter-spacing:1px;gap:9px}.brand small{font-size:9px;letter-spacing:1px}.seal{width:38px;height:43px;font-size:28px;line-height:39px}nav{display:none}.languages button{padding:8px;font-size:12px}.hero{min-height:700px}.hero-art{object-position:63% center;opacity:.8}.hero-shade{background:linear-gradient(90deg,#121212d9,#12121260),linear-gradient(0deg,#121212,transparent 50%)}.hero-content{padding:55px 6% 100px}h1{font-size:84px}.hero-description{font-size:18px}.hero .actions{gap:20px;align-items:flex-start;flex-direction:column}.hero-bottom{font-size:10px;letter-spacing:1px}.hero-bottom span:last-child{display:none}.hero-bottom span:nth-child(2){max-width:180px;text-align:right}.eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:20px}.section{padding:60px 6%}.intro-grid,.booking-grid,.service-grid,.contact{grid-template-columns:1fr;gap:30px}.large-copy{font-size:18px}.qualities{flex-direction:column;gap:15px;margin-top:30px}.section-heading{display:block}.section-heading .muted{margin-top:20px}.service{min-height:350px}.service h3{font-size:29px}.contact{gap:45px}.address-card{padding:25px}.phone{font-size:24px}footer{padding:30px 6% 95px;flex-wrap:wrap;gap:18px}footer p{width:100%;order:3;margin:0}.mobile-book{display:flex;position:fixed;bottom:14px;left:6%;right:6%;z-index:10;align-items:center;justify-content:center;background:var(--gold);color:#181613;padding:13px;box-shadow:0 5px 30px #0007;font-size:15px;font-weight:600}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-handles{margin-top:20px;color:var(--muted);font-size:16px}.contact-handles p{margin:5px 0}.contact-handles strong{color:var(--text)}.wechat-qr{padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line);text-align:center;scroll-margin-top:30px}.wechat-qr img{max-width:100%;height:auto;background:white;padding:10px}.wechat-qr p{margin:12px 0}.wechat-qr .muted{font-size:14px}

.qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}.qr-item{text-align:center;min-width:0;scroll-margin-top:30px}.qr-item h3{color:var(--gold);font-size:18px;margin:0 0 12px}.qr-item img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:white;padding:8px}.qr-item p{font-size:14px;overflow-wrap:anywhere;margin:10px 0 0}.qr-panel{align-self:start}@media(max-width:380px){.qr-grid{grid-template-columns:1fr}}

.rooms{border-top:1px solid var(--line)}.pool-details{display:grid;grid-template-columns:1.4fr 1fr;gap:55px;margin-bottom:35px}.pool-details h3{font-size:25px;font-family:Georgia,serif;font-weight:400;margin:0 0 18px}.pool-details p{color:var(--muted)}.pool-details .pool-duration{color:var(--gold);margin-top:25px}.pool-price{border:1px solid #d8b87540;padding:25px;background:#1a1917}.pool-price p{display:flex;justify-content:space-between;gap:20px;margin:0 0 14px}.pool-price strong{color:var(--text);font-weight:500}.pool-price .button{width:100%;margin-top:10px}.pool-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pool-gallery a{display:block;overflow:hidden;border:1px solid var(--line)}.pool-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}.pool-gallery a:hover img{transform:scale(1.04)}@media(max-width:900px){nav{gap:14px}.pool-details{gap:25px}.pool-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.pool-details{grid-template-columns:1fr}.pool-gallery{gap:10px}.pool-price{padding:20px}}

.pool-disclosure{border:1px solid #d8b87540;background:#1a1917}.pool-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 30px;cursor:pointer;color:var(--gold);font-size:25px;list-style:none}.pool-disclosure summary::-webkit-details-marker{display:none}.pool-toggle-label{font-size:14px;display:flex;align-items:center;gap:15px}.pool-toggle-label::after{content:"+";font-size:25px}.pool-disclosure[open] .pool-toggle-label::after{content:"−"}.pool-disclosure[open] summary{border-bottom:1px solid var(--line)}.pool-content{padding:35px 30px}.pool-disclosure:not([open]) .pool-content{display:none}@media(max-width:650px){.pool-disclosure summary{padding:20px;font-size:23px}.pool-content{padding:25px 18px}}

.trung-description{max-width:850px;margin-bottom:35px}.trung-description h3{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:0 0 18px}.trung-description p{color:var(--muted)}.trung-description .pool-duration{color:var(--gold);margin-top:25px}

.trung-price{max-width:600px;margin-bottom:35px}.pool-price .price-note{display:block;font-size:14px;margin:20px 0 0}

.service-groups{display:grid;gap:40px}.massage-group{border:1px solid var(--line);background:#171714}.massage-group>.service{border:0;border-bottom:1px solid var(--line);min-height:280px}.massage-group>.service p{max-width:750px}.massage-rooms{padding:25px 30px}.massage-rooms .rooms{padding:0;margin:0 0 18px;border:0;max-width:none}.massage-rooms .rooms:last-child{margin-bottom:0}.service-groups>.ktv{min-height:280px}.service-groups>.ktv p{max-width:750px}@media(max-width:650px){.massage-rooms{padding:20px 12px}.massage-rooms summary{font-size:20px;gap:12px}.massage-rooms .pool-toggle-label{font-size:13px;flex-shrink:0}}

.ktv-group{border:1px solid #d8b87540;background:#171615;overflow:hidden}.ktv-intro{padding:45px;background:linear-gradient(120deg,#32211d,#171615)}.ktv-intro .large-copy{max-width:850px;margin:24px 0}.ktv-features{color:var(--gold);font-size:16px}.ktv-inner{padding:35px}.ktv-inner h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:25px 0 12px}.ktv-inner>.muted{max-width:900px;margin:0 0 24px;font-size:16px}.ktv-gallery{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:48px}.ktv-gallery a:first-child{grid-row:span 2}.ktv-gallery img{display:block;width:100%;height:100%;max-height:460px;object-fit:cover}.ktv-gallery a{min-height:160px;overflow:hidden}.ktv-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:25px 0 50px}.ktv-price-card{border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;align-items:flex-start;background:#201d18}.ktv-price-card .eyebrow{font-size:14px;margin:0 0 12px}.ktv-price-card h4{font-size:23px;font-weight:400;margin:0 0 20px}.ktv-price-value{font-size:32px;color:var(--gold);font-weight:400}.ktv-price-card .button{margin-top:24px;width:100%;font-size:14px}.ktv-venues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ktv-venue{border:1px solid var(--line);min-width:0}.ktv-venue img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}.ktv-venue>div{padding:18px}.ktv-venue h4{font-size:20px;font-weight:400;margin:0 0 10px}.ktv-venue p{font-size:14px;color:var(--muted);margin:0}.ktv-booking{margin-top:40px;border-top:1px solid var(--line);padding-top:15px}.ktv-booking p{max-width:800px;color:var(--muted)}.ktv-booking .button{margin-top:12px}@media(max-width:900px){.ktv-venues{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.ktv-intro{padding:28px 20px}.ktv-inner{padding:22px 16px}.ktv-prices{grid-template-columns:1fr}.ktv-gallery{grid-template-columns:1fr 1fr;gap:10px}.ktv-gallery a:first-child{grid-column:span 2;grid-row:auto}.ktv-gallery a{min-height:100px}.ktv-gallery img{aspect-ratio:4/3}.ktv-venues{grid-template-columns:1fr}.ktv-inner h3{font-size:26px}.ktv-price-value{font-size:30px}}

.booking-dialog{background:#1a1917;color:var(--text);border:1px solid var(--gold);width:min(600px,calc(100% - 32px));max-height:85dvh;padding:32px;overflow:auto}.booking-dialog::backdrop{background:#000b}.booking-dialog h2{font-size:32px;padding-right:40px}.booking-dialog .eyebrow{margin-bottom:16px}.booking-dialog>.muted{font-size:16px;margin:18px 0 24px}.booking-close{float:right;border:1px solid var(--line);background:transparent;color:var(--text);padding:8px 14px;cursor:pointer;font-size:14px}.booking-channels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-channels a{font-size:16px}.booking-qr{margin-top:24px}.booking-qr summary{color:var(--gold);cursor:pointer;font-size:16px;padding:12px 0}.booking-qr .qr-grid{margin-top:16px}.booking-qr img{max-height:240px}@media(max-width:650px){.booking-dialog{padding:24px 18px}.booking-dialog h2{font-size:27px}.booking-channels{grid-template-columns:1fr}}

.booking-dialog .booking-qr{margin-top:0}.booking-dialog .booking-qr .qr-grid{margin-top:0}.booking-dialog .qr-item img{max-height:none}.booking-dialog .qr-item a{display:block}

.ktv-branches{margin-top:32px}.ktv-branches-list{margin:0;padding:0 24px 22px;color:var(--muted);line-height:1.8}.ktv-branches .pool-content{padding-top:0}.ktv-branches .pool-content>h3:first-child{margin-top:0}

.languages button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.languages .language-flag{display:block;width:24px;height:16px;object-fit:cover;border-radius:2px;flex-shrink:0}

.desktop-book{display:none}
@media(min-width:651px){.desktop-book{display:inline-flex;position:fixed;right:28px;bottom:24px;z-index:20;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;border-radius:6px;box-shadow:0 5px 24px #0008;font-size:16px;font-weight:600}}

.guest-reviews{border-top:1px solid var(--line)}
.guest-reviews .section-heading{margin-bottom:28px}
.guest-review{margin:0;max-width:860px;padding:28px 32px;border:1px solid var(--line);border-top:2px solid var(--gold);background:#ffffff03}
.guest-review-mark{display:block;color:var(--gold);font-family:Georgia,serif;font-size:52px;line-height:1}
.guest-review blockquote{margin:0}
.guest-review blockquote p{margin:8px 0 24px;font-size:20px;line-height:1.75;color:var(--text)}
.guest-review figcaption{padding-top:18px;border-top:1px solid var(--line);font-size:14px;font-weight:600;color:var(--gold)}
@media(max-width:650px){.guest-review{padding:24px}.guest-review blockquote p{font-size:18px}}

.guest-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.guest-review-grid .guest-review{display:flex;flex-direction:column;max-width:none;padding:28px}
.guest-review-grid .guest-review blockquote{flex:1}
.guest-review-grid .guest-review blockquote p{font-size:18px}
.guest-review-grid .guest-review figcaption{margin-top:auto}
@media(max-width:1000px){.guest-review-grid{grid-template-columns:1fr}.guest-review-grid .guest-review{padding:24px}}

.ktv-facility-photos{margin:36px 0;padding:28px 0;border-top:1px solid var(--line)}
.ktv-facility-photos h3{margin:0 0 8px;color:var(--gold);font-size:24px}
.ktv-facility-photos>p{font-size:14px;margin:0 0 20px}
.ktv-facility-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ktv-facility-grid a{display:block;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:#1a1a1a}
.ktv-facility-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .2s ease}
.ktv-facility-grid a:hover img{transform:scale(1.04)}
@media(max-width:1000px){.ktv-facility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.ktv-facility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ktv-facility-photos h3{font-size:22px}}



.booking-dialog .booking-hotline{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:20px 0 24px;font-size:16px}

/* Prominent service shortcuts */
.qualities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:28px}
.quality-link{display:flex;align-items:center;gap:16px;min-height:100px;padding:22px 20px;border:1px solid #d8b87570;border-radius:12px;background:linear-gradient(135deg,#30291c,#1b1916);box-shadow:0 6px 22px #0003;color:#f1d59a;font-size:16px;font-weight:600;line-height:1.5;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.quality-link>span:last-child{min-width:0;overflow-wrap:anywhere}
.quality-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border:1px solid #d8b87545;border-radius:10px;background:#d8b87516;color:var(--gold)}
.quality-icon svg{width:25px;height:25px}
.quality-link:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.quality-link:active{background:#3a3020;transform:scale(.98)}
#massage,#ktv,#contact{scroll-margin-top:110px}
@media(hover:hover){.quality-link:hover{background:linear-gradient(135deg,#443721,#262015);border-color:var(--gold);transform:translateY(-3px)}}
@media(max-width:900px){.qualities{grid-template-columns:1fr}.quality-link{min-height:82px;padding:16px 20px}}
@media(prefers-reduced-motion:reduce){.quality-link{transition:none}.quality-link:hover,.quality-link:active{transform:none}}

.service .massage-brand-title{font-family:inherit;font-size:clamp(20px,2.2vw,28px);font-weight:600;line-height:1.5;letter-spacing:.02em;color:var(--gold);position:relative}.massage [data-i="massageBrandCopy"]{max-width:760px;position:relative;font-size:16px;line-height:1.85}

.analytics-settings{font:inherit;font-size:14px;color:var(--gold);background:none;border:0;padding:12px;cursor:pointer}.analytics-privacy{color:var(--text);background:#1c1a16;border:1px solid var(--gold);max-width:650px;width:calc(100% - 40px);max-height:85vh;padding:28px;line-height:1.8}.analytics-privacy::backdrop{background:#0009}.analytics-privacy h2{font-size:26px}.analytics-privacy button{font:inherit;padding:10px 20px;min-height:44px;background:var(--gold);color:#16130e;border:0;cursor:pointer}

/* Subdued facility photos behind service introductions */
.service.massage,.ktv-intro{position:relative;isolation:isolate;overflow:hidden;background:#111214}
.service.massage::before,.ktv-intro::before{content:"";position:absolute;inset:-8px;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(2.5px);pointer-events:none}
.service.massage::before{background-image:url('massage-intro-bg-optimized.webp');background-position:48% center}
.ktv-intro::before{background-image:url('ktv-intro-bg-optimized-v2.webp');background-position:center 55%}
.service.massage::after,.ktv-intro::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(110deg,#101114d9,#101114b3);pointer-events:none}
.service.massage>:not(.service-han),.ktv-intro>*{position:relative;z-index:2}
.service.massage .service-han{z-index:2;color:#d8b8750d;pointer-events:none}
.service.massage p,.ktv-intro .large-copy{color:#e1ddd6}
@media(max-width:650px){.service.massage::before{background-position:46% center}.ktv-intro::before{background-position:center}.service.massage::after,.ktv-intro::after{background:linear-gradient(120deg,#101114d9,#101114bf)}}

/* Address, opening hours and mobile service navigation */
.visit-details{margin:28px 0;padding:24px;border:1px solid #d8b87560;background:#1d1a15;border-radius:8px}
.visit-details .eyebrow{margin:0 0 12px}.visit-details>p:not(.eyebrow){margin:0 0 16px;font-size:17px}.visit-hours p{margin:8px 0;color:var(--text)}.directions-button{margin-top:18px;min-height:48px}
.mobile-quick-nav{display:none}
@media(max-width:650px){.mobile-quick-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;position:fixed;left:6%;right:6%;bottom:calc(72px + env(safe-area-inset-bottom));z-index:10;border:1px solid #d8b87580;border-radius:8px;background:#1c1916;box-shadow:0 4px 20px #0006}.mobile-quick-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px 6px;color:var(--gold);font-size:14px;font-weight:600}.mobile-quick-nav a+a{border-left:1px solid #d8b87540}.mobile-quick-nav a:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}.mobile-book{bottom:calc(14px + env(safe-area-inset-bottom));min-height:48px}footer{padding-bottom:calc(160px + env(safe-area-inset-bottom))}.visit-details{padding:20px}}

/* Compact translucent floating controls */
.booking-dialog .booking-hotline{margin-bottom:12px}.booking-dialog .booking-directions{display:flex;width:100%;margin:0 0 24px;min-height:44px}
@media(min-width:651px){.desktop-book{min-height:44px;padding:8px 16px;font-size:14px;background:rgba(216,184,117,.72);border:1px solid rgba(216,184,117,.4);box-shadow:0 3px 14px #0004;backdrop-filter:blur(8px)}}
@media(max-width:650px){.mobile-quick-nav{left:50%;right:auto;transform:translateX(-50%);width:min(300px,88vw);bottom:calc(62px + env(safe-area-inset-bottom));background:rgba(24,22,19,.68);border-color:rgba(216,184,117,.35);box-shadow:0 3px 14px #0003;backdrop-filter:blur(8px)}.mobile-quick-nav a{min-height:44px;padding:4px 6px;font-size:14px;font-weight:500;color:#e2c68d}.mobile-quick-nav a+a{border-color:rgba(216,184,117,.25)}.mobile-book{left:50%;right:auto;transform:translateX(-50%);width:min(300px,88vw);min-height:44px;padding:7px 12px;font-size:14px;font-weight:500;border-radius:8px;background:rgba(216,184,117,.7);border:1px solid rgba(216,184,117,.35);box-shadow:0 3px 14px #0003;backdrop-filter:blur(8px)}}

/* Contact identifiers inside their action buttons */
.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.contact-action{display:flex;flex-direction:column;gap:3px;min-width:0;padding:12px 14px;text-align:center;line-height:1.45;min-height:64px}
.contact-action span{font-size:14px}.contact-action small{font-size:14px;font-weight:400;overflow-wrap:anywhere;max-width:100%}.contact-actions .contact-phone{grid-column:1/-1;min-height:60px}.contact-phone small{font-size:17px;font-weight:600;letter-spacing:.03em}
@media(max-width:360px){.contact-action{padding:10px 8px}.contact-action span,.contact-action small{font-size:14px}}

@media(max-width:650px){.mobile-quick-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

.ktv-disclosure{margin-bottom:24px}.ktv-disclosure .ktv-prices{margin-bottom:0}.ktv-disclosure .ktv-gallery{margin-bottom:28px}.ktv-disclosure .pool-content>h3:first-child{margin-top:0}.ktv-disclosure .ktv-facility-photos{margin-bottom:0}

.booking-dialog .qr-item[hidden],.booking-dialog .booking-app[hidden]{display:none}.booking-dialog.single-channel .qr-grid{grid-template-columns:1fr}.booking-dialog.single-channel .qr-item{max-width:300px;margin:0 auto;width:100%}.booking-dialog.single-channel .booking-hotline,.booking-dialog.single-channel .booking-directions{display:none}.booking-dialog .booking-app{display:flex;width:100%;margin-top:20px;min-height:48px;justify-content:center}

.contact-action[data-contact-channel]{flex-direction:row;align-items:center;justify-content:center;gap:9px}
.contact-app-icon{display:block;width:24px;height:24px;flex:0 0 24px}
.contact-action.gold{--icon-cutout:#d6b873}
@media(max-width:360px){.contact-action[data-contact-channel]{gap:6px}.contact-app-icon{width:21px;height:21px;flex-basis:21px}}
