


.page-transition {
  animation: slideIn 0.5s ease;
}

@keyframes slideIn {
  from { transform: translateX(-100%); }
  to   { transform: translateX(0); }
}


.has-motion .reveal.is-shown {
  animation: bandIn 0.6s ease both;
}

@keyframes bandIn {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}


.faq-item.is-open .faq-item__a {
  display: block;
}

.faq-item.is-open .faq-item__pm::after {
  content: "\2212";
}


.order-panel.is-open {
  transform: translateX(0);
}

.order-panel__veil.is-visible {
  opacity: 1;
  visibility: visible;
}


.order-form__error.is-shown {
  display: block;
}

.order-form__input.is-invalid {
  border-color: var(--c-no);
}

.order-form__submit.is-busy {
  opacity: 0.65;
  pointer-events: none;
}


.dock__link.is-current {
  color: var(--c-on-ink);
}


body.is-locked {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .page-transition { animation: none; }
  .has-motion .reveal.is-shown { animation: none; }
  .order-panel { transition: none; }
  .action-btn,
  .trait-card,
  .blend-rail__item { transition: none; }
}
