/* Palliativpflege — „Das Licht im Fenster" als Bühnen-Szene (.bs, gemeinsames Muster aus site.css)
   Ebenen: Abendhimmel mit Nachbarhäusern (.pl-himmel, bis zum Horizont) · Garten (.pl-garten) ·
   Haus groß links (.bs-objekt) · Gräser vorn (.bs-vorn) · Tafel rechts darüber.
   Horizont liegt auf Fensterhöhe des Hauses: Objekt-Unterkante 4svh, Fensterhöhe = 58 % der Objekthöhe
   → 96svh − 0,31 × Objektbreite. Licht oben links; Nacht, Laterne und Kerze steuert leistung-palliativpflege.js.
   Fail-Safe: ohne GSAP steht das fertige Nachtbild (alle Lichter an), nichts ist per CSS versteckt. */
.scrolly-licht { --bs-ar: 640 / 480; --horizont: calc(96svh - var(--bs-bw) * .31); background: #0B1B28; }
.scrolly-licht .bs-objekt { top: auto; bottom: 4svh; translate: 0 0; }
.scrolly-licht .bs-kamera { transform-origin: 34% 62%; }
.scrolly-licht .bs-szene > .pl-himmel { top: 0; bottom: auto; height: calc(var(--horizont) + 2px); }
.scrolly-licht .bs-szene > .pl-garten { top: var(--horizont); bottom: auto; height: calc(100% - var(--horizont)); }
.scrolly-licht .bs-vorn { top: auto; height: 14svh; }

/* Dauerschleifen (Tempo über --tempo, bei „Bewegung reduzieren" gedämpft, nie aus) */
.pl-wolken-lauf { animation: pl-ziehen calc(70s * var(--tempo)) var(--ease-in-out) infinite alternate; }
@keyframes pl-ziehen { from { transform: translateX(-40px); } to { transform: translateX(40px); } }
.pl-sterne-b, .pl-funkel { animation: pl-funkeln calc(6.5s * var(--tempo)) ease-in-out infinite; }
.pl-funkel { animation-duration: calc(9s * var(--tempo)); animation-delay: -3s; }
@keyframes pl-funkeln { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.pl-flamme { transform-box: fill-box; transform-origin: 50% 100%; animation: pl-flackern calc(2.6s * var(--tempo)) var(--ease-in-out) infinite; }
@keyframes pl-flackern {
  0%, 100% { transform: scale(1, 1) skewX(0deg); }
  22% { transform: scale(.94, 1.1) skewX(-4deg); }
  48% { transform: scale(1.05, .92) skewX(3deg); }
  74% { transform: scale(.98, 1.05) skewX(-2deg); }
}
/* Sekundärbewegung: der Kerzenschein folgt der Flamme 120 ms später */
.pl-kerzenglow { transform-box: fill-box; transform-origin: 50% 50%; animation: pl-glimmen calc(2.6s * var(--tempo)) var(--ease-in-out) .12s infinite; }
@keyframes pl-glimmen { 0%, 100% { opacity: 1; transform: scale(1); } 22% { opacity: .8; transform: scale(1.08); } 48% { opacity: .92; transform: scale(.94); } 74% { opacity: .86; transform: scale(1.03); } }
.pl-laterne-licht { animation: pl-laterne calc(4.2s * var(--tempo)) ease-in-out infinite; }
@keyframes pl-laterne { 0%, 100% { opacity: 1; } 40% { opacity: .86; } 55% { opacity: .97; } }
.pl-led { animation: pl-led calc(1.8s * var(--tempo)) steps(1) infinite; }
@keyframes pl-led { 0%, 60% { opacity: 1; } 61%, 100% { opacity: .25; } }
.pl-glueh { transform-box: fill-box; transform-origin: 50% 50%; animation: pl-schweben calc(7s * var(--tempo)) ease-in-out infinite alternate; }
.pl-glueh-1 { animation-delay: -2.4s; animation-duration: calc(8.5s * var(--tempo)); }
.pl-glueh-2 { animation-delay: -4.6s; animation-duration: calc(6.2s * var(--tempo)); }
@keyframes pl-schweben { 0% { transform: translate(0, 0); opacity: .3; } 50% { opacity: 1; } 100% { transform: translate(18px, -14px); opacity: .45; } }
.pl-gras { transform-box: fill-box; transform-origin: 50% 100%; animation: pl-wiegen calc(5.5s * var(--tempo)) var(--ease-in-out) infinite alternate; }
.pl-gras-1 { animation-delay: -2s; animation-duration: calc(6.8s * var(--tempo)); }
@keyframes pl-wiegen { from { transform: skewX(-3deg); } to { transform: skewX(3deg); } }

@media (prefers-reduced-motion: reduce) {
  .pl-wolken-lauf { animation-name: pl-ziehen-sanft; }
  .pl-flamme { animation-name: pl-flackern-sanft; }
  .pl-kerzenglow { animation-name: pl-glimmen-sanft; }
  .pl-sterne-b, .pl-funkel { animation-name: pl-funkeln-sanft; }
  .pl-glueh { animation-name: pl-schweben-sanft; }
  .pl-gras { animation-name: pl-wiegen-sanft; }
  @keyframes pl-ziehen-sanft { from { transform: translateX(-12px); } to { transform: translateX(12px); } }
  @keyframes pl-flackern-sanft { 0%, 100% { transform: scale(1, 1); } 50% { transform: scale(.99, 1.03); } }
  @keyframes pl-glimmen-sanft { 0%, 100% { opacity: 1; } 50% { opacity: .9; } }
  @keyframes pl-funkeln-sanft { 0%, 100% { opacity: 1; } 50% { opacity: .75; } }
  @keyframes pl-schweben-sanft { from { transform: translate(0, 0); } to { transform: translate(5px, -4px); } }
  @keyframes pl-wiegen-sanft { from { transform: skewX(-1deg); } to { transform: skewX(1deg); } }
}
html.dark .scrolly-licht { background: #07131C; }

/* Tablet/Handy: Haus oben mittig (wie site.css), Horizont auf Fensterhöhe, Tafel als Karte unten */
@media (max-width: 1023px) {
  .scrolly-licht { --horizont: calc(5.5rem + var(--bs-bw) * .36); }
  .scrolly-licht .bs-objekt { top: 5.5rem; bottom: auto; translate: -50% 0; }
  .scrolly-licht .bs-vorn { height: 9svh; }
}

/* Inhalt */
.pl-zitat { margin: 1.2rem 0 0; }
.pl-arbeitsweise h3 { margin: 1.3rem 0 .35rem; font-size: 1.15rem; }
.pl-arbeitsweise h3:first-of-type { margin-top: 1.1rem; }
.pl-arbeitsweise p { margin: 0; }
.sektion-kopf .pl-lead-2 { margin-top: .8rem; color: var(--muted); }
