/* ===== Startseite – Referenz-Bereich ("Stimme aus der Praxis") =====
   Elementor nutzt ::before/::after an Containern selbst – daher eingefuegte <span>s. */

/* Zitat: Woerter werden beim Scrollen nacheinander kraeftig */
.vrts-rf-w{opacity:var(--o,1);transition:opacity .25s linear}

/* Grosses Anfuehrungszeichen */
.vrts-rf-ready [data-id="5d242afc"]{display:inline-block;opacity:0;transform:scale(.6) rotate(-10deg);transform-origin:20% 60%;transition:opacity .6s ease,transform .9s cubic-bezier(.34,1.56,.64,1)}
.vrts-rf-in [data-id="5d242afc"]{opacity:1;transform:none}

/* Trennlinie zeichnet sich, danach Name + Button */
.vrts-rf-ready .elementor-element-5e848d9d{position:relative;border-top-color:transparent!important}
.vrts-rf-line{position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,#18A6C6,#9FD3E6 35%,#DDE9F0);transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.65,0,.35,1)}
.vrts-rf-foot-in .vrts-rf-line{transform:scaleX(1)}
.vrts-rf-ready .elementor-element-5e848d9d > .elementor-element,
.vrts-rf-ready .elementor-element-5e848d9d > [data-id="6132f0e7"]{opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.vrts-rf-foot-in .elementor-element-5e848d9d > .elementor-element{opacity:1;transform:none;transition-delay:.5s}
.vrts-rf-foot-in .elementor-element-5e848d9d > [data-id="6132f0e7"]{opacity:1;transform:none;transition-delay:.7s}

/* Button-Pfeil wippt beim Hover */
.vrts-rf-arrow{display:inline-block;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
[data-id="6132f0e7"]:hover .vrts-rf-arrow,[data-id="6132f0e7"]:focus-visible .vrts-rf-arrow{transform:translate(3px,-3px)}

/* Blaues Logo-Panel: wandernde Lichtflaechen */
.elementor-element-52d1eb58{position:relative;isolation:isolate}
.elementor-element-52d1eb58 > .elementor-element,.elementor-element-52d1eb58 > p,.elementor-element-52d1eb58 > .vrts-rf-nav{position:relative;z-index:1}
.vrts-rf-glow{position:absolute;z-index:0;pointer-events:none;border-radius:50%;filter:blur(40px);will-change:transform}
.vrts-rf-glow.is-a{width:22rem;height:22rem;left:-8rem;top:-6rem;background:radial-gradient(circle,rgba(24,166,198,.55),rgba(24,166,198,0) 65%);animation:vrtsRfDriftA 14s ease-in-out infinite alternate}
.vrts-rf-glow.is-b{width:18rem;height:18rem;right:-7rem;bottom:-5rem;background:radial-gradient(circle,rgba(190,232,243,.35),rgba(190,232,243,0) 65%);animation:vrtsRfDriftB 18s ease-in-out infinite alternate}
@keyframes vrtsRfDriftA{to{transform:translate3d(6rem,8rem,0) scale(1.15)}}
@keyframes vrtsRfDriftB{to{transform:translate3d(-5rem,-7rem,0) scale(.9)}}
.vrts-rf-dots{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(255,255,255,.9) 1px,transparent 1.2px);background-size:22px 22px;animation:vrtsRfDots 40s linear infinite;-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 70%)}
@keyframes vrtsRfDots{to{background-position:220px 110px}}

/* Logo-Karte: Schweben, 3D-Neigung, einmaliger Glanz */
.elementor-element-52d1eb58{perspective:900px}
.vrts-rf-ready .elementor-element-2f1d2a4d{position:relative;overflow:hidden;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease;animation:vrtsRfFloat 7s ease-in-out infinite}
.vrts-rf-ready .elementor-element-2f1d2a4d.is-hover{transition:transform .12s linear,box-shadow .4s ease;box-shadow:0 26px 50px rgba(10,32,55,.26)}
@keyframes vrtsRfFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}
.vrts-rf-shine{position:absolute;top:-40%;left:-70%;width:40%;height:180%;pointer-events:none;transform:rotate(18deg);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(200,235,246,.8),rgba(255,255,255,0))}
.vrts-rf-panel-in .vrts-rf-shine{animation:vrtsRfShine 1.6s .5s ease-in-out forwards}
.vrts-rf-shine.is-again{animation:vrtsRfShineAgain 1.2s ease-in-out forwards!important}
@keyframes vrtsRfShine{to{left:140%}}
@keyframes vrtsRfShineAgain{from{left:-70%}to{left:140%}}

