:root{
  color-scheme:light;
  --page:#edf0f1;
  --surface:#f7f8f8;
  --surface-2:#e2e6e8;
  --ink:#252b2e;
  --muted:#626b70;
  --line:#cbd1d4;
  --accent:#30383c;
  --on-accent:#f4f6f6;
  --radius:16px;
  --shadow:0 22px 60px rgba(44,53,58,.12);
}

*{box-sizing:border-box}
html{scroll-padding-top:72px}
body{background:var(--page);color:var(--ink);font-family:ui-rounded,"SF Pro Rounded","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.6}

.nav{height:72px;padding:0 clamp(20px,4vw,64px);position:fixed;inset:0 0 auto;z-index:40;color:var(--ink);border-bottom:1px solid var(--line);background:var(--page);background:color-mix(in srgb,var(--page) 88%,transparent);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);box-shadow:0 8px 28px rgba(37,43,46,.05)}
.brand{gap:12px}.brand-logo{width:40px;height:40px;border-radius:12px;background:var(--accent);padding:5px;object-fit:contain}.brand span{font-size:15px;letter-spacing:.04em}.brand small{font-size:8px;letter-spacing:.14em;margin-top:5px;color:var(--muted)}
.nav nav{gap:28px}.nav nav a{color:var(--ink);font-size:13px;position:relative}.nav nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--ink);transition:right .3s cubic-bezier(.16,1,.3,1)}.nav nav a:hover::after,.nav nav a.current::after{right:0}
.btn{min-height:46px;padding:12px 22px;border:1px solid var(--accent);border-radius:12px;background:var(--accent)!important;color:var(--on-accent)!important;font-weight:750;box-shadow:none;transition:transform .28s cubic-bezier(.16,1,.3,1),background .28s,box-shadow .28s;white-space:nowrap}.nav .btn,.hero .hero-booking{background:var(--accent)!important;color:var(--on-accent)!important;border-color:var(--accent)!important}.btn:hover{transform:translateY(-2px);background:#242b2e!important;color:#f4f6f6!important;box-shadow:0 12px 26px rgba(37,43,46,.2)}.btn:active{transform:translateY(1px) scale(.985)}.btn-small{min-height:40px;padding:9px 17px}

.hero{min-height:680px;height:min(860px,100dvh);display:grid;grid-template-columns:44% 56%;background:var(--surface-2);color:var(--ink);padding-top:72px}
.hero>img{position:absolute;inset:72px 0 0 auto;width:56%;height:calc(100% - 72px);object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:72px 0 0 44%;background:linear-gradient(90deg,var(--surface-2) 0,rgba(226,230,232,.55) 7%,rgba(37,43,46,.08) 35%,rgba(37,43,46,.3) 100%)}
.hero-copy{left:clamp(22px,5vw,76px);top:50%;width:min(37vw,540px);max-width:none;transform:translateY(-45%)}
.hero .eyebrow{margin-bottom:28px;color:var(--muted);font-size:10px;letter-spacing:.18em}
.hero h1{font-family:inherit;font-size:clamp(48px,5.5vw,78px);font-weight:850;letter-spacing:-.055em;line-height:1.02;max-width:7em}.hero h1 em{color:var(--ink);font-style:normal}
.lead{max-width:430px;margin:26px 0 0;color:var(--muted);font-size:16px;line-height:1.75;white-space:normal}
.hero-actions{gap:22px;margin-top:34px}.hero-booking{min-width:148px}.text-link{color:var(--ink);border-bottom-color:var(--muted);font-size:14px}.text-link span{color:inherit}
.hero-note{right:auto;left:clamp(22px,5vw,76px);bottom:30px;border:0;padding:0;display:flex;gap:14px;align-items:baseline}.hero-note span{color:var(--muted);font-size:11px}.hero-note strong{font-size:12px;letter-spacing:.04em;margin:0}

.section{padding:clamp(80px,10vw,140px) clamp(22px,7vw,110px)}
.intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(40px,9vw,140px);align-items:end;background:var(--page)}
.intro .eyebrow{display:none}.intro h2,.section h2,.space h2,.contact h2{font-family:inherit;font-weight:830;letter-spacing:-.04em;line-height:1.08}.intro h2{font-size:clamp(42px,5vw,70px);max-width:9em}.intro>p{font-size:17px;line-height:1.85;color:var(--muted);max-width:560px;margin:0}

