文章の表示についてちょっと苦労してるんだが、よければアイディアもらえないか

1番目の段落[l][r]
2番目の段落[l][r]
3番目の段落[l][r]

みたいな感じでシナリオを用意した場合、
最初は1番目の段落が通常の色で表示されて、
2番目の段落に突入した場合、1番目の段落が灰色などの少し地味な色に変化して、
3番目の段落に突入したら、1番目同様2番目も地味な色に変化して……
という具合に、現在表示中の段落を強調表示したいんだが、シナリオ全体に適用するにあたって上手な方法はないだろうか

マクロにまとめられないような面倒な手順を使えばなんとかなるんだが、
モジュールとして自作で使い回せるレベルにスマートにまとめる方法がひらめかない
愚直な方法しか使ってこなかったから、こういう応用的なことがどうも苦手なんだが、どんな手を使えばいいと思う?