
/* Logotipo animacija: stabilus fabrikas ir atskirai judantys elementai. */
.factory-art .logo-effects {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.logo-balloon {
  animation: logo-balloon-float 6s ease-in-out infinite;
  animation-delay: var(--delay);
  transform-origin: 0 140px;
}
.logo-moving-star {
  animation: logo-star-dance 5s ease-in-out infinite;
  animation-delay: var(--delay);
  filter: drop-shadow(0 0 3px #ffd16680);
}
.logo-magic-stream {
  animation: logo-smoke-sway 7s ease-in-out infinite;
  transform-origin: 650px 295px;
}
.logo-smoke-flow {
  animation: logo-smoke-flow 5s linear infinite;
}
.logo-window-glow {
  animation: logo-window-glow 4s ease-in-out infinite;
  filter: blur(10px);
}
@keyframes logo-balloon-float {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-16px) rotate(3deg); }
}
@keyframes logo-star-dance {
  0%, 100% { transform: translateY(0) rotate(-8deg) scale(.9); opacity: .75; }
  50% { transform: translateY(-9px) rotate(12deg) scale(1.08); opacity: 1; }
}
@keyframes logo-smoke-sway {
  0%, 100% { transform: skewX(-2deg); opacity: .8; }
  50% { transform: skewX(3deg); opacity: 1; }
}
@keyframes logo-smoke-flow {
  to { stroke-dashoffset: -166; }
}
@keyframes logo-window-glow {
  50% { opacity: .35; }
}
@media (prefers-reduced-motion: reduce) {
  .logo-effects * { animation: none !important; }
}

/* Gyvesnė animacija ir platūs susisukantys magijos kaspinai. */
.factory-art.logo-animated {
  animation: logo-whole-float 8s ease-in-out infinite;
  transform-origin: 50% 65%;
}
.factory-art.logo-animated .logo-building-layer {
  clip-path: inset(0 0 44% 0);
  animation: logo-building-breathe 6s ease-in-out infinite;
  transform-origin: 52% 55%;
}
.factory-art.logo-animated .logo-lettering-layer {
  position: absolute;
  inset: 0;
  clip-path: inset(54% 0 0 0);
  animation: logo-lettering-bounce 4.8s ease-in-out infinite;
  transform-origin: 50% 75%;
}
.logo-balloon { animation-duration: 4.5s; }
.logo-moving-star { animation-duration: 3.2s; }
.logo-magic-stream {
  animation: logo-smoke-sway 5s ease-in-out infinite;
  filter: drop-shadow(0 0 6px #a875ff80);
}
.logo-smoke-ribbon {
  transform-origin: 650px 295px;
  animation: logo-ribbon-wave 5s ease-in-out infinite;
}
.logo-smoke-ribbon.ribbon-front { animation-delay: -2.5s; }
@keyframes logo-whole-float {
  0%,100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-10px) rotate(1deg); }
}
@keyframes logo-building-breathe {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.018) rotate(-.6deg); }
}
@keyframes logo-lettering-bounce {
  0%,100% { transform: translateY(0) rotate(-.7deg) scale(1); }
  45% { transform: translateY(-6px) rotate(.8deg) scale(1.025); }
  70% { transform: translateY(2px) rotate(0) scale(.995); }
}
@keyframes logo-ribbon-wave {
  0%,100% { transform: skewX(-3deg) scaleX(.98); }
  50% { transform: skewX(4deg) scaleX(1.035); }
}
@keyframes logo-balloon-float {
  0%,100% { transform: translate(0,0) rotate(-7deg); }
  50% { transform: translate(9px,-25px) rotate(7deg); }
}
@keyframes logo-star-dance {
  0%,100% { transform: translateY(2px) rotate(-18deg) scale(.85); opacity:.65; }
  50% { transform: translateY(-15px) rotate(24deg) scale(1.2); opacity:1; }
}
@media (prefers-reduced-motion: reduce) {
  .factory-art.logo-animated,
  .factory-art.logo-animated img,
  .logo-effects * { animation: none !important; }
}

