/* Colorway: gold / amber */
:root{
  --bg0:#060401;
  --bg1:#0f0a03;
  --card:rgba(255,255,255,.10);
  --card2:rgba(255,255,255,.08);
  --line:rgba(255,255,255,.12);
  --text:rgba(255,255,255,.94);
  --muted:rgba(255,255,255,.72);
  --muted2:rgba(255,255,255,.58);
  --gold:#ffd24a;
  --gold-hot:#ffb300;
  --gold-dim:#f59e0b;
  --amber:#ff9f0a;
  --sand:#fff3c4;
  --ink:#1c1917;
  --accent:#ffb300;
  --shadow:0 18px 60px rgba(0,0,0,.38);
  --shadow2:0 10px 32px rgba(0,0,0,.26);
  --r:18px;
  --r2:14px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--text);
  font:16px/1.6 system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei UI",sans-serif;
  background:linear-gradient(180deg,var(--bg0),var(--bg1));
  overflow-x:hidden;
}
@media (max-width: 767.98px){
  body{overflow-x:hidden}
  html,body{max-width:100%; width:100%}
  /* 禁止横向手势滚动（避免出现“能左右滑”的观感） */
  body{touch-action:pan-y}
  /* 存款活动图：强制不超过视口宽度（扣掉容器左右 padding 10px×2），彻底消除横向溢出 */
  .hero .promo-poster{
    max-width:calc(100vw - 20px);
    margin-left:auto;
    margin-right:auto;
  }
}
a{color:inherit;text-decoration:none}

