#video-intro{position:fixed;inset:0;margin:0;border:0;padding:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;background:#000;color:#fff;overflow:hidden;opacity:1;transition:opacity .8s ease}#video-intro::backdrop{background:#000;transition:background .8s ease}#video-intro.leaving{opacity:0;pointer-events:none}#video-intro.leaving::backdrop{background:transparent}.intro-viewport{position:absolute;inset:0;overflow:hidden}#intro-video{position:absolute;left:50%;top:50%;width:100%;height:100%;max-width:none;object-fit:contain;transform:translate(-50%,-50%)}#intro-skip{position:absolute;z-index:3;right:max(24px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));padding:13px 18px;min-height:48px;border:1px solid #ffffff70;border-radius:30px;background:#08080899;color:#fff;font-size:14px;cursor:pointer;backdrop-filter:blur(10px)}#intro-skip span{font-size:21px;margin-left:12px;vertical-align:-1px}#intro-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-45%);width:clamp(190px,27vw,360px);max-width:66vw;max-height:60dvh;object-fit:contain;opacity:0;transition:opacity .35s ease,transform .6s ease;box-shadow:0 18px 80px #0006}#intro-logo.visible{opacity:1;transform:translate(-50%,-50%)}#intro-play{position:absolute;left:50%;top:65%;transform:translateX(-50%);padding:14px 22px;border:1px solid #fff8;border-radius:30px;background:#111c;color:white;cursor:pointer}.intro-replay{border:0;background:none;color:inherit;font-size:14px;padding:12px 0;cursor:pointer}body.intro-open{overflow:hidden}.intro .lead{max-width:360px!important}.intro-arrived .lead{animation:headline-arrive .9s ease both}@keyframes headline-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){header nav{gap:14px}.intro-replay{font-size:14px}.contact{max-width:130px}.contact span{display:none}#intro-skip{right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top))}.intro .lead{max-width:280px!important}}@media(max-width:380px){header{padding-left:4%;padding-right:4%}header nav{gap:10px}.brand{font-size:16px}.contact{max-width:110px;padding:10px;font-size:12px}}@media(prefers-reduced-motion:reduce){#video-intro,#intro-logo{transition-duration:.1s}.intro-arrived .lead{animation:none}}
@media(max-width:700px){header nav>a[href="#arbeiten"]{display:none}}

/* A short entrance sequence; scroll transforms remain independent. */
.hero-line{display:block}
@media(prefers-reduced-motion:no-preference){
.intro-arrived .camera-wrap{animation:camera-entrance .65s ease-out both}
.intro-arrived .intro .eyebrow{animation:hero-entrance .55s .12s both}
.intro-arrived .hero-line:first-child{animation:hero-entrance .65s .24s both}
.intro-arrived .hero-line:last-child{animation:hero-entrance .65s .4s both}
.intro-arrived .intro .lead{animation:hero-entrance .65s .56s both}
.intro-arrived header nav{animation:menu-entrance .55s .72s both}
.intro-arrived .social-item{animation:hero-entrance .45s .82s both}
.intro-arrived .social-item:nth-child(2){animation-delay:.9s}
.intro-arrived .social-item:nth-child(3){animation-delay:.98s}
.intro-arrived .social-item:nth-child(4){animation-delay:1.06s}
.intro-arrived .social-item:nth-child(5){animation-delay:1.14s}
@keyframes camera-entrance{from{opacity:0}to{opacity:1}}
@keyframes hero-entrance{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes menu-entrance{from{opacity:0;translate:0 -10px}to{opacity:1;translate:0 0}}
}

#intro-sound{position:absolute;z-index:3;left:max(16px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));min-height:44px;padding:12px 18px;border:1px solid #ffffff70;border-radius:30px;background:#08080899;color:#fff;font-size:14px;cursor:pointer}
