/* Page motion must never transform main: it contains viewport-fixed purchase bars. */
@view-transition { navigation: none; }
.page-loader.screen-loader {
    display: grid; place-items: center; inset: 0; width: 100%; height: 100%;
    opacity: 0; visibility: hidden; pointer-events: none; overflow: hidden;
    background: color-mix(in srgb, Canvas 88%, transparent) !important;
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    transition: opacity 140ms ease, visibility 140ms ease;
}
.page-loader.screen-loader.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
.page-loader.screen-loader.is-hiding { opacity: 0; visibility: hidden; pointer-events: none; }
.page-loader-ambient { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 50% 42%, rgba(var(--colorMainRGB,234,145,11),.12), transparent 55%); }
.page-loader .screen-loader-content {
    position: relative; inset: auto; transform: none; width: min(360px, calc(100vw - 40px));
    padding: 40px 24px 28px; gap: 0; border: 1px solid rgba(255,255,255,.9); border-radius: 32px;
    background: rgba(255,255,255,.76); box-shadow: 0 24px 80px #243b2c0c;
}
.page-loader .screen-loader-logo-wrap {
    width: 116px; height: 116px; margin: 14px 0 38px; padding: 24px; border-radius: 50%;
    border: 1px solid rgba(var(--colorMainRGB,234,145,11),.12); background: #fff;
    box-shadow: 0 10px 32px #233b3010; animation: none;
}
.page-loader .screen-loader-logo-wrap::before, .page-loader .screen-loader-logo-wrap::after { display: none; }
.page-loader-ring { position: absolute; display: block; border-radius: 50%; pointer-events: none; }
.page-loader-ring-outer {
    inset: -13px; border: 3px solid rgba(var(--colorMainRGB,234,145,11),.13);
    border-top-color: var(--colorMain,#ea910b); border-right-color: var(--colorMain,#ea910b);
    animation: page-loader-spin 1.35s linear infinite; will-change: transform;
}
.page-loader-ring-inner { inset: -23px; border: 1px dashed rgba(var(--colorMainRGB,234,145,11),.24); }
.page-loader-orbit { position: absolute; inset: -13px; border-radius: 50%; animation: page-loader-spin 1.35s linear infinite; }
.page-loader-orbit::before { content: ''; position: absolute; top: -3px; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--colorMain,#ea910b); box-shadow: 0 0 0 5px rgba(var(--colorMainRGB,234,145,11),.1); }
.page-loader .screen-loader-text { color: CanvasText; font-size: 19px; font-weight: 500; line-height: 1.8; }
.page-loader-caption { margin: 6px 0 20px; color: color-mix(in srgb, CanvasText 62%, Canvas); font-size: 14px; line-height: 1.9; text-align: center; }
.page-loader .page-loader-bar { width: 100px; height: 4px; background: color-mix(in srgb, var(--colorMain, CanvasText) 12%, Canvas); }
.page-loader .page-loader-bar i { width: 45%; background: var(--colorMain,#ea910b); animation: page-loader-bar 1.6s ease-in-out infinite; }
.page-loader:not(.is-visible) *, .page-loader.is-hiding * { animation-play-state: paused; }
@keyframes page-loader-spin { to { transform: rotate(360deg); } }
@keyframes page-loader-bar { from { transform: translateX(160%); } to { transform: translateX(-250%); } }
@keyframes site-page-enter { from { opacity: .82; } to { opacity: 1; } }
html.is-page-ready main { animation: site-page-enter 140ms ease-out; }
.site-nav-progress { display: none; }
body.site-navigation-pending::before {
    content: ''; position: fixed; z-index: 99999998; top: 0; right: 0; width: 34%; height: 3px;
    pointer-events: none; opacity: 0; background: var(--colorMain, #ea910b); border-radius: 0 0 0 3px;
    box-shadow: 0 0 10px rgba(var(--colorMainRGB,234,145,11),.35);
    animation: site-nav-progress 1.15s ease-in-out 65ms infinite alternate;
}
@keyframes site-nav-progress { 0% { opacity: .78; transform: translateX(0); } 100% { opacity: 1; transform: translateX(-190%); } }
@media (max-width: 575.98px) { .page-loader .screen-loader-content { padding: 32px 20px 24px; border-radius: 26px; } }
@media (prefers-reduced-motion: reduce) {
    .page-loader.screen-loader { transition: none; }
    html.is-page-ready main, .page-loader .page-loader-orbit, .page-loader .page-loader-bar i { animation: none; }
    body.site-navigation-pending::before { width: 100%; opacity: 1; transform: none; animation: none; }
    /* Retain only a slow status indicator; remove decorative motion. */
    body .page-loader .page-loader-ring-outer { animation: page-loader-spin 4s linear infinite !important; }
}
