/* GamesAdv · Festive campaigns (/festive, home strip, Campaigns teaser). One file; bump ?v= when edited. */
.fx,.fx-strip,.fx-teaser{--fx-a:#ff6b6b;--fx-b:#3ecf8e;--fx-glow:#3ecf8e26;--fx-card:#11172e;--fx-line:#ffffff1c}
.fx[data-fest="cny"],.fx-teaser[data-fest="cny"],.fx-strip[data-fest="cny"]{--fx-a:#ffc53d;--fx-b:#ff5252;--fx-glow:#ff52522e}
.fx{position:relative;overflow:hidden}
.fx h1 em,.fx h2 em{color:var(--fx-a);font-style:normal}
.fx .eyebrow{color:var(--fx-a)}

/* Hero */
.fx-hero{position:relative}
.fx-hero::before{content:"";position:absolute;inset:-40px -20vw auto auto;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,var(--fx-glow),transparent 68%);pointer-events:none;z-index:-1}
.fx-switches{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.fx-seg{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--fx-line);border-radius:999px;background:#ffffff08}
.fx-seg a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:650;color:var(--muted);text-decoration:none}
.fx-seg a[aria-pressed="true"]{background:var(--fx-a);color:#14101c}
.fx-seg a:focus-visible{outline:2px solid var(--fx-a);outline-offset:2px}
.fx-notice{display:inline-block;margin-top:26px;padding:8px 14px;border-left:3px solid var(--fx-a);background:#ffffff0a;font-size:14px;font-weight:650;color:#f3f1fb}

/* Shared section rhythm */
.fx .section h2{max-width:780px}
.fx-sub{max-width:680px;color:var(--muted)}
.fx-fine{margin-top:22px;font-size:13px;color:var(--muted);max-width:820px}
.fx-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}

/* Why */
.fx-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.fx-three article,.fx-cards6 article,.fx-tiers article{border:1px solid var(--fx-line);border-radius:12px;background:var(--fx-card);padding:26px}
.fx-three h3,.fx-cards6 h3{margin:10px 0 8px;font-size:20px}
.fx-three p,.fx-cards6 p{margin:0;color:var(--muted)}
.fx-num{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--fx-a)}

/* Games */
.fx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}
.fx-card{display:flex;flex-direction:column;border:1px solid var(--fx-line);border-radius:12px;overflow:hidden;background:var(--fx-card);transition:border-color .18s,transform .18s}
.fx-card:hover{border-color:var(--fx-a);transform:translateY(-3px)}
.fx-cover{position:relative;display:block;aspect-ratio:8/5;background:#0b1023}
.fx-cover img{display:block;width:100%;height:100%;object-fit:cover}
.fx-badge{position:absolute;left:12px;top:12px;padding:3px 9px;border-radius:999px;background:#0b1023cc;font-size:11px;font-weight:700;letter-spacing:.08em}
.fx-copy{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.fx-copy h3{margin:0;font-size:21px}
.fx-copy p{margin:0;font-size:15px;color:var(--muted)}
.fx-copy .fx-brand{font-size:13px;font-weight:650;color:var(--fx-a)}
.fx-swap b{color:#f3f1fb}
.fx-fit{font-size:13px!important}
.fx-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:12px}
.fx-actions a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:7px;font-size:14px;font-weight:650;text-decoration:none}
.fx-play{background:var(--fx-a);color:#14101c}
.fx-create{border:1px solid var(--fx-line);color:inherit}
.fx-create:hover{background:#ffffff0d}

/* What we change */
.fx-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fx-list li{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-left:3px solid var(--fx-a);background:#ffffff08;border-radius:0 10px 10px 0}
.fx-list b{font-size:16px}
.fx-list span{font-size:14px;color:var(--muted)}

/* Mechanics */
.fx-cards6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}

/* Packages */
.fx-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px;align-items:stretch}
.fx-tiers article{position:relative;display:flex;flex-direction:column}
.fx-tiers h3{margin:0 0 6px;font-size:22px}
.fx-tiers ul{margin:16px 0 0;padding-left:18px;color:var(--muted)}
.fx-tiers li{margin:6px 0}
.fx-pop{border-color:var(--fx-a)!important;box-shadow:0 0 0 1px var(--fx-a) inset}
.fx-tag{position:absolute;top:-12px;left:22px;margin:0;padding:3px 10px;border-radius:999px;background:var(--fx-a);color:#14101c;font-size:11px;font-weight:700;letter-spacing:.08em}
.fx-price{margin:0;font-size:26px;font-weight:700;color:var(--fx-a)}
.fx-price-ask{font-size:17px}

/* Steps */
.fx-ol{list-style:none;counter-reset:fx;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.fx-ol li{counter-increment:fx;display:flex;flex-direction:column;gap:6px;padding:22px 18px;border-top:3px solid var(--fx-a);background:#ffffff08;border-radius:0 0 10px 10px}
.fx-ol li::before{content:"0" counter(fx);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--fx-a)}
.fx-ol b{font-size:17px}
.fx-ol span{font-size:14px;color:var(--muted)}

/* FAQ */
.fx-qs details{border-bottom:1px solid var(--fx-line);padding:18px 0}
.fx-qs summary{cursor:pointer;font-size:17px;font-weight:650;list-style-position:outside}
.fx-qs p{margin:10px 0 0;color:var(--muted)}

/* End */
.fx-end{text-align:center}
.fx-end h2{margin-left:auto;margin-right:auto}
.fx-end .actions{justify-content:center}

/* Home strip */
.fx-strip{border-block:1px solid #ffffff18;background:linear-gradient(90deg,var(--fx-glow),transparent 70%)}
.fx-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}
.fx-strip p{margin:0;font-size:15px}
.fx-strip b{color:var(--fx-a)}
.fx-strip small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.fx-strip a{flex:none;display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border-radius:7px;background:var(--fx-a);color:#14101c;font-size:14px;font-weight:650;text-decoration:none}

/* Campaigns teaser */
.fx-teaser{padding:64px 0 8px}
.fx-teaser-box{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:36px;align-items:center;padding:30px;border:1px solid var(--fx-a);border-radius:14px;background:linear-gradient(135deg,var(--fx-glow),transparent 60%)}
.fx-teaser .eyebrow{color:var(--fx-a)}
.fx-teaser h2{margin:0 0 10px}
.fx-teaser p{color:var(--muted)}
.fx-teaser-covers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.fx-teaser-covers a{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--fx-line)}
.fx-teaser-covers img{display:block;width:100%;aspect-ratio:8/5;object-fit:cover}
.fx-teaser-covers span{display:block;padding:6px 8px;font-size:12px;font-weight:650}

@media (max-width:1100px){
  .fx-grid,.fx-cards6,.fx-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-ol{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fx-teaser-box{grid-template-columns:1fr}
}
@media (max-width:760px){
  .fx-split{grid-template-columns:1fr;gap:28px}
  .fx-three,.fx-grid,.fx-cards6,.fx-tiers,.fx-list{grid-template-columns:1fr}
  .fx-ol{grid-template-columns:1fr}
  .fx-tiers{gap:28px}
  .fx-strip .wrap{flex-direction:column;align-items:flex-start}
  .fx-teaser-box{padding:22px}
  .fx-teaser-covers{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fx-hero::before{width:380px;height:380px}
}
@media (prefers-reduced-motion:reduce){.fx-card{transition:none}.fx-card:hover{transform:none}}
/* Collection v2: actual demo art, scoped delivery and readable mobile cards. */
.fx-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:48px;align-items:center;padding-top:65px;padding-bottom:58px}
.fx-hero-grid h1{font-size:clamp(40px,4.3vw,66px);letter-spacing:-.045em;line-height:1.12}
.fx-hero-grid .lede{font-size:18px;max-width:610px}.fx-hero-grid .fx-switches{margin-bottom:26px}
.fx-hero-proof{margin:0;padding:12px;background:linear-gradient(135deg,var(--fx-glow),#11172e);border:1px solid var(--fx-line);border-radius:18px;transform:rotate(1.5deg)}
.fx-hero-proof>a{display:block;position:relative;overflow:hidden;border-radius:10px}.fx-hero-proof img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
.fx-proof-play{position:absolute;bottom:12px;left:12px;background:#0b1023e8;padding:9px 14px;border-radius:7px;font-size:14px;font-weight:700;color:#fff}
.fx-hero-proof figcaption{padding:12px 4px 2px;font-size:12px;color:var(--muted)}
.fx-demo-notice{max-width:900px;margin:24px 0 0;padding:16px 20px;border-left:3px solid var(--fx-a);border-radius:0 9px 9px 0;background:#ffffff08;color:var(--muted);font-size:14px}
.fx-status{margin:2px 0;color:var(--fx-a);font-size:15px;font-weight:700}.fx-development{border-style:dashed!important}.fx-end .fx-sub{margin:0 auto 20px}.fx-teaser-covers{grid-template-columns:repeat(3,minmax(0,1fr))}
.fx-grid h3{line-height:1.25}.fx-grid .fx-copy{gap:11px}.fx-tiers h3{line-height:1.25}.fx .section{padding-top:72px;padding-bottom:72px}
@media(max-width:1000px){.fx-hero-grid{grid-template-columns:1fr;gap:32px}.fx-hero-proof{max-width:650px;transform:none}.fx-hero-grid h1{font-size:clamp(38px,7vw,62px)}}
@media(max-width:760px){.fx-hero-grid{padding-top:34px;padding-bottom:40px}.fx-seg a{padding:6px 11px;font-size:12px}.fx-hero-grid .lede{font-size:17px}.fx .section{padding-top:46px;padding-bottom:46px}.fx-switches{gap:8px}.fx-strip .wrap{padding:18px 20px}.fx-teaser-covers span{font-size:11px}.fx-copy{padding:20px}.fx-hero-proof figcaption{font-size:11px}}
