/*
 * Site-wide shared CSS — loaded on every route (`head.php`) before page bundles.
 * Reveal-on-scroll helpers + footer layout.
 */
@import url("layout/footer.css");

[data-reveal] {
  opacity: 0;
  transform: translateY(18px) scale(.985);
  transition: opacity .75s var(--lz-ease-page-reveal), transform .75s var(--lz-ease-page-reveal);
  transition-delay: var(--reveal-delay, 0ms);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Random-order character reveal: set data-char-reveal on a node; see home.js (single init). */
[data-char-reveal] {
  min-height: 1em;
}
[data-char-reveal] .char-reveal__char {
  display: inline-block;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  line-height: inherit;
  vertical-align: baseline;
  opacity: 0;
  transform: translate3d(0, 0.18em, 0);
}
[data-char-reveal] .char-reveal__word {
  display: inline-block;
  white-space: nowrap;
}
[data-char-reveal].is-chars-on .char-reveal__char {
  animation: charRevealIn 0.75s var(--lz-ease-page-reveal) both;
  animation-delay: var(--char-d, 0ms);
}
@keyframes charRevealIn {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-char-reveal] .char-reveal__char {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
