/* Content is visible by default, including before scripts or scrolling. */
.site-nav, .prelaunch-mark, .panel, [data-reveal] {
  opacity: 1;
  transform: none;
}
body.is-ready .site-nav { animation: talos-in 600ms var(--ease) both; }
body.is-ready .prelaunch-mark { animation: talos-in 600ms var(--ease) 40ms both; }
body.is-ready .panel--01, body.is-ready .panel--object { animation: talos-in 600ms var(--ease) 60ms both; }
body.is-ready .panel--02, body.is-ready .panel--engine { animation: talos-in 600ms var(--ease) 100ms both; }
body.is-ready .panel--03 { animation: talos-in 600ms var(--ease) 140ms both; }
[data-reveal].is-in { animation: talos-in 600ms var(--ease-quart) both; }
@keyframes talos-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .panel, .prelaunch-mark, .site-nav, [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
  html:not(.is-still-capture) #talos-object { display: none; }
}

/* Shared moving surfaces use transform and opacity only, with expo-out easing. */
.rail-hover, .rail-active, .segment-hover, .segment-selected {
  transition: transform 460ms var(--ease), opacity 200ms var(--ease);
}
.panel-digit-track {
  transition: transform 560ms var(--ease);
  transition-delay: var(--digit-delay, 0ms);
}
.panel:hover > .panel-id .panel-digit-track,
.panel:focus-within > .panel-id .panel-digit-track { transform: translateY(-50%); }
.faq-chevron { transition: transform 360ms var(--ease); }
.trace-character { transition: opacity 110ms var(--ease); }
@media (prefers-reduced-motion: reduce) {
  .rail-hover, .rail-active, .segment-hover, .segment-selected,
  .panel-digit-track, .faq-chevron { transition: none !important; }
  .panel:hover > .panel-id .panel-digit-track,
  .panel:focus-within > .panel-id .panel-digit-track { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .panel-scan { display: none; }
  .trace-character { opacity: 1; transition: none; }
}
