/* Local experiment: scroll-triggered entrances without changing scroll speed. */
.reveal-pending{opacity:0;transform:translate3d(var(--reveal-x,0),32px,0);transition:opacity 850ms cubic-bezier(.22,1,.36,1),transform 850ms cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-pending.reveal-visible{opacity:1;transform:translate3d(0,0,0)}
/* Keep event-row hover feedback alongside its scroll entrance. */
.event-list>a.reveal-pending{transition:padding .25s,background .25s,opacity 850ms cubic-bezier(.22,1,.36,1),transform 850ms cubic-bezier(.22,1,.36,1);transition-delay:0ms,0ms,var(--reveal-delay,0ms),var(--reveal-delay,0ms)}
.reveal-photo{--reveal-x:-22px}
.reveal-copy{--reveal-x:22px}
@media(max-width:600px){.reveal-pending{transform:translate3d(0,24px,0)}.reveal-pending.reveal-visible{transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none;transition:none}}
@media print{.reveal-pending{opacity:1!important;transform:none!important}}
