/* Bewegung beim Scrollen (Erledigt.ki), gehört zu assets/js/bewegung.js.
   Alles greift nur unter html.bw-an: ohne JavaScript, bei „Bewegung reduzieren“ und mit ?static bleibt die Seite unverändert. */

/* Fortschrittslinie oben */
.bw-fort{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#8F4E22,#B86A32 55%,#D9A066);pointer-events:none}

/* Wörter leuchten je Scrollstand */
html.bw-an .bw-leuchten .bw-w{opacity:.16;transition:opacity .35s ease}
html.bw-an .bw-leuchten.bw-dunkel .bw-w{opacity:.22}
html.bw-an .bw-leuchten .bw-w.an{opacity:1}

/* Überschrift ganz oben: Wörter steigen nacheinander auf */
html.bw-an .bw-auftakt .bw-w{display:inline-block;opacity:0;transform:translateY(.42em);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * 90ms + 80ms)}
html.bw-an .bw-auftakt.bw-da .bw-w{opacity:1;transform:none}

/* Gestaffelte Karten, Listen und Textblöcke */
html.bw-an .bw-staffel > .bw-kind{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(min(var(--i), 8) * 85ms)}
html.bw-an .bw-staffel.bw-sichtbar > .bw-kind{opacity:1;transform:none}
html.bw-an .report ul.bw-staffel > .bw-kind{transform:translateX(-18px)}
html.bw-an .report ul.bw-staffel.bw-sichtbar > .bw-kind{transform:none;transition-delay:calc(var(--i) * 160ms + 200ms)}
/* Vergleich: rechts kommt die Antwort kurz nach der Frage */
html.bw-an .versus .bw-kind .b2{display:inline-block;opacity:0;transform:translateX(-14px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(min(var(--i), 8) * 85ms + 320ms)}
html.bw-an .versus.bw-sichtbar .bw-kind .b2{opacity:1;transform:none}
html.bw-an .bw-block{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
html.bw-an .bw-block.bw-sichtbar{opacity:1;transform:none}

/* Bilder mit Tiefe (bewegen sich beim Scrollen leicht mit) */
html.bw-an .bw-tiefe{will-change:transform;transform:scale(1.1)}

/* Bühnenvideo zieht beim Hereinscrollen auf */
html.bw-an .stage{transform:scale(calc(.9 + .1 * var(--bw-b, 0)));transition:transform .12s linear;will-change:transform}

/* Zahlen behalten ihre Breite, damit beim Hochzählen nichts springt */
.bw-z{font-variant-numeric:tabular-nums}

@media print{
  .bw-fort{display:none}
  html.bw-an .bw-leuchten .bw-w,html.bw-an .bw-auftakt .bw-w,html.bw-an .bw-staffel > .bw-kind,html.bw-an .bw-block,html.bw-an .versus .bw-kind .b2{opacity:1!important;transform:none!important}
}
@media (prefers-reduced-motion:reduce){
  html.bw-an .bw-w,html.bw-an .bw-kind,html.bw-an .bw-block,html.bw-an .b2,html.bw-an .stage,html.bw-an .bw-tiefe{opacity:1!important;transform:none!important;transition:none!important}
}
/* Morgenbericht: Zeilen als Block statt Flex, sonst wird jede gezählte Zahl (.bw-z) ein eigenes Flex-Element
   und zerreißt die Zeile in Spalten („23 | E-Mails beantwortet, | 2 | warten …“). Haken bleibt links. Fix 10.11.2026. */
.report li{display:block;position:relative;padding-left:34px}
.report li::before{position:absolute;left:0;top:16px;margin-top:0}
