/* The veil never intercepts input. CSS also releases it if JavaScript fails. */
html.isdo-arrival::before {
  content: ""; position: fixed; inset: 0; z-index: 9998; pointer-events: none;
  background: radial-gradient(ellipse at 50% 44%, var(--isdo-arrival-glow, #111923) 0%, var(--isdo-arrival-background, #030407) 65%);
  animation: isdo-failsafe var(--isdo-arrival-limit, 4.5s) forwards;
}
html.isdo-arrival.isdo-arrival-leaving::before { animation: isdo-dissolve var(--isdo-arrival-fade, 650ms) ease-out forwards; }
.isdo-arrival-stage {
  position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center;
  pointer-events: none; animation: isdo-failsafe var(--isdo-arrival-limit, 4.5s) forwards;
}
.isdo-arrival-stage isdo-logo { width: min(72vw, 560px); --isdo-logo-background: transparent; }
.isdo-arrival-leaving .isdo-arrival-stage { animation: isdo-dissolve var(--isdo-arrival-fade, 650ms) ease-out forwards; }
html.isdo-fusion body { animation: isdo-page-fusion var(--isdo-arrival-fusion, 900ms) ease-out both; }
.site-footer isdo-logo.footer-logo { width: 160px; --isdo-logo-background: transparent; }
.site-footer isdo-logo.footer-logo img { width: 100%; height: auto; }
@keyframes isdo-dissolve { to { opacity: 0; visibility: hidden; } }
@keyframes isdo-failsafe { 0%, 85% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
@keyframes isdo-page-fusion { from { opacity: .35; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  html.isdo-arrival::before, .isdo-arrival-stage { display: none; }
  html.isdo-fusion body { animation: none; }
}
