<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://sist24.eu/wp-sitemap-index.xsl" ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://sist24.eu/wp-sitemap-posts-page-1.xml</loc></sitemap></sitemapindex>
<style>
/* SiSt24 Scroll-Reveal */
.s24-reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease-out,transform .6s ease-out;}
.s24-reveal.s24-in{opacity:1;transform:translateY(0);}
.s24-reveal-stagger>*{opacity:0;transform:translateY(22px);transition:opacity .5s ease-out,transform .5s ease-out;}
.s24-reveal-stagger.s24-in>*{opacity:1;transform:translateY(0);}
.s24-reveal-stagger.s24-in>*:nth-child(1){transition-delay:.05s}
.s24-reveal-stagger.s24-in>*:nth-child(2){transition-delay:.12s}
.s24-reveal-stagger.s24-in>*:nth-child(3){transition-delay:.19s}
.s24-reveal-stagger.s24-in>*:nth-child(4){transition-delay:.26s}
.s24-reveal-stagger.s24-in>*:nth-child(5){transition-delay:.33s}
.s24-reveal-stagger.s24-in>*:nth-child(n+6){transition-delay:.4s}

/* SiSt24 Direktkontakt-Button */
#s24-float-contact{position:fixed;right:20px;bottom:20px;z-index:9999;display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:8px 18px 8px 8px;box-shadow:0 6px 24px rgba(0,0,0,.18);text-decoration:none;color:#111;font-family:inherit;transition:transform .25s ease,opacity .4s ease;opacity:0;transform:translateY(12px);}
#s24-float-contact.s24-show{opacity:1;transform:translateY(0);}
#s24-float-contact.s24-hide{opacity:0;transform:translateY(12px);pointer-events:none;}
#s24-float-contact img{width:42px;height:42px;border-radius:50%;object-fit:cover;display:block;}
#s24-float-contact strong{display:block;font-size:13px;line-height:1.2;}
#s24-float-contact small{display:block;font-size:11px;color:#666;line-height:1.2;}
#s24-float-contact:hover{transform:translateY(-2px);}
@media (max-width:600px){
  #s24-float-contact small{display:none;}
  #s24-float-contact{padding:6px;}
  #s24-float-contact strong{display:none;}
}

@media (prefers-reduced-motion: reduce){
  .s24-reveal,.s24-reveal-stagger>*{transition:none!important;opacity:1!important;transform:none!important;}
  #s24-float-contact{transition:none!important;}
}
</style>

<a href="#kontakt" id="s24-float-contact" aria-label="Direkter Kontakt zu Stefan Siedler">
  <img src="https://sist24.eu/img/stefan-siedler.jpg" alt="Stefan Siedler">
  <span>
    <strong>Direkt zu mir</strong>
    <small>Kein Callcenter</small>
  </span>
</a>

<script>
(function(){
  function ready(fn){ if(document.readyState!=='loading'){fn();} else { document.addEventListener('DOMContentLoaded', fn); } }
  ready(function(){
    var sections = document.querySelectorAll('main > section:not(.hero)');
    sections.forEach(function(s){ s.classList.add('s24-reveal'); });
    var talks = document.querySelector('#vortraege .talks');
    if (talks) talks.classList.add('s24-reveal-stagger');

    var revealTargets = document.querySelectorAll('.s24-reveal, .s24-reveal-stagger');
    var contactBtn = document.getElementById('s24-float-contact');
    var kontaktSection = document.getElementById('kontakt');

    if (!('IntersectionObserver' in window)) {
      revealTargets.forEach(function(el){ el.classList.add('s24-in'); });
      if (contactBtn) contactBtn.classList.add('s24-show');
      return;
    }

    var io = new IntersectionObserver(function(entries){
      entries.forEach(function(entry){
        if (entry.isIntersecting) {
          entry.target.classList.add('s24-in');
          io.unobserve(entry.target);
        }
      });
    }, { threshold: 0.12, rootMargin: '0px 0px -60px 0px' });
    revealTargets.forEach(function(el){ io.observe(el); });

    if (contactBtn) {
      setTimeout(function(){ contactBtn.classList.add('s24-show'); }, 600);
      if (kontaktSection) {
        var kontaktIo = new IntersectionObserver(function(entries){
          entries.forEach(function(entry){
            if (entry.isIntersecting) {
              contactBtn.classList.add('s24-hide');
            } else {
              contactBtn.classList.remove('s24-hide');
            }
          });
        }, { threshold: 0.2 });
        kontaktIo.observe(kontaktSection);
      }
    }
  });
})();
</script>