/* Progressive on-scroll entrances: enabled by reveal.js after the logo intro. */
:root {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3 {
    text-wrap: balance;
}

p,
li {
    text-wrap: pretty;
}

/* Unified Scroll Reveal Animation Engine */
body.reveal-enabled .scroll-reveal {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    transition-property: opacity, transform;
    transition-duration: 400ms;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: calc(var(--reveal-index, 0) * 45ms);
    will-change: opacity, transform;
}

body.reveal-enabled .scroll-reveal[data-reveal-direction="left"] {
    transform: translate3d(-24px, 0, 0);
}

body.reveal-enabled .scroll-reveal[data-reveal-direction="right"] {
    transform: translate3d(24px, 0, 0);
}

body.reveal-enabled .scroll-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
