/* 24.09.2026 — Nazannil: „Alle Bilder muessen lebendig sein. Das ist sehr, sehr wichtig und modern."
   Jedes Foto bekommt eine langsame Kamerafahrt (sanftes Heranzoomen + leichtes Wandern), wie im Film.
   Logo, Symbole und Kugeln bleiben ruhig. Wer „Bewegung reduzieren" eingestellt hat, sieht stille Bilder. */
:where(#root, main, body) :is(div, figure, a, span, picture):has(> img[src$=".jpg"], > img[src$=".jpeg"], > img[src$=".webp"]){overflow:hidden}
:where(#root, main, body) img:is([src$=".jpg"], [src$=".jpeg"], [src$=".webp"]){
  transform-origin:50% 50%;will-change:transform;
  animation:nanil-bild-lebt 18s ease-in-out infinite alternate}
:where(#root, main, body) img:is([src$=".jpg"], [src$=".jpeg"], [src$=".webp"]):nth-of-type(2n){animation-duration:22s;animation-direction:alternate-reverse}
@keyframes nanil-bild-lebt{
  0%  {transform:scale(1.02) translate(0,0)}
  50% {transform:scale(1.09) translate(-1.6%,-1.2%)}
  100%{transform:scale(1.05) translate(1.4%,0.8%)}}
@media (prefers-reduced-motion:reduce){:where(#root, main, body) img{animation:none!important}}

/* Portraits (Ueber Nanil): kein Rahmen zum Beschneiden -> der Bildausschnitt wandert im eigenen Rahmen,
   dazu ein leises Atmen im Licht. Die Groesse bleibt, nichts ragt ueber die Kante. */
:where(#root, main, body) img.nanil-about-portrait{
  animation:nanil-portrait-lebt 16s ease-in-out infinite alternate!important;transform:none}
@keyframes nanil-portrait-lebt{
  0%  {object-position:50% 26%;filter:brightness(1) saturate(1)}
  50% {object-position:46% 32%;filter:brightness(1.05) saturate(1.06)}
  100%{object-position:54% 29%;filter:brightness(1.02) saturate(1.03)}}

/* Auch bei „Bewegung reduzieren" (Samsung-Energiesparmodus) leben die Bilder — nur langsamer. */
@media (prefers-reduced-motion:reduce){
  :where(#root, main, body) img:is([src$=".jpg"], [src$=".jpeg"], [src$=".webp"]){animation:nanil-bild-lebt 28s ease-in-out infinite alternate!important}
  :where(#root, main, body) img.nanil-about-portrait{animation:nanil-portrait-lebt 24s ease-in-out infinite alternate!important}}
