/* A bounded welcome, not a network-loading gate. Hidden without JavaScript. */
.arrival[hidden] { display: none; }
.arrival { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center;
  background: #f5f0e6 url('/assets/site/paper-desktop.webp') center / cover;
  color: #490d13; transition: opacity 380ms ease; }
.arrival.is-leaving { opacity: 0; pointer-events: none; }
.arrival-inner { text-align: center; padding: 24px; }
.arrival svg { width: clamp(135px, 24vw, 190px); height: auto; overflow: visible; }
.arrival-beam { transform-origin: 60px 32px; animation: balance-settle 1300ms cubic-bezier(.25,.6,.3,1) both; }
.arrival-name { margin: 26px 0 10px; font-size: clamp(26px, 5vw, 38px); line-height: 1.3; }
.arrival-motto { margin: 0; font-size: 18px; color: #5d5146; }
.arrival-credit { margin: 0 auto 22px; max-width: 310px; font-size: 13px; line-height: 1.6; color: #5d5146; text-wrap: pretty; }
.arrival-credit span { color: #490d13; white-space: nowrap; }
.arrival-skip { position: absolute; bottom: max(28px, env(safe-area-inset-bottom)); left: 50%;
  transform: translateX(-50%); border: 0; background: transparent; color: #490d13;
  padding: 12px 18px; font: inherit; text-decoration: underline; cursor: pointer; }
.arrival-skip:focus-visible { outline: 2px solid #490d13; outline-offset: 4px; }
@keyframes balance-settle { 0% { transform: rotate(-11deg); } 38% { transform: rotate(7deg); }
  68% { transform: rotate(-3deg); } 100% { transform: rotate(0); } }
@media (prefers-reduced-motion: reduce) { .arrival { display: none; } .arrival-beam { animation: none; } }
