/* ============================================================
   ============================================================ */

:root{
  --bg:#0a0a0a;
  --bg2:#0d0a10;
  --card:#121016;
  --card2:#18141c;
  --gold:#ff2d6f;          
  --gold2:#ff5a8f;
  --gold3:#e01b58;
  --text:#ffffff;
  --muted:#a8a2ad;
  --line:rgba(255,45,111,.20);
  --line2:rgba(255,255,255,.08);
  --radius:18px;
  --pink:#ff2d6f;
  --pink2:#ff5a8f;
  --glow:#5c0f30;
}

body, h1, h2, h3, h4, h5, h6,
.hero-title, .sec-head h2, .page-hero h1, .p-info h1, .article h1{
  font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",
               system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing: -.015em;
}

.hero-mz{
  position:relative;
  background:#0a0a0a;
  padding:70px 0 0;
  overflow:hidden;
}

.hero-mz::before{
  content:"";
  position:absolute; left:50%; top:-320px; transform:translateX(-50%);
  width:1400px; height:700px;
  background:radial-gradient(ellipse at center, rgba(120,10,50,.55), rgba(60,5,25,.25) 45%, transparent 70%);
  pointer-events:none;
}

.hero-mz::after{
  content:"";
  position:absolute; inset:auto 0 0 0; height:260px;
  background:linear-gradient(to top, rgba(90,8,36,.35), transparent);
  pointer-events:none;
}
.hero-mz .wrap{position:relative; z-index:2}
.hero-grid{
  display:grid; grid-template-columns:1fr auto; gap:60px;
  align-items:center; padding:40px 0 60px;
}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr; gap:40px}
}
.hero-left h1{
  font-size:clamp(38px,5vw,62px);
  font-weight:800; color:#fff; margin:0 0 18px; line-height:1.1;
}
.hero-left .hero-en{
  font-size:16px; color:#e6e2ea; margin:0 0 16px; font-weight:500;
}
.hero-left .hero-desc{
  font-size:14px; color:#9d97a4; line-height:1.95; margin:0 0 30px; max-width:420px;
}
.btn-pink{
  display:inline-block;
  background:linear-gradient(135deg,#ff3d7a,#ff1f61);
  color:#fff; font-size:15px; font-weight:600; letter-spacing:.02em;
  padding:14px 34px; border-radius:999px; text-decoration:none;
  box-shadow:0 8px 26px rgba(255,45,111,.35);
  transition:.25s;
}
.btn-pink:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 32px rgba(255,45,111,.5);
  filter:brightness(1.05);
}

