.reveal { opacity: 1; transform: none; transition: opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal--delay-1 { transition-delay: 80ms; }
.reveal--delay-2 { transition-delay: 160ms; }
.reveal--delay-3 { transition-delay: 240ms; }
.fx-accent { position: relative; display: inline; background: linear-gradient(transparent 72%, color-mix(in oklab, var(--accent) 18%, transparent) 72%); }
.fx-rule { background-image: linear-gradient(90deg, transparent, color-mix(in oklab, var(--accent) 40%, transparent), transparent); background-size: 100% 1px; background-repeat: no-repeat; background-position: center bottom; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; } }
