.promotion-celebrations-section{position:relative;overflow:hidden;padding-block:clamp(56px,8vw,104px)}
.promotion-celebrations-root{display:grid;gap:28px}
.promotion-celebration{--accent:#ffad3d;--accent-rgb:255,157,42;position:relative;isolation:isolate;overflow:hidden;padding:clamp(28px,5vw,64px);border:1px solid rgba(var(--accent-rgb),.34);border-radius:clamp(24px,4vw,42px);background:#090908;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 28px 90px rgba(0,0,0,.42),0 0 55px rgba(var(--accent-rgb),.09)}
.promotion-celebration::before,.promotion-celebration::after{content:"";position:absolute;z-index:-2;pointer-events:none}
.promotion-celebration::before{inset:0;background:radial-gradient(circle at 50% 0,rgba(var(--accent-rgb),.27),transparent 42%),linear-gradient(140deg,rgba(var(--accent-rgb),.09),transparent 38% 65%,rgba(var(--accent-rgb),.06))}
.promotion-celebration::after{left:10%;right:10%;bottom:-120px;height:210px;background:rgba(var(--accent-rgb),.19);filter:blur(75px);border-radius:50%}
.promotion-celebration--legend{--accent:#c884ff;--accent-rgb:165,73,255;background:#070610}
.promotion-celebration--legend::before{background:radial-gradient(ellipse at 50% -8%,rgba(192,110,255,.3),transparent 43%),linear-gradient(115deg,transparent 22%,rgba(145,55,255,.1) 38%,transparent 52%),radial-gradient(circle at 92% 78%,rgba(91,44,190,.17),transparent 32%)}
.promotion-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.promotion-atmosphere i{--x:calc((var(--particle-index) * 37) % 100);position:absolute;left:calc(var(--x) * 1%);bottom:-12px;width:3px;height:3px;border-radius:50%;background:var(--accent);opacity:.18;box-shadow:0 0 12px var(--accent);animation:promotion-ember calc(6s + (var(--particle-index) * .3s)) linear infinite;animation-delay:calc(var(--particle-index) * -.55s)}
.promotion-celebration--legend .promotion-atmosphere i{width:2px;height:18px;border-radius:999px;transform:rotate(38deg);opacity:.14;animation-name:promotion-energy}
.promotion-header{position:relative;display:grid;justify-items:center;max-width:850px;margin:0 auto clamp(28px,5vw,48px);text-align:center}
.promotion-emblem{width:clamp(90px,12vw,128px);height:clamp(90px,12vw,128px);display:grid;place-items:center;margin-bottom:16px;border:1px solid rgba(var(--accent-rgb),.32);border-radius:30%;background:radial-gradient(circle,rgba(var(--accent-rgb),.24),rgba(255,255,255,.025) 67%);box-shadow:0 0 36px rgba(var(--accent-rgb),.19);animation:promotion-emblem-pulse 4s ease-in-out infinite}
.promotion-celebration--legend .promotion-emblem{transform:rotate(45deg);border-radius:24px;background:linear-gradient(135deg,rgba(196,116,255,.19),rgba(70,30,133,.05));box-shadow:inset 0 0 28px rgba(197,117,255,.09),0 0 42px rgba(137,53,255,.2)}
.promotion-emblem img{width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 0 13px rgba(var(--accent-rgb),.5))}
.promotion-celebration--legend .promotion-emblem img{transform:rotate(-45deg)}
.promotion-kicker{margin-bottom:10px;color:var(--accent);font:800 clamp(.64rem,1.3vw,.78rem)/1.4 Orbitron,Inter,sans-serif;letter-spacing:.2em}
.promotion-headline{max-width:900px;margin:0;color:#fff;font:800 clamp(1.65rem,5vw,3.75rem)/1.03 Orbitron,Inter,sans-serif;letter-spacing:.035em;text-wrap:balance;text-shadow:0 0 30px rgba(var(--accent-rgb),.18)}
.promotion-celebration--hero .promotion-headline{background:linear-gradient(180deg,#fff4d7 8%,#ffc05a 64%,#d97516);-webkit-background-clip:text;background-clip:text;color:transparent}
.promotion-celebration--legend .promotion-headline{background:linear-gradient(180deg,#fff 4%,#dbb2ff 54%,#8c42e8);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.07em}
.promotion-intro{max-width:690px;margin:15px 0 0;color:#b9b8c0;font-size:clamp(.9rem,2vw,1.02rem);line-height:1.75;text-wrap:balance}
.promotion-members{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;max-width:1080px;margin-inline:auto}
.promotion-celebration[data-member-count="1"] .promotion-members{max-width:520px;grid-template-columns:1fr}
.promotion-celebration[data-member-count="2"] .promotion-members{max-width:820px;grid-template-columns:repeat(2,minmax(0,1fr))}
.promotion-celebration[data-member-count="3"] .promotion-members{grid-template-columns:repeat(3,minmax(0,1fr))}
.promotion-member{position:relative;min-width:0;overflow:hidden;display:grid;align-content:center;justify-items:center;min-height:190px;padding:26px 20px;border:1px solid rgba(var(--accent-rgb),.25);border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(var(--accent-rgb),.035)),rgba(4,5,8,.76);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);text-align:center;animation:promotion-reveal .62s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--reveal-index) * 90ms);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.promotion-celebration--hero .promotion-member::before{content:"";position:absolute;inset:auto 18% -55px;height:95px;background:rgba(255,125,20,.22);filter:blur(30px);border-radius:50%}
.promotion-celebration--legend .promotion-member{clip-path:polygon(0 13px,13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px));background:linear-gradient(145deg,rgba(205,143,255,.09),rgba(50,19,91,.12) 50%,rgba(4,5,10,.86))}
.promotion-member-label{position:relative;margin-bottom:15px;color:var(--accent);font:800 .67rem/1.3 Orbitron,Inter,sans-serif;letter-spacing:.16em}
.promotion-member-name{position:relative;max-width:100%;margin:0;color:#fff;font:800 clamp(1.15rem,3vw,1.65rem)/1.18 Orbitron,Inter,sans-serif;overflow-wrap:anywhere;word-break:break-word;text-wrap:balance}
.promotion-rank-badge{position:relative;display:inline-flex;margin-top:18px;padding:8px 12px;border:1px solid rgba(var(--accent-rgb),.32);border-radius:999px;background:rgba(var(--accent-rgb),.1);color:var(--accent);font:800 clamp(.68rem,1.8vw,.78rem)/1 Orbitron,Inter,sans-serif;letter-spacing:.07em;white-space:nowrap}
.promotion-footer{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:34px;color:#777984;font-size:.63rem;font-weight:800;letter-spacing:.15em}
.promotion-footer strong{color:var(--accent);font-family:Orbitron,Inter,sans-serif;font-size:.72rem}
@media(hover:hover){.promotion-member:hover{transform:translateY(-5px);border-color:rgba(var(--accent-rgb),.52);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 18px 38px rgba(var(--accent-rgb),.09)}}
@media(max-width:700px){.promotion-celebration{padding:28px 17px}.promotion-celebration[data-member-count="2"] .promotion-members,.promotion-celebration[data-member-count="3"] .promotion-members{grid-template-columns:1fr}.promotion-member{min-height:158px}.promotion-footer{gap:8px;letter-spacing:.08em}.promotion-footer span{font-size:.56rem}}
@media(max-width:340px){.promotion-celebration{padding-inline:13px;border-radius:22px}.promotion-member{padding-inline:14px}.promotion-rank-badge{letter-spacing:.035em}}
@media(prefers-reduced-motion:reduce){.promotion-atmosphere i,.promotion-emblem,.promotion-member{animation:none!important}.promotion-member{transition:none}}
@keyframes promotion-reveal{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes promotion-emblem-pulse{0%,100%{filter:brightness(.96)}50%{filter:brightness(1.12)}}
@keyframes promotion-ember{0%{transform:translate3d(0,20px,0) scale(.7);opacity:0}15%{opacity:.35}100%{transform:translate3d(24px,-600px,0) scale(1.4);opacity:0}}
@keyframes promotion-energy{0%{transform:translate3d(-50px,20px,0) rotate(38deg);opacity:0}18%{opacity:.23}100%{transform:translate3d(150px,-560px,0) rotate(38deg);opacity:0}}