.hero-cards{
  display:flex; align-items:center; gap:14px;
}
.hc{
  width:150px; aspect-ratio:9/16;
  border-radius:14px; overflow:hidden;
  background:#17131c; position:relative;
  box-shadow:0 18px 50px rgba(0,0,0,.6);
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.hc img{width:100%; height:100%; object-fit:cover; display:block}
.hc:nth-child(1){transform:translateY(-18px) rotate(-1.5deg)}
.hc:nth-child(2){transform:translateY(10px) scale(.94)}
.hc:nth-child(3){transform:translateY(-8px) rotate(1.5deg)}
.hc:hover{transform:translateY(-6px) scale(1.03)}
@media(max-width:980px){
  .hero-cards{justify-content:center}
  .hc{width:110px}
}
@media(max-width:560px){
  .hc{width:88px}
  .hc:nth-child(1),.hc:nth-child(3){display:none}
}

.stats-bar{
  position:relative; z-index:2;
  background:linear-gradient(90deg,#2a0714 0%,#651130 35%,#7a1439 50%,#651130 65%,#2a0714 100%);
  border-top:1px solid rgba(255,45,111,.18);
  border-bottom:1px solid rgba(255,45,111,.18);
  padding:34px 0;
}
.stats-bar .wrap{
  display:flex; align-items:center; justify-content:space-around; gap:20px;
}
@media(max-width:760px){ .stats-bar .wrap{flex-direction:column; gap:26px} }
.sb-item{text-align:center; color:#fff}
.sb-item b{
  display:block; font-size:34px; font-weight:800; line-height:1.1;
  font-family:system-ui,-apple-system,sans-serif; letter-spacing:-.02em;
}
.sb-item span{font-size:13px; color:rgba(255,255,255,.62); margin-top:6px; display:block}

.eyebrow{color:#ff5a8f; letter-spacing:.2em}
.gold-line{background:linear-gradient(90deg,#ff2d6f,transparent)}
.btn-gold{
  background:linear-gradient(135deg,#ff3d7a,#ff1f61);
  color:#fff; font-weight:600; border:none; border-radius:999px;
  box-shadow:0 6px 20px rgba(255,45,111,.3);
}
.btn-gold:hover{filter:brightness(1.07); box-shadow:0 10px 26px rgba(255,45,111,.45)}
.btn-line{border-radius:999px; border-color:rgba(255,45,111,.4); color:#ff5a8f}
.btn-line:hover{background:rgba(255,45,111,.1); border-color:#ff2d6f}

.main-nav a{color:#c9c4ce; border-radius:999px; padding:6px 12px}
.main-nav a:hover{color:#fff; background:rgba(255,255,255,.06)}
.main-nav a.on{color:#ff5a8f}

.pill{border-radius:999px; border-color:rgba(255,255,255,.1); color:#c9c4ce}
.pill.on{background:linear-gradient(135deg,#ff3d7a,#ff1f61); color:#fff; border-color:transparent; font-weight:600}
.pill:hover{border-color:rgba(255,45,111,.55); color:#ff5a8f}

.tag,.cat{border-radius:999px; background:rgba(255,45,111,.14); color:#ff5a8f}

.t-card,.deal-card,.hd-card,.flow-item,.vip-card,.acct-note,.acct-bills,
.acct-side,.sub-form,.sub-side,.deal-notes,.faq,.vip-table,.vip-faq,
.pf-form,.pf-note,.auth-box,.join-box{
  border-radius:var(--radius);
  border-color:rgba(255,255,255,.07);
  background:#121016;
}

.t-card{position:relative; overflow:hidden; border-radius:16px}
.t-card img,.t-card .t-cover{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.t-card:hover img,.t-card:hover .t-cover{transform:scale(1.055)}
.t-card::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:52%;
  background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.3) 55%,transparent);
  pointer-events:none; z-index:1;
}
.t-card .t-meta,.t-card .t-name{position:relative; z-index:2}

input[type=text],input[type=password],input[type=email],
input[type=number],textarea,select{
  border-radius:12px; background:#0c0b10;
  border-color:rgba(255,255,255,.09); color:#fff;
}
input:focus,textarea:focus{
  border-color:#ff2d6f; box-shadow:0 0 0 3px rgba(255,45,111,.12);
}

.section-alt{background:#0d0a10}
footer,.footer{background:#070708}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0a0a0a}
::-webkit-scrollbar-thumb{background:#2a2630;border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:#3d3846}

/* ===== meizi 风格页脚 ===== */
.marquee{overflow:hidden;background:#0a0a0a;border-top:1px solid rgba(255,45,111,.12);
  border-bottom:1px solid rgba(255,45,111,.12);padding:14px 0;position:relative}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,#0a0a0a,transparent)}
.marquee::after{right:0;background:linear-gradient(-90deg,#0a0a0a,transparent)}
.marquee-track{display:flex;gap:60px;white-space:nowrap;animation:mq 38s linear infinite}
.marquee-track span{font-size:12.5px;letter-spacing:.34em;color:rgba(255,45,111,.55);
  font-weight:600;text-transform:uppercase}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.footer-3col{display:grid;grid-template-columns:2.4fr 1fr 1.2fr;gap:44px;padding:52px 0 34px}
@media(max-width:900px){.footer-3col{grid-template-columns:1fr;gap:32px}}
.f-col h4{font-size:13px;color:#8a8492;font-weight:500;margin:0 0 16px;letter-spacing:.04em}
.f-col a{display:block;font-size:13.5px;color:#c2bcc9;text-decoration:none;padding:4px 0;transition:.2s}
.f-col a:hover{color:#ff5a8f}
.city-links{display:grid;grid-template-columns:repeat(6,1fr);gap:2px 10px}
@media(max-width:1100px){.city-links{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.city-links{grid-template-columns:repeat(3,1fr)}}
.city-links a{font-size:13px;white-space:nowrap}

.f-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:22px 0 10px;border-top:1px solid rgba(255,255,255,.06);
  font-size:12.5px;color:#6f6a78;flex-wrap:wrap}
.f-legal{display:flex;gap:18px}
.f-legal a{color:#6f6a78;text-decoration:none}
.f-legal a:hover{color:#ff5a8f}
.f-disclaimer{padding:8px 0 34px;font-size:12px;color:#4e4a56;line-height:1.8}

/* ===== CTA 区（左文右图）===== */
.cta-journey{position:relative;background:#0a0a0a;padding:80px 0 90px;overflow:hidden}
.cta-journey::before{content:"";position:absolute;left:50%;top:-200px;transform:translateX(-50%);
  width:1200px;height:600px;
  background:radial-gradient(ellipse at center,rgba(110,10,48,.4),transparent 70%);pointer-events:none}
.cta-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;
  gap:60px;align-items:center}
@media(max-width:980px){.cta-grid{grid-template-columns:1fr;gap:40px}}
.cta-left h2{font-size:clamp(28px,3.4vw,42px);font-weight:800;color:#fff;margin:0 0 18px;line-height:1.2}
.cta-left p{font-size:14.5px;color:#9d97a4;line-height:1.95;margin:0 0 30px;max-width:460px}
.cta-photos{display:flex;gap:16px}
.cta-photo{display:block;width:180px;aspect-ratio:3/4;border-radius:16px;overflow:hidden;
  background:#17131c;box-shadow:0 20px 60px rgba(0,0,0,.65);transition:.5s}
.cta-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cta-photo:hover{transform:translateY(-6px)}
.cta-photo:nth-child(2){margin-top:36px}
@media(max-width:760px){.cta-photo{width:130px}}

/* ===== 导航粉色胶囊 ===== */
.nav-pill{display:inline-flex;align-items:center;gap:6px;margin-left:18px;
  background:linear-gradient(135deg,#ff3d7a,#ff1f61);color:#fff;font-size:12.5px;
  font-weight:600;padding:6px 14px;border-radius:999px;text-decoration:none;
  box-shadow:0 4px 14px rgba(255,45,111,.35);white-space:nowrap}
.nav-pill:hover{filter:brightness(1.08)}
.nav-pill i{font-style:normal;opacity:.85;font-size:11px}

/* ===== 布局修复 ===== */

/* 1) 导航：禁止换行 + 收紧尺寸 */
.main-nav{display:flex;align-items:center;gap:2px;margin-left:auto;flex-wrap:nowrap}
.main-nav a{
  white-space:nowrap !important;
  padding:7px 10px !important;
  font-size:13.5px !important;
  letter-spacing:.02em !important;
}
.main-nav .nav-pill{
  padding:6px 13px !important;
  margin-left:10px;
  font-size:12.5px !important;
}
.header-inner{gap:18px !important}
.header-cta{padding:8px 18px !important;font-size:13px !important;white-space:nowrap}

/* 2) 页脚城市：用 flex 换行，且强制 inline */
.f-cities .city-links{
  display:flex !important;
  flex-wrap:wrap;
  gap:6px 18px;
}
.f-cities .city-links a{
  display:inline-block !important;
  width:auto !important;
  padding:2px 0 !important;
  font-size:13px !important;
  white-space:nowrap;
  flex:0 0 auto;
}
.footer-3col{
  grid-template-columns:1.1fr 0.6fr 0.7fr !important;
  gap:48px !important;
}

/* 3) 页脚其它列正常 block */
.f-col:not(.f-cities) a{display:block}

/* 4) 中等屏幕：导航收窄 */
@media(max-width:1280px){
  .main-nav a{padding:6px 7px !important;font-size:12.5px !important}
  .header-inner{gap:12px !important}
}

/* ===== 详情页/profile 强制布局（修复崩坏）===== */
.profile{
  display:grid !important;
  grid-template-columns:minmax(0,460px) minmax(0,1fr) 280px !important;
  gap:36px !important;
  align-items:start !important;
  padding:22px 0 30px !important;
}
@media(max-width:1100px){
  .profile{grid-template-columns:minmax(0,380px) minmax(0,1fr) !important}
  .profile .side-col{display:none}
}
@media(max-width:820px){
  .profile{grid-template-columns:1fr !important}
  .profile .side-col{display:block}
}
.profile .p-photo{
  display:block;
  width:100%;
  max-width:460px;
  aspect-ratio:3/4;
  max-height:620px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}
.profile .p-photo img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.profile .p-info{
  min-width:0;
  position:relative;
  z-index:2;
}
.profile .p-info h1{
  color:#fff !important;
  font-size:clamp(26px,2.6vw,36px) !important;
  font-weight:800;
  letter-spacing:.02em !important;
  margin:8px 0 6px !important;
  line-height:1.25;
}
.profile .p-info .eyebrow{color:#ff5a8f !important}
.profile .gold-line{
  height:2px;width:56px;margin:12px 0 20px;
  background:linear-gradient(90deg,#ff2d6f,transparent);
}
.profile .stats{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:1px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  overflow:hidden;
  margin:0 0 20px !important;
}
.profile .stats div{background:#121016;padding:12px 14px}
.profile .stats dt{font-size:11.5px;color:#8a8492;letter-spacing:.12em}
.profile .stats dd{
  margin:3px 0 0;font-size:19px;font-weight:700;color:#ff5a8f;
  font-family:system-ui,-apple-system,sans-serif;
}
.profile .stats small{font-size:11px;margin-left:2px;color:#8a8492}
.profile .tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.profile .tags span{
  padding:4px 12px;border-radius:999px;font-size:12.5px;
  background:rgba(255,45,111,.13);color:#ff5a8f;border:none;
}
.profile .bio{color:#c2bcc9 !important;font-size:14px;line-height:1.9}
.profile .bio p{margin:0 0 10px}
.profile .p-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
/* ===== meizi 风格卡片 ===== */
.mz-card{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:#121016;
  aspect-ratio:3/4;
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.mz-card:hover{transform:translateY(-4px)}

.mz-cover{display:block;position:relative;width:100%;height:100%}
.mz-cover img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.mz-card:hover .mz-cover img{transform:scale(1.06)}

/* 底部渐变遮罩 */
.mz-shade{
  position:absolute;left:0;right:0;bottom:0;height:58%;
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 45%,transparent 100%);
  pointer-events:none;
}

/* 顶部：名字 + 认证 + ID/日期 */
.mz-badge{
  position:absolute;left:12px;right:12px;top:12px;
  display:flex;align-items:center;gap:5px;
  font-size:13px;color:#fff;z-index:2;
  text-shadow:0 1px 4px rgba(0,0,0,.8);
}
.mz-name{font-weight:600;letter-spacing:.01em;max-width:58%;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.mz-v{
  display:inline-flex;align-items:center;justify-content:center;
  width:14px;height:14px;border-radius:50%;
  background:#3b82f6;color:#fff;font-size:9px;font-style:normal;
  flex:0 0 auto;
}
.mz-right{
  margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:1px;
}
.mz-id{font-size:11px;color:rgba(255,255,255,.82);font-family:ui-monospace,monospace}
.mz-date{font-size:10.5px;color:rgba(255,255,255,.6)}

/* 底部：标签 + 数据 */
.mz-foot{
  position:absolute;left:12px;right:56px;bottom:11px;z-index:2;
  display:flex;flex-direction:column;gap:5px;
}
.mz-tags{font-size:11.5px;color:rgba(255,255,255,.72);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mz-stats{display:flex;gap:9px;font-size:12.5px;color:#fff;font-weight:500}
.mz-stats span{position:relative}
.mz-stats span+span::before{
  content:"|";position:absolute;left:-6px;color:rgba(255,255,255,.35);
}

/* 右下角：收藏 / 关注 */
.mz-acts{
  position:absolute;right:10px;bottom:10px;z-index:3;
  display:flex;gap:7px;
}
.mz-act{
  width:29px;height:29px;border-radius:50%;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;font-size:14px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.2s;padding:0;
}
.mz-act:hover{background:rgba(255,45,111,.85);border-color:transparent;transform:scale(1.08)}
.mz-act.on{background:#ff2d6f;border-color:transparent;color:#fff}

/* 城市页网格：全宽 4 列 */
.mz-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:24px 0 50px;
}
@media(max-width:1180px){.mz-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.mz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:480px){.mz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .mz-stats{font-size:11px;gap:7px}
  .mz-name{font-size:12px}}

/* 城市页去掉侧栏，全宽 */
.layout.mz-layout{display:block}
.layout.mz-layout .main-col{width:100%;max-width:none}
.layout.mz-layout .side-col{display:none}

/* ===== 城市页压缩：胶囊单行滚动 + hero 收窄 ===== */
.pills-scroll,
.pills{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto;
  overflow-y:hidden;
  gap:8px;
  padding:2px 0 12px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.pills::-webkit-scrollbar{height:5px}
.pills::-webkit-scrollbar-track{background:transparent}
.pills::-webkit-scrollbar-thumb{background:rgba(255,45,111,.3);border-radius:3px}
.pill{flex:0 0 auto !important;white-space:nowrap}

/* 城市页 hero 收窄 */
.page-hero{padding:38px 0 30px !important}
.page-hero h1{font-size:clamp(26px,3vw,38px) !important;margin:10px 0 12px !important}
.page-hero p{font-size:13.5px !important}

/* 面包屑与列表间距收紧 */
.crumb{margin:0 0 14px !important;font-size:12.5px}
.mz-grid{margin:10px 0 44px !important}

/* 城市介绍文字缩小 */
.city-intro{font-size:13px !important;line-height:1.85 !important;
  color:#8a8492 !important;margin:0 0 14px !important}

/* ===== 包养站 → 外围站 引流横幅 ===== */
.escort-banner{
  display:flex;align-items:center;gap:14px;
  margin-top:26px;max-width:520px;
  padding:14px 20px 14px 18px;
  border-radius:16px;position:relative;overflow:hidden;
  background:linear-gradient(110deg,#1a1508 0%,#2a2210 40%,#3a2d12 72%,#4a3a18 100%);
  border:1px solid rgba(217,184,119,.42);
  box-shadow:0 14px 44px -14px rgba(217,184,119,.45),
             0 0 0 1px rgba(255,240,200,.08) inset;
  text-decoration:none;transition:.3s cubic-bezier(.2,.7,.2,1);
}
.escort-banner:hover{
  transform:translateY(-3px);
  border-color:rgba(240,215,154,.75);
  box-shadow:0 20px 54px -14px rgba(217,184,119,.65),
             0 0 0 1px rgba(255,240,200,.16) inset;
}
.eb-shine{
  position:absolute;top:0;bottom:0;width:60%;left:-70%;
  background:linear-gradient(100deg,transparent,rgba(255,235,180,.22),transparent);
  transform:skewX(-18deg);animation:ebShine 4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes ebShine{0%,55%{left:-70%}85%,100%{left:130%}}
.eb-deco{
  font-size:29px;line-height:1;flex:0 0 auto;
  filter:drop-shadow(0 4px 12px rgba(217,184,119,.5));
  animation:ebFloat 3.2s ease-in-out infinite;
}
@keyframes ebFloat{
  0%,100%{transform:translateY(0) rotate(-4deg)}
  50%{transform:translateY(-4px) rotate(4deg)}
}
.eb-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.eb-tag{
  font-size:10.5px;font-weight:700;letter-spacing:.14em;
  color:#d9b877;opacity:.9;
  display:inline-flex;align-items:center;gap:5px;
}
.eb-tag::before{
  content:"";width:12px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#d9b877,transparent);
}
.eb-text b{
  font-size:20px;font-weight:800;line-height:1.3;
  background:linear-gradient(100deg,#f0d79a,#d9b877 60%,#c9a86e);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:.02em;
}
.eb-text i{
  font-size:12.5px;font-style:normal;color:#a89b80;letter-spacing:.03em;
}
.eb-arrow{
  margin-left:auto;flex:0 0 auto;
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,#f0d79a,#c9a86e);
  color:#1a1408;display:flex;align-items:center;justify-content:center;
  font-size:19px;line-height:1;font-weight:700;
  box-shadow:0 6px 18px -4px rgba(217,184,119,.55);
  transition:.28s;
}
.escort-banner:hover .eb-arrow{
  transform:translateX(3px) scale(1.06);
  box-shadow:0 8px 22px -4px rgba(217,184,119,.8);
}
@media(max-width:640px){
  .escort-banner{max-width:100%;margin-top:20px;padding:12px 16px;gap:11px}
  .eb-deco{font-size:24px}
  .eb-text b{font-size:17px}
  .eb-text i{font-size:11.5px}
  .eb-arrow{width:28px;height:28px;font-size:16px}
}
@media (prefers-reduced-motion: reduce){
  .eb-shine,.eb-deco{animation:none}
}

/* ===== 包养站横幅（亮金版，醒目）===== */
.escort-banner{
  display:flex;align-items:center;gap:14px;
  margin-top:26px;max-width:560px;
  padding:15px 20px 15px 18px;
  border-radius:16px;position:relative;overflow:hidden;
  background:linear-gradient(110deg,#fffaf0 0%,#ffeec6 34%,#ffdd9c 66%,#ffcf72 100%);
  border:1px solid rgba(240,190,90,.6);
  box-shadow:0 14px 44px -14px rgba(230,160,40,.6),
             0 0 0 1px rgba(255,255,255,.55) inset;
  text-decoration:none;transition:.3s cubic-bezier(.2,.7,.2,1);
}
.escort-banner:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 54px -14px rgba(230,160,40,.78),
             0 0 0 1px rgba(255,255,255,.7) inset;
}
.eb-shine{
  position:absolute;top:0;bottom:0;width:60%;left:-70%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);
  transform:skewX(-18deg);animation:ebShine 3.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes ebShine{0%,55%{left:-70%}85%,100%{left:130%}}
.eb-deco{
  font-size:31px;line-height:1;flex:0 0 auto;
  filter:drop-shadow(0 4px 10px rgba(200,130,20,.35));
  animation:ebFloat 3.2s ease-in-out infinite;
}
@keyframes ebFloat{
  0%,100%{transform:translateY(0) rotate(-4deg)}
  50%{transform:translateY(-4px) rotate(4deg)}
}
.eb-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.eb-tag{
  font-size:10.5px;font-weight:700;letter-spacing:.14em;
  color:#b07600;
  display:inline-flex;align-items:center;gap:5px;
}
.eb-tag::before{
  content:"";width:12px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#e8a020,transparent);
}
.eb-text b{
  font-size:21px;font-weight:800;line-height:1.28;
  color:#7a4a00;letter-spacing:.02em;
  text-shadow:0 1px 0 rgba(255,255,255,.6);
}
.eb-text i{
  font-size:13px;font-style:normal;font-weight:600;
  color:#9a6a10;letter-spacing:.03em;
}
.eb-arrow{
  margin-left:auto;flex:0 0 auto;
  width:33px;height:33px;border-radius:50%;
  background:linear-gradient(135deg,#f0a020,#d97800);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:19px;line-height:1;font-weight:700;
  box-shadow:0 6px 18px -4px rgba(217,120,0,.65);
  transition:.28s;
}
.escort-banner:hover .eb-arrow{
  transform:translateX(3px) scale(1.06);
  box-shadow:0 8px 22px -4px rgba(217,120,0,.85);
}
@media(max-width:640px){
  .escort-banner{max-width:100%;margin-top:20px;padding:13px 16px;gap:11px}
  .eb-deco{font-size:26px}
  .eb-text b{font-size:18px}
  .eb-text i{font-size:12px}
  .eb-arrow{width:29px;height:29px;font-size:16px}
}
@media (prefers-reduced-motion: reduce){
  .eb-shine,.eb-deco{animation:none}
}

/* ===== 首页紧凑化 ===== */
/* Hero 区：整体收窄 */
.hero-mz{padding:42px 0 0 !important}
.hero-grid{
  padding:24px 0 34px !important;
  gap:44px !important;
}
.hero-left h1{
  font-size:clamp(32px,4.2vw,50px) !important;
  margin:0 0 12px !important;
  line-height:1.12 !important;
}
.hero-left .hero-en{
  font-size:15px !important;
  margin:0 0 12px !important;
}
.hero-left .hero-desc{
  font-size:13.5px !important;
  line-height:1.8 !important;
  margin:0 0 20px !important;
  max-width:400px !important;
}
.btn-pink{
  padding:12px 30px !important;
  font-size:14.5px !important;
}

/* 右侧三张卡片略小 */
.hc{width:136px !important}
.hero-cards{gap:12px !important}

/* 横幅更扁 */
.escort-banner{
  margin-top:18px !important;
  padding:12px 18px 12px 16px !important;
  max-width:520px !important;
}
.eb-deco{font-size:26px !important}
.eb-text b{font-size:19px !important}
.eb-text i{font-size:12.5px !important}
.eb-arrow{width:29px !important;height:29px !important;font-size:17px !important}

/* 数据条更矮 */
.stats-bar{padding:22px 0 !important}
.sb-item b{font-size:29px !important}
.sb-item span{font-size:12px !important;margin-top:4px !important}

/* 城市条 */
.hx-bar{
  margin:22px auto !important;
  padding:14px 20px !important;
}

/* 精选糖宝区 */
.hx-feat{padding:26px 0 0 !important}
.hx-head{margin-bottom:22px !important}
.hx-head h2{font-size:26px !important}

/* 各 section 通用压缩 */
.section{padding:38px 0 !important}
.sec-head{margin-bottom:26px !important}
.sec-head h2{font-size:26px !important}

/* 卡片网格间距 */
.t-grid, .mz-grid{gap:14px !important}

/* 页脚上方留白 */
.hx-join, .hx-deals, .hx-flow, .hx-proof{
  padding:36px 0 !important;
}

@media(max-width:980px){
  .hero-mz{padding:32px 0 0 !important}
  .hero-grid{padding:18px 0 26px !important;gap:30px !important}
  .hero-left h1{font-size:30px !important}
  .hc{width:100px !important}
  .stats-bar{padding:18px 0 !important}
  .sb-item b{font-size:24px !important}
}

/* ===== 注册登录弹窗 ===== */
.auth-mask{
  position:fixed;inset:0;z-index:120;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.auth-mask.on{display:flex}
.auth-box{
  position:relative;width:780px;max-width:100%;max-height:calc(100vh - 48px);
  display:flex;border-radius:20px;overflow:hidden;
  background:#0d0a0c;border:1px solid #2a1a20;
  box-shadow:0 40px 100px rgba(0,0,0,.85);
  animation:authIn .3s cubic-bezier(.2,.7,.2,1);
}
@keyframes authIn{from{transform:translateY(16px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.auth-close{
  position:absolute;right:14px;top:12px;z-index:5;width:32px;height:32px;
  border-radius:50%;background:rgba(255,255,255,.06);border:0;color:#8b8085;
  font-size:22px;line-height:1;cursor:pointer;transition:.2s;
}
.auth-close:hover{background:rgba(255,255,255,.12);color:#ff5a8f}

/* 左侧品牌区 */
.auth-side{
  flex:0 0 300px;position:relative;overflow:hidden;
  background:linear-gradient(160deg,#fdf6ee,#f9e9d8 55%,#f5ddc8);
  padding:34px 26px;display:flex;flex-direction:column;
}
.as-brand{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}
.as-logo{
  font-size:21px;font-weight:800;color:#1a0f14;letter-spacing:.01em;
}
.as-sub{font-size:9.5px;letter-spacing:.34em;color:#a08b7a;font-weight:600}
.as-tip{
  background:#fff;border-radius:14px;padding:15px 16px;
  box-shadow:0 8px 24px rgba(120,60,30,.1);
  border:1px solid rgba(220,180,150,.4);
}
.as-tip b{display:block;font-size:13.5px;color:#1a0f14;margin-bottom:9px;font-weight:700}
.as-tip ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.as-tip li{
  font-size:11.5px;color:#6b5c52;line-height:1.5;
  padding-left:14px;position:relative;
}
.as-tip li::before{
  content:"♥";position:absolute;left:0;top:0;color:#e8407a;font-size:9px;
}
.as-tip em{color:#d4285c;font-weight:700;font-style:normal}
.as-deco{
  margin-top:auto;display:flex;align-items:flex-end;gap:10px;
  font-size:26px;opacity:.5;filter:saturate(1.2);
}
.as-deco .ad1{transform:rotate(-12deg)}
.as-deco .ad2{font-size:20px;opacity:.8}
.as-deco .ad3{font-size:16px;opacity:.6}

/* 右侧表单区 */
.auth-main{
  flex:1;min-width:0;padding:32px 30px 24px;
  display:flex;flex-direction:column;overflow-y:auto;
  background:#0d0a0c;
  scrollbar-width:thin;scrollbar-color:#2a1a20 transparent;
}
.auth-main::-webkit-scrollbar{width:5px}
.auth-main::-webkit-scrollbar-thumb{background:#2a1a20;border-radius:3px}
.am-head{margin-bottom:18px}
.am-head h2{font-size:22px;font-weight:800;color:#f6eef2;margin:0 0 6px;letter-spacing:.01em}
.am-head p{font-size:12.5px;color:#8b8085;margin:0;line-height:1.55}

.am-tabs{display:flex;gap:26px;border-bottom:1px solid #241820;margin-bottom:18px}
.am-tab{
  background:none;border:0;padding:0 0 10px;font-size:14px;font-weight:600;
  color:#7a6f75;cursor:pointer;position:relative;font-family:inherit;transition:.2s;
}
.am-tab.on{color:#ff4d8d}
.am-tab.on::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,#ff4d8d,#e11d63);border-radius:2px;
}
.am-tab:hover{color:#ff7da8}

.am-form{display:flex;flex-direction:column;gap:11px}
.am-field{
  position:relative;display:flex;align-items:center;
  background:#151014;border:1px solid #2a1a20;border-radius:11px;
  padding:0 12px;height:46px;transition:.2s;
}
.am-field:focus-within{border-color:#6b2d42;background:#1a1318}
.am-ref{display:none}
.am-ico{display:flex;align-items:center;color:#6b5f66;flex:0 0 auto;margin-right:9px}
.am-ico svg{width:17px;height:17px}
.am-field input{
  flex:1;min-width:0;background:none;border:0;outline:none;
  color:#f0e8ec;font-size:13.5px;font-family:inherit;height:100%;
}
.am-field input::placeholder{color:#5d545a}
.am-eye{
  flex:0 0 auto;background:none;border:0;color:#7a6f75;font-size:11.5px;
  cursor:pointer;padding:4px 2px 4px 8px;font-family:inherit;
}
.am-eye:hover{color:#ff7da8}

.am-msg{
  font-size:12.5px;color:#ff5a7a;min-height:0;line-height:1.5;
  display:none;padding:2px 2px 0;
}
.am-msg.on{display:block}
.am-msg.ok{color:#4ade80}

.am-submit{
  height:46px;border:0;border-radius:11px;cursor:pointer;font-family:inherit;
  background:linear-gradient(120deg,#ff4d8d,#e11d63);
  color:#fff;font-size:14.5px;font-weight:700;letter-spacing:.02em;
  box-shadow:0 10px 28px -8px rgba(225,29,99,.7);
  transition:.24s;margin-top:3px;
  display:flex;align-items:center;justify-content:center;gap:7px;
}
.am-submit:hover{transform:translateY(-1px);box-shadow:0 14px 34px -8px rgba(225,29,99,.9)}
.am-submit:active{transform:none}
.am-submit:disabled{opacity:.6;cursor:default;transform:none}

.am-agree{font-size:11px;color:#5d545a;margin:2px 0 0;line-height:1.6;text-align:center}
.am-agree a{color:#a08b7a;text-decoration:none}
.am-agree a:hover{color:#ff7da8}

.am-or{
  display:flex;align-items:center;gap:10px;margin:16px 0 12px;
  font-size:11.5px;color:#5d545a;
}
.am-or::before,.am-or::after{
  content:"";flex:1;height:1px;background:#241820;
}
.am-social{display:flex;justify-content:center;gap:11px}
.am-social a{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#151014;border:1px solid #2a1a20;color:#a89aa2;
  transition:.22s;
}
.am-social a svg{width:17px;height:17px}
.am-social a:hover{transform:translateY(-2px);border-color:#4a2d38}
.so-tg:hover{background:#229ED9;color:#fff;border-color:transparent}
.so-wa:hover{background:#25D366;color:#fff;border-color:transparent}
.so-chat:hover{background:linear-gradient(135deg,#ff4d8d,#e11d63);color:#fff;border-color:transparent}

.am-switch{
  text-align:center;font-size:12.5px;color:#7a6f75;margin:16px 0 0;
}
.am-switch a{color:#ff4d8d;text-decoration:none;font-weight:600;margin-left:4px}
.am-switch a:hover{text-decoration:underline}

/* 移动端 */
@media(max-width:760px){
  .auth-mask{padding:0}
  .auth-box{
    width:100%;max-width:100%;height:100%;max-height:100%;
    border-radius:0;flex-direction:column;
  }
  .auth-side{
    flex:0 0 auto;padding:20px 20px 14px;
    flex-direction:row;align-items:center;gap:14px;
  }
  .as-brand{margin:0}
  .as-logo{font-size:17px}
  .as-sub{display:none}
  .as-tip{display:none}
  .as-deco{display:none}
  .auth-main{padding:20px 20px 28px;flex:1}
  .am-head h2{font-size:19px}
}