.bg{position:fixed;inset:0;z-index:-1;overflow:hidden}
.bg::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(70% 60% at 40% 20%, rgba(255,210,74,.28), rgba(0,0,0,0) 62%),
    radial-gradient(90% 70% at 90% 10%, rgba(255,179,0,.18), rgba(0,0,0,0) 60%),
    radial-gradient(80% 70% at 30% 110%, rgba(245,158,11,.16), rgba(0,0,0,0) 60%),
    linear-gradient(180deg, rgba(6,4,1,.62), rgba(15,10,3,.92));
  background-size:auto;
  background-position:center;
  filter:saturate(1.02) contrast(1.02) brightness(1.08);
  opacity:1;
}
.bg__grid{
  position:absolute;inset:-2px;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity:.45;
  mask-image:radial-gradient(70% 60% at 50% 20%, #000 0%, transparent 62%);
}
.bg__glow{
  position:absolute;
  width:900px;height:900px;border-radius:999px;
  filter:blur(52px);
  opacity:.72;
}
.bg__glow.g1{left:-240px;top:-260px;background:radial-gradient(circle at 30% 30%, rgba(255,210,74,.88), transparent 58%)}
.bg__glow.g2{right:-260px;top:10px;background:radial-gradient(circle at 30% 30%, rgba(255,179,0,.55), transparent 60%)}
.bg__glow.g3{left:30%;bottom:-360px;background:radial-gradient(circle at 30% 30%, rgba(245,158,11,.40), transparent 62%)}

.container{
  width:min(1400px, 100%);
  max-width:1400px;
  margin:0 auto;
  /* 顶部留安全空间，避免内容顶到浏览器/站点顶部导致遮挡 */
  box-sizing:border-box;
  padding:24px 18px 20px;
}
@media (max-width:1100px){
  .container{padding:22px 18px 20px}
}
@media (max-width:560px){
  /* H5：缩小左右留白，相当于“缩放”内容以完整显示 */
  .container{padding:18px 10px 18px}
}
@media (max-width:380px){
  .container{padding:16px 8px 16px}
}
@media (max-width:767px){
  /* 彻底避免移动端水平溢出 */
  .container{
    width:100%;
    max-width:100%;
    margin:0 auto;
  }
  .section{width:100%}
}

.container--only{
  min-height:100dvh;
  display:flex;
  align-items:center;
}

.hero--only{
  width:min(980px, 100%);
  margin:0 auto;
  padding:26px 0;
}

.hero__card--only{
  padding:22px 18px 18px;
}

.promo-poster{
  display:block;
  margin-top:14px;
  border-radius:16px;
  overflow:hidden;
  border:none;
  background:transparent;
  box-shadow:none;
  transition:transform .18s ease, filter .18s ease;
}
.promo-poster:hover{
  transform:translateY(-2px);
  filter:saturate(1.02) contrast(1.01);
}
.promo-poster:active{transform:translateY(0)}
.promo-poster img{
  display:block;
  width:100%;
  height:auto;
}

/* Hero：与 .container 内 .dl 同左右内边距；桌面端第二行高度=存款图高度，三列底对齐 */
.hero{
  --poster-h: clamp(21rem, 54vh, 38rem);
  padding:12px 0 6px;
  width:100%;
  box-sizing:border-box;
}
.hero__group{
  width:100%;
  max-width:100%;
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
}

/* 单一 3×2 网格：标题行与内容行共用列轨道，避免两个独立 grid 产生左右错位 */
/* 左列略收窄，中/右列略加宽并减小列距，拉近存款图与优质服务之间的空白（左缘仍对齐容器） */
.hero__layout{
  display:grid;
  grid-template-columns:minmax(0, 0.95fr) minmax(0, 0.78fr) minmax(0, 1.12fr);
  grid-template-rows:auto auto;
  column-gap:6px;
  row-gap:8px;
  width:100%;
  max-width:100%;
  min-height:0;
  align-items:stretch;
}
.hero__head,
.hero__main{
  display:contents;
}
.hero-col{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  min-width:0;
}
@media (min-width:768px){
  .hero__layout{
    grid-template-rows:auto var(--poster-h);
  }
  /* 桌面端：标题占第一行，内容占第二行（保持原 3×2 网格视觉） */
  .hero-col{display:contents}
  .hero-col--welfare > .hero-banner{grid-column:1;grid-row:1}
  .hero-col--service > .hero-banner{grid-column:2;grid-row:1}
  .hero-col--games > .hero-banner{grid-column:3;grid-row:1}

  .hero-col--welfare > .promo-poster{grid-column:1;grid-row:2}
  .hero-col--service > .feature-stack{grid-column:2;grid-row:2}
  .hero-col--games > .game-promo-grid{grid-column:3;grid-row:2}

  .promo-poster,.feature-stack,.game-promo-grid{min-height:0}
  .hero .promo-poster{
    height:100%;
    min-height:0;
    overflow:hidden;
    display:block;
  }
  .feature-stack,
  .game-promo-grid{
    height:100%;
    min-height:0;
    max-height:var(--poster-h);
  }
}
@media (max-width:1200px) and (min-width:768px){
  .hero__layout{
    column-gap:6px;
    row-gap:7px;
  }
}
@media (max-width:767px){
  .hero__layout{
    grid-template-columns:1fr;
    grid-template-rows:none;
    grid-auto-flow:row;
    column-gap:10px;
    row-gap:10px;
  }
  .hero__layout,
  .hero-col{
    max-width:100%;
    min-width:0;
  }
  .hero{
    --poster-h: clamp(14rem, 42vh, 22rem);
    padding:10px 0 6px;
  }
  .hero__layout{row-gap:8px}
  .hero-banner{
    padding:10px 10px;
    /* H5：保持一行原样式，但不允许把页面撑出横向溢出 */
    overflow:hidden;
  }
  .hero-banner__wing{min-width:0}
  .hero-banner__titles{min-width:0;max-width:72%}
  .hero-banner__zh,
  .hero-banner__en{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .hero-banner__en{letter-spacing:.16em}
  /* 优质服务：改为 2 列，减少纵向高度，避免“显示不齐全” */
  .feature-stack{
    height:auto;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    padding:0;
    box-sizing:border-box;
  }
  .feature-card{flex:0 1 auto}

  /* 平台游戏：H5 保持 2 列（覆盖 <=560px 的 1 列规则） */
  .game-promo-grid{
    height:auto;
    grid-template-rows:none;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px;
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    padding:0;
    box-sizing:border-box;
  }
  .game-promo{
    height:auto;
    min-height:104px;
    display:block;
  }
  .game-promo__body{flex:none;min-height:104px;padding:10px 10px 10px 12px}
  .game-promo__title{font-size:15px}
  .game-promo__sub{font-size:11px}
  .game-promo__btn{padding:8px 10px;font-size:12px}

  /* 存款活动图：H5 全宽自适应，避免左右被裁切/显示不全 */
  .hero .promo-poster{
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    border-radius:18px;
  }
  .hero .promo-poster img{
    /* H5 必须按屏幕宽度缩放，否则会出现左右显示不全 */
    width:100%;
    max-width:100%;
    height:auto !important;
    max-height:none;
    object-fit:contain;
    object-position:center top;
  }

  /* 优质服务卡：更紧凑，确保一屏内更完整 */
  .feature-card{
    padding:10px 10px;
    gap:8px;
  }
  .feature-card__icon{width:44px;height:44px;border-radius:14px}
  .feature-card__icon svg{width:40px;height:40px}
  .feature-card__title{font-size:15px}
  .feature-card__desc{
    font-size:12px;
    line-height:1.35;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    overflow:hidden;
    -webkit-line-clamp:2;
  }
}

@media (max-width:420px){
  /* 超小屏：优质服务回到 1 列，避免太挤 */
  .feature-stack{grid-template-columns:1fr}
}
.hero-banner{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  box-sizing:border-box;
  color:rgba(255, 210, 74, .95);
  background:transparent;
  border-radius:10px;
  padding:14px 12px;
  border:none;
}
.hero-banner__wing{
  flex:1 1 0;
  min-width:16px;
  height:36px;
  display:block;
}
.hero-banner__titles{
  flex:0 1 auto;
  text-align:center;
  padding:0 6px;
  min-width:0;
}
.hero-banner__zh{
  margin:0;
  font-size:clamp(1.05rem, 3.4vw, 1.35rem);
  font-weight:950;
  letter-spacing:.08em;
  color:rgba(255, 210, 74, .98);
  line-height:1.2;
}
.hero-banner__en{
  margin:6px 0 0;
  padding:0;
  font-size:.65rem;
  font-weight:850;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255, 210, 74, .72);
}
@media (max-width:380px){
  .hero-banner{flex-wrap:wrap;justify-content:center;overflow:visible}
  .hero-banner__zh,
  .hero-banner__en{white-space:normal;overflow:visible;text-overflow:clip}
  .hero-banner__wing{flex:1 1 35%;min-height:28px}
  .hero-banner__titles{flex:1 1 100%;order:-1}
}
.hero .promo-poster{
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
  margin-top:0;
}
@media (min-width:768px){
  .hero .promo-poster{
    justify-self:stretch;
    width:100%;
    max-width:100%;
  }
}
.hero .promo-poster img{
  width:100%;
  height:var(--poster-h);
  object-fit:contain;
  /* 与上方 APP 按钮左缘视觉对齐：图内容贴左，勿水平居中留白 */
  object-position:left top;
  background:transparent;
  vertical-align:top;
}
@media (min-width:768px){
  .hero .promo-poster img{
    height:100%;
    max-height:100%;
    object-fit:contain;
    object-position:left top;
  }
}
@media (max-width:767px){
  .hero .promo-poster img{
    height:auto;
    max-height:none;
    object-fit:contain;
    /* 居中显示，避免左右看起来被裁切 */
    object-position:center top;
  }
}

.feature-stack{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  padding-top:0; /* align with poster top */
}
@media (min-width:768px){
  .feature-stack{
    height:100%;
    min-height:0;
    max-width:100%;
    justify-self:stretch;
    gap:6px;
  }
}

.feature-card{
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:16px 15px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow2);
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease, filter .15s ease;
}
.feature-card:hover{
  transform:translateY(-1px);
  border-color:rgba(255,210,74,.30);
  box-shadow:0 16px 44px rgba(0,0,0,.30);
  filter:saturate(1.02) contrast(1.01);
}
.feature-card:active{transform:translateY(0)}

