/* Uka Netzbau – Video-Intro mit Glasfaser-Übergang (siehe intro.js) */
.uvi-on,.uvi-on body{overflow:hidden}
.uvi-on body>*:not(#uka-vintro){visibility:hidden}
.uvi-fly body,.uvi-push body{overflow:hidden}
.uvi-fly .hdr .brand img{opacity:0}
#uka-vintro{position:fixed;inset:0;z-index:2147483000;background:#0b1a33;overflow:hidden;transition:opacity .7s ease}
#uka-vintro video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:transparent;transform-origin:0 0}
#uka-vintro video.fly{transition:transform .95s cubic-bezier(.65,0,.25,1)}
#uka-vintro video.gone{opacity:0;transition:transform .95s cubic-bezier(.65,0,.25,1),opacity .25s ease}
#uka-vintro.uvi-out{opacity:0;pointer-events:none}
#uka-vintro.uvi-end{background:transparent;pointer-events:none}
#uka-vintro.uvi-end .uvi-b{opacity:0;transition:opacity .2s}
#uka-vintro .uvi-b{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));font:600 13px/1 Barlow,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(10,20,40,.45);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:11px 16px;cursor:pointer;z-index:4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#uka-vintro .uvi-skip{right:max(16px,env(safe-area-inset-right))}
#uka-vintro .uvi-snd{left:max(16px,env(safe-area-inset-left))}
#uka-vintro .uvi-b:focus-visible{outline:3px solid #56c3ff;outline-offset:3px}
/* helle Fläche wie das Schlussbild; das Loch in der Mitte öffnet sich und gibt die Seite frei */
#uka-vintro .uvi-cover{position:absolute;inset:0;overflow:hidden}
#uka-vintro .uvi-hole{position:absolute;left:50%;top:50%;width:0;height:0;border-radius:50%;transform:translate(-50%,-50%);
  box-shadow:0 0 0 300vmax #f6f6f7,inset 0 0 0 0 rgba(120,200,255,0)}
#uka-vintro .uvi-cover::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.9) 0,rgba(255,255,255,0) 60%,rgba(0,0,0,.05) 100%);pointer-events:none;z-index:1}
#uka-vintro.uvi-open .uvi-cover{animation:uviFadeOut .8s ease forwards}
@keyframes uviHole{0%{width:0;height:0;box-shadow:0 0 0 300vmax #f6f6f7,0 0 0 0 rgba(90,180,255,.0)}
  15%{box-shadow:0 0 0 300vmax #f6f6f7,0 0 40px 18px rgba(90,180,255,.9)}
  100%{width:260vmax;height:260vmax;box-shadow:0 0 0 300vmax #f6f6f7,0 0 60px 30px rgba(90,180,255,.5)}}
@keyframes uviFadeOut{to{opacity:0}}
/* Glasfaser-Bündel (Canvas) */
#uka-vintro canvas.uvi-fx{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;transform-origin:50% 50%;z-index:2}
#uka-vintro video{z-index:3}
#uka-vintro.uvi-open canvas.uvi-fx{animation:uviFx .75s cubic-bezier(.5,0,.3,1) forwards}
@keyframes uviFx{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}
/* die Seite drückt sich aus der Mitte heraus */
.uvi-push body>*:not(#uka-vintro):not(.hdr):not(header){animation:uviPush 1.15s cubic-bezier(.2,.8,.2,1) both;transform-origin:50% 50vh}
@keyframes uviPush{from{transform:translateY(28px) scale(.97);opacity:.2}to{transform:none;opacity:1}}
.uvi-reveal body>*{animation:uviIn .8s ease both}
@keyframes uviIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){#uka-vintro{display:none}.uvi-on body>*{visibility:visible}}
