.c-page-loading { position: fixed; width: 100vw; inset: 0; z-index: 99990; display: grid; place-items: center; background: rgb(255 255 255 / 50%); pointer-events: none; }
.c-page-loading:not([hidden]) { animation: lab3310-page-loading-fade-in 0s ease-out both; }
@keyframes lab3310-page-loading-fade-in { from { opacity: 0; } to { opacity: 1; } }
.c-page-loading[hidden] { display: none; }
.c-page-loading__spinner { width: 40px; height: 40px; box-sizing: border-box; border: 1px solid #ddd; border-top-color: #222; border-radius: 50%; animation: lab3310-page-loading .8s linear infinite; }
@keyframes lab3310-page-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .c-page-loading:not([hidden]) { animation: none; } /* .c-page-loading__spinner { animation: none; } */ }

/* Match the existing desktop navigation breakpoint. */
@media (min-width: 64rem) { .c-page-loading { display: none; } }
