/* Eye Catcher – Arztpraxis Kavelstorf */
.ec-sec{padding:0 0 80px}
.ec-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.ec{margin:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.ec-stage{position:relative;height:220px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:20px;padding:20px;overflow:hidden}
.ec-stage>svg{width:100%;height:100%;overflow:visible;display:block}
.ec figcaption{padding:18px 22px 22px;display:flex;flex-direction:column;gap:6px}
.ec figcaption b{font-family:var(--head);font-size:18px;color:var(--ink);line-height:1.3}
.ec figcaption span{font-size:15px;color:var(--muted);line-height:1.6}
.ec svg *{transform-box:fill-box;transform-origin:center}
.ec svg .vb{transform-box:view-box}
.ec-t{font-family:var(--head);font-weight:700;color:var(--ink);line-height:1.2}
.ec-s{font-size:13px;color:var(--muted2);line-height:1.4}
.ec-draw{stroke-dasharray:100;stroke-dashoffset:100;animation:ec-draw 4.5s ease-in-out infinite}
.ec-ekg{display:block;width:100%;max-width:340px;height:64px;margin-top:6px}
.ec-ekg .base{stroke:var(--line3)}
.ec-ekg .trace{stroke-dasharray:18 82;animation:ec-trace 2.6s linear infinite}
.ec-rotline{font-family:var(--head);font-weight:600;font-size:clamp(18px,1.8vw,22px);color:var(--muted);margin:-6px 0 0;display:flex;flex-wrap:wrap;gap:0 .35em;align-items:baseline}
.ec-rot{display:inline-block;height:1.3em;line-height:1.3em;overflow:hidden;vertical-align:bottom;color:var(--blue);font-weight:700}
.ec-rot>span{display:block;animation:ec-rot 10s ease-in-out infinite}
.ec-rot>span>span{display:block;height:1.3em}
.ec-ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;margin-top:72px;background:#fff}
.ec-ticker-in{display:flex;width:max-content;animation:ec-wave 38s linear infinite}
.ec-ticker:hover .ec-ticker-in{animation-play-state:paused}
.ec-ticker-in>div{display:flex;gap:36px;padding:16px 36px 16px 0;font-family:var(--head);font-weight:600;font-size:16px;color:var(--ink);white-space:nowrap}
.ec-ticker-in i{font-style:normal;color:var(--teal)}
.btn-termin{position:relative;overflow:hidden}
.btn-termin::after{content:"";position:absolute;top:0;bottom:0;left:0;width:28%;background:rgba(255,255,255,.28);transform:translateX(-150%) skewX(-20deg);animation:ec-shine 4.5s ease-in-out infinite;pointer-events:none}
.ec-ringbox{position:relative;width:140px;height:140px;flex:none}
.ec-ringbox svg{width:100%;height:100%}
.ec svg .ec-ring{stroke-dasharray:100;stroke-dashoffset:100;animation:ec-ring 5s ease-in-out infinite;transform-box:view-box;transform-origin:0 0}
.ec-ringlabel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.ec-glass{position:relative;width:80px;height:130px;border:3px solid var(--ink);border-top:none;border-radius:0 0 14px 14px;overflow:hidden;flex:none}
.ec-glass .fill{position:absolute;left:0;right:0;bottom:0;background:var(--sky);--h:78%;animation:ec-fillTo 5s ease-in-out infinite}
.ec-glass .wv{position:absolute;top:-8px;left:0;width:200%;height:10px;animation:ec-wave 1.6s linear infinite}
.ec-glass .wv svg{width:100%;height:100%;display:block}
.ec-check{display:flex;flex-direction:column;gap:12px;align-self:center}
.ec-check div{display:flex;gap:12px;align-items:center;font-family:var(--head);font-weight:600;font-size:15px;color:var(--ink)}
.ec-check svg{width:24px;height:24px;flex:none;overflow:visible}
.ec-slots{display:grid;grid-template-columns:repeat(4,minmax(0,58px));gap:7px}
.ec-slots span{font-family:var(--head);font-weight:600;font-size:12px;text-align:center;padding:8px 0;border-radius:6px;border:1px solid var(--line);color:#9DB2C2}
.ec-slots .free{border-color:var(--teal);animation:ec-hl 4s ease-in-out infinite}
.ec-flip{width:130px;height:140px;perspective:700px;flex:none}
.ec-flip>div{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:ec-flip 6s ease-in-out infinite}
.ec-flip .f{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:2px solid var(--ink);border-radius:12px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.ec-flip .f.b{transform:rotateY(180deg)}
.ec-flip .f>b{background:var(--blue);color:#fff;font-family:var(--head);font-size:12px;letter-spacing:.08em;text-align:center;padding:6px 0}
.ec-flip .f.b>b{background:var(--teal)}
.ec-flip .f>span{flex:1;display:flex;align-items:center;justify-content:center;font-family:var(--head);font-weight:700;font-size:38px;color:var(--ink)}
.ec-gen{display:flex;align-items:flex-end;gap:16px}
.ec-gen>div{display:flex;flex-direction:column;align-items:center;gap:4px;animation:ec-pop 4.5s ease-out infinite}
.ec-gen i,.ec-gen u{display:block;text-decoration:none}
.ec-gen i{border-radius:50%}
.ec-coast{width:100%;height:70px;overflow:hidden}
.ec-coast>div{width:200%;height:100%;animation:ec-wave 7s linear infinite}
.ec-coast svg{width:100%;height:100%;display:block;overflow:visible}
.ec-pin{position:absolute;top:64px;animation:ec-drop 3.2s ease-in infinite}
.ec-pin>div{width:50px;height:50px;background:var(--blue);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center}
.ec-pin>div>i{width:16px;height:16px;border-radius:50%;background:#fff}
.ec-pin-rip{position:absolute;top:136px;width:60px;height:16px;border:2px solid var(--blue);border-radius:50%;animation:ec-ripple 3.2s ease-out infinite}
@keyframes ec-draw{0%{stroke-dashoffset:100;opacity:1}50%,85%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes ec-trace{0%{stroke-dashoffset:0}100%{stroke-dashoffset:-100}}
@keyframes ec-spin{to{transform:rotate(360deg)}}
@keyframes ec-sweep{0%,100%{transform:rotate(-32deg)}50%{transform:rotate(32deg)}}
@keyframes ec-fadeUp{0%{opacity:0;transform:translateY(14px)}15%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-8px)}}
@keyframes ec-fadeIn{0%{opacity:0}15%,85%{opacity:1}100%{opacity:0}}
@keyframes ec-blink{0%,100%{opacity:1}50%{opacity:.12}}
@keyframes ec-shine{0%,60%{transform:translateX(-150%) skewX(-20deg)}100%{transform:translateX(420%) skewX(-20deg)}}
@keyframes ec-drop{0%{transform:translateY(-70px);opacity:0}25%{transform:translateY(0);opacity:1}32%{transform:translateY(-12px)}40%,85%{transform:translateY(0);opacity:1}100%{transform:translateY(0);opacity:0}}
@keyframes ec-ripple{0%,24%{transform:scale(.2);opacity:0}26%{opacity:1}60%,100%{transform:scale(1.7);opacity:0}}
@keyframes ec-pop{0%{transform:scale(0);opacity:0}20%{transform:scale(1.15);opacity:1}30%,85%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}
@keyframes ec-rot{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(-1.3em)}50%,70%{transform:translateY(-2.6em)}75%,95%{transform:translateY(-3.9em)}100%{transform:translateY(-5.2em)}}
@keyframes ec-wave{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes ec-flip{0%,40%{transform:rotateY(0)}50%,90%{transform:rotateY(180deg)}100%{transform:rotateY(360deg)}}
@keyframes ec-ring{0%{stroke-dashoffset:100}50%,85%{stroke-dashoffset:var(--to)}100%{stroke-dashoffset:100}}
@keyframes ec-fillTo{0%{height:0}55%,85%{height:var(--h)}100%{height:0}}
@keyframes ec-dash{to{stroke-dashoffset:-20}}
@keyframes ec-hl{0%,30%{background-color:#fff;color:#1E5A85}40%,85%{background-color:#237A8A;color:#fff}95%,100%{background-color:#fff;color:#1E5A85}}
@media (max-width:600px){.ec-stage{height:200px}.ec-sec{padding-bottom:56px}}
