/* Einheitliches Reveal-System: ein Easing, eine Dauer, sanfte Staffelung */
:root{--rv-ease:cubic-bezier(.16,1,.3,1);--rv-dur:.85s}
.ah-js .ah-rv{opacity:0;transform:translate3d(0,22px,0);transition:opacity var(--rv-dur) var(--rv-ease),transform var(--rv-dur) var(--rv-ease),filter var(--rv-dur) var(--rv-ease);transition-delay:var(--d,0s)}
.ah-js .ah-rv.is-in{opacity:1;transform:none}
@media (min-width:769px){
 .ah-js .ah-rv{filter:blur(6px)}
 .ah-js .ah-rv.is-in{filter:none}
}
/* Glanz-Akzent beim Erscheinen von Überschriften */
.ah-js main > section:not(.ah-hero) h2.ah-rv{text-shadow:0 0 0 transparent;transition-property:opacity,transform,filter,text-shadow}
.ah-js main > section:not(.ah-hero) h2.ah-rv.is-in{animation:rv-glow 1.6s var(--rv-ease) .2s 1 both}
@keyframes rv-glow{0%{text-shadow:0 0 0 rgba(94,231,255,0)}40%{text-shadow:0 0 22px rgba(94,231,255,.35),0 0 40px rgba(226,182,83,.22)}100%{text-shadow:0 0 0 rgba(94,231,255,0)}}
.ah-js .ah-hero .ah-rv{opacity:1;transform:none;filter:none}
@media (prefers-reduced-motion:reduce){.ah-js .ah-rv{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;animation:none!important}}
@media print{.ah-js .ah-rv{opacity:1!important;transform:none!important;filter:none!important}}
/* Verschachtelte Karten-Staffel: kürzerer Weg, kein Blur (performant) */
.ah-js .ah-rv-x{transform:translate3d(0,14px,0);filter:none!important}
.ah-js .ah-rv-x.is-in{transform:none}
