/* ===== Ueber uns Hero – Animationen =====
   Hinweis: Elementor nutzt ::before/::after an Containern selbst,
   deshalb arbeiten wir mit eingefuegten <span>-Elementen. */
.elementor-element-7100087d{position:relative;isolation:isolate}
.elementor-element-557d84c0{position:relative;z-index:2}

/* Wandernde Farbflaechen im Hintergrund */
.vrts-ab-blob{position:absolute;z-index:0;pointer-events:none;border-radius:50%;filter:blur(50px);will-change:transform}
.vrts-ab-blob.is-a{width:46rem;height:46rem;right:-12rem;top:-16rem;background:radial-gradient(circle,rgba(20,168,200,.42) 0%,rgba(20,168,200,0) 65%);animation:vrtsAbDriftA 16s ease-in-out infinite alternate}
.vrts-ab-blob.is-b{width:40rem;height:40rem;right:24%;bottom:-22rem;background:radial-gradient(circle,rgba(23,100,170,.28) 0%,rgba(23,100,170,0) 65%);animation:vrtsAbDriftB 20s ease-in-out infinite alternate}
.vrts-ab-blob.is-c{width:28rem;height:28rem;left:-10rem;top:10%;background:radial-gradient(circle,rgba(124,196,228,.30) 0%,rgba(124,196,228,0) 65%);animation:vrtsAbDriftC 24s ease-in-out infinite alternate}
@keyframes vrtsAbDriftA{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-9rem,7rem,0) scale(1.15)}}
@keyframes vrtsAbDriftB{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(11rem,-6rem,0) scale(.9)}}
@keyframes vrtsAbDriftC{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(6rem,4rem,0)}}

/* Partikel-Canvas */
.vrts-ab-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0;transition:opacity 1.8s ease}
.vrts-ab-canvas.is-ready{opacity:1}

/* Text-Einblendung */
html.vrts-ab-anim .elementor-element-7100087d [data-id="4242ee02"],
html.vrts-ab-anim .elementor-element-7100087d [data-id="7d60dec3"],
html.vrts-ab-anim .elementor-element-3193c3e{opacity:0;transform:translateY(18px);animation:vrtsAbFadeUp .9s cubic-bezier(.2,.7,.2,1) forwards}
html.vrts-ab-anim .elementor-element-7100087d [data-id="4242ee02"]{animation-delay:.05s}
html.vrts-ab-anim .elementor-element-7100087d [data-id="7d60dec3"]{animation-delay:.75s}
html.vrts-ab-anim .elementor-element-3193c3e{animation-delay:.95s}
/* Ueberschrift: bleibt unsichtbar, bis JS die Woerter vorbereitet hat (Fallback nach 1,5 s) */
html.vrts-ab-anim .elementor-element-7100087d [data-id="9078cb6"]{opacity:0;animation:vrtsAbShow .01s 1.5s forwards}
html.vrts-ab-anim .elementor-element-7100087d [data-id="9078cb6"].is-split{opacity:1;animation:none}
.vrts-ab-word{display:inline-block;opacity:0;transform:translateY(.45em);filter:blur(8px);animation:vrtsAbWord .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.15s + var(--i) * .09s)}
@keyframes vrtsAbFadeUp{to{opacity:1;transform:none}}
@keyframes vrtsAbShow{to{opacity:1}}
@keyframes vrtsAbWord{to{opacity:1;transform:none;filter:blur(0)}}

/* Karten-Einblendung: ersetzt die Elementor-Interaktion "Scale In" am Hero Visual
   (die auf Mobil bei scale(0) haengen bleibt) */
.elementor-element-2ac0fd83{perspective:1200px;transform:none!important;transition:none!important}
html.vrts-ab-anim .elementor-element-2ac0fd83{opacity:0;animation:vrtsAbCardIn 1.1s .35s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes vrtsAbCardIn{0%{opacity:0;translate:0 40px;scale:.94}100%{opacity:1;translate:0 0;scale:1}}

/* Karte: 3D-Neigung + Schweben */
.elementor-element-718b486d.vrts-ab-tilt{position:relative;overflow:hidden;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotateZ(var(--rz,-2deg))!important;transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .45s!important;animation:vrtsAbFloat 7s ease-in-out infinite}
.elementor-element-718b486d.vrts-ab-tilt.is-hover{--rz:0deg;transition:transform .12s linear,box-shadow .45s!important}
@keyframes vrtsAbFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
/* Lichtreflex, der der Maus folgt */
.vrts-ab-glare{position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 45%);opacity:0;transition:opacity .4s;z-index:3}
.vrts-ab-tilt.is-hover .vrts-ab-glare{opacity:.55}
/* Einmaliger Glanz beim Laden */
.vrts-ab-sheen{position:absolute;top:-50%;left:-60%;width:35%;height:200%;pointer-events:none;transform:rotate(20deg);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(214,236,248,.9),rgba(255,255,255,0));animation:vrtsAbSheen 1.5s 1.3s ease-in-out forwards;z-index:3}
@keyframes vrtsAbSheen{to{left:140%}}

/* Zeitstrahl: Linien zeichnen sich */
.vrts-ab-line{position:relative;border-top-color:transparent!important}
.vrts-ab-linebar{position:absolute;left:0;right:0;top:-3px;height:3px;border-radius:3px;background:var(--line,#176FA7);transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.65,0,.35,1)}
.vrts-ab-line.is-drawn .vrts-ab-linebar{transform:scaleX(1)}
.vrts-ab-line > :not(.vrts-ab-linebar){opacity:0;transform:translateY(8px);transition:opacity .6s ease .25s,transform .6s ease .25s}
.vrts-ab-line.is-drawn > :not(.vrts-ab-linebar){opacity:1;transform:none}

/* Live-Punkt bei "Heute" */
.vrts-ab-live{display:inline-block;position:relative;width:.5rem;height:.5rem;margin-left:.5rem;vertical-align:.35em;border-radius:50%;background:#14A8C8}
.vrts-ab-live > i{position:absolute;inset:0;border-radius:50%;background:#14A8C8;animation:vrtsAbPulse 1.8s ease-out infinite}
@keyframes vrtsAbPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.2);opacity:0}}

@media(prefers-reduced-motion:reduce){
  .vrts-ab-blob,.vrts-ab-live > i,.elementor-element-718b486d.vrts-ab-tilt{animation:none!important}
  .vrts-ab-canvas,.vrts-ab-sheen{display:none}
}
