/* ============ 单页广告海报（v2.2 全新设计） ============ */
.poster {
  position: relative;
  min-height: calc(100vh - 64px);
  display: flex; flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background: #0b1220;
  color: #fff;
}
/* 动态光斑 */
.poster-blob { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .5; pointer-events: none; }
.blob-1 { width: 480px; height: 480px; background: #2563eb; top: -140px; left: -120px; animation: drift 14s ease-in-out infinite alternate; }
.blob-2 { width: 380px; height: 380px; background: #06b6d4; bottom: -120px; right: -80px; animation: drift 18s ease-in-out infinite alternate-reverse; }
.blob-3 { width: 260px; height: 260px; background: #7c3aed; top: 40%; left: 55%; opacity: .35; animation: drift 22s ease-in-out infinite alternate; }
@keyframes drift {
  from { transform: translate(0, 0) scale(1); }
  to   { transform: translate(60px, 40px) scale(1.15); }
}

.poster-inner {
  position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: space-between;
  gap: 56px; padding-top: 48px; padding-bottom: 48px;
}

/* 左栏文字 */
.poster-left { flex: 1; min-width: 0; }
.poster-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px; padding: 7px 16px;
  font-size: 13.5px; color: #cbd5e1; letter-spacing: 1px;
}
.wx-dot { width: 9px; height: 9px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 12px #22c55e; }
.poster-title {
  font-size: clamp(34px, 5.5vw, 62px); font-weight: 900; line-height: 1.2;
  margin: 22px 0 12px;
  background: linear-gradient(100deg, #fff 30%, #93c5fd 70%, #67e8f9);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.poster-sub { font-size: clamp(16px, 2vw, 20px); color: #94a3b8; letter-spacing: 2px; }

.poster-points { list-style: none; margin-top: 44px; max-width: 520px; }
.poster-points li {
  display: flex; align-items: baseline; gap: 18px;
  padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.08);
}
.poster-points li:first-child { border-top: 1px solid rgba(255,255,255,.08); }
.poster-points .num {
  flex: none; min-width: 128px;
  font-size: 40px; font-weight: 900; color: #67e8f9;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 24px rgba(6,182,212,.45);
}
.poster-points .num small { font-size: 16px; font-weight: 700; color: #94a3b8; margin-left: 4px; }
.poster-points .txt { font-size: 15.5px; color: #cbd5e1; line-height: 1.6; }
.poster-points .txt b { color: #fff; }

/* 右栏二维码卡片 */
.poster-right { flex: none; position: relative; }
.qr-halo {
  position: absolute; inset: -30px -30px auto auto;
  width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(circle, rgba(34,197,94,.35), transparent 65%);
  filter: blur(30px); z-index: 0; pointer-events: none;
}
.qr-card-3d {
  position: relative; z-index: 1;
  width: 300px; padding: 26px 24px 22px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 26px;
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 30px 80px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.15);
  text-align: center;
  animation: float 5s ease-in-out infinite;
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}
.qr-card-3d img {
  width: 220px; height: 220px; border-radius: 16px; margin: 0 auto 16px;
  display: block;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
/* 四角装饰（扫码取景框感觉） */
.qr-corner { position: absolute; width: 26px; height: 26px; border: 3px solid #22c55e; opacity: .9; }
.qr-corner.tl { top: 14px; left: 14px; border-right: none; border-bottom: none; border-radius: 8px 0 0 0; }
.qr-corner.tr { top: 14px; right: 14px; border-left: none; border-bottom: none; border-radius: 0 8px 0 0; }
.qr-corner.bl { bottom: 74px; left: 14px; border-right: none; border-top: none; border-radius: 0 0 0 8px; }
.qr-corner.br { bottom: 74px; right: 14px; border-left: none; border-top: none; border-radius: 0 0 8px 0; }
.qr-scan { font-size: 16px; font-weight: 700; color: #fff; }
.qr-keyword { margin-top: 6px; font-size: 13px; color: #94a3b8; }
.qr-keyword b { color: #22c55e; }

/* 底部标语 */
.poster-foot {
  position: relative; z-index: 2;
  text-align: center; padding: 26px 0 34px;
  color: #64748b; font-size: 13.5px; letter-spacing: 4px;
}

/* 移动端 */
@media (max-width: 820px) {
  .poster-inner { flex-direction: column; text-align: center; gap: 36px; }
  .poster-badge { margin: 0 auto; }
  .poster-points { margin-inline: auto; text-align: left; }
  .poster-points .num { min-width: 104px; font-size: 32px; }
  .qr-card-3d { margin: 0 auto; }
}
