.sp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sp-chat{font-family:Inter,system-ui,sans-serif}

/* Runde Schwebe-Buttons (Chat + WhatsApp) */
.sp-fab{position:fixed;right:20px;z-index:950;width:58px;height:58px;border-radius:999px;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;box-shadow:0 12px 30px rgba(14,20,36,.30),0 2px 6px rgba(14,20,36,.18);transition:transform .2s ease,box-shadow .2s ease}
.sp-fab:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(14,20,36,.34),0 2px 6px rgba(14,20,36,.18)}
.sp-chat-launch{bottom:92px;background:#2756FF}
.sp-chat-launch .sp-ico-close{display:none}
.sp-chat.is-open .sp-chat-launch .sp-ico-open{display:none}
.sp-chat.is-open .sp-chat-launch .sp-ico-close{display:block}
.sp-chat.is-open .sp-tip{display:none}
.sp-tip{position:absolute;right:70px;top:50%;transform:translateY(-50%);white-space:nowrap;background:#0E1424;color:#fff;font:600 14px Inter,system-ui,sans-serif;padding:8px 12px;border-radius:10px;box-shadow:0 8px 20px rgba(14,20,36,.2);pointer-events:none;opacity:0;transition:opacity .2s ease}
.sp-fab:hover .sp-tip,.sp-fab:focus-visible .sp-tip{opacity:1}
.sp-fab:focus-visible,.sp-chat button:focus-visible,.sp-chat a:focus-visible,.sp-banner :focus-visible{outline:3px solid #8FA8FF;outline-offset:2px}

/* Chat-Fenster */
.sp-chat-panel{position:fixed;right:20px;bottom:164px;z-index:960;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 190px));background:#fff;border:1px solid #E3E6EC;border-radius:22px;box-shadow:0 24px 60px rgba(14,20,36,.25);display:flex;flex-direction:column;overflow:hidden}
.sp-chat-panel[hidden]{display:none}
.sp-chat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#0E1424;color:#fff;padding:16px 16px 16px 20px}
.sp-chat-head div{display:flex;flex-direction:column;gap:2px}
.sp-chat-head strong{font:800 17px 'Inter Tight',Inter,sans-serif;letter-spacing:-.01em}
.sp-chat-head span{font-size:13px;color:#C3CBDD}
.sp-chat-x{width:40px;height:40px;border-radius:999px;border:1px solid #2A3452;background:#161E33;color:#C3CBDD;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}
.sp-chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#F5F6F8}
.sp-msg{max-width:86%;padding:11px 14px;border-radius:16px;font-size:15px;line-height:1.5;white-space:pre-line}
.sp-bot{align-self:flex-start;background:#fff;color:#0E1424;border:1px solid #E3E6EC;border-bottom-left-radius:6px}
.sp-me{align-self:flex-end;background:#2756FF;color:#fff;border-bottom-right-radius:6px}
.sp-typing{color:#6B7488;letter-spacing:.2em}
.sp-chips,.sp-row{display:flex;flex-wrap:wrap;gap:8px}
.sp-chip{background:#fff;border:1.5px solid #CAD4FF;color:#1A3FCC;border-radius:999px;padding:9px 13px;font:600 14px Inter,system-ui,sans-serif;cursor:pointer;text-align:left}
.sp-chip:hover{background:#EEF2FF}
.sp-btn{display:inline-flex;align-items:center;min-height:40px;padding:9px 15px;border-radius:999px;font:600 14px Inter,system-ui,sans-serif;text-decoration:none;border:1.5px solid #D5DAE3;color:#0E1424;background:#fff}
.sp-btn-p{background:#2756FF;border-color:#2756FF;color:#fff}
.sp-btn-p:hover{background:#1A3FCC;color:#fff}
.sp-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid #E3E6EC;background:#fff}
.sp-chat-form input{flex:1;min-width:0;border:1.5px solid #D5DAE3;border-radius:999px;padding:11px 16px;font:15px Inter,system-ui,sans-serif;color:#0E1424}
.sp-chat-form input:focus{outline:none;border-color:#2756FF}
.sp-chat-form button{width:44px;height:44px;flex:none;border:0;border-radius:999px;background:#2756FF;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* Termin-Banner als eingehender Anruf */
.sp-banner{position:fixed;left:20px;bottom:20px;z-index:940;width:min(360px,calc(100vw - 40px));box-sizing:border-box;background:#0E1424;color:#fff;border:1px solid #26304A;border-radius:26px;box-shadow:0 24px 60px rgba(5,9,18,.40);padding:20px 20px 18px;display:flex;flex-direction:column;gap:18px;font-family:Inter,system-ui,sans-serif;transform:translateY(24px);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s ease}
.sp-banner.in{transform:none;opacity:1}
.sp-call-top{display:flex;align-items:center;gap:14px}
.sp-call-av{position:relative;width:52px;height:52px;flex:none}
.sp-call-av img{position:relative;width:52px;height:52px;border-radius:999px;object-fit:cover;object-position:center 20%;border:2px solid #2756FF;box-sizing:border-box}
.sp-call-ring{position:absolute;inset:0;border-radius:999px;background:#2756FF;animation:spRing 1.6s ease-out infinite}
.sp-call-who{display:flex;flex-direction:column;gap:2px;min-width:0}
.sp-banner-eyebrow{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8FA8FF}
.sp-call-who strong{font:700 17px/1.25 'Inter Tight',Inter,sans-serif;letter-spacing:-.01em}
.sp-call-sub{font-size:13px;color:#C3CBDD;line-height:1.4}
.sp-call-actions{display:flex;gap:10px}
.sp-call-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:999px;border:0;cursor:pointer;font:600 14px Inter,system-ui,sans-serif;text-decoration:none;color:#fff}
.sp-call-ic{display:flex}
.sp-decline{background:#E5484D}
.sp-decline:hover{background:#CE3A3F}
.sp-accept{background:#1F9D55;animation:spNudge 2.4s ease-in-out infinite}
.sp-accept:hover{background:#178547;color:#fff}
@keyframes spNudge{0%,70%,100%{transform:none}75%{transform:translateY(-2px) rotate(-2deg)}80%{transform:translateY(0) rotate(2deg)}85%{transform:rotate(-1deg)}90%{transform:none}}

/* Ablauf: Fortschrittslinie */
.sp-anim.go .sp-fill{transform:scaleX(0)}
.sp-anim.go.play .sp-fill{animation:spFill .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:calc(var(--i) * .7s + .2s)}
@keyframes spFill{to{transform:scaleX(1)}}

@media (max-width:640px){
  .sp-banner{left:12px;right:84px;width:auto;bottom:16px;padding:16px;gap:14px;border-radius:22px}
  .sp-call-btn{min-height:44px;font-size:13px}
  .sp-chat-launch{bottom:90px}
  .sp-chat-panel{right:12px;left:12px;width:auto;bottom:160px;height:min(520px,calc(100vh - 180px))}
  .sp-tip{display:none}
}
}
@media (prefers-reduced-motion:reduce){.sp-banner,.sp-fab{transition:none}.sp-call-ring,.sp-accept{animation:none}}

/* LinkedIn-Grafik: Kurve zeichnet sich, Karten ploppen auf */
.sp-li-graphic.go .sp-li-line{stroke-dasharray:1;stroke-dashoffset:1}
.sp-li-graphic.go .sp-li-pop{opacity:0;transform:translateY(12px) scale(.96)}
.sp-li-graphic.go.play .sp-li-line{animation:spDraw 1.6s cubic-bezier(.3,.7,.2,1) .2s forwards}
.sp-li-graphic.go.play .sp-li-pop1{animation:spPop .5s cubic-bezier(.2,.8,.2,1) 1.3s forwards}
.sp-li-graphic.go.play .sp-li-pop2{animation:spPop .5s cubic-bezier(.2,.8,.2,1) 1.8s forwards}
@keyframes spDraw{to{stroke-dashoffset:0}}
@keyframes spPop{to{opacity:1;transform:none}}

/* Hero: Live-Anruf */
.sp-anim.play .sp-ring{animation:spRing 1.8s ease-out infinite}
.sp-anim.play .sp-bar{transform-origin:center;animation:spWave 1.1s ease-in-out infinite}
.sp-bar:nth-child(2n){animation-delay:-.2s!important}.sp-bar:nth-child(3n){animation-delay:-.45s!important}.sp-bar:nth-child(4n){animation-delay:-.7s!important}.sp-bar:nth-child(5n){animation-delay:-.9s!important}
.sp-anim.go .sp-call-pop{opacity:0;transform:translateY(8px)}
.sp-anim.go.play .sp-call-pop{animation:spPop .5s cubic-bezier(.2,.8,.2,1) 2.2s forwards}
@keyframes spRing{0%{transform:scale(1);opacity:.35}100%{transform:scale(1.7);opacity:0}}
@keyframes spWave{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}

/* System: Kalender füllt sich */
.sp-anim.go .sp-ev{opacity:0;transform:scale(.85)}
.sp-anim.go.play .sp-ev{animation:spPop .45s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i) * .28s + .3s)}
.sp-anim.play .sp-dot{animation:spBlink 1.4s ease-in-out infinite}
@keyframes spBlink{0%,100%{opacity:1}50%{opacity:.25}}

/* CTA: klingelndes Telefon */
.sp-anim.play .sp-pr{animation:spRing2 2.2s ease-out infinite}
.sp-anim.play .sp-pr2{animation-delay:1.1s}
.sp-anim.play .sp-ph{animation:spShake 2.6s ease-in-out infinite}
@keyframes spRing2{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.6);opacity:0}}
@keyframes spShake{0%,60%,100%{transform:rotate(0)}64%{transform:rotate(-12deg)}68%{transform:rotate(12deg)}72%{transform:rotate(-10deg)}76%{transform:rotate(10deg)}80%{transform:rotate(-6deg)}84%{transform:rotate(0)}}

/* Logo-Laufband */
.sp-logos.sp-marquee{display:block!important;flex:1 1 520px;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.sp-logos-track{display:flex;align-items:center;gap:64px;width:max-content;animation:spMarquee 22s linear infinite}
.sp-logos-track>*{flex:none}
.sp-marquee:hover .sp-logos-track{animation-play-state:paused}
@keyframes spMarquee{to{transform:translateX(calc(-50% - 32px))}}

/* E-Mail vs. Anruf */
.sp-anim.go .sp-mail{opacity:0;transform:translateX(-10px)}
.sp-anim.go.play .sp-mail{animation:spMail .45s ease forwards;animation-delay:calc(var(--i) * .18s)}
@keyframes spMail{to{opacity:1;transform:none}}
.sp-anim.go .sp-chat-b{opacity:0;transform:translateY(8px)}
.sp-anim.go.play .sp-chat-b{animation:spPop .45s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i) * .9s + 1s)}

/* Vorher/Nachher */
.sp-ba:focus-within{outline:3px solid #8FA8FF;outline-offset:3px}
