/* Entrance grammar for the whole site: rise 16px and fade, 320ms, 80ms between neighbours.
   Mark an element with class="reveal" or data-reveal; set --i for its place in a sequence. */
:root{--mg-ease:cubic-bezier(.2,0,0,1);--mg-dur:320ms;--mg-step:80ms;--mg-rise:16px;--mg-fade:500ms}
@media (prefers-reduced-motion:no-preference){
  html.mg .reveal:not(.is-in),html.mg [data-reveal]:not(.is-in){opacity:0;transform:translateY(var(--mg-rise))}
  .reveal.is-in,[data-reveal].is-in{transition:opacity var(--mg-dur) var(--mg-ease) calc(var(--i,0)*var(--mg-step)),transform var(--mg-dur) var(--mg-ease) calc(var(--i,0)*var(--mg-step))}
}
