.hero-layer-stage {
  background: #edf7ff url('../images/olympus-background.png') center / cover no-repeat;
}
.hero-character { mix-blend-mode: normal; }
header .brand { display: block; width: 155px; line-height: 0; }
header .brand img { display: block; width: 100%; height: auto; }
@media (max-width: 760px) { header .brand { width: 112px; } }
.zeus-motion { position: relative; animation: zeus-breathe 6s ease-in-out infinite; transform-origin: 50% 50%; }
.effects-layer { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.wheel-electric { z-index: 2; }
.electric-arc { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.arc-glow { stroke: #14b8ff; stroke-width: 7; filter: blur(3px); opacity: .85; }
.arc-core { stroke: #eaffff; stroke-width: 1.9; filter: drop-shadow(0 0 3px #00aaff); }
.ring-arc { stroke-dasharray: 160 95 48 130; animation: ring-current 8s linear infinite; }
.rim-branches { animation: electric-breathe 3.8s ease-in-out infinite; }
.zeus-electric { z-index: 1; }
.eye-power { fill: #eaffff; filter: drop-shadow(0 0 5px #00aeff) drop-shadow(0 0 12px #087bff); animation: eye-charge 3.4s ease-in-out infinite; }
.eye-arcs { animation: electric-breathe 4.3s ease-in-out infinite; }
.eye-arcs .arc-core { stroke-width: 1.3; }
.weapon-arc { stroke-dasharray: 90 35 200 50; animation: weapon-current 2.8s linear infinite; }
.weapon-arc .arc-core { stroke-width: 3; }
.weapon-branches { animation: electric-breathe 4.8s ease-in-out infinite; }
.hero-title img { animation: title-power 4s ease-in-out infinite; }
.hero-title::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(110deg, transparent 35%, #d8f8ffb3 48%, #fff 50%, transparent 62%) 140% 0 / 300% 100%;
  mask: url('../images/free-spins-welcome-title.png') center / 100% 100% no-repeat;
  mix-blend-mode: screen; animation: power-sweep 5.5s ease-in-out infinite;
}
.hero .spin-button img { animation: button-charge 2.6s ease-in-out infinite; }
.hero .spin-button::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(110deg, transparent 36%, #fff9 49%, transparent 62%) 140% 0 / 300% 100%;
  mix-blend-mode: screen; animation: power-sweep 4s ease-in-out infinite;
}
.wheel-stage:has(.spin-button:disabled) .wheel-electric { filter: drop-shadow(0 0 7px #3ddaff); }
.hero .spin-button:disabled img { animation-play-state: paused; }
@keyframes zeus-breathe { 0%,100% { transform: translateY(0) rotate(-.15deg); } 50% { transform: translateY(-.35%) rotate(.15deg); } }
@keyframes ring-current { to { stroke-dashoffset: -866; } }
@keyframes weapon-current { to { stroke-dashoffset: -375; } }
@keyframes electric-breathe { 0%,100% { opacity: .2; } 45%,60% { opacity: .9; } }
@keyframes eye-charge { 0%,100% { opacity: .65; } 50% { opacity: 1; } }
@keyframes title-power { 0%,100% { filter: drop-shadow(0 0 3px #20baff55); } 50% { filter: drop-shadow(0 0 12px #14b8ffaa) drop-shadow(0 0 3px #fff2b799); } }
@keyframes button-charge { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.3) drop-shadow(0 0 4px #8cecff); } }
@keyframes power-sweep { 0%,40% { background-position: 140% 0; opacity: 0; } 50% { opacity: .85; } 80%,100% { background-position: -40% 0; opacity: 0; } }
.effects-paused .zeus-motion,.effects-paused .effects-layer *,.effects-paused .hero-title img,.effects-paused .hero-title::after,.effects-paused .spin-button img,.effects-paused .spin-button::after { animation-play-state: paused!important; }
@media (prefers-reduced-motion: reduce) {
  .zeus-motion,.effects-layer *,.hero-title img,.hero-title::after,.hero .spin-button img,.hero .spin-button::after { animation: none!important; }
  .hero-title::after,.hero .spin-button::after { display: none; }
  .wheel-electric,.eye-arcs,.weapon-branches { opacity: .35; }
}
