/* Kozlov Living Facade: house drawing and its motion (generated; 1.4.8: no masks, resting state, own layer;
   1.4.9: swifts fly by SMIL animateMotion (iOS Safari ignores offset-path on groups inside an inline SVG), shorter drawing) */


.kzf-glow { fill: #f3cf8e; opacity: 0; }

.kzf-wash { opacity: 0; }
.kzf-root.kzf-lit .kzf-wash { opacity: 1; }
.kzf-dim .kzf-wash { opacity: 0 !important; transition: opacity 0.35s ease; }
.kzf-who { opacity: 0; }

.kzf-root.kzf-lit .kzf-glow { opacity: 1; }
.kzf-root.kzf-lit .kzf-who { opacity: 0.86; }

.kzf-glow.kzf-on { opacity: 1; transition: opacity 0.5s ease; }
.kzf-who.kzf-on { opacity: 0.86; transition: opacity 0.6s ease 0.2s; }
.kzf-hit { fill: transparent; cursor: pointer; pointer-events: all; -webkit-tap-highlight-color: transparent; }
.kzf-hit:focus { outline: none; }
.kzf-hit:focus-visible { stroke: #cb3a2a; stroke-width: 1.2px; }
.kzf-spark { opacity: 0; }
.kzf-who g, .kzf-spark { transform-box: view-box; }
.kzf-wv { opacity: 0; }
.kzf-awn { transform-box: fill-box; transform-origin: 50% 0; }
@media (prefers-reduced-motion: reduce) { .kzf-drift { animation: none !important; } .kzf-swifts { display: none; } }
@media (prefers-reduced-motion: no-preference) {
  /* before the drawing starts (and between two drawings) the picture is already in the page, styled and
     painted, but shows nothing: the start of the animation then only has to start the clocks */
  .kzf-root:not(.kzf-run) .kzf-ln, .kzf-root:not(.kzf-run) .kzf-rl { stroke-dasharray: 1 1; stroke-dashoffset: 1; }
  .kzf-root:not(.kzf-run) .kzf-fl, .kzf-root:not(.kzf-run) .kzf-sol, .kzf-root:not(.kzf-run) .kzf-fig,
  .kzf-root:not(.kzf-run) .kzf-sign, .kzf-root:not(.kzf-run) .kzf-nb,
  .kzf-root:not(.kzf-run):not(.kzf-keep) .kzf-swifts, .kzf-root:not(.kzf-run):not(.kzf-keep) .kzf-cloud { opacity: 0; }
  .kzf-root:not(.kzf-run) .kzf-awn { transform: scaleY(0); }
  /* clouds stand still while the house is being drawn (they are invisible until the fade anyway); the wing
     beat is held the same way. Both start together with the music. */
  .kzf-root.kzf-run:not(.kzf-playing):not(.kzf-lit):not(.kzf-keep) .kzf-drift,
  .kzf-root.kzf-run:not(.kzf-playing):not(.kzf-lit):not(.kzf-keep) .kzf-wing { animation-play-state: paused; }
  /* swifts: the flight along the path is an <animateMotion> inside each bird (SMIL), started once from the
     script when the music starts and never stopped, so the birds survive the quick redraw (kzf-keep) and
     never jump back to the start. Only the wing beat (two beats, then a glide) is CSS. */
  .kzf-swifts { display: block; }
  .kzf-root.kzf-run .kzf-wing, .kzf-root.kzf-keep .kzf-wing { animation: kzf-flap 1.15s ease-in-out var(--fb, 0s) infinite; }
  .kzf-root.kzf-run .kzf-ln, .kzf-root.kzf-run .kzf-rl { stroke-dasharray: 1 1; stroke-dashoffset: 1; animation: kzf-draw calc(0.6s * var(--kd, 1)) cubic-bezier(0.45, 0, 0.2, 1) calc(var(--d) * var(--k, 1)) forwards; }
  .kzf-root.kzf-run .kzf-fl, .kzf-root.kzf-run .kzf-sol { opacity: 0; animation: kzf-fade calc(0.4s * var(--kd, 1)) ease calc(var(--d) * var(--k, 1)) forwards; }
  .kzf-root.kzf-run .kzf-awn { transform: scaleY(0); animation: kzf-unroll calc(0.5s * var(--kd, 1)) cubic-bezier(0.3, 1.5, 0.55, 1) calc(var(--d) * var(--k, 1)) forwards; }
  .kzf-root.kzf-run .kzf-fig { opacity: 0; animation: kzf-rise calc(0.8s * var(--kd, 1)) cubic-bezier(0.2, 0.7, 0.2, 1) calc(var(--d) * var(--k, 1)) forwards; }
  .kzf-root.kzf-run .kzf-sign { opacity: 0; animation: kzf-fade calc(0.6s * var(--kd, 1)) ease calc(1s * var(--k, 1)) forwards; }
  .kzf-root.kzf-run .kzf-swifts { opacity: 0; animation: kzf-fade 0.8s ease calc(4.2s * var(--k, 1)) forwards; }
  .kzf-root.kzf-run .kzf-cloud { opacity: 0; animation: kzf-fade 1.4s ease calc(2s * var(--k, 1)) forwards; }
  .kzf-drift { animation-timing-function: linear; animation-iteration-count: infinite; }
  .kzf-keep .kzf-swifts, .kzf-keep .kzf-cloud { animation: none; opacity: 1; }
  
  .kzf-out .kzf-house { opacity: 0; transition: opacity 0.25s ease; }

  
  .kzf-root.kzf-playing .kzf-wv { animation: kzf-ripple 1.1s ease-out 6; }
  .kzf-root.kzf-playing .kzf-w1 { animation-delay: 0.12s; }
  .kzf-root.kzf-playing .kzf-w2 { animation-delay: 0.24s; }
  .kzf-root.kzf-playing:not(.kzf-lit) .kzf-glow:not(.kzf-on) { animation: kzf-lightOn 5.2s ease-in-out var(--p) forwards; }
  
  .kzf-root.kzf-playing:not(.kzf-lit) .kzf-who:not(.kzf-on) { animation: kzf-wakeOn 5.2s ease-in-out var(--p) forwards; }
  .kzf-root.kzf-playing .kzf-sway { animation: kzf-sway 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-sway { animation: kzf-sway 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-nod { animation: kzf-nod 0.55s ease-in-out calc(var(--p) + 1.60s) 8 alternate; }
  .kzf-who.kzf-solo .kzf-nod { animation: kzf-nod 0.55s ease-in-out 0.50s 4 alternate; }
  .kzf-root.kzf-playing .kzf-rock { animation: kzf-rock 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-rock { animation: kzf-rock 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-pluck { animation: kzf-pluck 0.275s ease-in-out calc(var(--p) + 1.60s) 16 alternate; }
  .kzf-who.kzf-solo .kzf-pluck { animation: kzf-pluck 0.275s ease-in-out 0.50s 8 alternate; }
  .kzf-root.kzf-playing .kzf-fret { animation: kzf-fret 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-fret { animation: kzf-fret 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-fretUp { animation: kzf-fretUp 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-fretUp { animation: kzf-fretUp 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-lift, .kzf-root.kzf-playing .kzf-hornFore, .kzf-root.kzf-playing .kzf-hornFore2 { animation: kzf-lift 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-lift, .kzf-who.kzf-solo .kzf-hornFore, .kzf-who.kzf-solo .kzf-hornFore2 { animation: kzf-lift 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-hornUp, .kzf-root.kzf-playing .kzf-hornUp2 { animation: kzf-liftHalf 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-hornUp, .kzf-who.kzf-solo .kzf-hornUp2 { animation: kzf-liftHalf 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-croon { animation: kzf-croon 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-croon { animation: kzf-croon 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-gestUp { animation: kzf-gestUp 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-gestUp { animation: kzf-gestUp 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-gest { animation: kzf-gest 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-gest { animation: kzf-gest 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-strum { animation: kzf-strum 0.275s ease-in-out calc(var(--p) + 1.60s) 16 alternate; }
  .kzf-who.kzf-solo .kzf-strum { animation: kzf-strum 0.275s ease-in-out 0.50s 8 alternate; }
  .kzf-root.kzf-playing .kzf-strumUp { animation: kzf-strumUp 0.275s ease-in-out calc(var(--p) + 1.60s) 16 alternate; }
  .kzf-who.kzf-solo .kzf-strumUp { animation: kzf-strumUp 0.275s ease-in-out 0.50s 8 alternate; }
  .kzf-root.kzf-playing .kzf-hitR { animation: kzf-hit 0.275s cubic-bezier(0.5, 0, 0.9, 0.6) calc(var(--p) + 1.60s) 16 alternate; }
  .kzf-who.kzf-solo .kzf-hitR { animation: kzf-hit 0.275s cubic-bezier(0.5, 0, 0.9, 0.6) 0.50s 8 alternate; }
  .kzf-root.kzf-playing .kzf-hitL { animation: kzf-hit 0.275s cubic-bezier(0.5, 0, 0.9, 0.6) calc(var(--p) + 1.74s) 16 alternate; }
  .kzf-who.kzf-solo .kzf-hitL { animation: kzf-hit 0.275s cubic-bezier(0.5, 0, 0.9, 0.6) 0.64s 8 alternate; }
  .kzf-root.kzf-playing .kzf-ride { animation: kzf-ride 0.275s ease-out calc(var(--p) + 1.74s) 16 alternate; }
  .kzf-who.kzf-solo .kzf-ride { animation: kzf-ride 0.275s ease-out 0.64s 8 alternate; }
  .kzf-root.kzf-playing .kzf-keys { animation: kzf-keys 0.275s ease-in-out calc(var(--p) + 1.60s) 16 alternate; }
  .kzf-who.kzf-solo .kzf-keys { animation: kzf-keys 0.275s ease-in-out 0.50s 8 alternate; }
  .kzf-root.kzf-playing .kzf-keys2 { animation: kzf-keys 0.275s ease-in-out calc(var(--p) + 1.74s) 16 alternate; }
  .kzf-who.kzf-solo .kzf-keys2 { animation: kzf-keys 0.275s ease-in-out 0.64s 8 alternate; }
  .kzf-root.kzf-playing .kzf-leanA, .kzf-root.kzf-playing .kzf-leanB { animation: kzf-lean 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-leanA, .kzf-who.kzf-solo .kzf-leanB { animation: kzf-lean 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-sipA { animation: kzf-sipA 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-sipA { animation: kzf-sipA 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-sipUpA { animation: kzf-sipUpA 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-sipUpA { animation: kzf-sipUpA 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-sipHeadA { animation: kzf-sipHeadA 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-sipHeadA { animation: kzf-sipHeadA 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-sipB { animation: kzf-sipB 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-sipB { animation: kzf-sipB 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-sipUpB { animation: kzf-sipUpB 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-sipUpB { animation: kzf-sipUpB 2.2s ease-in-out 0.50s; }
  .kzf-root.kzf-playing .kzf-sipHeadB { animation: kzf-sipHeadB 2.2s ease-in-out calc(var(--p) + 1.60s) 2; }
  .kzf-who.kzf-solo .kzf-sipHeadB { animation: kzf-sipHeadB 2.2s ease-in-out 0.50s; }
  .kzf-alive .kzf-who.kzf-band .kzf-sway { animation: kzf-sway 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-nod { animation: kzf-nod 0.55s ease-in-out calc(var(--p) + 1.60s) infinite alternate; }
  .kzf-alive .kzf-who.kzf-band .kzf-rock { animation: kzf-rock 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-pluck { animation: kzf-pluck 0.275s ease-in-out calc(var(--p) + 1.60s) infinite alternate; }
  .kzf-alive .kzf-who.kzf-band .kzf-fret { animation: kzf-fret 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-fretUp { animation: kzf-fretUp 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-lift, .kzf-alive .kzf-who.kzf-band .kzf-hornFore, .kzf-alive .kzf-who.kzf-band .kzf-hornFore2 { animation: kzf-lift 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-hornUp, .kzf-alive .kzf-who.kzf-band .kzf-hornUp2 { animation: kzf-liftHalf 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-croon { animation: kzf-croon 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-gestUp { animation: kzf-gestUp 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-gest { animation: kzf-gest 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-strum { animation: kzf-strum 0.275s ease-in-out calc(var(--p) + 1.60s) infinite alternate; }
  .kzf-alive .kzf-who.kzf-band .kzf-strumUp { animation: kzf-strumUp 0.275s ease-in-out calc(var(--p) + 1.60s) infinite alternate; }
  .kzf-alive .kzf-who.kzf-band .kzf-hitR { animation: kzf-hit 0.275s cubic-bezier(0.5, 0, 0.9, 0.6) calc(var(--p) + 1.60s) infinite alternate; }
  .kzf-alive .kzf-who.kzf-band .kzf-hitL { animation: kzf-hit 0.275s cubic-bezier(0.5, 0, 0.9, 0.6) calc(var(--p) + 1.74s) infinite alternate; }
  .kzf-alive .kzf-who.kzf-band .kzf-ride { animation: kzf-ride 0.275s ease-out calc(var(--p) + 1.74s) infinite alternate; }
  .kzf-alive .kzf-who.kzf-band .kzf-keys { animation: kzf-keys 0.275s ease-in-out calc(var(--p) + 1.60s) infinite alternate; }
  .kzf-alive .kzf-who.kzf-band .kzf-keys2 { animation: kzf-keys 0.275s ease-in-out calc(var(--p) + 1.74s) infinite alternate; }
  .kzf-alive .kzf-who.kzf-band .kzf-leanA, .kzf-alive .kzf-who.kzf-band .kzf-leanB { animation: kzf-lean 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-sipA { animation: kzf-sipA 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-sipUpA { animation: kzf-sipUpA 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-sipHeadA { animation: kzf-sipHeadA 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-sipB { animation: kzf-sipB 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-sipUpB { animation: kzf-sipUpB 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-alive .kzf-who.kzf-band .kzf-sipHeadB { animation: kzf-sipHeadB 2.2s ease-in-out calc(var(--p) + 1.60s) infinite; }
  .kzf-root.kzf-playing .kzf-spark { animation: kzf-spark 0.7s ease-out calc(var(--p) + 2s) both; }
  .kzf-who.kzf-solo .kzf-spark { animation: kzf-spark 0.7s ease-out 0.9s both; }
}
@keyframes kzf-draw { to { stroke-dashoffset: 0; } }
@keyframes kzf-flap { 0%, 25%, 50%, 100% { scale: 1 1; } 12%, 37% { scale: 1 0.62; } }
@keyframes kzf-fade { to { opacity: 1; } }
@keyframes kzf-rise { from { opacity: 0; translate: 0 5px; } to { opacity: 1; translate: 0 0; } }
@keyframes kzf-unroll { to { transform: scaleY(1); } }
@keyframes kzf-flicker { 0% { opacity: 0; } 15% { opacity: 1; } 22% { opacity: 0.15; } 35% { opacity: 1; } 42% { opacity: 0.3; } 55% { opacity: 1; } 100% { opacity: 1; } }
@keyframes kzf-ripple { 0% { opacity: 0; scale: 0.6; } 20% { opacity: 0.85; } 100% { opacity: 0; scale: 1.5; } }
@keyframes kzf-wakeOn { 0%, 13% { opacity: 0; } 23% { opacity: 0.32; } 31%, 100% { opacity: 0.86; } }
@keyframes kzf-sway { 0%, 100% { rotate: 0.0deg; } 15% { rotate: calc(var(--sgn) * 4.7deg); } 38% { rotate: calc(var(--sgn) * -3.2deg); } 60% { rotate: calc(var(--sgn) * 5.8deg); } 82% { rotate: calc(var(--sgn) * -2.2deg); } }
@keyframes kzf-nod { from { rotate: calc(var(--sgn) * -5.4deg); } to { rotate: calc(var(--sgn) * 19.8deg); } }
@keyframes kzf-rock { 0%, 100% { rotate: 0.0deg; } 25% { rotate: calc(var(--sgn) * -6.3deg); } 50% { rotate: calc(var(--sgn) * 4.5deg); } 75% { rotate: calc(var(--sgn) * -5.4deg); } }
@keyframes kzf-pluck { from { rotate: calc(var(--sgn) * -7.2deg); } to { rotate: calc(var(--sgn) * 28.8deg); } }
@keyframes kzf-fret { 0%, 100% { rotate: 0.0deg; } 30% { rotate: calc(var(--sgn) * 23.4deg); } 55% { rotate: calc(var(--sgn) * 5.4deg); } 80% { rotate: calc(var(--sgn) * 28.8deg); } }
@keyframes kzf-fretUp { 0%, 100% { rotate: 0.0deg; } 30% { rotate: calc(var(--sgn) * -12.6deg); } 80% { rotate: calc(var(--sgn) * -16.2deg); } }
@keyframes kzf-lift { 0%, 100% { rotate: 0.0deg; } 20% { rotate: calc(var(--sgn) * -19.8deg); } 40% { rotate: calc(var(--sgn) * -3.6deg); } 62% { rotate: calc(var(--sgn) * -32.4deg); } 84% { rotate: calc(var(--sgn) * -10.8deg); } }
@keyframes kzf-liftHalf { 0%, 100% { rotate: 0.0deg; } 20% { rotate: calc(var(--sgn) * -9.9deg); } 40% { rotate: calc(var(--sgn) * -1.8deg); } 62% { rotate: calc(var(--sgn) * -16.2deg); } 84% { rotate: calc(var(--sgn) * -5.4deg); } }
@keyframes kzf-croon { 0%, 100% { rotate: 0.0deg; } 30% { rotate: calc(var(--sgn) * -21.6deg); } 55% { rotate: calc(var(--sgn) * -5.4deg); } 78% { rotate: calc(var(--sgn) * -25.2deg); } }
@keyframes kzf-gestUp { 0%, 100% { rotate: 0deg; } 25% { rotate: calc(var(--sgn) * -38deg); } 50% { rotate: calc(var(--sgn) * -30deg); } 70% { rotate: calc(var(--sgn) * -40deg); } }
@keyframes kzf-gest { 0%, 100% { rotate: 0deg; } 25% { rotate: calc(var(--sgn) * -45deg); } 50% { rotate: calc(var(--sgn) * -25deg); } 70% { rotate: calc(var(--sgn) * -50deg); } }
@keyframes kzf-strum { from { rotate: calc(var(--sgn) * -28.8deg); } to { rotate: calc(var(--sgn) * 28.8deg); } }
@keyframes kzf-strumUp { from { rotate: calc(var(--sgn) * -9.0deg); } to { rotate: calc(var(--sgn) * 9.0deg); } }
@keyframes kzf-hit { from { rotate: calc(var(--sgn) * -68.4deg); } to { rotate: calc(var(--sgn) * 7.2deg); } }
@keyframes kzf-keys { from { rotate: calc(var(--sgn) * -5.4deg); } to { rotate: calc(var(--sgn) * 18.0deg); } }
@keyframes kzf-ride { from { rotate: -16.2deg; } to { rotate: 16.2deg; } }
@keyframes kzf-lean { 0%, 100% { rotate: 0.0deg; } 22%, 60% { rotate: calc(var(--sgn) * 9.0deg); } }
@keyframes kzf-sipA { 0% { rotate: calc(var(--sgn) * -12deg); } 18% { rotate: 0deg; } 23% { rotate: calc(var(--sgn) * -2deg); } 28%, 46% { rotate: 0deg; } 64%, 80% { rotate: calc(var(--sgn) * -32deg); } 100% { rotate: 0deg; } }
@keyframes kzf-sipUpA { 0%, 46% { rotate: 0deg; } 64%, 80% { rotate: calc(var(--sgn) * -12deg); } 100% { rotate: 0deg; } }
@keyframes kzf-sipHeadA { 0%, 48% { rotate: 0deg; } 66%, 80% { rotate: calc(var(--sgn) * -11deg); } 100% { rotate: 0deg; } }
@keyframes kzf-sipB { 0% { rotate: calc(var(--sgn) * -12deg); } 18% { rotate: 0deg; } 23% { rotate: calc(var(--sgn) * -2deg); } 28%, 56% { rotate: 0deg; } 72%, 88% { rotate: calc(var(--sgn) * -30deg); } 100% { rotate: 0deg; } }
@keyframes kzf-sipUpB { 0%, 56% { rotate: 0deg; } 72%, 88% { rotate: calc(var(--sgn) * -11deg); } 100% { rotate: 0deg; } }
@keyframes kzf-sipHeadB { 0%, 58% { rotate: 0deg; } 74%, 88% { rotate: calc(var(--sgn) * -10deg); } 100% { rotate: 0deg; } }
@keyframes kzf-spark { 0% { opacity: 0; scale: 0.3; } 30% { opacity: 1; } 100% { opacity: 0; scale: 1.4; } }
@keyframes kzf-lightOn { 0% { opacity: 0; } 18%, 100% { opacity: 1; } }


@keyframes kzf-swayFig { 0%, 100% { rotate: 0deg; } 20% { rotate: 2.4deg; } 45% { rotate: -1.6deg; } 70% { rotate: 3deg; } }

@keyframes kzf-stagePulse { from { fill: #f3cf8e; } to { fill: #f7d9a0; } }
@media (prefers-reduced-motion: no-preference) {
  .kzf-root.kzf-playing .kzf-wash { animation: kzf-fade 3s ease 0.6s forwards; }
  .kzf-statue { transform-box: view-box; }
  .kzf-root.kzf-playing .kzf-statue { animation: kzf-swayFig 2.2s ease-in-out 0.3s 3; }
  .kzf-root.kzf-lit .kzf-glow.kzf-stage { animation: kzf-stagePulse 1.1s ease-in-out calc(var(--p) * -3) infinite alternate; }
  .kzf-alive .kzf-who.kzf-guest .kzf-leanA, .kzf-alive .kzf-who.kzf-guest .kzf-leanB { animation: kzf-lean 4.4s ease-in-out calc(var(--p) * -2) infinite; }
}

@media (prefers-reduced-motion: no-preference) {
  .kzf-root.kzf-run .kzf-nb { opacity: 0; animation: kzf-nbin calc(1.2s * var(--kd, 1)) ease calc(1.6s * var(--k, 1)) forwards; }
}
@keyframes kzf-nbin { to { opacity: 0.55; } }

.kzf-root.kzf-paused *, .kzf-root.kzf-paused, .kzf-root.kzf-hold *, .kzf-root.kzf-hold { animation-play-state: paused !important; }
#kzf-root .kzf-hero { contain: layout paint; }
#kzf-root .kzf-hero > svg { will-change: transform; }
#kzf-root { --kzf-hero-css: 1; }
