/* Entrance effects never change layout or overwrite existing transforms. */
.motion-ready { opacity: 0; }
.motion-ready.is-revealed {
  opacity: 1;
  animation: site-reveal var(--reveal-duration, .7s) ease-out var(--reveal-delay, 0s) both;
}
@keyframes site-reveal {
  from { opacity: 0; translate: 0 var(--reveal-distance, 20px); }
  to { opacity: 1; translate: none; }
}
:is(.header-cta, .introduction__button, .lesson__button, .price__button, .flow__button, .faq__button) {
  transition: background-color .25s ease;
}
:is(.global-navigation .header-cta, .introduction__button, .lesson__button, .price__button, .flow__button, .faq__button):hover {
  background-color: var(--color-hover);
  color: var(--color-white);
}
@media (prefers-reduced-motion: reduce) {
  .motion-ready, .motion-ready.is-revealed { opacity: 1; animation: none; }
}
@media print {
  .motion-ready, .motion-ready.is-revealed { opacity: 1; animation: none; }
}
