/* Section entrances (reveal.js): a short rise and fade, staggered within each group. A keyframe animation rather than a
   transition, so it never replaces an element's own transitions (the expanding panels, the FAQ rows). */
@keyframes rv-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.rv{opacity:0}
.rv.rv-in{animation:rv-up .9s cubic-bezier(.22,1,.36,1) var(--rv-d,0s) both}

/* closing card frame lines: each outline draws round from its corner, then its green square pops in */
.close-lines .sq{transform-box:fill-box;transform-origin:center}
.lines-wait .close-lines .ln{stroke-dasharray:1 1;stroke-dashoffset:1}
.lines-wait .close-lines .sq{transform:scale(0)}
.lines-in .close-lines .ln{stroke-dashoffset:0;transition:stroke-dashoffset 1.8s cubic-bezier(.65,0,.35,1)}
.lines-in .close-lines.front .ln{transition-delay:.35s}
.lines-in .close-lines .sq{transform:none;transition:transform .7s cubic-bezier(.34,1.56,.64,1) 1.3s}
.lines-in .close-lines.front .sq{transition-delay:1.6s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1}.rv.rv-in{animation:none}}

/* Oct 22: inner page heroes ease in on load (product, use cases, demo and thanks), then the demo frame settles in after the text */
@keyframes rv-fade{from{opacity:0}to{opacity:1}}
@keyframes rv-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
.pd-hero>*,.ucp-crumb,.ucp-hero-copy>*,.dm-intro>*{animation:rv-up .9s cubic-bezier(.22,1,.36,1) both}
.pd-hero>:nth-child(2),.ucp-hero-copy>:nth-child(1),.dm-intro>:nth-child(2){animation-delay:.08s}
.pd-hero>:nth-child(3),.ucp-hero-copy>:nth-child(2),.dm-intro>:nth-child(3){animation-delay:.16s}
.pd-hero>:nth-child(4),.ucp-hero-copy>:nth-child(3),.dm-intro>:nth-child(4){animation-delay:.24s}
.ucp-hero-copy>:nth-child(n+4){animation-delay:.32s}
.pd-tabs{animation:rv-fade 1s ease .35s both}
.dm-env .dm-card{animation:rv-up 1s cubic-bezier(.22,1,.36,1) .2s both}
.dm-env .dm-glow,.dm-env .dm-dots{animation:rv-fade 1.6s ease .1s both}
.dm-frame{animation:rv-fade 1.2s ease .45s both}
.dm-frame i{animation:rv-pop .6s cubic-bezier(.34,1.56,.64,1) both}
.dm-frame i:nth-child(1){animation-delay:.8s}.dm-frame i:nth-child(2){animation-delay:.9s}.dm-frame i:nth-child(3){animation-delay:1s}.dm-frame i:nth-child(4){animation-delay:1.1s}
@media (prefers-reduced-motion:reduce){.pd-hero>*,.ucp-crumb,.ucp-hero-copy>*,.dm-intro>*,.pd-tabs,.dm-env .dm-card,.dm-env .dm-glow,.dm-env .dm-dots,.dm-frame,.dm-frame i{animation:none}}
