/* Kleine Spielereien (siehe spiel.js). Alles ueber transform/translate/color/background, nichts verschiebt das Layout. */

/* Cursor-Ring */
.fx-cur{position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:2147483000;opacity:0;transition:opacity .2s}
.fx-cur.on{opacity:1}
.fx-cur.is-hide{opacity:0}
.fx-cur .r{position:absolute;left:-17px;top:-17px;width:34px;height:34px;box-sizing:border-box;border:1.5px solid rgba(37,99,235,.6);border-radius:50%;transition:transform .22s cubic-bezier(.2,.8,.2,1),background-color .22s,border-color .22s}
.fx-cur.is-link .r{transform:scale(1.55);background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.85)}
.fx-cur.is-down .r{transform:scale(.75)}
.fx-cur.is-link.is-down .r{transform:scale(1.25)}
.fx-cur .l{position:absolute;left:32px;top:24px;white-space:nowrap;font:600 14px/1 'Work Sans',system-ui,sans-serif;letter-spacing:.01em;color:#fff;background:#0e1d36;padding:8px 13px;border-radius:999px;opacity:0;transform:translateY(5px);transition:opacity .18s,transform .18s}
.fx-cur.has-l .l{opacity:1;transform:none}
.fx-cur.flip .l{left:auto;right:32px}

/* Glanz ueber "Betrieb & Zuhause": schmaler heller Streifen laeuft einmal durch die Buchstaben (nach der Ortszeile, danach beim Drueberfahren) */
@keyframes fxShine{from{background-position-x:100%}to{background-position-x:0%}}
html.fx-shine body.sx .x-hero h1 em{background:linear-gradient(100deg,#2563eb 0,#2563eb 40%,#9cc0ff 46%,#fff 50%,#9cc0ff 54%,#2563eb 60%,#2563eb 100%) 100% 0/300% 100% no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:fxShine 1.5s 2s cubic-bezier(.4,0,.2,1) 1 both}

/* Ortszeile: echter Text bleibt (unsichtbar), die Kopie darueber wechselt die Buchstaben */
body.sx h1 .h1-ort.fx-scr-run{position:relative;color:transparent}
.fx-scr{position:absolute;left:0;top:0;white-space:nowrap;color:#4a5a74}

/* Absaetze leuchten unter dem Zeiger */
.fx-w{color:#4a5a74;color:color-mix(in srgb,#1d4ed8 calc(var(--k,0) * 100%),#4a5a74);transition:color .3s}