.menu{background:var(--surface);border-top:1px solid var(--line)}
.section-head{display:block;margin-bottom:40px}.section-head>div{max-width:760px}.section-head>p{max-width:650px;margin:18px 0 0;line-height:1.75;color:var(--muted)}
.section h2{font-size:clamp(38px,4.6vw,62px)}
.menu .eyebrow{color:var(--muted);font-size:10px;letter-spacing:.18em;margin-bottom:18px}
.tabs{gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:28px;padding-bottom:2px}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:0 0 auto;min-height:40px;padding:9px 17px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--muted);font:650 13px inherit;transition:background .25s,color .25s,border-color .25s,transform .25s}.tabs button:hover{border-color:var(--muted);color:var(--ink)}.tabs button:active{transform:scale(.97)}.tabs .active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.menu-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:0;border-top:1px solid var(--line)}
.dish{border-radius:0!important;background:transparent!important;box-shadow:none!important;border-bottom:1px solid var(--line)}
.featured{grid-row:span 5;min-height:610px;margin-right:clamp(28px,5vw,72px);border-bottom:0;overflow:hidden;border-radius:var(--radius)!important}.featured img{transition:transform .7s cubic-bezier(.16,1,.3,1)}.featured:hover img{transform:scale(1.025)}.featured::after{background:linear-gradient(transparent 35%,rgba(24,29,31,.88))}.dish-copy{left:clamp(22px,3vw,42px);right:clamp(22px,3vw,42px);bottom:34px}.dish span{color:inherit;font-size:10px;letter-spacing:.12em}.dish h3{font-size:21px;letter-spacing:-.02em;margin:8px 0}.dish p{color:var(--muted);line-height:1.6}.dish-copy p{color:#dde1e2}.compact{min-height:118px;padding:20px 4px;display:grid;grid-template-columns:1fr;gap:0;align-items:center}.compact.has-photo{grid-template-columns:76px 1fr;gap:16px}.dish-thumb{width:76px;height:76px;object-fit:cover;border-radius:12px}.compact h3{font-size:17px;margin:2px 0}.compact p{font-size:12px;margin:2px 0}.outline-btn{min-height:44px;margin-top:30px;padding:10px 18px;border:1px solid var(--accent);border-radius:12px;color:var(--ink);align-items:center;transition:background .25s,color .25s,transform .25s}.outline-btn:hover{background:var(--accent);color:var(--on-accent)}.outline-btn:active{transform:translateY(1px)}

.space{display:grid;grid-template-columns:58% 42%;background:var(--page);color:var(--ink);padding:0 clamp(22px,7vw,110px) clamp(80px,10vw,140px)}
.space-image{overflow:hidden;border-radius:var(--radius)}.space-image img{min-height:620px;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.space-image:hover img{transform:scale(1.02)}
.space-copy{padding:clamp(48px,7vw,96px) 0 clamp(40px,6vw,80px) clamp(36px,6vw,88px);align-self:end}.space-copy .eyebrow{display:none}.space-copy h2{font-size:clamp(40px,4.7vw,66px);margin-bottom:24px}.space-copy>p{color:var(--muted);line-height:1.85}.space-copy ul{margin:28px 0 34px}.space-copy li{padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:14px}.space-copy li::before{content:"";display:inline-block;width:6px;height:6px;margin:0 12px 2px 0;border-radius:2px;background:var(--accent)}

.gallery{background:var(--page);padding-top:0}.gallery .eyebrow{display:none}.gallery .section-head{margin-bottom:34px;max-width:720px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.gallery figure,.gallery figure:nth-child(2){min-height:520px;border-radius:var(--radius)}.gallery figure img{transition:transform .7s cubic-bezier(.16,1,.3,1)}.gallery figure:hover img{transform:scale(1.02)}.gallery figcaption{left:18px;right:18px;bottom:18px;border-radius:12px;background:rgba(237,240,241,.92);backdrop-filter:blur(14px);box-shadow:none;padding:16px 18px}.gallery figcaption span{color:var(--muted)}

.news{background:var(--surface);border-top:1px solid var(--line)}.news .eyebrow{display:none}.news .section-head{max-width:720px}.news-list{border-top:1px solid var(--line);max-width:980px;margin-left:auto}details{border-bottom:1px solid var(--line)}summary{grid-template-columns:90px 1fr 28px;padding:26px 4px}summary time{font:750 18px inherit;color:var(--muted)}summary b{font-size:17px}summary i{font-size:22px}details>p{padding:0 40px 26px 94px;color:var(--muted)}.news-empty{padding:44px 0;color:var(--muted);font-size:15px}.news-empty strong{display:block;color:var(--ink);font-size:20px;margin-bottom:4px}

.contact{display:grid;grid-template-columns:42% 58%;min-height:680px;background:var(--surface-2)!important;color:var(--ink);border-top:1px solid var(--line)}.contact-photo{margin:clamp(28px,5vw,72px) 0 clamp(28px,5vw,72px) clamp(22px,5vw,72px);overflow:hidden;border-radius:var(--radius)}.contact-photo img{object-fit:cover}.contact-card{padding:clamp(64px,9vw,120px) clamp(22px,8vw,120px);align-self:center}.contact .eyebrow{display:none}.contact h2{font-size:clamp(40px,5vw,68px);max-width:8em;margin-bottom:36px}.contact dl{margin-bottom:24px}.contact dl>div{border-top:1px solid var(--line);grid-template-columns:145px 1fr;padding:16px 0}.contact dt{color:var(--muted);font-size:12px}.contact dd{font-size:14px}.contact a{color:var(--ink)}.map-links{margin-bottom:18px}.map-links .outline-btn{background:transparent;border-color:var(--line)}
footer{background:var(--surface-2)!important;color:var(--ink);border-top:1px solid var(--line);padding:32px clamp(22px,5vw,72px)}footer .brand-logo{background:var(--accent);border-radius:12px}footer>p:first-of-type{color:var(--muted)}

dialog{border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(32,38,41,.72);backdrop-filter:blur(8px)}.booking-head h2{font-family:inherit;color:var(--ink);letter-spacing:-.03em}.booking-head .eyebrow{color:var(--muted)}input,select,textarea{border-radius:12px;background:var(--page);border-color:var(--line);color:var(--ink)}input::placeholder,textarea::placeholder{color:#747d82}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.ktv-notice{border-radius:12px;background:var(--surface-2);border-color:var(--line)}.notice-title>span{font-size:12px;font-weight:800;background:var(--accent);color:var(--on-accent);border-radius:8px;padding:6px}.success span{background:var(--accent);color:var(--on-accent);border-radius:12px}

.motion-item{transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.motion-item.is-visible{transform:none}

@media(max-width:820px){
  .nav{height:68px;padding:0 18px}.brand span{font-size:13px}.brand-logo{width:36px;height:36px}.nav-toggle{display:block;border:1px solid var(--line);border-radius:10px;background:var(--surface);width:auto;height:40px;padding:0 12px;color:var(--ink);font:750 12px inherit}.nav-toggle::after{content:"菜单"}.nav-toggle span{display:none}
  .nav nav{top:68px;left:10px;right:10px;padding:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:8px}.nav nav a{color:var(--ink);padding:12px 8px;border:1px solid transparent;border-radius:10px}.nav nav a.current,.nav nav a[aria-current="location"]{background:var(--surface-2);border-color:var(--line)}.nav nav a::after{display:none}.nav nav .btn{margin-top:8px}
  .hero{min-height:700px;height:100dvh;display:block;padding-top:68px;background:var(--surface-2)}.hero>img{inset:68px 0 auto 0;width:100%;height:45%;object-position:center}.hero-shade{inset:68px 0 auto 0;height:45%;background:linear-gradient(0deg,var(--surface-2),transparent 38%),linear-gradient(rgba(37,43,46,.08),rgba(37,43,46,.15))}.hero-copy{top:auto;left:20px;right:20px;bottom:86px;width:auto;transform:none}.hero .eyebrow{margin-bottom:14px}.hero h1{font-size:clamp(44px,13vw,60px);max-width:7em}.hero .lead{width:100%;max-width:340px;white-space:normal!important;overflow-wrap:anywhere;font-size:14px;line-height:1.65;margin-top:18px}.hero-actions{margin-top:24px;gap:17px}.hero-note{left:20px;bottom:24px}.hero-note strong{font-size:11px}
  .section{padding:76px 20px}.intro{grid-template-columns:1fr;gap:28px;align-items:start}.intro h2{font-size:44px}.intro>p{font-size:15px}
  .section-head{margin-bottom:30px}.section h2{font-size:40px}.section-head>p{font-size:14px;margin-top:14px}.menu-grid{grid-template-columns:1fr}.featured{grid-row:auto;min-height:430px;margin:0 0 18px}.compact{min-height:108px;padding:18px 2px}.outline-btn{margin-top:24px}
  .space{grid-template-columns:1fr;padding:0 20px 76px}.space-image img{min-height:400px;max-height:62vh}.space-copy{padding:38px 0 0}.space-copy h2{font-size:42px}.space-copy>p{font-size:14px}
  .gallery-grid{grid-template-columns:1fr}.gallery figure,.gallery figure:nth-child(2){min-height:380px}
  .news-list{margin-left:0}summary{grid-template-columns:58px 1fr 24px;padding:22px 0}summary time{font-size:14px}summary b{font-size:15px}details>p{padding:0 24px 22px 58px;font-size:14px}
  .contact{grid-template-columns:1fr;min-height:0}.contact-photo{height:330px;margin:20px 20px 0}.contact-card{padding:56px 20px 72px}.contact h2{font-size:44px}.contact dl>div{grid-template-columns:1fr;gap:6px}.map-links{gap:8px}.map-links .outline-btn{font-size:12px;padding:10px 13px}
  footer{align-items:flex-start;gap:18px;padding:28px 20px}
  .booking-head,form{padding-left:22px;padding-right:22px}.booking-head{padding-top:38px}.booking-head h2{font-size:34px}
}

@media(prefers-color-scheme:dark){
  :root{color-scheme:dark;--page:#202527;--surface:#272d30;--surface-2:#30373a;--ink:#edf0f1;--muted:#b9c0c3;--line:#444d51;--accent:#dbe0e2;--on-accent:#252b2e;--shadow:0 22px 60px rgba(10,13,14,.28)}
  .hero-shade{background:linear-gradient(90deg,var(--surface-2) 0,rgba(48,55,58,.52) 7%,rgba(18,22,24,.08) 35%,rgba(18,22,24,.36) 100%)}
  .featured::after{background:linear-gradient(transparent 35%,rgba(18,22,24,.9))}
  .gallery figcaption{background:rgba(39,45,48,.92)}
  .brand-logo,footer .brand-logo{background:#edf0f1}
  input::placeholder,textarea::placeholder{color:#aeb6ba}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-item,.featured img,.space-image img,.gallery figure img,.btn,.outline-btn,.tabs button{transition:none!important;animation:none!important;transform:none!important}}
@media(prefers-reduced-transparency:reduce){.nav{background:var(--page);backdrop-filter:none;-webkit-backdrop-filter:none}}
.social-links{display:flex;align-items:center;gap:8px}.social-links a{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s,border-color .25s}.social-links a:hover{transform:translateY(-2px);background:var(--page);border-color:var(--muted)}.social-links a:active{transform:translateY(1px) scale(.96)}.social-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.social-links img{width:18px;height:18px}

/* Readable keyboard, pressed and selected states in both color schemes. */
.nav nav a:focus-visible,.text-link:focus-visible,.outline-btn:focus-visible,.tabs button:focus-visible,.map-app:focus-visible,.social-links a:focus-visible,.close:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.tabs button.active,.tabs button.active:is(:hover,:active,:focus-visible){background:var(--accent);border-color:var(--accent)!important;color:var(--on-accent)}
.nav nav a.current,.nav nav a[aria-current="location"]{color:var(--ink)}
.close{color:var(--ink);border-radius:10px}.close:hover{background:var(--surface-2)}.close:active{transform:scale(.94)}
.field-hint{color:var(--muted)}

/* Bilingual refinement and mobile alignment */
.brand-logo,footer .brand-logo{background:transparent!important;padding:0!important;border-radius:0!important;filter:invert(1)}
.translation{display:block;margin:.45rem 0 0;color:var(--muted);font-size:.72em;font-weight:500;line-height:1.55;letter-spacing:.025em}
.lead-en{max-width:390px;font-size:12px}.intro-title-en,.menu-title-en,.space-title-en,.gallery-title-en,.news-title-en,.contact-title-en{font-size:13px;letter-spacing:.04em;margin-top:12px}
.intro-body>p:first-child,.section-description>p:first-child{margin:0;color:var(--muted);font-size:17px;line-height:1.85}.intro-description-en,.menu-description-en{font-size:13px;max-width:560px}
.service-strip{margin:-44px clamp(22px,7vw,110px) clamp(84px,9vw,124px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:164px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.service-strip>div{position:relative;min-width:0;padding:30px clamp(22px,3vw,38px);display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);transition:background .28s,transform .28s cubic-bezier(.16,1,.3,1)}.service-strip>div:first-child{border-left:0}.service-strip>div:hover{background:var(--page)}.service-main{background:var(--accent);color:var(--on-accent)}.service-main:hover{background:var(--accent)!important}.service-main small{color:color-mix(in srgb,var(--on-accent) 72%,transparent)!important}.service-seafood{background:var(--surface)}.service-ktv{display:flex!important}.service-strip b{font-size:clamp(25px,2.4vw,34px);letter-spacing:-.035em}.service-strip span{font-size:13px;margin-top:8px;line-height:1.45}.service-strip small{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.45;letter-spacing:.03em}
.tabs button span,.tabs button small{display:block}.tabs button small{font-size:9px;font-weight:500;opacity:.7;margin-top:1px}
.dish small{display:block;font-size:9px;letter-spacing:.08em;color:var(--muted)}.dish h4{margin:0 0 7px;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.02em}.dish-copy small,.dish-copy h4{color:#d8dddf}.dish-copy .translation{color:#c5cccf;margin-top:3px}.compact{min-height:142px}.compact p{margin:1px 0}.compact .translation{font-size:10px}
.space-title-en{margin:-12px 0 24px}.space-description{margin-bottom:0}.space-description-en{font-size:11px;margin-bottom:20px}.space-copy li span,.space-copy li small{display:block}.space-copy li small{margin:2px 0 0 18px;color:var(--muted);font-size:10px}.ktv-rate-card{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 28px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.ktv-rate-card span{padding:12px 10px;border-left:1px solid var(--line)}.ktv-rate-card span:first-child{border-left:0}.ktv-rate-card small,.ktv-rate-card b{display:block}.ktv-rate-card small{font-size:9px;color:var(--muted)}.ktv-rate-card b{font-size:15px;margin-top:2px}
.gallery figcaption small{display:block;color:var(--muted);font-size:9px;letter-spacing:.04em}.gallery figcaption span+small{margin-top:1px}
.contact.no-image{display:block;min-height:0;padding:clamp(70px,9vw,126px) clamp(22px,7vw,110px)}.contact.no-image .contact-card{max-width:1040px;margin:0;padding:0;text-align:left}.contact.no-image h2{max-width:12em}.contact.no-image dl{display:grid;grid-template-columns:1.35fr 1fr 1fr;border-top:1px solid var(--line);margin:40px 0 28px}.contact.no-image dl>div{display:block;border-top:0;border-left:1px solid var(--line);padding:22px}.contact.no-image dl>div:first-child{border-left:0;padding-left:0}.contact dt span,.contact dt small,.contact dd span,.contact dd small{display:block}.contact dt small{margin-top:1px;font-size:9px;color:var(--muted)}.contact dd .translation{font-size:10px}.button-en{display:block;font-size:9px;font-weight:600;line-height:1.15;opacity:.72}.map-links{display:flex;align-items:center;gap:10px}.map-app{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s,background .25s}.map-app img{display:block;width:24px;height:24px}.map-app:hover{transform:translateY(-2px);border-color:var(--muted);background:var(--page)}.map-app:active{transform:translateY(1px) scale(.96)}.map-app:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.hero .hero-booking:is(:hover,:active,:focus,:focus-visible),.nav .btn:is(:hover,:active,:focus,:focus-visible){background:var(--accent)!important;color:var(--on-accent)!important;border-color:var(--accent)!important}.hero .hero-booking:is(:hover,:active,:focus,:focus-visible) span{color:inherit!important}

@media(prefers-color-scheme:dark){.brand-logo,footer .brand-logo{filter:none}.social-links img{filter:invert(1)}}

@media(max-width:820px){
  .nav>.nav-toggle{display:grid!important;position:absolute;right:18px;top:14px;z-index:2;place-content:center;gap:5px;width:42px!important;padding:0!important;font-size:0;border-color:var(--muted);background:var(--surface)}.nav-toggle::after{content:none}.nav-toggle span{display:block!important;width:20px;height:2px;margin:0!important;background:var(--ink)!important;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .2s}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .hero{min-height:760px}.hero::after{content:"";position:absolute;z-index:2;inset:38% 0 0;background:var(--surface-2)}.hero>img{height:35%;object-position:center 40%}.hero-shade{height:39%;z-index:1;background:linear-gradient(0deg,var(--surface-2),transparent 62%),linear-gradient(rgba(37,43,46,.08),rgba(37,43,46,.16))}.hero-copy{z-index:3;top:38%;bottom:auto;padding-top:18px}.hero .eyebrow{color:var(--muted);font-size:8px;margin-bottom:12px}.hero h1{font-size:clamp(42px,12vw,54px);line-height:1}.hero .lead{font-size:14px;line-height:1.55;margin-top:15px}.lead-en{font-size:10px;margin-top:6px}.hero-actions{margin-top:20px}.hero-note{z-index:3;bottom:18px}
  .intro-body>p:first-child,.section-description>p:first-child{font-size:15px}.service-strip{margin:-24px 20px 76px;grid-template-columns:1fr;min-height:0}.service-strip>div{min-height:116px;padding:22px;border-left:0;border-top:1px solid var(--line)}.service-strip>div:first-child{border-top:0}.service-strip b{font-size:26px}
  .section-description{margin-top:16px}.compact{min-height:132px}.space-title-en{margin-top:-6px}.ktv-rate-card small{font-size:8px}.ktv-rate-card b{font-size:13px}
  .contact.no-image{padding:72px 20px}.contact.no-image dl{grid-template-columns:1fr}.contact.no-image dl>div{border-left:0;border-top:1px solid var(--line);padding:17px 0}.contact.no-image dl>div:first-child{border-top:0}.contact.no-image h2{font-size:42px}
}

/* Stable mobile hero: no overlapping or viewport-height positioning */
@media(max-width:820px){
  .hero{display:flex;flex-direction:column;height:auto;min-height:0;padding-top:68px;overflow:hidden;background:var(--surface-2)}
  .hero::after{display:none}
  .hero>img{position:relative;inset:auto;width:100%;height:clamp(250px,48vw,340px);flex:none;object-position:center 44%}
  .hero-shade{display:none}
  .hero-copy,.hero-copy.reveal{position:relative;inset:auto;width:100%;max-width:none;padding:34px 20px 26px;transform:none;animation:none;background:var(--surface-2)}
  .hero .eyebrow{margin:0 0 12px}
  .hero h1{max-width:7em;margin:0}
  .hero .lead{max-width:520px;margin-top:16px}
  .lead-en{max-width:520px}
  .hero-actions{flex-wrap:wrap;margin-top:22px}
  .hero-note{position:relative;inset:auto;display:flex;width:100%;padding:0 20px 24px;background:var(--surface-2)}
}

/* Rounded typography lock */
body,.btn,.outline-btn,.tabs button,input,select,textarea{font-family:"Yuanti SC","圆体-简","SF Pro Rounded",ui-rounded,"PingFang SC","Noto Sans SC",sans-serif}
.hero h1,.intro h2,.section h2,.space h2,.contact h2,.booking-head h2,.dish h3{font-family:"Yuanti SC","圆体-简","SF Pro Rounded",ui-rounded,"PingFang SC","Noto Sans SC",sans-serif;font-weight:600;letter-spacing:-.025em}
.btn,.outline-btn,.tabs button{font-weight:650}

/* Final KTV card composition */
.space-copy ul{display:grid;gap:10px;margin:30px 0 22px;counter-reset:ktv-feature}
.space-copy li{position:relative;min-height:76px;padding:15px 16px 14px 58px;border:1px solid var(--line);border-radius:14px;background:var(--surface);counter-increment:ktv-feature;transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .28s,background .28s}
.space-copy li::before{content:"0" counter(ktv-feature);position:absolute;top:15px;left:15px;display:grid;place-items:center;width:29px;height:29px;margin:0;border-radius:9px;background:var(--surface-2);color:var(--ink);font-size:10px;font-weight:800}
.space-copy li span{display:block;font-size:14px;font-weight:700;line-height:1.45}.space-copy li small{display:block;margin:4px 0 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.space-copy li:hover{transform:translateX(4px);border-color:var(--muted);background:var(--page)}
.ktv-rate-card{position:relative;display:grid;grid-template-columns:repeat(3,1fr);padding-top:44px;margin:0 0 28px;border:0;border-radius:16px;overflow:hidden;background:var(--accent);color:var(--on-accent);box-shadow:0 14px 30px rgba(28,33,35,.12)}
.ktv-rate-card::before{content:"KTV 包厢收费  ·  ROOM RATES";position:absolute;top:0;left:0;right:0;height:44px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid color-mix(in srgb,var(--on-accent) 18%,transparent);font-size:9px;font-weight:750;letter-spacing:.12em;opacity:.72}
.ktv-rate-card span{padding:16px;border:0;border-left:1px solid color-mix(in srgb,var(--on-accent) 18%,transparent)}.ktv-rate-card span:first-child{border-left:0}.ktv-rate-card small{color:inherit;opacity:.72;font-size:9px}.ktv-rate-card b{margin-top:5px;font-size:19px;letter-spacing:-.02em}
.ktv-rate-card span{transition:background .25s}.ktv-rate-card span:hover{background:color-mix(in srgb,var(--on-accent) 7%,transparent)}
@media(max-width:820px){.ktv-rate-card span{padding:14px 10px}.ktv-rate-card b{font-size:16px}}

/* Booking KTV notice: theme-safe contrast and microphone mark */
.notice-title>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0!important;font-size:0!important;border-radius:10px;background:var(--accent);color:var(--on-accent)}
.notice-title>span::before{content:"";display:block;width:21px;height:21px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15.5a4 4 0 0 0 4-4V6a4 4 0 1 0-8 0v5.5a4 4 0 0 0 4 4Z'/%3E%3Cpath d='M5.5 10.5v1a6.5 6.5 0 0 0 13 0v-1M12 18v3M8.5 21h7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15.5a4 4 0 0 0 4-4V6a4 4 0 1 0-8 0v5.5a4 4 0 0 0 4 4Z'/%3E%3Cpath d='M5.5 10.5v1a6.5 6.5 0 0 0 13 0v-1M12 18v3M8.5 21h7'/%3E%3C/svg%3E") center/contain no-repeat}
.ktv-notice dd,.ktv-notice strong{color:var(--ink)}
@media(prefers-color-scheme:dark){
  .ktv-notice{background:#30373a;border-color:#556066!important}
  .notice-title b{color:#f4f6f6}
  .notice-title small{color:#c5cccf}
  .ktv-notice dl>div{border-color:#515b60!important}
  .ktv-notice dt{color:#cbd1d4}
  .ktv-notice dd{color:#f5f7f7}
  .ktv-notice p{color:#bec6c9}
  .ktv-notice strong,.ktv-confirm{color:#f1f4f5}
}
