:root { --page-transition: 420ms; }
html.page-loading, html.page-loading body { overflow:hidden; }
body.site-page { opacity:0; transition:opacity var(--page-transition) cubic-bezier(.22,1,.36,1); }
body.site-page.page-ready { opacity:1; }
body.site-page.page-leaving { opacity:0; transition-duration:220ms; }
.site-loader { position:fixed; inset:0; z-index:2147483000; display:grid; place-items:center; background:rgb(15,0,20); opacity:1; visibility:visible; transition:opacity 360ms ease,visibility 360ms ease; }
.site-loader.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
.site-loader::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 48%,rgba(216,30,91,.12),transparent 32%),linear-gradient(145deg,rgba(42,0,53,.35),transparent 60%); pointer-events:none; }
.site-loader .spinner { position:relative; z-index:1; width:44px; height:44px; animation:spinner-y0fdc1 2s infinite ease; transform-style:preserve-3d; }
.site-loader .spinner > div { position:absolute; width:100%; height:100%; background:rgba(216,30,91,.12); border:2px solid #d81e5b; box-shadow:0 0 18px rgba(216,30,91,.45); }
.site-loader .spinner div:nth-of-type(1){transform:translateZ(-22px) rotateY(180deg)}
.site-loader .spinner div:nth-of-type(2){transform:rotateY(-270deg) translateX(50%);transform-origin:top right}
.site-loader .spinner div:nth-of-type(3){transform:rotateY(270deg) translateX(-50%);transform-origin:center left}
.site-loader .spinner div:nth-of-type(4){transform:rotateX(90deg) translateY(-50%);transform-origin:top center}
.site-loader .spinner div:nth-of-type(5){transform:rotateX(-90deg) translateY(50%);transform-origin:bottom center}
.site-loader .spinner div:nth-of-type(6){transform:translateZ(22px)}
@keyframes spinner-y0fdc1{0%{transform:rotate(45deg) rotateX(-25deg) rotateY(25deg)}50%{transform:rotate(45deg) rotateX(-385deg) rotateY(25deg)}100%{transform:rotate(45deg) rotateX(-385deg) rotateY(385deg)}}
@media(prefers-reduced-motion:reduce){body.site-page,.site-loader{transition:none}.site-loader .spinner{animation:none}}
