/* Four distinct artworks share one readable campaign typography system. */
.banner-carousel--campaign { overflow: clip; }
.banner-carousel--campaign .banner-slide { aspect-ratio: 1983 / 793; }
.campaign-banner-button { position: relative; display: block; width: 100%; height: 100%; padding: 0; line-height: 0; container-type: inline-size; }
.campaign-banner-subtitle {
  position: absolute; top: 57.5%; left: 4.5%; width: 50%;
  color: #287E69; font-size: min(2.5vw, 24px); font-size: 2.5cqw;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif;
  font-weight: 400; line-height: 1.25; text-align: left; white-space: nowrap;
  pointer-events: none;
}
.campaign-banner-subtitle--discover { top: 64%; width: 45%; color: #173a45; }
.banner-carousel--campaign .banner-img { object-fit: contain; background: #edf4fa; }
.campaign-banner-button picture { display: block; width: 100%; height: 100%; }
[data-theme="dark"] .banner-carousel--campaign .banner-img { opacity: 1; background: #210e1c; }
.campaign-art .campaign-copy { position:absolute; inset:9% auto 16% 6%; width:43%; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; text-align:left; color:#62361f; line-height:1; pointer-events:none; }
.campaign-art .campaign-brand { display:flex; align-items:center; gap:1.2cqw; font-size:2.4cqw; font-weight:600; letter-spacing:.08em; line-height:1.2; }
.campaign-art .campaign-brand img, .campaign-gold-logo { display:block; width:4cqw; height:4cqw; object-fit:contain; }
.campaign-gold-logo { background:currentColor; mask:url('/logo.png') center/contain no-repeat; -webkit-mask:url('/logo.png') center/contain no-repeat; }
.campaign-art .campaign-title { display:block; margin:0; font-family:'Noto Sans SC','Microsoft YaHei',sans-serif; font-size:6cqw; font-weight:750; line-height:1.18; letter-spacing:.03em; }
.campaign-art .campaign-title > span { display:block; }
.campaign-art .campaign-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:4cqw; padding:1.5cqw 2.5cqw; border-radius:999px; font-size:2.7cqw; font-weight:600; line-height:1; background:#934c2c; color:#fff6e9; }
.campaign-art .campaign-cta > span { font-size:3.4cqw; font-weight:400; }
.campaign-art--discover .campaign-title { font-family:'Noto Serif SC','Songti SC','SimSun',serif; font-weight:700; letter-spacing:.07em; }
.campaign-art--daily .campaign-copy { color:#50345f; width:39%; inset-inline-start:5.5%; }
.campaign-art--daily .campaign-title { font-size:5.8cqw; font-weight:700; letter-spacing:.06em; }
.campaign-art--daily .campaign-cta { color:#fff7ff; background:#725785; border-radius:1.5cqw; }
.campaign-art--svip .campaign-copy { color:#f4d99e; }
.campaign-art--svip .campaign-brand { letter-spacing:.16em; font-weight:500; }
.campaign-art--svip .campaign-title { font-family:'Noto Serif SC','Songti SC','SimSun',serif; font-size:5.8cqw; font-weight:600; letter-spacing:.1em; }
.campaign-art--svip .campaign-cta { color:#f5dcaa; background:rgba(246,214,157,.08); border:1px solid rgba(246,214,157,.55); border-radius:1cqw; }
.campaign-art--works .campaign-copy { color:#2e465d; }
.campaign-art--works .campaign-title { font-size:5.8cqw; font-weight:650; letter-spacing:.08em; }
.campaign-art--works .campaign-cta { color:#f7fbff; background:#486781; border-radius:1.5cqw; }
.campaign-banner-button:focus-visible { outline: 3px solid #39C9A5; outline-offset: -3px; }
.campaign-labels{position:absolute;inset:0;pointer-events:none;color:#102e50;--label-left:8%;--brand-top:16%;--cta-top:68%;font-family:'Noto Sans SC','Microsoft YaHei',sans-serif}
.campaign-label-brand{position:absolute;left:var(--label-left);top:var(--brand-top);display:flex;align-items:center;gap:1.7cqw;font-size:3.15cqw;font-weight:600;letter-spacing:.1em;line-height:1.2;white-space:nowrap}
.campaign-label-logo{width:4.5cqw;height:4.5cqw;flex:none;background:#00c6a2;mask:url('/logo.png') center/contain no-repeat;-webkit-mask:url('/logo.png') center/contain no-repeat}
.campaign-label-cta{position:absolute;left:var(--label-left);top:var(--cta-top);display:flex;align-items:center;justify-content:space-between;gap:3cqw;min-width:25%;padding:1.8cqw 2.7cqw;box-sizing:border-box;border-radius:999px;background:#102e50;color:#fff;font-size:3.2cqw;font-weight:550;line-height:1.1;letter-spacing:.05em}
.campaign-label-cta svg{width:4.4cqw;height:3cqw;flex:none}
[data-banner-number="2"] .campaign-labels{--label-left:9.5%;--cta-top:70%}
[data-banner-number="3"] .campaign-labels{--label-left:6.6%;--cta-top:72%}
[data-banner-number="4"] .campaign-labels{--label-left:6.2%;--cta-top:69%}
[data-theme="dark"] .campaign-labels{color:#f0cddc;--label-left:53%;--brand-top:17%;--cta-top:73%}
[data-theme="dark"] [data-banner-number="1"] .campaign-labels{--label-left:50.5%}
[data-theme="dark"] [data-banner-number="3"] .campaign-labels{--label-left:55%;--brand-top:15%}
[data-theme="dark"] [data-banner-number="4"] .campaign-labels{--label-left:54.5%}
[data-theme="dark"] .campaign-label-logo{background:currentColor}
[data-theme="dark"] .campaign-label-cta{background:#eccbda;color:#392330}
.banner-carousel--campaign .banner-dots { gap: 0; bottom: 0; }
.banner-carousel--campaign .banner-dot,
.banner-carousel--campaign .banner-dot.active {
  position: relative; width: 28px; height: 24px; padding: 0;
  border-radius: 0; background: transparent;
}
.banner-carousel--campaign .banner-dot::after {
  content: ''; position: absolute; left: 11px; top: 10px;
  width: 6px; height: 4px; border-radius: 4px; background: #7284a0;
}
.banner-carousel--campaign .banner-dot.active::after { left: 6px; width: 16px; background: #39C9A5; }
.banner-carousel--campaign .banner-dot:focus-visible { outline: 2px solid #39C9A5; outline-offset: -2px; border-radius: 8px; }


