/* ============================================================
   Landing-Page Basis-Animationen & Helfer
   Zentral statt inline je Seiten-Template.
   (Toggle der .visible-Klasse erfolgt per IntersectionObserver im Seiten-JS.)
   ============================================================ */
.fade-in { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
.reveal { opacity: 0; transform: translateY(30px); transition: opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.delay-100 { transition-delay: .1s; }
.delay-200 { transition-delay: .2s; }
.delay-300 { transition-delay: .3s; }
.delay-400 { transition-delay: .4s; }
.ticker-track { display: flex; gap: 64px; animation: ticker 30s linear infinite; width: max-content; }
.ticker-track:hover { animation-play-state: paused; }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.shadow-glow { box-shadow: 0 4px 20px rgba(237,128,0,0.35); }
.timeline-line { width: 2px; background: linear-gradient(to bottom, #ed8000, rgba(237,128,0,.1)); }
.sticky-audit { position: sticky; top: 104px; }
details summary::-webkit-details-marker { display: none; }
