/* Self-hosted fonts (SIL OFL 1.1, see OFL-*.txt). Latin subset incl. German umlauts. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/v2/Inter-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/v2/Inter-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/v2/Inter-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/v2/Inter-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/v2/Inter-800.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/v2/Sora-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/v2/Sora-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/v2/Sora-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/v2/Sora-800.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/v2/JetBrainsMono-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/v2/JetBrainsMono-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/v2/JetBrainsMono-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body{margin:0;background:#0B0F17}html{scroll-behavior:smooth}*{box-sizing:border-box}a{color:#00D9FF}a:hover{color:#6BE8FF}input[type=range]{accent-color:#00D9FF}::selection{background:#00D9FF;color:#04141a}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #00D9FF;outline-offset:3px}@keyframes toast{0%{transform:translateX(120%);opacity:0}8%{transform:translateX(0);opacity:1}86%{transform:translateX(0);opacity:1}100%{transform:translateX(120%);opacity:0}}@keyframes drop{0%,100%{transform:translateY(0) rotateY(0)}50%{transform:translateY(-16px) rotateY(180deg)}}@keyframes scan{0%,100%{top:8%}50%{top:88%}}@keyframes pgA{from{opacity:0}to{opacity:1}}@keyframes pgB{from{opacity:0}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}@keyframes rvIn{from{opacity:0;transform:translateY(36px)}}@keyframes knL{to{transform:translateX(-7vw);opacity:.15}}@keyframes knR{to{transform:translateX(7vw);opacity:.15}}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}.pbar{display:none}.sp{position:relative}.sp::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(280px circle at var(--sx,50%) var(--sy,-30%),rgba(0,217,255,.14),transparent 65%);opacity:0;transition:opacity .3s}.sp:hover::after{opacity:1}@supports (animation-timeline:view()){.rv{animation:rvIn linear both;animation-timeline:view();animation-range:entry 0% cover 26%}.pbar{display:block;position:fixed;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,#00D9FF,#8054FF);transform-origin:0 50%;z-index:89;animation:grow linear both;animation-timeline:scroll(root)}}@keyframes tw{from{opacity:.15}to{opacity:.95}}@keyframes fly{0%{transform:translate(0,0)}50%{transform:translate(30px,-50px)}100%{transform:translate(-20px,-90px)}}@keyframes mq{to{transform:translateX(-50%)}}@keyframes orb{to{transform:translate(50px,40px) scale(1.12)}}@keyframes shim{to{background-position:-200% 0}}@keyframes spin{from{transform:rotateX(-24deg) rotateY(0)}to{transform:rotateX(-24deg) rotateY(360deg)}}@keyframes portal{to{background-position:128px 128px}}@keyframes drift{to{transform:translateX(90px)}}@keyframes flo{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes gshift{to{background-position:200% 0}}.flo,.flo2,.flo3{animation:none}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@keyframes pls{0%,100%{opacity:1}50%{opacity:.4}}.pls{animation:pls 2.4s ease-in-out infinite}

/* the prototype resets buttons with an inline "all:unset", which also removed their focus ring: restore it (2 px cyan, as specified) */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #00D9FF!important;outline-offset:3px!important}

/* before ventro2.js runs the server markup contains both header variants; CSS picks the one for the viewport */
@media (max-width:959.98px){.ssr-wide{display:none!important}#ventro-root footer{padding-bottom:96px!important}}
@media (min-width:960px){.ssr-narrow{display:none!important}}
/* the "Fortschritt erzielt" toast sits at top:150px on desktop; on phones it would cover breadcrumb and headline, so it moves above the bottom bar (like the other toast) */
@media (max-width:959.98px){div[style*="animation:toast 7s"]{top:auto!important;bottom:92px!important}}
