.load-nav,
.load-strip,
.load-copy,
.lane,
.desk-close {
  animation: desk-in 600ms var(--ease-out-expo) both;
}

.load-nav { animation-delay: 0ms; }
.load-strip { animation-delay: 80ms; }
.load-copy { animation-delay: 40ms; }

.lane:nth-of-type(1) { animation-delay: 0ms; }
.lane:nth-of-type(2) { animation-delay: 0ms; }
.lane:nth-of-type(3) { animation-delay: 0ms; }
.lane:nth-of-type(4) { animation-delay: 0ms; }
.lane:nth-of-type(5) { animation-delay: 0ms; }
.lane:nth-of-type(6) { animation-delay: 0ms; }
.desk-close { animation-delay: 0ms; }

.iris {
  animation: iris-settle 600ms var(--ease-out-quart) both;
}

.iris:nth-child(1) { animation-delay: 0ms; }
.iris:nth-child(2) { animation-delay: 0ms; }
.iris:nth-child(3) { animation-delay: 0ms; }
.iris:nth-child(4) { animation-delay: 0ms; }
.iris:nth-child(5) { animation-delay: 0ms; }
.iris:nth-child(6) { animation-delay: 0ms; }
.iris:nth-child(7) { animation-delay: 0ms; }

[data-reveal] {
  opacity: 1;
  transform: none;
}

[data-reveal].is-in {
  animation: desk-in 600ms var(--ease-out-expo) both;
  opacity: 1;
  transform: none;
}

.obs-panel {
  animation: desk-in 600ms var(--ease-out-expo) both;
}

@keyframes desk-in {
  from {
    opacity: 1;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes iris-settle {
  from { opacity: 1; }
  to { opacity: 1; }
}

.btn,
.nav-connect,
.state-toggles button,
.station-rail button,
.source-row {
  transition: opacity 180ms var(--ease-out-expo);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  [data-reveal] {
    opacity: 1;
    transform: none;
  }

  .iris:nth-child(1) { transform: translateY(-22px); }
  .iris:nth-child(2) { transform: translateY(-10px); }
  .iris:nth-child(3) { transform: translateY(2px); }
  .iris:nth-child(4) { transform: translateY(10px); }
  .iris:nth-child(5) { transform: translateY(2px); }
  .iris:nth-child(6) { transform: translateY(-10px); }
  .iris:nth-child(7) { transform: translateY(-22px); }
}

@media (max-width: 767px) {
  .load-nav, .load-strip, .load-copy, .lane, .desk-close, .obs-panel { animation: none; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* Distinctiveness interactions animate transform and opacity only. */
.cursor-dot, .cursor-ring, .faq-questions button::after {
  transition: transform 360ms var(--ease-out-expo), opacity 260ms var(--ease-out-expo);
}
.is-horizontal .sightline-mask span {
  transform: translateY(110%);
  transition: transform 700ms var(--ease-out-expo);
}
.is-horizontal .is-visible .sightline-mask span { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .sightline-mask span { transform: none !important; }
  .sightline-reveal { height: auto !important; }
  .sightline-sticky { position: static !important; }
  .sightline-track { display: grid !important; transform: none !important; }
}
