/* Critical: Hero-Video-Player (LCP/CLS), Banner-Versteck-Logik
   Ausgelagert aus dem <style>-Block der index.html. */
.site-notice-bar.is-closed{display:none!important}
.relative{position:relative}
.hero{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:#0b0f14}
.hero-video{position:absolute;inset:0;overflow:hidden;background:#0b0f14 center/cover no-repeat;z-index:0}
.hero-video__layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .7s ease-in-out;will-change:opacity}
.hero-video__layer.is-visible{opacity:1}
.hero-video__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.50))}
.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-height:100svh;max-width:1240px;margin:0 auto;padding:0 40px;color:#fff}
.hero-content h1{margin:0 0 .35em;font-weight:600;font-size:clamp(32px,6.2vw,74px);line-height:1.06;white-space:normal;overflow-wrap:break-word;text-shadow:0 2px 16px rgba(0,0,0,.35)}
.hero-content .hero-sub{margin:0;font-weight:300;font-size:clamp(14px,2.4vw,22px);letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.35)}
@media (max-width:480px){.hero-content{padding:0 22px}.hero-content h1{font-size:30px}.hero-content .hero-sub{font-size:15px}}
@keyframes heroUp{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:none}}
.hero-content h1{animation:heroUp 1.1s .25s both cubic-bezier(.2,.7,.2,1)}
.hero-content .hero-sub{animation:heroUp 1.1s .55s both cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.hero-content h1,.hero-content .hero-sub{animation:none}.hero-video__layer{transition:none}}