/* ---------- Referenz-Karussell ---------- */
.vrts-rf-fade{transition:opacity .35s ease,transform .35s ease}
.vrts-rf-out{opacity:0!important;transform:translateY(8px)!important}
.vrts-rf-w.is-in{display:inline-block;animation:vrtsRfWordIn .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 32ms)}
@keyframes vrtsRfWordIn{from{opacity:0;transform:translateY(.3em);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
/* Logo-Wechsel */
.vrts-rf-logo-swap{animation:vrtsRfLogo .6s cubic-bezier(.2,.7,.2,1)}
@keyframes vrtsRfLogo{0%{opacity:0;transform:scale(.92)}100%{opacity:1;transform:none}}
.vrts-rf-wordmark{display:none;text-align:center;font:800 1.45rem/1.2 Manrope,sans-serif;color:#102B49;letter-spacing:-.02em}
.vrts-rf-wordmark small{display:block;margin-top:.4rem;font:700 .68rem/1.3 Manrope,sans-serif;letter-spacing:.16em;color:#1764AA;text-transform:uppercase}
.vrts-rf-has-wordmark [data-id="a88b20e"]{display:none!important}
.vrts-rf-has-wordmark .vrts-rf-wordmark{display:block}

/* Navigation im blauen Panel – setzt die globalen Theme-Button-Stile bewusst zurueck */
.vrts-rf-nav{display:flex;align-items:center;gap:.75rem;margin-top:.2rem}
.vrts-rf-nav button.vrts-rf-btn{-webkit-appearance:none!important;appearance:none!important;display:grid!important;place-items:center;box-sizing:border-box!important;width:2.3rem!important;height:2.3rem!important;min-width:0!important;min-height:0!important;flex:0 0 auto;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;box-shadow:none!important;color:#FFFFFF!important;font:700 1.25rem/1 Manrope,sans-serif!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer;transition:background-color .25s,border-color .25s,transform .25s}
.vrts-rf-nav button.vrts-rf-btn:hover{background:rgba(255,255,255,.2)!important;border-color:rgba(255,255,255,.75)!important;transform:translateY(-1px)}
.vrts-rf-nav button.vrts-rf-btn:focus-visible,.vrts-rf-nav button.vrts-rf-dot:focus-visible{outline:2px solid #BEE8F3!important;outline-offset:3px}
.vrts-rf-dotlist{display:flex;align-items:center;gap:.45rem;flex:1 1 auto;justify-content:center}
.vrts-rf-nav button.vrts-rf-dot{-webkit-appearance:none!important;appearance:none!important;position:relative;display:block!important;box-sizing:border-box!important;width:.55rem!important;height:.55rem!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:1rem!important;background:rgba(255,255,255,.38)!important;box-shadow:none!important;cursor:pointer;overflow:hidden;transition:width .4s cubic-bezier(.2,.7,.2,1),background-color .3s}
.vrts-rf-nav button.vrts-rf-dot:hover{background:rgba(255,255,255,.6)!important}
.vrts-rf-nav button.vrts-rf-dot.is-active{width:2.2rem!important;background:rgba(255,255,255,.28)!important}
.vrts-rf-dot i{display:none}
.vrts-rf-dot.is-active i{display:block;position:absolute;left:0;top:0;bottom:0;width:100%;background:#BEE8F3;transform-origin:left;transform:scaleX(var(--p,0))}

@media(prefers-reduced-motion:reduce){
  .vrts-rf-glow,.vrts-rf-dots,.vrts-rf-ready .elementor-element-2f1d2a4d{animation:none!important}
  .vrts-rf-shine{display:none}
  .vrts-rf-w.is-in,.vrts-rf-logo-swap{animation:none}
}