.feature-card__icon{
  width:56px;
  height:56px;
  flex:0 0 auto;
  border-radius:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.feature-card__icon svg{width:52px;height:52px;display:block}

.feature-card__title{
  font-weight:950;
  letter-spacing:.02em;
  line-height:1.22;
  font-size:clamp(1.02rem, 2.4vw, 1.14rem);
  /* 默认：冷色多彩（非金） */
  background-image:linear-gradient(105deg, #7dd3fc 0%, #38bdf8 32%, #818cf8 66%, #c084fc 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
.feature-card__main{
  min-width:0;
}
.feature-card__desc{
  margin-top:6px;
  font-size:14px;
  line-height:1.48;
  background-image:linear-gradient(120deg, rgba(255,255,255,.92) 0%, rgba(186,230,253,.88) 42%, rgba(199,210,254,.82) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

/* 每张卡独立彩色渐变（标题 + 说明同色系，说明更浅更柔） */
.feature-card[data-visit="fastDeposit"] .feature-card__title{
  background-image:linear-gradient(108deg, #67e8f9 0%, #38bdf8 35%, #6366f1 72%, #8b5cf6 100%);
}
.feature-card[data-visit="fastDeposit"] .feature-card__desc{
  background-image:linear-gradient(118deg, rgba(255,255,255,.93) 0%, rgba(165,243,252,.85) 38%, rgba(196,181,253,.78) 100%);
}

.feature-card[data-visit="allGames"] .feature-card__title{
  background-image:linear-gradient(102deg, #22d3ee 0%, #3b82f6 40%, #a855f7 78%, #e879f9 100%);
}
.feature-card[data-visit="allGames"] .feature-card__desc{
  background-image:linear-gradient(125deg, rgba(255,255,255,.92) 0%, rgba(186,230,253,.84) 35%, rgba(233,213,255,.80) 100%);
}

.feature-card[data-visit="secureBrowse"] .feature-card__title{
  background-image:linear-gradient(110deg, #4ade80 0%, #2dd4bf 38%, #14b8a6 72%, #38bdf8 100%);
}
.feature-card[data-visit="secureBrowse"] .feature-card__desc{
  background-image:linear-gradient(120deg, rgba(255,255,255,.93) 0%, rgba(167,243,208,.86) 40%, rgba(153,246,228,.78) 100%);
}

.feature-card[data-visit="nativeApp"] .feature-card__title{
  background-image:linear-gradient(105deg, #f472b6 0%, #e879f9 35%, #a78bfa 68%, #60a5fa 100%);
}
.feature-card[data-visit="nativeApp"] .feature-card__desc{
  background-image:linear-gradient(122deg, rgba(255,255,255,.92) 0%, rgba(251,207,232,.85) 36%, rgba(199,210,254,.82) 100%);
}
@media (min-width:768px){
  /* 放在基础样式后，避免被覆盖；与左侧存款图同高由行高 var(--poster-h) + flex 均分实现 */
  .feature-card{
    flex:1 1 0;
    min-height:0;
    padding:12px 12px;
    gap:12px;
    border-radius:14px;
  }
  .feature-card__icon{
    width:52px;
    height:52px;
    border-radius:14px;
  }
  .feature-card__icon svg{width:48px;height:48px}
  .feature-card__title{font-size:clamp(0.98rem, 1.35vw, 1.08rem)}
  .feature-card__desc{
    margin-top:5px;
    font-size:13px;
    line-height:1.42;
  }
}

/* Mini banner for the right-side stack */
.hero-banner--mini{
  padding:10px 10px;
  border-radius:10px;
}
.hero-banner__zh--mini{
  font-size:clamp(.98rem, 3.0vw, 1.15rem);
  letter-spacing:.10em;
}
.hero-banner__en--mini{
  font-size:.6rem;
  letter-spacing:.24em;
  margin-top:5px;
}

.game-promo-grid{
  display:grid;
  /* 平台游戏：3 行 × 2 列（六格） */
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  width:100%;
  min-width:0;
}
@media (min-width:768px){
  .game-promo-grid{
    height:100%;
    min-height:0;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-rows:1fr 1fr 1fr;
    gap:8px;
    align-content:stretch;
  }
}
@media (min-width:768px) and (max-width:1280px){
  .game-promo-grid{
    gap:7px;
  }
}
@media (max-width:767px) and (min-width:640px){
  .game-promo-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-rows:none;
  }
}
@media (max-width:639px){
  .game-promo-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width:560px){
  .game-promo-grid{grid-template-columns:1fr;}
}
.game-promo{
  position:relative;
  display:block;
  border-radius:16px;
  overflow:hidden;
  isolation:isolate;
  min-height:132px;
  text-decoration:none;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:var(--shadow2);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease;
}
@media (min-width:768px){
  .game-promo{
    height:100%;
    min-height:0;
    display:flex;
    flex-direction:column;
  }
}
.game-promo__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  transform:scale(1.03);
}
.game-promo__scrim{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(0,0,0,.88) 0%,
    rgba(0,0,0,.55) 34%,
    rgba(0,0,0,.18) 58%,
    rgba(0,0,0,0) 82%
  );
}
.game-promo:hover{
  transform:translateY(-2px);
  border-color:rgba(255,210,74,.28);
  box-shadow:0 16px 46px rgba(0,0,0,.32);
  filter:saturate(1.04) brightness(1.02);
}
.game-promo:active{transform:translateY(0)}
.game-promo--sports{background:linear-gradient(135deg, #1d4ed8 0%, #2563eb 55%, #38bdf8 100%)}
.game-promo--live{background:linear-gradient(135deg, #be185d 0%, #db2777 45%, #f472b6 100%)}
.game-promo--board{background:linear-gradient(135deg, #5b21b6 0%, #7c3aed 50%, #a78bfa 100%)}
.game-promo--esports{background:linear-gradient(135deg, #0f172a 0%, #1e3a8a 45%, #2563eb 100%)}
.game-promo--lottery{background:linear-gradient(135deg, #c2410c 0%, #ea580c 50%, #fbbf24 100%)}
.game-promo--slots{background:linear-gradient(135deg, #1e293b 0%, #334155 55%, #475569 100%)}
.game-promo__body{
  position:relative;
  z-index:2;
  display:flex;
  align-items:stretch;
  min-height:132px;
  padding:14px 14px 14px 16px;
}
@media (min-width:768px){
  .game-promo__body{
    flex:1;
    min-height:0;
  }
  .game-promo__copy{
    flex:1;
    min-height:0;
  }
}
.game-promo__copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:6px;
  max-width:78%;
}
.game-promo__title{
  font-size:clamp(1rem, 2.2vw, 1.15rem);
  font-weight:950;
  letter-spacing:.04em;
  text-shadow:0 2px 18px rgba(0,0,0,.55);
}
.game-promo__sub{
  margin:0;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.16em;
  opacity:.94;
  text-transform:uppercase;
  text-shadow:0 1px 12px rgba(0,0,0,.45);
}
.game-promo__btn{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.88);
  background:rgba(0,0,0,.18);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  pointer-events:none;
  box-shadow:0 8px 20px rgba(0,0,0,.25);
}

/* Red packet: falling coins animation */
.float-badge--red .coin{
  transform-origin:center;
  animation:coinFall 1.35s linear infinite;
}
.float-badge--red .coin.coin2{animation-delay:.25s}
.float-badge--red .coin.coin3{animation-delay:.5s}
.float-badge--red .coin.coin4{animation-delay:.75s}
.float-badge--red .coin.coin5{animation-delay:1s}

@keyframes coinFall{
  0%{transform:translateY(-34px) rotate(-8deg) scale(.95);opacity:0}
  10%{opacity:1}
  85%{opacity:1}
  100%{transform:translateY(34px) rotate(10deg) scale(1.02);opacity:0}
}

/* Top bar removed on purpose (no brand / no customer-service strip). */

.mast{
  padding:18px 0 6px;
  display:flex;
  justify-content:center;
}
.mast__logo{
  width:58px;
  height:58px;
  border-radius:18px;
  object-fit:cover;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,210,74,.22);
  box-shadow:0 18px 60px rgba(0,0,0,.32);
}

.hero__card{
  border-radius:calc(var(--r) + 6px);
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(245,179,1,.20), transparent 55%),
    radial-gradient(120% 90% at 100% 0%, rgba(217,119,6,.16), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  box-shadow:var(--shadow);
  padding:20px 18px 18px;
  overflow:hidden;
  position:relative;
}
.hero__h1--plain{
  margin:0 0 10px;
}

.promo-poster--plain{
  border-radius:18px;
}

/* In "plain hero", align poster under title */
.hero .promo-poster--plain{
  margin-left:0;
  margin-right:0;
}
.hero__badge{
  display:inline-flex;
  padding:6px 10px;border-radius:999px;
  background:rgba(255,179,0,.20);
  border:1px solid rgba(255,210,74,.35);
  color:rgba(255,255,255,.92);
  font-weight:900;font-size:12px;letter-spacing:.08em;
}
.hero__h1{margin:10px 0 8px;font-size:clamp(1.5rem,3.6vw,2.15rem);line-height:1.2;font-weight:950}
.hero__p{margin:0 0 14px;color:var(--muted);max-width:60ch}
.hero__bullets{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
@media (max-width:520px){.hero__bullets{grid-template-columns:1fr}}
.hero__bullets li{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:var(--r2);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.86);
}
.dot{
  width:10px;height:10px;border-radius:999px;
  background:linear-gradient(180deg, var(--gold), var(--gold-hot));
  box-shadow:0 0 0 4px rgba(255,210,74,.18);
  flex:0 0 auto;
}
.hero__cta{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 16px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.9);
  font-weight:900;
  transition:transform .15s ease,border-color .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.26);box-shadow:0 10px 28px rgba(0,0,0,.25)}
.btn--primary{
  border:0;
  color:var(--ink);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.86));
  box-shadow:0 16px 44px rgba(139,92,246,.22);
}
.btn--primary:hover{box-shadow:0 18px 52px rgba(139,92,246,.28)}
.btn__icon{filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}

.section{padding:20px 0}
.container > .section:first-child{
  /* 第一块（精选入口卡片区）更紧凑，但不顶住顶部安全区 */
  padding-top:10px;
  padding-bottom:14px;
}
.section.section--dl{
  padding:12px 0 6px;
}
.section.section--dl .section__head{
  margin:8px 0 8px;
}
.section__head{margin:14px 0 14px}
.section__title{margin:0 0 6px;font-size:1.15rem;font-weight:950}
.section__desc{margin:0;color:var(--muted2);font-size:14px;max-width:70ch}

.entry-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-areas:
    "featured featured side"
    "grid grid grid";
  gap:16px;
  align-items:start;
}
.entry-board{
  /* 让左侧开云大卡高度与右侧两张卡总高一致（桌面端） */
  /* 电脑端小卡高度：收窄 0.5cm ≈ 19px */
  --side-card-h: 121px;
  --side-gap: 16px;
}
@media (max-width:860px){
  .entry-board{
    grid-template-columns:1fr;
    grid-template-areas:
      "featured"
      "side"
      "grid";
  }
}
.entry-featured{grid-area:featured}
.entry-side{display:grid;gap:var(--side-gap)}
.entry-side{grid-area:side}
.entry-grid{grid-area:grid;margin-top:0}

.grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.grid{grid-template-columns:1fr}}

.card{
  display:flex;align-items:center;gap:12px;
  padding:14px 14px;
  border-radius:var(--r);
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow2);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
  min-height:96px;
}
.card--side{min-height:121px}
.entry-side .card--side{
  min-height:var(--side-card-h);
  height:var(--side-card-h);
}
.card--featured{
  min-height:260px;
  padding:18px 18px;
  background:
    radial-gradient(900px 300px at 10% 0%, rgba(255,210,74,.26), rgba(0,0,0,0) 60%),
    radial-gradient(800px 260px at 100% 0%, rgba(255,179,0,.14), rgba(0,0,0,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  border-color:rgba(255,210,74,.18);
  overflow:hidden;
}
.entry-featured.card--featured{
  /* 桌面端：匹配右侧两张卡高度（含间距） */
  min-height:calc((var(--side-card-h) * 2) + var(--side-gap));
  height:calc((var(--side-card-h) * 2) + var(--side-gap));
}

/* 电脑端：开云大卡内容整体上移约 0.5cm（≈18px） */
@media (min-width:861px){
  .entry-featured.card--featured > .featured__copy,
  .entry-featured.card--featured > .featured__art{
    transform:translateY(-18px);
  }
}

/* 下方网格卡片：统一高度，保证每行对齐更干净 */
.entry-grid .card{
  min-height:var(--side-card-h);
  height:var(--side-card-h);
}
.entry-grid .card__meta,
.entry-grid .card__desc{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.entry-grid .card__meta{-webkit-line-clamp:1}
.entry-grid .card__desc{-webkit-line-clamp:1}
.card--featured{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  align-items:stretch;
  gap:14px;
}
@media (max-width:860px){
  /* H5：开云大卡保持横向（文字左、图右），避免竖向堆叠 */
  .card--featured{
    grid-template-columns:minmax(0, 1fr) minmax(160px, 42vw);
    gap:12px;
    min-height:0;
  }
  .featured__art img{
    object-position:50% 45%;
  }
}
.card--featured .featured__art{
  align-self:stretch;
}
@media (max-width:420px){
  /* 超小屏：给文字更多空间，图片列再收窄一点 */
  .card--featured{
    grid-template-columns:minmax(0, 1fr) minmax(140px, 40vw);
    gap:10px;
  }
}

/* H5 端开云卡片整体再缩小一点（只影响 featured 大卡） */
@media (max-width:860px){
  .entry-featured.card--featured{
    padding:12px 12px;
  }
}
@media (max-width:560px){
  .entry-featured.card--featured{
    padding:10px 10px;
  }
}

@media (max-width:860px){
  /* H5：右侧两张卡片高度统一，开云大卡同步更紧凑 */
  .entry-side{gap:12px}
  /* 跟随电脑端收窄 0.5cm（≈19px） */
  .card--side{min-height:101px}
  .entry-featured.card--featured{min-height:197px}
}
@media (max-width:560px){
  .card--side{min-height:93px}
  .entry-featured.card--featured{min-height:177px}
}

@media (max-width:860px){
  /* H5：其它卡片仍按原逻辑；入口小卡尺寸由上面的 reference rules 控制 */
}
.card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.24);box-shadow:0 16px 48px rgba(0,0,0,.28)}
.card--featured:hover{border-color:rgba(255,210,74,.26);box-shadow:0 18px 56px rgba(0,0,0,.32)}
.card__icon{
  width:42px;height:42px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-weight:950;font-size:13px;
  border:1px solid rgba(255,255,255,.18);
  flex:0 0 auto;
  overflow:hidden;
}
.card__icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  /* Keep logos crisp: avoid heavy blur-like shadows */
  filter:contrast(1.12) saturate(1.06) drop-shadow(0 6px 10px rgba(0,0,0,.55));
  image-rendering:auto;
  transform:translateZ(0);
}

/* Remove bottom "bar" artifacts caused by drop-shadow on some logos */
.entry-side .card__icon img,
.entry-grid .card__icon img{
  filter:contrast(1.12) saturate(1.06);
}

/* Keep all platform logo tiles consistent in size. */
.card__icon.i1{background:rgba(245,158,11,.18)}
.card__icon.i2{background:rgba(245,179,1,.16)}
.card__icon.i3{background:rgba(217,119,6,.16)}
.card__icon.i4{background:rgba(251,191,36,.14)}
.card__icon.i5{background:rgba(255,255,255,.10)}
.card__icon.i6{background:rgba(255,255,255,.10)}
.card__main{min-width:0}
.card__title{font-weight:950;margin-bottom:5px;font-size:15px;line-height:1.15}
.card__meta{font-size:13px;color:rgba(255,255,255,.76);line-height:1.25}
.card__desc{font-size:14px;color:rgba(255,255,255,.82);margin-top:6px;line-height:1.3}

/* 仅对右侧（九游/华体会）卡片做单行截断，保证高度一致 */
.entry-side .card__meta,
.entry-side .card__desc{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.entry-side .card__meta{-webkit-line-clamp:1}
.entry-side .card__desc{-webkit-line-clamp:1}

/* H5：右侧两张卡片高度统一（避免因文案换行导致两张不齐） */
@media (max-width:860px){
  .entry-side{grid-auto-rows:1fr}
  .entry-side .card{height:100%}
}
.card__go{margin-left:auto;color:rgba(255,255,255,.72);font-weight:900}

/* Match reference: cards use wider logo blocks (not tiny icons). */
.entry-side .card__icon,
.entry-grid .card__icon{
  /* Reference: logo tile width 164px, radius 16px */
  width:164px;
  height:84px;
  border-radius:16px;
  background:
    radial-gradient(120% 120% at 30% 20%, rgba(255,210,74,.38), rgba(0,0,0,0) 58%),
    linear-gradient(180deg, rgba(255,210,74,.18), rgba(255,179,0,.10));
  border:1px solid rgba(255,210,74,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 12px 34px rgba(0,0,0,.18);
  padding:10px 12px;
}

/* MK / 爱游戏：已裁切源图留白，回归统一规则 */
.entry-grid .card[data-visit="mk"] .card__icon,
.entry-grid .card[data-visit="ayx"] .card__icon{
  padding:10px 12px;
}
.entry-side .card[data-visit="jy"] .card__icon{
  padding:6px 8px;
}
.entry-grid .card[data-visit="mk"] .card__icon img,
.entry-grid .card[data-visit="ayx"] .card__icon img{
  transform:translateZ(0);
  transform-origin:center;
}
.entry-side .card[data-visit="jy"] .card__icon img{
  /* 九游 logo 按原比例完整展示，避免放大导致裁切不完整 */
  transform:none;
}
@media (max-width:980px){
  .entry-side .card__icon,
  .entry-grid .card__icon{
    width:164px;height:84px;
  }
}
/* H5：不要再固定 164px，否则在 375/390 等常见机型会把卡片撑出屏幕，随后被 overflow-x:hidden 裁切 */
@media (max-width:767px){
  .entry-side .card__icon,
  .entry-grid .card__icon{
    width:clamp(106px, 30vw, 148px);
    height:clamp(70px, 18vw, 84px);
    padding:8px 10px;
  }
}

/* Reference typography for these cards (only side/grid cards) */
.entry-side .card__title,
.entry-grid .card__title{
  font-size:24px;
  line-height:32px;
  margin-bottom:2px;
}
.entry-side .card__meta,
.entry-grid .card__meta{
  font-size:12px;
  line-height:16px;
}
.entry-side .card__desc,
.entry-grid .card__desc{
  font-size:12px;
  line-height:16px;
  margin-top:2px;
}

@media (max-width:468px){
  /* Reference small-screen logo width */
  .entry-side .card__icon,
  .entry-grid .card__icon{
    width:106px;
    height:70px;
    padding:8px 10px;
  }
  .entry-side .card__title,
  .entry-grid .card__title{
    font-size:18px;
    line-height:26px;
  }
  .entry-side .card__meta,
  .entry-grid .card__meta,
  .entry-side .card__desc,
  .entry-grid .card__desc{
    font-size:12px;
    line-height:16px;
  }
}

.featured__copy{min-width:0}
.featured__copy{
  display:flex;
  flex-direction:column;
}
.featured__title{font-size:clamp(1.7rem,3.6vw,2.35rem);font-weight:950;letter-spacing:.02em;margin:0 0 6px}

/* Gradient text (platform titles) */
.grad-text{
  background-image:linear-gradient(180deg, rgba(255,243,196,1), rgba(255,210,74,1), rgba(255,179,0,1));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  text-shadow:0 10px 26px rgba(0,0,0,.22);
}
.featured__sub{color:rgba(255,255,255,.78);font-size:13px;margin-bottom:6px}
.featured__meta{color:rgba(255,255,255,.72);font-size:12px;margin:10px 0 8px}
.featured__bullets{
  margin:0;padding:0;list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
@media (max-width:560px){.featured__bullets{gap:9px}}
.featured__bullets li{
  display:flex;align-items:center;gap:10px;
  padding:0;
  border-radius:0;
  background:transparent;
  border:0;
  color:rgba(255,255,255,.90);
}

/* 开云大卡文案整体缩小一档（桌面也更精致，H5 更省空间） */
.entry-featured .featured__title{
  font-size:clamp(1.35rem, 3.2vw, 2.05rem);
  margin-bottom:4px;
}
.entry-featured .featured__meta{
  font-size:12px;
  margin:6px 0 6px;
  color:rgba(255,255,255,.74);
}
.entry-featured .featured__bullets{
  gap:8px;
}
.entry-featured .featured__bullets li{
  font-size:14px;
}
@media (max-width:860px){
  .entry-featured .featured__title{
    font-size:clamp(1.22rem, 5.4vw, 1.55rem);
  }
  .entry-featured .featured__meta{font-size:11px;margin:6px 0 8px}
  .entry-featured .featured__bullets li{font-size:13px}
}
.featured__cta{
  margin-top:14px; /* 整体上移：减少上方空隙 */
  margin-bottom:4px;
}
.featured__cta .btn{pointer-events:none}

/* 开云大卡「进入游戏」按钮：鼠标互动特效（仅该按钮） */
.entry-featured .featured__cta .btn{
  position:relative;
  transform:translateZ(0);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background-position .55s ease;
  box-shadow:0 14px 38px rgba(0,0,0,.26);
  outline:2px solid rgba(255,255,255,.14);
  outline-offset:2px;
  background-image:
    radial-gradient(120% 140% at 20% 20%, rgba(255,255,255,.85), rgba(255,255,255,0) 58%),
    linear-gradient(110deg, #ffffff 0%, #fff3c4 22%, #ffd24a 42%, #ff7a18 64%, #a855f7 86%, #60a5fa 100%);
  background-size:200% 200%;
  background-position:0% 50%;
}
.entry-featured .featured__cta .btn::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:999px;
  background:
    radial-gradient(70% 110% at 30% 20%, rgba(255,255,255,.95), rgba(0,0,0,0) 62%),
    linear-gradient(120deg, rgba(255,255,255,0) 22%, rgba(255,255,255,.85) 38%, rgba(255,255,255,0) 56%);
  opacity:0;
  transform:translateX(-30%);
  transition:opacity .18s ease, transform .55s ease;
  pointer-events:none;
  mix-blend-mode:screen;
}
.entry-featured:hover .featured__cta .btn{
  transform:translateY(-3px) scale(1.02);
  background-position:100% 50%;
  outline-color:rgba(255,243,196,.55);
  box-shadow:
    0 24px 76px rgba(0,0,0,.42),
    0 0 0 4px rgba(255,210,74,.18),
    0 0 38px rgba(255,179,0,.28);
  filter:saturate(1.12) contrast(1.05) brightness(1.02);
}
.entry-featured:hover .featured__cta .btn::after{
  opacity:1;
  transform:translateX(22%);
}
.entry-featured:active .featured__cta .btn{
  transform:translateY(0);
  box-shadow:0 16px 44px rgba(0,0,0,.30);
  filter:saturate(1.05) contrast(1.03);
}
@media (prefers-reduced-motion: reduce){
  .entry-featured .featured__cta .btn,
  .entry-featured .featured__cta .btn::after{transition:none}
  .entry-featured:hover .featured__cta .btn{transform:none}
}

.featured__art{
  /* 去掉图片底下那层“内嵌卡片框”，只保留外层开云大卡片 */
  border-radius:0;
  overflow:visible;
  border:none;
  background:transparent;
  box-shadow:none;
}
.featured__art{
  background:transparent;
}
.featured__art img{
  width:100%;
  height:100%;
  display:block;
  /* 透明底 PNG：contain 避免裁切，透明区域透出 .featured__art 底色 */
  object-fit:contain;
  object-position:50% 100%;
}

.dl{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
@media (max-width:980px){.dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.dl{grid-template-columns:1fr}}

.dl__item{
  padding:10px 12px;
  border-radius:var(--r);
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(255,210,74,.12), rgba(0,0,0,0) 62%),
    radial-gradient(90% 70% at 100% 100%, rgba(255,255,255,.06), rgba(0,0,0,0) 55%),
    linear-gradient(145deg, rgba(255,255,255,.11) 0%, rgba(255,255,255,.05) 48%, rgba(0,0,0,.08) 100%);
  box-shadow:var(--shadow2);
  position:relative;
  overflow:hidden;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    filter .18s ease;
}
.dl__item:hover{border-color:rgba(255,255,255,.24)}
.dl__item::before{content:none}
.dl__title{font-weight:950;margin-bottom:4px;font-size:13px}
.dl__desc{color:var(--muted);font-size:12px}
.dl__item[data-visit] .dl__title{
  color:rgba(255,255,255,.96);
  text-shadow:0 1px 2px rgba(0,0,0,.28);
}
.dl__item[data-visit] .dl__desc{
  color:rgba(255,255,255,.78);
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}

/* Per-platform accents */
.dl__item[data-visit]{
  border-color:rgba(255,255,255,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 18px 56px rgba(0,0,0,.32);
}

/* Premium hover interaction for APP cards */
.dl__item[data-visit]::after{
  content:"";
  position:absolute;inset:-2px;
  background:
    radial-gradient(120% 90% at 10% 0%, rgba(255,255,255,.24), rgba(0,0,0,0) 55%),
    linear-gradient(120deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.22) 45%, rgba(255,255,255,0) 60%);
  opacity:0;
  transform:translateX(-18%);
  transition:opacity .18s ease, transform .45s ease;
  pointer-events:none;
  mix-blend-mode:screen;
}
.dl__item[data-visit]:hover{
  transform:translateY(-6px) scale(1.02);
  border-color:rgba(255,243,196,.42);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 26px 76px rgba(0,0,0,.40);
  filter:saturate(1.08) brightness(1.06);
}
.dl__item[data-visit]:hover::after{
  opacity:1;
  transform:translateX(12%);
}
.dl__item[data-visit]:active{
  transform:translateY(-2px) scale(1.01);
}
.dl__item[data-visit]:focus-visible{
  outline:none;
  border-color:rgba(255,243,196,.58);
  box-shadow:
    0 0 0 3px rgba(255,210,74,.22),
    inset 0 1px 0 rgba(255,255,255,.20),
    0 26px 76px rgba(0,0,0,.40);
}

@media (prefers-reduced-motion: reduce){
  .dl__item{transition:none}
  .dl__item[data-visit]::after{transition:none}
  .dl__item[data-visit]:hover{transform:none}
}
.dl__item[data-visit="xkApp"]{
  border-color:rgba(56,225,255,.34);
  background:
    radial-gradient(95% 85% at 8% 12%, rgba(255,255,255,.34), rgba(0,0,0,0) 56%),
    radial-gradient(70% 60% at 92% 88%, rgba(16,185,129,.35), rgba(0,0,0,0) 58%),
    linear-gradient(145deg, #06b6d4 0%, #22d3ee 28%, #00d3a7 58%, #0284c7 100%);
}
.dl__item[data-visit="jyApp"]{
  border-color:rgba(167,139,250,.38);
  background:
    radial-gradient(90% 90% at 12% 18%, rgba(255,255,255,.30), rgba(0,0,0,0) 55%),
    radial-gradient(55% 55% at 88% 75%, rgba(96,165,250,.35), rgba(0,0,0,0) 60%),
    linear-gradient(155deg, #6366f1 0%, #7c3aed 32%, #9333ea 65%, #2563eb 100%);
}
.dl__item[data-visit="hthApp"]{
  border-color:rgba(255,210,120,.42);
  background:
    radial-gradient(100% 80% at 18% 10%, rgba(255,255,255,.38), rgba(0,0,0,0) 52%),
    radial-gradient(60% 55% at 85% 85%, rgba(255,120,40,.30), rgba(0,0,0,0) 58%),
    linear-gradient(138deg, #ffef9e 0%, #ffb300 26%, #ff9100 55%, #ea580c 100%);
}
.dl__item[data-visit="lyApp"]{
  border-color:rgba(96,165,250,.38);
  background:
    radial-gradient(85% 85% at 15% 15%, rgba(255,255,255,.28), rgba(0,0,0,0) 54%),
    radial-gradient(65% 60% at 90% 20%, rgba(56,189,248,.32), rgba(0,0,0,0) 57%),
    linear-gradient(148deg, #1e3a8a 0%, #1d4ed8 28%, #3b82f6 55%, #818cf8 100%);
}
.dl__item[data-visit="kyApp"]{
  border-color:rgba(251,113,133,.42);
  background:
    radial-gradient(95% 85% at 12% 12%, rgba(255,200,220,.32), rgba(0,0,0,0) 54%),
    radial-gradient(55% 55% at 90% 80%, rgba(185,28,28,.40), rgba(0,0,0,0) 60%),
    linear-gradient(152deg, #fb7185 0%, #f43f5e 30%, #dc2626 58%, #991b1b 100%);
}
.dl__item[data-visit="mkApp"]{
  border-color:rgba(148,163,184,.32);
  background:
    radial-gradient(90% 70% at 10% 20%, rgba(255,255,255,.14), rgba(0,0,0,0) 50%),
    radial-gradient(55% 70% at 95% 85%, rgba(45,212,191,.22), rgba(0,0,0,0) 58%),
    linear-gradient(142deg, #64748b 0%, #334155 35%, #0f172a 72%, #020617 100%);
}
.dl__item[data-visit="mlApp"]{
  border-color:rgba(74,222,128,.36);
  background:
    radial-gradient(88% 85% at 14% 12%, rgba(255,255,255,.30), rgba(0,0,0,0) 54%),
    radial-gradient(60% 55% at 82% 88%, rgba(34,197,94,.34), rgba(0,0,0,0) 58%),
    linear-gradient(150deg, #0ea5e9 0%, #38bdf8 28%, #22c55e 60%, #15803d 100%);
}
.dl__item[data-visit="ayxApp"]{
  border-color:rgba(253,186,116,.40);
  background:
    radial-gradient(92% 82% at 10% 15%, rgba(255,255,255,.32), rgba(0,0,0,0) 54%),
    radial-gradient(50% 55% at 92% 25%, rgba(244,114,182,.28), rgba(0,0,0,0) 58%),
    linear-gradient(158deg, #fbbf24 0%, #f97316 28%, #ef4444 62%, #be123c 100%);
}

.footer{padding:12px 0 28px}
.footer__inner{
  padding:14px 14px;border-radius:var(--r);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
}
.footer__note{color:var(--muted2);font-size:13px}

.float{
  position:fixed;right:16px;
  width:54px;height:54px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg, rgba(255,210,74,.30), rgba(255,179,0,.18));
  box-shadow:0 16px 48px rgba(0,0,0,.34);
  font-weight:950;
}
.float span{font-size:14px}
.float--top{bottom:28px;background:rgba(255,255,255,.08)}
.float:hover{border-color:rgba(255,255,255,.26)}

/* Floating promo badges */
.float-stack{
  position:fixed;
  right:18px;
  bottom:calc(96px + 10cm);
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:20;
}

/* H5：恢复悬浮徽章（缩小+上移，尽量不挡内容） */
@media (max-width:767px){
  .float-stack{
    display:flex;
    right:10px;
    bottom:88px;
    gap:10px;
    z-index:30;
    pointer-events:none;
  }
  .float-stack .float-badge{
    width:64px;
    height:64px;
    border-radius:18px;
    pointer-events:auto;
  }
  .float-stack .float-badge:hover{transform:none;box-shadow:none;filter:none}
}
.float-badge{
  width:84px;
  height:84px;
  border-radius:22px;
  border:none;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateZ(0);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
.float-badge .badge-svg{width:100%;height:100%;display:block}
.float-badge:hover{
  transform:translateY(-6px) scale(1.04);
  border-color:rgba(255,243,196,.42);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
  filter:saturate(1.08) brightness(1.04);
}
.float-badge:active{transform:translateY(-2px) scale(1.02)}
.float-badge--wheel .badge-svg__spin{transform-origin:110px 110px;animation:wheelSpin 5.5s linear infinite}
.float-badge--red{animation:floatBob 2.8s ease-in-out infinite}
.float-badge--wheel{animation:floatBob 3.2s ease-in-out infinite}
@keyframes wheelSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes floatBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes bulbBlink{0%,100%{opacity:.65;filter:saturate(1)}50%{opacity:1;filter:saturate(1.25)}}
@keyframes titlePulse{0%,100%{filter:drop-shadow(0 8px 18px rgba(0,0,0,.30))}50%{filter:drop-shadow(0 10px 24px rgba(0,0,0,.36))}}
@keyframes sparkleTwinkle{0%,100%{opacity:.35}50%{opacity:.95}}

.float-badge--wheel .badge-wheel__bulbs circle{animation:bulbBlink 1.2s ease-in-out infinite}
.float-badge--wheel .badge-wheel__bulbs circle:nth-child(2){animation-delay:.1s}
.float-badge--wheel .badge-wheel__bulbs circle:nth-child(3){animation-delay:.2s}
.float-badge--wheel .badge-wheel__bulbs circle:nth-child(4){animation-delay:.3s}
.float-badge--wheel .badge-wheel__bulbs circle:nth-child(5){animation-delay:.4s}
.float-badge--wheel .badge-wheel__bulbs circle:nth-child(6){animation-delay:.5s}
.float-badge--wheel .badge-wheel__bulbs circle:nth-child(7){animation-delay:.6s}
.float-badge--wheel .badge-wheel__bulbs circle:nth-child(8){animation-delay:.7s}
.float-badge--wheel .badge-wheel__bulbs circle:nth-child(9){animation-delay:.8s}
.float-badge--wheel .badge-wheel__title{animation:titlePulse 1.8s ease-in-out infinite}

.float-badge--red{animation:floatBob 2.6s ease-in-out infinite}
.float-badge--red:hover{transform:translateY(-8px) scale(1.06) rotate(-2deg)}
.float-badge--red .badge-red__sparkles circle{animation:sparkleTwinkle 1.4s ease-in-out infinite}
.float-badge--red .badge-red__sparkles circle:nth-child(2){animation-delay:.25s}
.float-badge--red .badge-red__sparkles circle:nth-child(3){animation-delay:.5s}
.float-badge--red .badge-red__sparkles circle:nth-child(4){animation-delay:.75s}

@media (prefers-reduced-motion: reduce){
  .float-badge--wheel .badge-svg__spin,
  .float-badge--red,
  .float-badge--wheel{animation:none}
  .float-badge--wheel .badge-wheel__bulbs circle,
  .float-badge--wheel .badge-wheel__title,
  .float-badge--red .badge-red__sparkles circle{animation:none}
}

/* H5：存款活动图强制按屏宽完整缩放（覆盖前文 poster 规则，避免 WebView 仍裁切右侧） */
@media (max-width: 767.98px) {
  .hero,
  .hero__group,
  .hero__layout,
  .hero .promo-poster{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  .hero .promo-poster{
    overflow:visible;
  }
  .hero .promo-poster img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
}
