.art-loader { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; overflow:hidden; background:#fffcf5; color:#920b0f; transition:opacity 1100ms cubic-bezier(.22,1,.36,1); }
.art-loader__field { position:absolute; inset:0; perspective:850px; overflow:hidden; }
.art-loader__image { position:absolute; left:50%; top:50%; width:clamp(60px,8vw,118px); height:clamp(78px,10vw,148px); object-fit:cover; opacity:0; animation:art-flight var(--duration) linear infinite; animation-delay:var(--delay); will-change:transform,opacity; }
.art-loader__label { position:relative; z-index:1; margin:0; font:300 clamp(32px,4vw,58px)/1.15 "Season Serif",Georgia,serif; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.art-loader__label::before { content:""; position:absolute; inset:-65px -85px; z-index:-1; background:radial-gradient(ellipse,#fffcf5 22%,#fffcf5ed 42%,#fffcf500 72%); pointer-events:none; }
html.art-loading { overflow:hidden; }
html.art-loading main, html.art-loading .site-footer, html.art-loading .footer-lace { opacity:0; }
html.art-revealing main { animation:art-reveal 1400ms cubic-bezier(.22,1,.36,1) both; }
.art-loader.is-leaving { opacity:0; pointer-events:none; }
@keyframes art-flight {
  0% { opacity:0; transform:translate(-50%,-50%) translate3d(var(--x),var(--y),-1700px); }
  18% { opacity:.25; }
  65% { opacity:.85; }
  88% { opacity:.95; }
  100% { opacity:0; transform:translate(-50%,-50%) translate3d(var(--x),var(--y),780px); }
}
@keyframes art-reveal { from { opacity:0; transform:translateY(14px) scale(1.012); } to { opacity:1; transform:none; } }
@media (max-width:600px) { .art-loader__image { width:65px; height:86px; } .art-loader__label::before { inset:-45px -40px; } }
@media (prefers-reduced-motion:reduce) {
  .art-loader__image { animation:none; opacity:.2; transform:translate(-50%,-50%) translate(var(--x),var(--y)); will-change:auto; }
  .art-loader { transition-duration:250ms; }
  html.art-revealing main { animation:art-reveal 250ms ease both; }
  @keyframes art-reveal { from { opacity:0; } to { opacity:1; } }
}

.art-loader[hidden] { display:none; }
