/* Devouring Details Part B: progressive blur entrance for text.
   The title/terms remain stationary; the feathered mask resolves their ink.
   A per-element wall-clock arbiter always releases the reveal. */
.dd-sweep{position:relative;overflow-x:clip;padding-block:.14em;margin-block:-.14em}
.dd-content{display:block;padding-block:.14em;margin-block:-.14em}
.dd-sweep.dd-sweeping>.dd-content{
 -webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent 62%);
 mask-image:linear-gradient(to bottom,#000 40%,transparent 62%);
 -webkit-mask-size:100% 300%;mask-size:100% 300%;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 animation:dd-progressive-blur var(--dd-duration,760ms) cubic-bezier(.4,0,.2,1) var(--dd-delay,0ms) both;
}
@keyframes dd-progressive-blur{
 0%{opacity:0;filter:blur(var(--dd-blur,16px));mask-position:0 100%;-webkit-mask-position:0 100%}
 55%{opacity:1;filter:blur(5px)}
 100%{opacity:1;filter:blur(0);mask-position:0 0;-webkit-mask-position:0 0}
}
.dd-sweep.dd-reveal-settled>.dd-content{animation:none!important;mask-image:none!important;-webkit-mask-image:none!important;clip-path:none!important;filter:none!important;transform:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.dd-sweep>.dd-content{animation:none!important;mask-image:none!important;-webkit-mask-image:none!important;clip-path:none!important;filter:none!important;opacity:1!important}}