/* Fabrikas stabilus; užrašas ir išoriniai magijos takeliai juda atskirai. */
.factory-art.logo-animated {
  animation: none;
  transform: none;
}
.factory-art.logo-animated .logo-building-layer {
  animation: none;
  clip-path: polygon(28% 0, 72% 0, 72% 56%, 28% 56%);
}
.factory-art.logo-animated .logo-lettering-layer {
  clip-path: polygon(0 56%, 100% 56%, 100% 100%, 0 100%);
  animation: logo-lettering-bounce 4.8s ease-in-out infinite;
}
.factory-art.logo-animated .logo-side-left,
.factory-art.logo-animated .logo-side-right {
  position: absolute;
  inset: 0;
  object-fit: contain;
}
.factory-art.logo-animated .logo-side-left {
  clip-path: polygon(0 0, 28% 0, 28% 56%, 0 56%);
  transform-origin: 28% 56%;
  animation: logo-side-left-wave 5s ease-in-out infinite;
}
.factory-art.logo-animated .logo-side-right {
  clip-path: polygon(72% 0, 100% 0, 100% 56%, 72% 56%);
  transform-origin: 72% 56%;
  animation: logo-side-right-wave 5.8s ease-in-out infinite;
}
.logo-smoke-ribbon { animation-duration: 4.5s; }
@keyframes logo-ribbon-wave {
  0%,100% { transform: skewX(-4deg) scaleX(.97); }
  50% { transform: skewX(5deg) scaleX(1.045); }
}
@keyframes logo-side-left-wave {
  0%,100% { transform: translate(0,0) rotate(0); filter: brightness(1); }
  50% { transform: translate(-4px,-5px) rotate(-1.5deg); filter: brightness(1.16); }
}
@keyframes logo-side-right-wave {
  0%,100% { transform: translate(0,0) rotate(0); filter: brightness(1); }
  50% { transform: translate(4px,-6px) rotate(1.5deg); filter: brightness(1.16); }
}
@media (prefers-reduced-motion: reduce) {
  .factory-art.logo-animated img,
  .logo-effects * { animation: none !important; }
}

/* Tikri atskiri PNG sluoksniai; animuojamas tik užrašas. */
.factory-art.logo-animated .logo-building-layer {
  clip-path: none;
  animation: none;
  transform: none;
}
.factory-art.logo-animated .logo-lettering-layer {
  clip-path: none;
  animation: logo-text-only 5s ease-in-out infinite;
  transform-origin: 50% 75%;
}
.logo-balloon, .logo-moving-star, .logo-window-glow {
  animation: none;
}
@keyframes logo-text-only {
  0%, 100% { transform: translateY(0) rotate(-.5deg) scale(.98); }
  50% { transform: translateY(-5px) rotate(.5deg) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .factory-art.logo-animated .logo-lettering-layer { animation: none; }
}

/* Ryškesnis balionų ir žvaigždučių judėjimas. */
.logo-effects .logo-balloon {
  animation: logo-balloon-lively 5s ease-in-out infinite;
  animation-delay: var(--delay);
}

.logo-effects .logo-moving-star {
  animation: logo-star-lively 4s ease-in-out infinite;
  animation-delay: var(--delay);
}

@keyframes logo-balloon-lively {
  0%, 100% { transform: translate(-3px, 2px) rotate(-5deg); }
  50% { transform: translate(7px, -18px) rotate(5deg); }
}

@keyframes logo-star-lively {
  0%, 100% { transform: translate(-2px, 2px) rotate(-12deg) scale(.92); opacity: .7; }
  50% { transform: translate(3px, -10px) rotate(15deg) scale(1.1); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .logo-effects .logo-balloon,
  .logo-effects .logo-moving-star {
    animation: none;
  }
}
/* Kortelė svyruoja teksto ritmu, pritvirtinta kairiajame krašte. */
.floating-note {
  transform-origin: 0% 50%;
  animation: logo-note-swing 5s ease-in-out infinite;
}

@keyframes logo-note-swing {
  0%, 100% { transform: rotate(5deg); }
  50% { transform: rotate(9deg); }
}

@media (prefers-reduced-motion: reduce) {
  .floating-note { animation: none; }
}