/* ============================================================
   NAIA — ARRIVAL VEIL (refined, ~1.6s, auto-plays once per
   session on the homepage only). A cool, desaturated version of
   the hero photograph fades and lifts to reveal the true warm
   image beneath — arriving into the light of the rooftop rather
   than a themed "ride". No sound, no counting, immediately
   skippable by any click/tap/key, never replays mid-navigation.
   ============================================================ */
.arrival {
  position: fixed; inset: 0; z-index: 1000;
  overflow: hidden;
  background: var(--dusk);
  cursor: pointer;
}
.arrival[hidden] { display: none; }
.arrival__img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  filter: saturate(0.35) brightness(0.72) contrast(1.02) hue-rotate(-6deg);
  transform: scale(1.03);
  transition: opacity 1.15s ease, filter 1.15s ease, transform 1.4s ease;
}
.arrival.is-revealing .arrival__img {
  opacity: 0;
  filter: saturate(1) brightness(1) contrast(1) hue-rotate(0deg);
  transform: scale(1);
}
.arrival__mark {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  z-index: 2;
  opacity: 1;
  transition: opacity 0.5s ease;
}
.arrival__mark img { height: 58px; width: auto; }
.arrival.is-revealing .arrival__mark { opacity: 0; }
.arrival__skip {
  position: absolute; right: 20px; bottom: 20px; z-index: 3;
  font-family: var(--f-body); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.75);
  background: rgba(0,0,0,0.2);
  border: 1px solid rgba(255,255,255,0.25);
  padding: 8px 14px;
  transition: opacity 0.3s ease, color 0.2s;
}
.arrival__skip:hover { color: var(--white); }
.arrival.is-revealing .arrival__skip { opacity: 0; pointer-events: none; }

@media (max-width: 640px) {
  .arrival__mark img { height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .arrival__img { transition: opacity 0.25s linear !important; filter: none !important; transform: none !important; }
  .arrival__mark { transition: opacity 0.2s linear !important; }
}
