/* Natural image proportions keep all hero lettering visible on both devices. */
.home-page .home-hero-v58 { position: relative; width: 100%; margin: 0; padding: 0; background: #041426; }
.home-hero-v58 .home-hero-art { display: block; width: 100%; }
.home-hero-v58 .home-hero-art img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.home-hero-v58 .home-hero-download-v58 { position: absolute; left: 5.6%; top: 80.5%; width: 35.5%; height: 14%; display: block; border-radius: 999px; overflow: hidden; }
.home-hero-v58 .home-hero-download-v58:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.home-hero-download-v58::after { content: ""; position: absolute; inset: -40% auto -40% -55%; width: 28%; background: linear-gradient(110deg, transparent, #ffffff60, transparent); transform: skewX(-18deg); animation: hero-v58-shine 7s ease-in-out infinite; pointer-events: none; }
@keyframes hero-v58-shine { 0%, 72% { left: -55%; } 95%, 100% { left: 145%; } }
.home-page .home-freeroll-v58 { padding: clamp(20px, 3vw, 40px) 0; background: #f5faff; }
.home-freeroll-v58 .home-freeroll-cover-v58 { display: block; max-width: 980px; margin: 0 auto; overflow: hidden; border: 1px solid #bdd6e9; border-radius: 8px; color: #075a99; background: #fff; text-decoration: none; }
.home-freeroll-cover-v58 img { display: block; width: 100%; height: auto; }
.home-freeroll-cover-v58 > span { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; font-size: clamp(15px, 1.6vw, 20px); font-weight: 700; }
.home-freeroll-cover-v58:focus-visible { outline: 3px solid #075da5; outline-offset: 4px; }
@media (max-width: 760px) {
  .home-hero-v58 .home-hero-download-v58 { left: 8%; top: 85%; width: 84%; height: 10.5%; }
  .home-freeroll-cover-v58 > span { padding: 12px 14px; }
}
@media (prefers-reduced-motion: reduce) { .home-hero-download-v58::after { animation: none; content: none; } }
