/* Progressive enhancement: without the independent head script the page stays visible. */
.rio-page-preloader { display:none; position:fixed; inset:0; z-index:99990; box-sizing:border-box; padding:24px; background:#fff; color:var(--rio-ink,#20344b); opacity:1; transition:opacity 180ms ease; }
html.rio-page-loading .rio-page-preloader { display:grid; place-items:center; animation:rio-page-preloader-expire 0s 5s forwards; }
html.rio-page-loaded .rio-page-preloader { opacity:0; pointer-events:none; }
.rio-page-preloader-inner { display:flex; flex-direction:column; align-items:center; gap:24px; width:100%; min-width:0; }
.rio-page-preloader-brand { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; }
.rio-page-preloader-brand .rio-wordmark { font-size:clamp(32px,8vw,42px); }
.rio-page-preloader-spinner { --rio-spinner-size:42px; --rio-spinner-inset:8px; display:block; flex:0 0 42px; }
/* Independent CSS safeguard: a failed script must never leave a permanent click barrier. */
@keyframes rio-page-preloader-expire { to { visibility:hidden; pointer-events:none; } }
@media(prefers-reduced-motion:reduce) { .rio-page-preloader { transition:none; } }
@media print { .rio-page-preloader { display:none!important; } }
