#visit-welcome[hidden] { display: none; }
#visit-welcome {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: #fafcf8;
  pointer-events: none;
  animation: visit-welcome-overlay 2.8s ease-in-out both;
}
#visit-welcome > span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 5.8vw, 5rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-align: center;
  color: var(--heading, #24362b);
  animation: visit-welcome-text 2.8s ease-in-out both;
}
@keyframes visit-welcome-text {
  0% { opacity: 0; }
  27%, 57% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes visit-welcome-overlay {
  0%, 57% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  #visit-welcome, #visit-welcome > span { animation: none; }
}
