.site-preloader { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; background: #f7f8fa; color: #202329; transition: opacity 180ms ease, visibility 180ms ease; }
.site-preloader.is-ready { opacity: 0; visibility: hidden; pointer-events: none; }
.preloader-content { display: grid; justify-items: center; gap: 12px; padding: 28px; font-family: Poppins,system-ui,sans-serif; }
.preloader-mark { display: grid; place-items: center; width: 68px; height: 68px; margin-bottom: 8px; border-radius: 21px; background: #fa5018; color: white; box-shadow: 0 10px 28px #fa501825; }
.preloader-mark span { font-size: 32px; font-weight: 700; }
.preloader-brand { font-size: 26px; font-weight: 600; letter-spacing: -.9px; }
.preloader-caption { font-size: 12px; color: #7b8493; }
.preloader-track { width: 150px; height: 3px; background: #e7e9ee; border-radius: 5px; overflow: hidden; margin-top: 16px; }
.preloader-track span { display: block; width: 45%; height: 100%; background: #fa5018; border-radius: inherit; animation: helarider-loading 1.15s ease-in-out infinite alternate; }
@keyframes helarider-loading { from { transform: translateX(-100%); } to { transform: translateX(225%); } }
@media(prefers-reduced-motion:reduce) { .preloader-track span { animation: none; transform: translateX(60%); } .site-preloader { transition: none; } }
@media print { .site-preloader { display: none; } }
/* Without JavaScript, the overlay dismisses itself instead of blocking the app. */
.site-preloader { animation: helarider-loader-fallback 0s 8s forwards; }
@keyframes helarider-loader-fallback { to { visibility: hidden; pointer-events: none; } }
