/* vericon OG – Stylesheet */
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/libre-franklin-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/libre-franklin-latin-400-normal.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:'Libre Franklin';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/libre-franklin-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/libre-franklin-latin-500-normal.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:'Libre Franklin';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/libre-franklin-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/libre-franklin-latin-600-normal.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:'Libre Franklin';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/libre-franklin-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/libre-franklin-latin-700-normal.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:'Libre Franklin';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/libre-franklin-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/libre-franklin-latin-800-normal.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}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Libre Franklin','Franklin Gothic','ITC Franklin Gothic','Franklin Gothic Medium',system-ui,sans-serif;color:#0A0C0F;background:#F4F6F8;-webkit-font-smoothing:antialiased}
a{color:#1B6A9E}a:hover{color:#0A0C0F}
*{box-sizing:border-box}
::selection{background:#429CD6;color:#000}
.display,.mono,svg text,input,textarea,button{font-family:'Libre Franklin','Franklin Gothic','ITC Franklin Gothic','Franklin Gothic Medium',system-ui,sans-serif}
.mono{font-weight:600}
.navlink{color:#0A0C0F;text-decoration:none;font-weight:500;font-size:15px;padding:12px 4px;position:relative}
.navlink::after{content:'';position:absolute;left:4px;right:4px;bottom:6px;height:2px;background:#429CD6;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.navlink:hover::after{transform:scaleX(1)}
.navlinks{display:flex;gap:28px;align-items:center}
@media (max-width:900px){.navlinks{display:none}}
.btn{transition:transform .2s ease, box-shadow .2s ease, background .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(66,156,214,.8)}
.card{transition:transform .35s cubic-bezier(.2,.7,.2,1), border-color .35s ease, box-shadow .35s ease}
.card:hover{transform:translateY(-6px);border-color:#429CD6 !important;box-shadow:0 24px 48px -28px rgba(10,12,15,.35)}
.card:hover .card-icon{background:#429CD6;color:#000}
.card-icon{transition:background .3s ease,color .3s ease}
.plogo{transition:filter .4s ease, opacity .4s ease;filter:grayscale(1);opacity:.75}
.pcard:hover .plogo{filter:none;opacity:1}
@keyframes rise{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes fadein{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes dash{to{stroke-dashoffset:-40}}
.in-1{animation:fadein .9s cubic-bezier(.2,.7,.2,1) .05s both}
.in-2{animation:fadein .9s cubic-bezier(.2,.7,.2,1) .2s both}
.in-3{animation:fadein .9s cubic-bezier(.2,.7,.2,1) .35s both}
.in-4{animation:fadein .9s cubic-bezier(.2,.7,.2,1) .5s both}
.pulse{transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
.pulse-b{animation-delay:.8s}.pulse-c{animation-delay:1.6s}
.orbit{transform-box:view-box;transform-origin:260px 260px;animation:spin 60s linear infinite}
.flow{stroke-dasharray:4 6;animation:dash 1.6s linear infinite}
.marquee{display:flex;width:max-content;animation:marquee 38s linear infinite}
.progress{position:fixed;top:0;left:0;right:0;height:3px;background:#429CD6;transform-origin:left;transform:scaleX(0);z-index:60}
@supports (animation-timeline: view()){
  .reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
  .reveal-slow{animation:rise linear both;animation-timeline:view();animation-range:entry 10% cover 40%}
  .line-grow{transform-origin:left;animation:grow linear both;animation-timeline:view();animation-range:entry 20% cover 50%}
  .progress{animation:grow linear both;animation-timeline:scroll(root)}
}
.pkt{stroke-dasharray:5 95;stroke-dashoffset:100;animation:pkt linear infinite}
.pkt-glow{stroke-dasharray:5 95;stroke-dashoffset:100;animation:pkt linear infinite;filter:blur(3px)}
@keyframes pkt{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}}
input,textarea{font:inherit}
input:focus,textarea:focus{outline:2px solid #429CD6;outline-offset:1px;border-color:#429CD6 !important}

/* Unterseiten */
dt{font-weight:600}
dd{margin:0;color:#3A4450}
@media (max-width:700px){.kv{grid-template-columns:1fr !important;row-gap:4px !important}.kv dd{margin-bottom:14px}}
/* Kontaktformular */
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
altcha-widget{--altcha-border-color:#CBD4DD;--altcha-border-radius:12px;--altcha-color-primary:#429CD6;--altcha-max-width:100%;display:block}
#kontakt-danke:not([hidden]){display:flex}
:focus-visible{outline:2px solid #429CD6;outline-offset:2px}
section[id]{scroll-margin-top:84px}
