/* Fine curved energy filaments, intentionally sparse. */
.hero-ambient-motion{position:absolute;inset:0 0 27%;z-index:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(transparent,#000 12%,#000 78%,transparent);contain:paint;mix-blend-mode:screen}
.hero-ambient-motion .armor-glint{display:none}
.energy-ribbon{position:absolute;left:var(--sx);bottom:-12%;width:64px;height:250px;overflow:visible;opacity:0;transform-origin:center;animation:ht-ribbon-rise var(--speed) linear var(--delay) infinite;will-change:transform,opacity}
.ribbon-halo{stroke:#ff781f;stroke-width:5;filter:blur(4px);opacity:.65}
.ribbon-core{stroke:#ffe2a0;stroke-width:1.05;stroke-linecap:round;filter:drop-shadow(0 0 2px #ffa23b)}
.ribbon-thread{stroke:#ffae57;stroke-width:.55;opacity:.6}
.ribbon-sparks{fill:#fff0b7;filter:drop-shadow(0 0 3px #ff9a32)}
.ribbon-core path,.ribbon-halo path{stroke-dasharray:185 220;animation:ht-filament-flow 5s linear infinite}
.ribbon-core path:nth-child(2),.ribbon-halo path:nth-child(2){stroke-dasharray:110 260;animation-delay:-2s}
@keyframes ht-filament-flow{from{stroke-dashoffset:405}to{stroke-dashoffset:0}}
@keyframes ht-ribbon-rise{0%,8%{opacity:0;transform:translate3d(0,40px,0) scaleX(var(--flip)) rotate(-5deg)}25%{opacity:.52}53%{opacity:.38}76%,100%{opacity:0;transform:translate3d(15px,-160px,0) scaleX(var(--flip)) rotate(6deg)}}
@media(max-width:1023px){.energy-ribbon:nth-child(2){display:none}.energy-ribbon{width:42px;height:175px}.hero-ambient-motion{inset:0 0 35%}}
@media(prefers-reduced-motion:reduce){.hero-ambient-motion{display:none}.hero-season-badge{animation:none!important}}

/* Local fire follows the Season 22 artwork; title and controls stay still. */
.hero-title-metal>.hero-season-badge{animation:ht-season-burn 2.3s linear infinite;will-change:filter}
.season-fire{position:absolute;left:50%;bottom:calc(100% - 36px);width:42%;max-width:260px;aspect-ratio:3/1;transform:translateX(-50%);pointer-events:none;mix-blend-mode:screen}
.season-fire::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 18%,#ff651a77 34%,#fff1a799 45%,transparent 61%);background-size:220% 100%;mask:url("./season22-badge-v2.webp") center/100% 100% no-repeat;animation:ht-season-flame-flow 2.6s ease-in-out infinite;opacity:.5}
.season-fire i{position:absolute;left:var(--ex);bottom:30%;width:2px;height:4px;border-radius:60% 40%;background:#ffe9a6;box-shadow:0 0 5px #ff681f;opacity:0;animation:ht-season-spark var(--et) ease-out var(--ed) infinite}
@keyframes ht-season-burn{0%,100%{filter:brightness(1.04) drop-shadow(0 0 5px #ff651a99)}19%{filter:brightness(1.13) drop-shadow(0 -2px 8px #ff7b2299)}31%{filter:brightness(1.06) drop-shadow(0 0 4px #ff571a88)}48%{filter:brightness(1.19) drop-shadow(0 -3px 9px #ff9d3399)}67%{filter:brightness(1.08) drop-shadow(0 -1px 5px #ff5f1999)}81%{filter:brightness(1.15) drop-shadow(0 -2px 7px #ff862999)}}
@keyframes ht-season-flame-flow{0%{background-position:140% 0;opacity:.15}45%{opacity:.55}100%{background-position:-80% 0;opacity:.15}}
@keyframes ht-season-spark{0%,12%{opacity:0;transform:translate(0,0) scale(.6)}22%{opacity:.8}100%{opacity:0;transform:translate(9px,-32px) scale(.15)}}
@media(max-width:767px){.season-fire{width:44%;max-width:175px;bottom:calc(100% - 31px)}}
@media(prefers-reduced-motion:reduce){.season-fire{display:none}.hero-title-metal>.hero-season-badge{animation:none!important}}
