/* Only JS-enhanced boxes are hidden; absent JS leaves content fully readable. */
.box-reveal{transition:opacity 560ms ease,translate 560ms cubic-bezier(.2,.7,.25,1);transition-delay:var(--box-delay,0ms)}
.box-reveal-pending{opacity:0;translate:0 22px}
.box-reveal-pending:focus-within{opacity:1;translate:0 0;transition:none}
.box-reveal.is-box-visible{opacity:1;translate:0 0}
body.motion-off .box-reveal{opacity:1;translate:0 0;transition:none}
@media(prefers-reduced-motion:reduce){.box-reveal{opacity:1;translate:0 0;transition:none}}
.metric-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.metric-count{font-variant-numeric:tabular-nums}
.ref-metrics b .metric-count{display:inline;color:inherit;font:inherit;letter-spacing:inherit;margin:0;font-variant-numeric:tabular-nums}
/* Per-element entry, repeated only after a complete viewport exit. */
.scroll-rise{transition-property:opacity,translate;transition-duration:800ms;transition-timing-function:cubic-bezier(.2,.4,.3,1)}
body.motion-off .scroll-rise{opacity:1!important;translate:0 0!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.scroll-rise{opacity:1!important;translate:0 0!important;transition:none!important}}
