/* The delivered Front Row loading animation, isolated from public-site styles. */
.site-loader{position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at 50% 43%,#0c5947 0,#073f32 38%,#032d25 100%);color:var(--cream);display:grid;grid-template-rows:auto 1fr auto;padding:28px 4%;overflow:hidden;clip-path:inset(0);transition:clip-path .85s cubic-bezier(.77,0,.18,1),visibility .85s}
.site-loader.is-done{clip-path:inset(0 0 100% 0);visibility:hidden;pointer-events:none}
.loader-brand{display:flex;align-items:center;gap:16px;font:700 13px var(--sans);letter-spacing:.18em}
.loader-brand img{width:58px;height:58px;object-fit:contain}
.loader-stack{position:relative;width:min(520px,75vw);height:min(70vh,720px);place-self:center}
.loader-part{position:absolute;left:50%;top:50%;width:76%;height:auto;opacity:0;animation-duration:2.6s;animation-delay:0s;animation-timing-function:linear;animation-fill-mode:forwards}
.loader-foundation{animation-name:assembleFoundation}.loader-frame{animation-name:assembleFrame}.loader-seats{animation-name:assembleSeats}.loader-complete{animation-name:assembleComplete}
.loader-progress{display:flex;justify-content:space-between;align-items:end;gap:16px;border-top:1px solid #ffffff40;padding-top:18px;font-size:11px;letter-spacing:.16em}
.loader-progress b{font:900 44px/.8 var(--display);color:var(--coral)}
@keyframes assembleFoundation{0%{opacity:0;transform:translate3d(-62%,250px,0) scale(.72);filter:blur(7px)}8%,48%{opacity:1;transform:translate3d(-50%,225px,0) scale(.72);filter:blur(0)}72%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}84%{opacity:.42;transform:translate3d(-50%,-50%,0) scale(1)}94%,100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1)}}
@keyframes assembleFrame{0%,15%{opacity:0;transform:translate3d(-38%,105px,0) scale(.72);filter:blur(7px)}25%,51%{opacity:1;transform:translate3d(-50%,105px,0) scale(.72);filter:blur(0)}74%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}86%{opacity:.48;transform:translate3d(-50%,-50%,0) scale(1)}96%,100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1)}}
@keyframes assembleSeats{0%,29%{opacity:0;transform:translate3d(-61%,-70px,0) scale(.72);filter:blur(7px)}39%,54%{opacity:1;transform:translate3d(-50%,-70px,0) scale(.72);filter:blur(0)}76%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}88%{opacity:.52;transform:translate3d(-50%,-50%,0) scale(1)}98%,100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1)}}
@keyframes assembleComplete{0%,44%{opacity:0;transform:translate3d(-40%,-275px,0) scale(.82);filter:blur(8px)}55%,62%{opacity:1;transform:translate3d(-50%,-245px,0) scale(.82);filter:blur(0)}80%,100%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1);filter:blur(0)}}
@media(max-width:540px){.site-loader{padding:20px}.loader-brand img{width:44px;height:44px}.loader-stack{width:92vw;height:60vh}.loader-progress{font-size:9px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.site-loader{transition:none}.loader-part{animation:none;transform:translate3d(-50%,-50%,0)}.loader-complete{opacity:1}}
