/* finesse · register=brand · A=existing-aubergine-lavender · B=clear-system-type · C=photo-selection-and-compact-pricing · D=feedback-only · E=real-room-photography · SOUL=5 SPECTACLE=1 DENSITY=6 */
:root{--ktv-panel-soft:#16111e;--ktv-on-accent:#21122e;--ktv-photo-bg:#f2edf6;--ktv-focus:#e6c6fb;--ktv-selected:#d8aff312;--ktv-transparent:transparent}
.ktv-section{padding:36px 0;background:var(--showcase-bg);color:var(--showcase-ink)}
.ktv-section .wrap{width:min(1040px,calc(100% - 32px))}
.section-heading{margin:0 0 22px}
.section-heading h2,#room-browser h2,#drinks .offer-heading h2,#location h2{margin:0 0 8px;border:0;padding:0;font-size:clamp(24px,4.8vw,34px);font-weight:750;line-height:1.3;letter-spacing:-.025em;color:var(--showcase-ink);text-shadow:none;overflow-wrap:anywhere;min-width:0}
.section-heading p{margin:0;color:var(--showcase-muted);font-size:14px;line-height:1.65}
#rooms.ktv-room-overview{padding:24px 0 36px;background:var(--showcase-bg);border-top:1px solid var(--showcase-line)}
.room-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.room-type-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--showcase-line);border-radius:12px;padding:0;overflow:hidden;background:var(--ktv-panel-soft);color:var(--showcase-ink);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}
.room-type-card>img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
.room-type-copy{padding:12px;display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.room-type-copy strong{font-size:18px;line-height:1.3;letter-spacing:-.02em}
.room-type-copy small{font-size:12px;color:var(--showcase-muted);line-height:1.5}
.room-type-price{font-size:15px;font-weight:700;color:var(--showcase-accent);white-space:nowrap;font-variant-numeric:tabular-nums}
.room-type-link{display:flex;justify-content:space-between;align-items:center;margin-top:5px;font-size:13px;line-height:1.5;color:var(--showcase-muted);white-space:nowrap}
.room-type-card[aria-pressed=true]{border-color:var(--showcase-accent);background:var(--ktv-selected)}
#packages.ktv-packages{background:var(--ktv-panel-soft);padding:34px 0;border-top:1px solid var(--showcase-line);border-bottom:1px solid var(--showcase-line);isolation:auto}
#packages:before,#packages:after,#drinks:before,#drinks:after,#location:before,#location:after{content:none!important}
.package-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:16px}
.package-tab{min-width:0;min-height:46px;padding:8px 4px;border:1px solid var(--showcase-line);border-radius:9px;background:var(--ktv-transparent);color:var(--showcase-muted);font:inherit;font-size:14px;line-height:1.3;white-space:nowrap;cursor:pointer}
.package-tab[aria-selected=true]{background:var(--showcase-accent);border-color:var(--showcase-accent);color:var(--ktv-on-accent);font-weight:700}
.package-panel{padding:20px;border:1px solid var(--showcase-line);border-radius:12px;background:var(--showcase-bg)}
.package-panel[hidden]{display:none}
.package-panel h3{margin:0 0 18px;color:var(--showcase-ink);font-size:23px;line-height:1.3;font-weight:700;letter-spacing:-.02em}
.package-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.package-rate{min-width:0;padding:0 0 0 12px;border-left:1px solid var(--showcase-line)}
.package-rate:first-child{padding-left:0;border-left:0}
.package-rate>span,.package-rate>small{display:block;font-size:13px;line-height:1.6;color:var(--showcase-muted)}
.package-rate strong{display:block;margin:6px 0;color:var(--showcase-accent);font-size:clamp(25px,6.4vw,36px);font-weight:800;line-height:1.2;letter-spacing:-.04em;white-space:nowrap;font-variant-numeric:tabular-nums}
.package-inclusions{border-top:1px solid var(--showcase-line);padding-top:15px}
.package-inclusions h4{font-size:13px;color:var(--showcase-muted);font-weight:500;margin:0 0 9px}
.package-inclusions ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;list-style:none;padding:0;margin:0 0 18px;font-size:14px;line-height:1.55}
.package-inclusions li:before{content:'·';margin-right:6px;color:var(--showcase-accent)}
.package-room-cta{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--showcase-line);border-radius:9px;background:var(--showcase-panel);color:var(--showcase-accent);font:inherit;font-size:14px;font-weight:650;white-space:nowrap;cursor:pointer}
.ktv-price-note{margin:14px 0 0;color:var(--showcase-muted);font-size:12px;line-height:1.8}
.ktv-extensions{--extension-inset:16px;margin-top:26px;padding:0 var(--extension-inset) 16px;border:1px solid color-mix(in srgb,var(--showcase-accent) 50%,var(--showcase-bg));border-radius:12px;background:var(--showcase-bg);scroll-margin-top:calc(var(--ktv-header-height,110px) + 16px)}
/* finesse · component: extend-time-heading · register=brand · state: static · tokens: inherited */
.ktv-extension-banner{display:flex;align-items:center;gap:14px;margin:0 calc(-1 * var(--extension-inset));padding:16px var(--extension-inset);border-radius:11px 11px 0 0;background:linear-gradient(125deg,var(--showcase-ink),var(--showcase-accent) 58%,color-mix(in srgb,var(--showcase-accent) 84%,var(--showcase-panel)));color:var(--ktv-on-accent);border-bottom:3px solid color-mix(in srgb,var(--showcase-accent) 64%,var(--showcase-panel));box-shadow:inset 0 1px 0 var(--showcase-ink),inset 0 -1px 0 color-mix(in srgb,var(--showcase-ink) 45%,transparent)}
.ktv-extension-clock{display:block;flex:0 0 44px;filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--showcase-ink) 70%,transparent))}
.ktv-extension-banner h3{display:flex;flex-direction:column;gap:2px;min-width:0;margin:0;color:inherit;line-height:1.15;text-shadow:0 1px 0 color-mix(in srgb,var(--showcase-ink) 55%,transparent);overflow-wrap:anywhere}
.extension-heading-cn{font-size:21px;font-weight:800;letter-spacing:.06em}
.extension-heading-en{font-size:clamp(23px,6.6vw,30px);font-weight:850;letter-spacing:.025em;line-height:1.2;white-space:nowrap}
.ktv-extension-intro{margin:16px 0 14px;color:var(--showcase-ink);font-size:14px;line-height:1.6;font-weight:600}
.ktv-extend-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}
.ktv-extension-gift{min-width:0;padding:14px 11px;border:1px solid color-mix(in srgb,var(--tier-face) 40%,var(--showcase-panel));border-radius:9px;background:color-mix(in srgb,var(--tier-face) 8%,var(--showcase-bg));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--tier-light) 12%,transparent)}
.ktv-extension-gift h4{margin:0 0 5px;font-size:13px}
.ktv-extension-gift p{margin:0}
.extension-condition{font-size:12px;line-height:1.5;color:var(--showcase-muted)}
.extension-reward{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px;margin-top:5px!important;font-size:12px;line-height:1.25;color:var(--tier-face)}
.extension-reward strong{font-size:32px;line-height:1.15;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.extension-reward span:last-child{white-space:nowrap}
.ktv-extend-table{width:100%;border-collapse:collapse;font-size:14px;margin:0;font-variant-numeric:tabular-nums}
.ktv-extend-table th,.ktv-extend-table td{border-bottom:1px solid var(--showcase-line);padding:13px 4px;text-align:right;white-space:nowrap}
.ktv-extend-table th:first-child{text-align:left;padding-left:0}
.ktv-extend-table th:last-child,.ktv-extend-table td:last-child{padding-right:0}
.ktv-extend-table thead th{font-size:12px;color:var(--showcase-ink);font-weight:700;padding-top:0;padding-bottom:10px}
.ktv-extend-table tbody th{font-weight:600}.ktv-extend-table td{color:var(--showcase-ink)}
.ktv-extension-note{margin:12px 0 0;font-size:11px;line-height:1.65;color:var(--showcase-muted)}
.rm-section,.rm-dialog{--rm-ink:var(--showcase-bg);--rm-panel:var(--showcase-panel);--rm-line:var(--showcase-line);--rm-muted:var(--showcase-muted);--rm-gold:var(--showcase-accent);--rm-text:var(--showcase-ink)}
#room-browser.rm-section{background:var(--showcase-bg);padding:34px 0 0;color:var(--showcase-ink)}
#room-browser .rm-intro{display:block;margin-bottom:18px}
#room-browser .rm-intro-note{margin-top:0}
#room-browser .rm-intro-note p{font-size:14px;margin:0;color:var(--showcase-muted)}
#room-browser .rm-tools{display:block;padding:0;border:0}
.rm-filters{display:flex;flex-wrap:nowrap;gap:5px}
.rm-filter{flex:1 1 auto;min-width:0;min-height:44px;padding:9px 6px;font-size:13px!important;border-radius:8px}
.rm-filter>span:last-child{display:none}
.rm-find{margin-top:10px}
.rm-find>summary{display:flex;align-items:center;min-height:44px;list-style:none;color:var(--showcase-muted);font-size:13px;cursor:pointer}
.rm-find>summary::-webkit-details-marker{display:none}
.rm-find>summary:after{content:'+';margin-left:auto;font-size:20px}
.rm-find[open]>summary:after{content:'−'}
.rm-search{margin:0 0 10px;max-width:none;border-radius:8px}
.rm-result{margin:6px 0 0;font-size:12px}
#gallery.rm-section{padding-top:12px;padding-bottom:34px;background:var(--showcase-bg)}
.rm-group,.rm-group+.rm-group{padding:0;border:1px solid var(--showcase-line);border-radius:10px;overflow:clip;margin:0 0 12px;background:var(--ktv-panel-soft);scroll-margin-top:calc(var(--ktv-header-height) + 12px)}
.rm-group-toggle{display:grid;grid-template-columns:96px minmax(0,1fr) 20px;grid-template-rows:auto auto auto;gap:3px 12px;align-items:center;position:relative;list-style:none;min-height:104px;padding:10px;cursor:pointer}
.rm-group-toggle::-webkit-details-marker{display:none}
.rm-group-photo{grid-column:1;grid-row:1/4;width:96px;height:82px;object-fit:cover;border-radius:6px;align-self:center}
.rm-group-title{grid-column:2;grid-row:1;align-self:end;margin:0;font-size:17px;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--showcase-ink);font-family:inherit}
.rm-group-title span{display:none}
.rm-group-count{grid-column:2;grid-row:2;font-size:11px;white-space:normal;line-height:1.5;color:var(--showcase-muted)}
.rm-group-hint{grid-column:2;grid-row:3;align-self:start;font-size:12px;color:var(--showcase-accent)}
.rm-group-chevron{grid-column:3;grid-row:1/4;color:var(--showcase-muted)}
.rm-group[open] .rm-group-chevron{transform:rotate(180deg)}
.rm-flow-frame{display:none}
.rm-group-panel{padding:16px 12px 12px;border-top:1px solid var(--showcase-line)}
.rm-grid{gap:28px 20px}
.rm-cover{border-radius:8px;background:var(--showcase-bg)}
.rm-card-body{padding-top:12px}
.rm-number{font-size:28px;font-weight:650;color:var(--showcase-ink)}
.rm-room-name{font-size:18px}
.rm-photo-button,.rm-enquire{border:1px solid var(--showcase-line);border-radius:8px;min-height:44px;padding:10px 14px;text-decoration:none!important;font-size:14px!important}
.rm-photo-button{color:var(--showcase-ink)!important;background:var(--showcase-panel)}
.rm-enquire{background:var(--showcase-accent);border-color:var(--showcase-accent);color:var(--ktv-on-accent)!important}
.rm-group-collapse{min-height:44px;margin-top:16px;padding:9px 13px;background:var(--showcase-panel);border:1px solid var(--showcase-line);border-radius:8px;font:inherit;font-size:13px;color:var(--showcase-muted);white-space:nowrap}
.rm-catalogue-foot{font-size:13px;margin-top:20px;padding-top:16px}
#room-media-dialog{border-color:var(--showcase-line);border-radius:12px}
.rm-dialog-foot .rm-enquire{background:var(--showcase-accent);color:var(--ktv-on-accent)!important}
#drinks.offer-section{background:var(--ktv-panel-soft);padding:34px 0;border-top:1px solid var(--showcase-line);border-bottom:1px solid var(--showcase-line);isolation:auto;overflow-anchor:none}
#drinks .offer-heading{padding:0;margin:0 0 20px}
#drinks .offer-heading p{font-size:14px;line-height:1.65;color:var(--showcase-muted)}
#drinks .drink-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0;margin:20px 0;overflow:visible}
#drinks .drink-tab{min-width:0;min-height:46px;padding:8px 3px;border-radius:9px;border:1px solid var(--showcase-line);background:var(--ktv-transparent);box-shadow:none;font-size:14px;line-height:1.3;white-space:nowrap;color:var(--showcase-muted)}
#drinks .drink-tab[aria-selected=true]{background:var(--showcase-accent);border-color:var(--showcase-accent);color:var(--ktv-on-accent);font-weight:700;box-shadow:none}
#drinks .drink-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#drinks .drink-count{color:var(--showcase-muted);font-size:12px;margin-bottom:14px}
#drinks .drink-card{border:1px solid var(--showcase-line);border-radius:10px;background:var(--showcase-bg);box-shadow:none;animation:none;transform:none}
#drinks .drink-photo{height:auto;aspect-ratio:1;margin:8px 8px 0;padding:10px;border-radius:6px;background:var(--ktv-photo-bg)}
#drinks .drink-photo:before,#drinks .drink-photo:after{content:none}
#drinks .drink-photo img{width:100%;height:100%;object-fit:contain;filter:none;mix-blend-mode:multiply;transform:none;transition:none}
#drinks #drinks-beer .drink-photo{padding:0}
#drinks #drinks-beer .drink-photo img{mix-blend-mode:normal}
#drinks .drink-card figcaption{display:flex;align-items:center;justify-content:flex-start;text-align:left;min-height:65px;padding:12px;font-size:13px;line-height:1.5;letter-spacing:0;background:var(--ktv-transparent);color:var(--showcase-ink)}
#drinks .drink-card:hover{border-color:var(--showcase-line);box-shadow:none}
#location.ktv-section{padding:36px 0;background:var(--showcase-bg);isolation:auto}
.visit-card{padding:22px;border:1px solid var(--showcase-line);border-radius:12px;background:var(--ktv-panel-soft)}
.visit-card>p{margin:8px 0;font-size:14px;line-height:1.7;color:var(--showcase-muted)}
.visit-card .visit-area{color:var(--showcase-ink);font-size:17px;font-weight:650}
.visit-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
#location .visit-action{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid var(--showcase-line);border-radius:9px;background:var(--showcase-panel);color:var(--showcase-ink);font-size:14px;font-weight:650;white-space:nowrap;text-shadow:none;box-shadow:none}
#location .visit-action img{width:25px;height:25px;object-fit:contain}
#location .visit-action.visit-primary{background:var(--showcase-accent);color:var(--ktv-on-accent);border-color:var(--showcase-accent)}
.visit-phone{border-top:1px solid var(--showcase-line);margin-top:20px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--showcase-muted);font-size:13px}
.visit-phone a{color:var(--showcase-ink);font-size:17px;font-weight:650;white-space:nowrap}
.venue-switch,footer{background:var(--showcase-bg)!important;border-color:var(--showcase-line)!important;color:var(--showcase-muted)}
.venue-switch .wrap{justify-content:space-between}
.venue-switch a{font-size:12px;white-space:nowrap}
footer{padding:24px 0;font-size:12px}
.ktv-section button:focus-visible,.ktv-section a:focus-visible,.ktv-section summary:focus-visible,#room-browser summary:focus-visible{outline:3px solid var(--ktv-focus);outline-offset:3px}
.ktv-section button:active,.package-room-cta:active,.visit-action:active{filter:brightness(.95)}
@media(min-width:768px){.room-type-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ktv-packages>.wrap{max-width:760px}.room-type-copy{padding:15px}.package-panel{padding:26px}.package-inclusions ul{grid-template-columns:repeat(4,minmax(0,1fr))}#drinks .drink-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#location>.wrap{max-width:760px}.visit-card{padding:28px}.rm-group-toggle{grid-template-columns:120px minmax(0,1fr) 24px}.rm-group-photo{width:120px;height:88px}.rm-group-title{font-size:21px}.rm-group-count{font-size:13px}.rm-group-hint{font-size:13px}}
@media(max-width:360px){.ktv-section .wrap{width:calc(100% - 28px)}.room-type-grid{gap:12px}.room-type-copy{padding:10px}.room-type-copy strong{font-size:17px}.room-type-price{font-size:14px}.package-tab{font-size:12px}.package-panel{padding:15px}.package-rates{gap:9px}.package-rate{padding-left:9px}.package-rate>span,.package-rate>small{font-size:12px}.package-rate strong{font-size:25px}.package-inclusions ul{font-size:13px}.package-room-cta{font-size:13px;padding-inline:11px}.ktv-extend-table{font-size:13px}.ktv-extensions{--extension-inset:12px}.ktv-extension-gift{padding-inline:9px}.rm-filter{font-size:12px!important;padding-inline:4px}.rm-group-toggle{grid-template-columns:78px minmax(0,1fr) 18px;gap:3px 9px;padding:9px}.rm-group-photo{width:78px;height:77px}.rm-group-title{font-size:16px}.rm-group-count{font-size:10px}.rm-group-hint{font-size:11px}.visit-card{padding:17px}.visit-phone{font-size:12px}.visit-phone a{font-size:15px}.venue-switch a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ktv-section *,.rm-section *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
