/* The white screen opens into two curtains, revealing the existing page beneath. */
html.is-loading { overflow: hidden; scrollbar-gutter: stable; }
html.is-loading .page-loader { display: block; position: fixed; inset: 0; z-index: 1000; background: #fff; overflow: hidden; touch-action: none; }
.page-loader__panel { position: absolute; top: 0; bottom: 0; width: calc(50% + 1px); background: #fff; transition: transform .425s cubic-bezier(.76, 0, .24, 1); will-change: transform; }
.page-loader__panel--left { left: 0; }
.page-loader__panel--right { right: 0; }
.page-loader__content { position: absolute; top: 50%; left: 50%; display: flex; flex-direction: column; align-items: center; gap: 25px; width: 224px; transform: translate(-50%, -50%); opacity: 1; transition: opacity .18s ease; animation: loader-mark-in .24s ease backwards; }
.page-loader__tesseract { display: block; width: 200px; height: 200px; }
.page-loader__bar { width: 200px; height: 3px; overflow: hidden; background: #dedede; }
.page-loader__bar > span { display: block; width: 100%; height: 100%; background: #111; transform: scaleX(0); transform-origin: center center; will-change: transform; }
.page-loader.is-completing .page-loader__content { opacity: 0; }
html.is-loading .page-loader.is-revealing { background: transparent; }
.page-loader.is-revealing .page-loader__panel--left { transform: translate3d(-100%, 0, 0); }
.page-loader.is-revealing .page-loader__panel--right { transform: translate3d(100%, 0, 0); }
@keyframes loader-mark-in { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 760px) {
  .page-loader__content { width: 200px; gap: 22px; }
  .page-loader__tesseract { width: 172px; height: 172px; }
  .page-loader__bar { width: 180px; height: 1px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-loader__panel, .page-loader__content { transition: none; animation: none; }
}
