/* 目录页共享样式：/ 分流页 · /ktv/ · /bar/ */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%}
body{overflow-x:clip;margin:0;background:#050505;color:#f2efe8;line-height:1.7;
 font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;
 font-size:clamp(14px,1.5vw,16px);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.num{font-variant-numeric:tabular-nums lining-nums}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(14px,4vw,32px)}

.top{padding:clamp(30px,5vw,58px) 0 clamp(20px,3vw,30px)}
.brand-row{display:flex;align-items:center;justify-content:center;gap:clamp(8px,2.2vw,16px);flex-wrap:nowrap}
.wordmark{display:inline-flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}
.wordmark-main{display:flex;align-items:baseline}
.wordmark-main .cn{font-size:clamp(20px,6.2vw,32px);font-weight:900;letter-spacing:clamp(1px,.5vw,2px)}
.wordmark-main .en{font-size:clamp(9px,2.5vw,13px);font-weight:200;color:rgba(242,239,232,.56);
 letter-spacing:clamp(4px,2.4vw,12px);margin-left:clamp(6px,2vw,14px)}
.wordmark-sub{display:flex;align-items:center;gap:clamp(6px,2vw,10px)}
.wordmark-sub .line{width:clamp(14px,4.5vw,28px);height:1px;background:rgba(232,207,138,.25)}
.wordmark-sub .text{font-size:clamp(7px,1.8vw,10px);font-weight:300;color:#e8cf8a;
 letter-spacing:clamp(3px,1.5vw,7px);white-space:nowrap}
.flag-badge{flex-shrink:0;display:inline-flex;align-items:center;
 background:linear-gradient(135deg,rgba(201,162,39,.18),rgba(232,207,138,.12));
 border:1px solid rgba(201,162,39,.35);color:#e8cf8a;padding:5px clamp(10px,2.6vw,16px);
 border-radius:100px;font-size:clamp(8px,2vw,11px);font-weight:700;
 letter-spacing:clamp(.2em,.6vw,.4em);white-space:nowrap}

/* 页内返回导航（分类页用） */
.crumb{text-align:center;margin-top:clamp(16px,2.4vw,26px);font-size:clamp(11px,1.3vw,13px);
 color:rgba(242,239,232,.42)}
.crumb a{color:rgba(232,207,138,.8);border-bottom:1px solid rgba(201,162,39,.3)}
.crumb b{color:rgba(242,239,232,.9);font-weight:700}
.crumb span{margin:0 .55em;color:rgba(242,239,232,.25)}

.head{text-align:center;padding:clamp(14px,3vw,26px) 0 clamp(22px,3.5vw,38px)}
h1{font-family:"Songti SC","STSong",serif;font-size:clamp(26px,5.2vw,48px);font-weight:400;
 margin:0 0 14px;letter-spacing:.03em}
