/* eschweiler-kollegen.de. Layout steht als Inline-Stil im HTML; hier Grundlagen, Bewegung, Zustände. */
body{margin:0}
a{color:#0f2340}a:hover{color:#0b1c33}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #3d87e8;outline-offset:2px}
@keyframes ek-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes ek-img{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
.ek-load>*{animation:ek-rise .7s cubic-bezier(.2,.7,.2,1) both}
.ek-load>*:nth-child(2){animation-delay:.08s}.ek-load>*:nth-child(3){animation-delay:.16s}.ek-load>*:nth-child(4){animation-delay:.24s}
.ek-load-img{animation:ek-img 1.1s cubic-bezier(.2,.7,.2,1) .1s both}
.ek-load>*:nth-child(5){animation-delay:.32s}
.ek-under{animation:ek-under .9s cubic-bezier(.4,0,.2,1) .8s both}
@keyframes ek-under{from{background-size:0 1.5px}to{background-size:100% 1.5px}}
.ek-glint{animation:ek-glint 8s cubic-bezier(.4,0,.6,1) .4s infinite}
.ek-arc{animation:ek-clip 1.05s cubic-bezier(.4,0,.2,1) 1.4s both}
@keyframes ek-clip{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes ek-glint{0%{stroke-dashoffset:.16}26%{stroke-dashoffset:-1}100%{stroke-dashoffset:-1}}
.ek-node-dot{animation:ek-pop .45s cubic-bezier(.3,1.6,.5,1) both}
.ek-glass{animation:ek-rise-s .6s ease both;transition:border-color .25s ease,box-shadow .25s ease}
.ek-glass:hover{border-color:#7fa8d8 !important;box-shadow:0 20px 44px -18px rgba(11,28,51,.6) !important}
.ek-node-1 .ek-node-dot{animation-delay:1.4s}.ek-node-1 .ek-glass{animation-delay:1.5s}
.ek-node-2 .ek-node-dot{animation-delay:1.9s}.ek-node-2 .ek-glass{animation-delay:2s}
.ek-node-3 .ek-node-dot{animation-delay:2.4s}.ek-node-3 .ek-glass{animation-delay:2.5s}
@keyframes ek-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
.ek-btn{transition:background-color .2s ease,border-color .2s ease}.ek-btn:hover{background:#16294a !important;border-color:#16294a !important;color:#ffffff !important}
.ek-btn-2:hover{background:#f5f7fb !important;border-color:#0f2340 !important;color:#0f2340 !important}
.ek-arrow{transition:transform .25s ease}.ek-btn:hover .ek-arrow{transform:translateX(4px)}
@container (max-width: 900px){.ek-hero-in{min-height:0 !important;padding-bottom:32px !important}.ek-hero-txt{width:100% !important}.ek-hero-img{position:relative !important;width:100% !important;height:clamp(400px,112cqw,560px)}.ek-fade-l,.ek-arc-d{display:none !important}.ek-fade-t,.ek-arc-m{display:block !important}.ek-node-1{left:9% !important;top:26% !important}.ek-node-2{left:9% !important;top:51% !important}.ek-node-3{left:9% !important;top:76% !important}}
@container (max-width: 900px){.ek-hero-in{padding-bottom:28px !important;background:linear-gradient(180deg,#ffffff 0%,#f4f8fe 34%,#d3e3f8 68%,#9fc4f0 90%,#76aae8 100%)}.ek-hero-img{height:clamp(470px,130cqw,620px) !important}.ek-fade-t{background:linear-gradient(180deg,#76aae8 0%,rgba(118,170,232,0) 26%) !important}.ek-node-1{top:22% !important}.ek-node-2{top:43% !important}.ek-node-3{top:64% !important}.ek-ort{color:#0f2340 !important}.ek-pin{display:block !important}.ek-scroll{display:flex !important}}
@container (max-width: 560px){.ek-hero-txt .ek-btn{position:relative;flex:1 1 100%;justify-content:center;padding-top:16px !important;padding-bottom:16px !important;font-size:16px !important}.ek-hero-txt .ek-btn .ek-arrow{position:absolute;right:22px;top:50%;margin-top:-8px}.ek-hero-txt .ek-btn-2{background:rgba(255,255,255,.86) !important}}
.ek-scroll svg{animation:ek-nudge 2.4s ease-in-out 3.4s infinite}
@keyframes ek-nudge{0%,100%{transform:none}50%{transform:translateY(3px)}}
.ek-load-late{animation:ek-rise .7s cubic-bezier(.2,.7,.2,1) .4s both}
.ek-in{animation:ek-rise .7s cubic-bezier(.2,.7,.2,1) .1s both}
.ek-in[data-delay="1"]{animation-delay:.18s}.ek-in[data-delay="2"]{animation-delay:.26s}.ek-in[data-delay="3"]{animation-delay:.34s}.ek-in[data-delay="4"]{animation-delay:.42s}
.ek-nav a{position:relative}.ek-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.ek-nav a:hover::after{transform:scaleX(1)}
.ek-zoom{overflow:hidden;border-radius:6px}.ek-zoom img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.ek-zoom:hover img{transform:scale(1.035)}
.ek-list-row h3{transition:transform .3s ease}.ek-list-row:hover h3{transform:translateX(8px)}
.ek-card{transition:transform .25s ease,border-color .25s ease}.ek-card:hover{transform:translateY(-3px);border-color:#7fa8d8}
.ek-plus{transition:transform .25s ease}
@keyframes ek-draw-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ek-draw-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes ek-dot{from{background-color:#ffffff;transform:scale(.7)}to{transform:scale(1)}}
@keyframes ek-rise-s{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ek-ws-card{transition:border-color .25s ease}.ek-ws-card:hover{border-color:#7fa8d8 !important}
.ek-ws-go{transition:background-color .25s ease,color .25s ease}.ek-ws-card:hover .ek-ws-go{background:#1f63c4 !important;color:#ffffff !important}
@container (max-width: 1100px){.ek-ws{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:60px 28px !important}.ek-ws-line,.ek-ws-dots{display:none !important}}
@container (max-width: 620px){.ek-ws{grid-template-columns:minmax(0,1fr) !important;gap:20px !important;margin-top:28px !important}.ek-ws>li{padding-left:62px}.ek-ws-n{top:0 !important;left:0 !important;margin-left:0 !important;width:44px !important;height:44px !important}.ek-ws-line{display:block !important;top:44px !important;left:21px !important;right:auto !important;width:2px !important;height:calc(100% - 44px) !important}.ek-ws>li:last-child .ek-ws-line{display:none !important}.ek-ws-dots{display:block !important;top:100% !important;left:21px !important;width:0 !important;height:20px;border-top:0 !important;border-left:2px dotted currentColor}.ek-ws-card{display:grid !important;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:start;padding:22px 18px 22px 22px !important}.ek-ws-card>*{grid-column:1}.ek-ws-card>svg{width:40px;height:40px}.ek-ws-card>strong{margin-top:12px !important;font-size:21px !important}.ek-ws-card>strong+span{margin:6px 0 0 !important}.ek-ws-card>.ek-ws-go{grid-column:2;grid-row:1 / span 3;align-self:center;margin-top:0 !important;width:44px !important;height:44px !important}}
.ek-tl-step{transition:opacity .45s ease}
.ek-tl-dot{transition:background-color .3s ease,transform .3s ease}
.ek-tl.is-live .ek-tl-step:not(.is-on){opacity:.38}
.ek-tl.is-live .ek-tl-step:not(.is-on) .ek-tl-dot{background:#ffffff !important;transform:scale(.8)}
@media (prefers-reduced-motion: reduce){.ek-tl-step,.ek-tl-dot{transition:none}.ek-load>*,.ek-load-img,.ek-load-late,.ek-in{animation:none}.ek-under,.ek-arc,.ek-node-dot,.ek-glass{animation:none}.ek-glint{display:none}.ek-scroll svg{animation:none}.ek-btn,.ek-arrow,.ek-glass,.ek-ws-card,.ek-ws-go{transition:none}.ek-zoom img,.ek-list-row h3,.ek-card,.ek-nav a::after,.ek-plus{transition:none}}
.ek-fl{transition:color .2s ease}.ek-fl:hover{color:#ffffff !important}
.ek-legal a{color:#0f2340;text-decoration:underline;text-decoration-color:#1f63c4;text-underline-offset:3px}
summary{list-style:none}summary::-webkit-details-marker{display:none}
summary:focus-visible{outline:2px solid #3d87e8;outline-offset:2px}
details[open] .ek-plus{transform:rotate(45deg)}
@container (max-width: 820px){.ek-nav{display:none !important}.ek-menu{display:inline-flex !important}}

[hidden]{display:none !important}
/* Terminseite: Kalender von Cal.com */
.ek-cal.is-ready{display:block !important;background:#ffffff !important}
.ek-cal.is-ready .ek-cal-wait{display:none}
.ek-cal iframe{display:block;width:100%}
/* Schriften: lokal eingebunden, keine Verbindung zu Google */
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fonts/figtree-latin-wght-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/playfair-display-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/playfair-display-latin-400-italic.woff2) format('woff2')}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
section[id]{scroll-margin-top:16px}
img{max-width:100%}
button,input,textarea{font-family:inherit}
.ek-skip{position:absolute;left:-9999px;top:0}
.ek-skip:focus{left:16px;top:16px;z-index:20;padding:10px 14px;border-radius:4px;background:#ffffff;color:#0f2340}
#ek-mobilnav{display:flex;flex-direction:column;padding:4px clamp(18px,5cqw,40px) 14px;border-top:1px solid #e2e9f2;background:#ffffff}
#ek-mobilnav[hidden]{display:none}
#ek-mobilnav a{padding:13px 0;border-bottom:1px solid #e2e9f2;font-size:17px;line-height:24px;font-weight:500;color:#0f2340;text-decoration:none}
#ek-mobilnav a:last-child{border-bottom:0}
@container (min-width: 821px){#ek-mobilnav{display:none !important}}
.ek-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#kf-status{margin:0;font-size:15px;line-height:23px;color:#0f2340}
#kf-status:empty{display:none}
#kf-status.is-ok{padding:14px 16px;border:1px solid #e2e9f2;border-left:2px solid #1f63c4;border-radius:6px;background:#f5f7fb}
#kf-status.is-err{padding:14px 16px;border:1px solid #e2e9f2;border-left:2px solid #0f2340;border-radius:6px;background:#f9f8f7}
#kf-senden[disabled]{opacity:.6;cursor:default}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
/* Kopf und Hero füllen zusammen genau einen Bildschirm. Höhe des Kopfs: 44px Innenabstand, 1px Linie, Logo. */
.ek-hero-in{min-height:calc(100vh - 45px - clamp(30px,2.6cqw,36px)) !important;min-height:calc(100svh - 45px - clamp(30px,2.6cqw,36px)) !important;padding-top:clamp(28px,7vh,104px) !important;padding-bottom:clamp(28px,7vh,104px) !important}
@container (max-width: 900px){.ek-hero{display:flex;flex-direction:column;min-height:calc(100vh - 45px - clamp(30px,2.6cqw,36px));min-height:calc(100svh - 45px - clamp(30px,2.6cqw,36px))}.ek-hero-in{min-height:0 !important;padding-top:28px !important;padding-bottom:24px !important}.ek-hero-img{flex:1 1 auto;height:auto !important;min-height:clamp(470px,130cqw,620px)}}
@container (max-width: 820px){.ek-hero{min-height:calc(100vh - 89px);min-height:calc(100svh - 89px)}}
