/* The Hubusoft reveal timing, enabled only after scroll observation is ready. */
.reveal-ready [data-reveal]{opacity:0;translate:0 25px}
.reveal-ready [data-reveal].is-visible{
  opacity:1;translate:none;
  animation:reveal-opacity .72s ease both,reveal-lift .72s cubic-bezier(.18,.72,.24,1) both;
  animation-delay:var(--reveal-delay,0ms);
}
.reveal-ready :is(.skill-row,.support-card):nth-child(2){--reveal-delay:75ms}
.reveal-ready :is(.skill-row,.support-card):nth-child(3){--reveal-delay:145ms}
.reveal-ready :is(.skill-row,.support-card):nth-child(n+4){--reveal-delay:215ms}
.reveal-ready [data-reveal].reveal-immediate{opacity:1;translate:none;animation:none}
@keyframes reveal-opacity{from{opacity:0}to{opacity:1}}
@keyframes reveal-lift{from{translate:0 25px}to{translate:none}}
@media(prefers-reduced-motion:reduce){
  .reveal-ready [data-reveal]{opacity:1!important;translate:none!important;animation:none!important}
}
@media print{
  .reveal-ready [data-reveal]{opacity:1!important;translate:none!important;animation:none!important}
}