h1 b{font-weight:400;color:#e8cf8a}
.sub{color:rgba(242,239,232,.62);font-size:clamp(13px,1.6vw,16px);max-width:54ch;margin:0 auto}
.deal-line{display:inline-flex;align-items:center;gap:.6em;margin-top:22px;padding:.6em 1.4em;
 border-radius:999px;border:1px solid rgba(201,162,39,.4);background:rgba(201,162,39,.10);
 color:#e8cf8a;font-size:clamp(12px,1.4vw,14px);font-weight:700}

/* ── 分流页：两个大入口 ─────────────────────────────── */
.gates{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,2vw,22px);
 margin-bottom:clamp(34px,5vw,62px)}
/* 奇数个入口时，最后一个横跨整行，不留半行空白 */
.gates .gate:last-child:nth-child(odd){grid-column:1/-1;min-height:clamp(150px,17vw,210px)}
.gate{position:relative;display:flex;flex-direction:column;justify-content:flex-end;
 min-height:clamp(190px,26vw,320px);padding:clamp(18px,2.6vw,32px);overflow:hidden;
 border:1px solid rgba(255,255,255,.1);border-radius:4px;background:#0e0d0b;
 transition:border-color .25s,transform .25s}
.gate:hover{border-color:#c9a227;transform:translateY(-4px)}
.gate .bg{position:absolute;inset:0;z-index:0}
.gate .bg img{width:100%;height:100%;object-fit:cover;
 filter:saturate(.78) contrast(1.06) brightness(.58);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.gate:hover .bg img{transform:scale(1.06)}
.gate .bg::after{content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(5,5,5,.18) 0%,rgba(5,5,5,.62) 52%,rgba(5,5,5,.92) 100%)}
/* 没有实拍图的入口（按摩洗头 / 其他玩法）：用底纹代替照片 */
.gate--flat{background:
  radial-gradient(120% 90% at 82% 12%,rgba(201,162,39,.16) 0%,rgba(201,162,39,0) 58%),
  linear-gradient(155deg,#141210 0%,#0b0a09 62%,#080807 100%)}
.gate--flat::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:repeating-linear-gradient(135deg,rgba(255,255,255,.022) 0 2px,transparent 2px 9px)}
.gate--flat .d{color:rgba(242,239,232,.58)}

.gate .in{position:relative;z-index:1}
.gate .k{display:inline-block;font-size:clamp(9px,1.2vw,11px);font-weight:700;color:#e8cf8a;
 letter-spacing:.28em;margin-bottom:.7em}
.gate .t{font-family:"Songti SC","STSong",serif;font-size:clamp(21px,3.4vw,36px);
 line-height:1.25;margin-bottom:.35em}
.gate .t em{font-style:normal;color:#e8cf8a}
.gate .d{color:rgba(242,239,232,.66);font-size:clamp(11px,1.4vw,14px);line-height:1.65}
.gate .go{margin-top:clamp(10px,1.6vw,18px);display:inline-flex;align-items:center;gap:.5em;
 color:#e8cf8a;font-size:clamp(11px,1.4vw,14px);font-weight:800}
.gate .go i{font-style:normal;transition:transform .2s}
.gate:hover .go i{transform:translateX(5px)}

.pick-t{text-align:center;font-family:"Songti SC","STSong",serif;
 font-size:clamp(18px,2.6vw,28px);margin:0 0 6px}
.pick-s{text-align:center;color:rgba(242,239,232,.5);font-size:clamp(12px,1.4vw,14px);
 margin:0 0 clamp(18px,2.6vw,28px)}

/* ── 分类页：导语正文 ───────────────────────────────── */
.intro{max-width:76ch;margin:0 auto clamp(26px,4vw,44px);color:rgba(242,239,232,.74);
 font-size:clamp(13px,1.5vw,15.5px)}
.intro p{margin:0 0 1.1em}
.intro b{color:#e8cf8a;font-weight:700}

.bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:clamp(20px,3vw,32px)}
.fbtn{padding:.5em 1.2em;border-radius:999px;border:1px solid rgba(255,255,255,.14);
 background:transparent;color:rgba(242,239,232,.72);font-size:clamp(12px,1.4vw,14px);font-weight:700;
 cursor:pointer;transition:border-color .2s,color .2s,background .2s;-webkit-tap-highlight-color:transparent}
.fbtn[aria-pressed="true"]{border-color:#c9a227;color:#0a0a0a;background:#c9a227}
.fbtn-rec{border-color:rgba(201,162,39,.5);color:#e8cf8a}
.count{text-align:center;font-size:clamp(11px,1.3vw,13px);color:rgba(242,239,232,.4);
 margin:-14px 0 18px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:clamp(12px,1.8vw,20px)}
/* 只有一两张卡时收窄居中，不然一张卡孤零零挂在四列网格左上角。
   宽度由 mkindex 按卡片数量写在 style 里（--few-w）。 */
.grid--few{max-width:var(--few-w,600px);margin-inline:auto;
 grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
.card{display:flex;flex-direction:column;background:#0e0d0b;border:1px solid rgba(255,255,255,.09);
 border-radius:3px;overflow:hidden;transition:border-color .25s,transform .25s}
.card:hover{border-color:#c9a227;transform:translateY(-4px)}
.card.hide{display:none}
.thumb{aspect-ratio:3/2;overflow:hidden;background:#111;position:relative}
.rb{position:absolute;top:0;left:0;z-index:2;background:linear-gradient(135deg,#c9a227,#e8cf8a);
 color:#0a0a0a;font-size:clamp(10px,1.2vw,12px);font-weight:800;letter-spacing:.08em;
 padding:.34em .8em;border-bottom-right-radius:3px}
.ct{position:absolute;top:8px;right:8px;z-index:2;background:rgba(5,5,5,.72);
 color:rgba(242,239,232,.86);font-size:clamp(10px,1.2vw,12px);font-weight:700;
 letter-spacing:.06em;padding:.3em .66em;border-radius:999px;
 border:1px solid rgba(255,255,255,.14)}
.card.rec{border-color:rgba(201,162,39,.42)}
.thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05) brightness(.92);
 transition:transform .5s cubic-bezier(.16,1,.3,1)}
.card:hover .thumb img{transform:scale(1.05)}
.body{padding:clamp(15px,2vw,20px);display:flex;flex-direction:column;gap:5px;flex:1}
.n{font-size:clamp(15px,1.8vw,18px);font-weight:800;letter-spacing:.01em}
.m{font-size:clamp(11px,1.3vw,13px);color:rgba(242,239,232,.5)}
.p{font-size:clamp(12px,1.4vw,14px);color:#e8cf8a;font-weight:700;margin-top:auto;padding-top:12px;
 display:flex;align-items:baseline;gap:.4em;white-space:nowrap}
.p b{font-size:clamp(15px,1.9vw,19px);font-weight:800}
.p .u{color:rgba(232,207,138,.72);font-weight:600;font-size:.86em}
.p .go{margin-left:auto;transition:transform .2s}
.card:hover .p .go{transform:translateX(4px)}

/* 主站项目卡：没有实拍图，用图标占位 */
.thumb--ico{display:flex;align-items:center;justify-content:center;
 background:
  radial-gradient(100% 80% at 50% 22%,rgba(201,162,39,.15) 0%,rgba(201,162,39,0) 62%),
  linear-gradient(155deg,#15130f 0%,#0c0b0a 100%)}
.pico{font-size:clamp(38px,6.4vw,58px);line-height:1;filter:saturate(.92);
 transition:transform .45s cubic-bezier(.16,1,.3,1)}
.card--proj:hover .pico{transform:scale(1.09)}
.card--proj .m{color:rgba(242,239,232,.55)}
.card--proj .p b{font-size:clamp(12px,1.4vw,14px);font-weight:800}

/* ── 分类页：常见问题 ───────────────────────────────── */
.faq{max-width:76ch;margin:clamp(38px,6vw,68px) auto 0}
.faq-t{text-align:center;font-family:"Songti SC","STSong",serif;
 font-size:clamp(19px,2.8vw,30px);margin:0 0 clamp(16px,2.4vw,26px)}
.faq details{border-top:1px solid rgba(255,255,255,.09)}
.faq details:last-of-type{border-bottom:1px solid rgba(255,255,255,.09)}
.faq summary{list-style:none;cursor:pointer;padding:1.05em 2em 1.05em 0;position:relative;
 font-weight:700;font-size:clamp(13px,1.5vw,15.5px);-webkit-tap-highlight-color:transparent}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2em;top:.85em;color:#c9a227;
 font-size:1.35em;font-weight:400;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 0 1.15em;color:rgba(242,239,232,.7);font-size:clamp(12.5px,1.45vw,15px)}
.faq .a p{margin:0 0 .8em}
.faq .a p:last-child{margin-bottom:0}

.cta{text-align:center;padding:clamp(40px,6vw,72px) 0 0}
.cta .t{font-family:"Songti SC","STSong",serif;font-size:clamp(19px,2.8vw,30px);margin-bottom:10px}
.cta .s{color:rgba(242,239,232,.55);font-size:clamp(12px,1.4vw,14px)}
.contact-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:760px;margin:26px auto 0}
.btn-c{display:flex;align-items:center;justify-content:center;gap:.5em;padding:1em .8em;border-radius:999px;
 font-size:clamp(12px,1.4vw,14px);font-weight:800;min-height:52px;transition:transform .2s,filter .2s;
 -webkit-tap-highlight-color:transparent}
.btn-c:hover{transform:translateY(-3px);filter:brightness(1.1)}
.btn-tg-main{background:linear-gradient(135deg,#c9a227,#e8cf8a);color:#0a0a0a}
.btn-tg-cs{background:#2aabee;color:#fff}
.btn-line{background:#06c755;color:#fff}
.btn-x{background:#f2efe8;color:#050505}

.foot{margin-top:clamp(40px,6vw,68px);padding:clamp(24px,4vw,40px) 0 calc(clamp(30px,5vw,56px) + 40px);
 border-top:1px solid rgba(255,255,255,.09);text-align:center;font-size:clamp(11px,1.3vw,13px);
 color:rgba(242,239,232,.34);line-height:1.9}
.foot a{color:rgba(242,239,232,.6);border-bottom:1px solid rgba(255,255,255,.2)}
.footnav{display:flex;flex-wrap:wrap;gap:.4em 1.3em;justify-content:center;margin-bottom:1em}
.footnav a{border-bottom:none;color:rgba(242,239,232,.55)}

.fab{position:fixed;right:clamp(12px,2.4vw,26px);bottom:clamp(14px,2.6vw,28px);z-index:60;
 display:inline-flex;align-items:center;gap:.55em;padding:.85em 1.25em;border-radius:999px;
 background:#2aabee;color:#fff;font-size:clamp(12px,1.4vw,14px);font-weight:800;
 box-shadow:0 10px 30px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.1) inset;
 transition:transform .2s,filter .2s;-webkit-tap-highlight-color:transparent}
.fab:hover{transform:translateY(-3px);filter:brightness(1.08)}
.fab .dot{width:7px;height:7px;border-radius:50%;background:#5cff9d;box-shadow:0 0 0 3px rgba(92,255,157,.24)}

@media (max-width:600px){
 .grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
 .body{padding:12px;gap:3px}
 .contact-row{grid-template-columns:repeat(2,1fr);gap:8px}
 .btn-c{min-height:48px;font-size:12px}
 .p{font-size:11px;padding-top:10px}
 .p b{font-size:15px}
 .p .u{font-size:0}
 .p .u::after{content:"起";font-size:11px}
 .p .go{display:none}
 .fbtn{padding:.45em .9em;font-size:12px}
 .gates{grid-template-columns:1fr;gap:10px}
 .gate{min-height:168px}
}
@media (max-width:380px){.fab .txt{display:none}.fab{padding:.85em;border-radius:50%}}
@media (hover:none),(pointer:coarse){
 .card:hover,.gate:hover{transform:none;border-color:rgba(255,255,255,.09)}
 .card:hover .thumb img,.gate:hover .bg img{transform:none}
 .card:hover .p .go,.gate:hover .go i{transform:none}
 .btn-c:hover,.fab:hover{transform:none;filter:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important}}
