.minions-promo{
  position:fixed;
  inset:0;
  z-index:1200;
  overflow:hidden;
  pointer-events:none;
  contain:layout style;
}
.minions-promo__close{
  position:fixed;
  right:14px;
  bottom:14px;
  z-index:30;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(255,255,255,.62);
  border-radius:50%;
  background:rgba(10,15,27,.82);
  color:#fff;
  font:700 24px/34px Arial,sans-serif;
  box-shadow:0 10px 28px rgba(0,0,0,.32);
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}
.minions-promo.has-active-scene .minions-promo__close{opacity:.78;pointer-events:auto;}
.minions-promo__close:hover,.minions-promo__close:focus-visible{opacity:1;transform:scale(1.08);}
.minions-promo__actor{
  position:fixed;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-decoration:none;
  color:inherit;
  opacity:0;
  pointer-events:none;
  will-change:transform,opacity;
  filter:drop-shadow(0 18px 17px rgba(0,0,0,.24)) drop-shadow(0 5px 5px rgba(0,0,0,.18));
}
.minions-promo__actor.is-active{opacity:1;pointer-events:auto;}
.minions-promo__actor:focus-visible{outline:4px solid #ffd641;outline-offset:7px;border-radius:30px;}
.minion-sprite{
  position:relative;
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
  user-select:none;
  pointer-events:none;
  transform-origin:50% 100%;
  image-rendering:auto;
}
.minion-sprite--dj{width:190px;}
.minion-sprite--banana{width:190px;}
.minion-sprite--coffee{width:175px;}
.minion-sprite--hula{width:210px;}
.minion-sprite--teddy{width:205px;}
.minion-sprite--basic{width:145px;}
.minion-sprite--parade-a{width:104px;}
.minion-sprite--parade-b{width:128px;}
.minions-promo__bubble{
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  z-index:6;
  transform:translateX(-50%) translateY(8px) scale(.92);
  padding:10px 14px;
  border-radius:18px;
  background:rgba(14,20,34,.96);
  color:#fff;
  font:800 13px/1.15 Arial,sans-serif;
  white-space:nowrap;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  opacity:0;
}
.minions-promo__bubble::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:14px;
  height:14px;
  border-radius:2px;
  background:inherit;
  transform:translate(-50%,-7px) rotate(45deg);
}
.minions-promo__actor.is-active .minions-promo__bubble{animation:minion-bubble-in .45s ease forwards .35s;}
.minions-promo__notes,.minions-promo__flowers,.minions-promo__hearts,.minions-promo__steam,.minions-promo__confetti,.minions-promo__banana-peels{position:absolute;inset:0;pointer-events:none;}
.minions-promo__notes i,.minions-promo__flowers i,.minions-promo__hearts i{position:absolute;font-style:normal;font-weight:900;text-shadow:0 4px 10px rgba(0,0,0,.16);}
.minions-promo__notes i{color:#ffd83e;font-size:25px;}
.minions-promo__notes i:nth-child(1){left:4px;top:22px;}
.minions-promo__notes i:nth-child(2){right:3px;top:8px;font-size:32px;}
.minions-promo__notes i:nth-child(3){right:12px;top:82px;font-size:21px;}
.minions-promo__flowers i{color:#ff6394;font-size:24px;}
.minions-promo__flowers i:nth-child(1){left:8px;top:38px;}
.minions-promo__flowers i:nth-child(2){right:5px;top:30px;color:#45d2ff;}
.minions-promo__flowers i:nth-child(3){left:26px;bottom:16px;color:#ffd843;}
.minions-promo__flowers i:nth-child(4){right:27px;bottom:6px;color:#ff86c5;}
.minions-promo__hearts i{color:#ff5573;font-size:21px;}
.minions-promo__hearts i:nth-child(1){left:7px;top:20px;}
.minions-promo__hearts i:nth-child(2){right:7px;top:8px;font-size:27px;}
.minions-promo__hearts i:nth-child(3){right:18px;top:67px;font-size:17px;}
.minions-promo__speed-lines{
  position:absolute;
  left:-115px;
  bottom:35px;
  width:140px;
  height:55px;
  opacity:.65;
  background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(255,212,55,.6) 8px 11px,transparent 11px 17px);
  transform:skewX(-28deg);
  filter:blur(.6px);
}
.minions-promo__edge-curtain{
  position:absolute;
  left:-22px;
  top:-12px;
  width:30px;
  height:220px;
  border-radius:0 18px 18px 0;
  background:linear-gradient(90deg,#991c31,#dc4057 58%,#a91d35);
  box-shadow:inset -4px 0 0 rgba(255,255,255,.16);
}
.minions-promo__steam{left:54px;top:48px;width:55px;height:70px;}
.minions-promo__steam i{
  position:absolute;
  bottom:0;
  width:5px;
  height:44px;
  border-radius:50%;
  border-left:4px solid rgba(255,255,255,.8);
  filter:blur(.4px);
}
.minions-promo__steam i:nth-child(1){left:4px;}
.minions-promo__steam i:nth-child(2){left:21px;height:55px;}
.minions-promo__steam i:nth-child(3){left:38px;height:39px;}
.minions-promo__spotlight{
  position:absolute;
  left:50%;
  bottom:-22px;
  width:250px;
  height:78px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,227,108,.56),rgba(255,227,108,0) 70%);
  transform:translateX(-50%);
  filter:blur(4px);
}
.minions-promo__rope{
  position:absolute;
  left:50%;
  bottom:calc(100% - 30px);
  width:5px;
  height:310px;
  border-radius:999px;
  background:repeating-linear-gradient(180deg,#f2e8d5 0 6px,#b79d78 6px 12px);
  transform:translateX(-50%);
}
.minions-promo__premiere-sign{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:116px;
  height:66px;
  margin:0 4px 42px;
  border:3px solid #1a1a1a;
  border-radius:15px;
  background:linear-gradient(180deg,#ffe773,#ffca22);
  color:#171717;
  box-shadow:0 10px 24px rgba(0,0,0,.19);
  transform-origin:50% 100%;
}
.minions-promo__premiere-sign b{font:900 15px/1 Arial,sans-serif;letter-spacing:.05em;}
.minions-promo__premiere-sign small{margin-top:5px;font:900 11px/1 Arial,sans-serif;}
.minions-promo__banana-peels i{
  position:absolute;
  width:22px;
  height:11px;
  border:4px solid #f2ca20;
  border-top:0;
  border-radius:0 0 18px 18px;
}
.minions-promo__banana-peels i:nth-child(1){left:10px;bottom:2px;transform:rotate(-16deg);}
.minions-promo__banana-peels i:nth-child(2){right:9px;bottom:12px;transform:rotate(24deg);}
.minions-promo__banana-peels i:nth-child(3){left:42%;top:18px;transform:rotate(-35deg);}
.minions-promo__confetti i{
  position:absolute;
  width:8px;
  height:18px;
  border-radius:3px;
  background:#ff4e6d;
}
.minions-promo__confetti i:nth-child(1){left:8px;top:-15px;background:#ffd63c;}
.minions-promo__confetti i:nth-child(2){left:55px;top:-28px;background:#41d5ff;}
.minions-promo__confetti i:nth-child(3){left:110px;top:-18px;background:#ff76c6;}
.minions-promo__confetti i:nth-child(4){right:90px;top:-25px;background:#5ce06f;}
.minions-promo__confetti i:nth-child(5){right:38px;top:-8px;background:#ff9b37;}
.minions-promo__confetti i:nth-child(6){right:4px;top:-30px;background:#7f7aff;}
.minions-promo__actor--dj{left:-235px;bottom:8vh;}
.minions-promo__actor--banana{right:-245px;bottom:10vh;}
.minions-promo__actor--coffee{left:-205px;top:clamp(150px,28vh,330px);}
.minions-promo__actor--hula{left:50%;bottom:-260px;transform:translateX(-50%);}
.minions-promo__actor--teddy{right:18px;bottom:-250px;}
.minions-promo__actor--rope{left:clamp(120px,72vw,calc(100vw - 140px));top:-360px;}
.minions-promo__actor--parade{left:-390px;top:88px;gap:10px;align-items:center;}
.minions-promo__actor--dj.is-active{animation:scene-dj 7.6s linear both;}
.minions-promo__actor--dj.is-active .minion-sprite{animation:dj-bounce .36s ease-in-out infinite alternate;}
.minions-promo__actor--dj.is-active .minions-promo__notes i{animation:float-note 1.15s ease-in-out infinite;}
.minions-promo__actor--dj.is-active .minions-promo__notes i:nth-child(2){animation-delay:.2s;}
.minions-promo__actor--dj.is-active .minions-promo__notes i:nth-child(3){animation-delay:.4s;}
.minions-promo__actor--banana.is-active{animation:scene-banana 6.5s cubic-bezier(.18,.82,.26,1) both;}
.minions-promo__actor--banana.is-active .minion-sprite{animation:banana-dance .48s ease-in-out infinite alternate;}
.minions-promo__actor--banana.is-active .minions-promo__banana-peels i{animation:peel-pop 1.1s ease-in-out infinite;}
.minions-promo__actor--coffee.is-active{animation:scene-coffee 6.1s ease-in-out both;}
.minions-promo__actor--coffee.is-active .minion-sprite{animation:coffee-grumble .75s ease-in-out infinite alternate;}
.minions-promo__actor--coffee.is-active .minions-promo__steam i{animation:steam-rise 1.6s ease-in-out infinite;}
.minions-promo__actor--coffee.is-active .minions-promo__steam i:nth-child(2){animation-delay:.25s;}
.minions-promo__actor--coffee.is-active .minions-promo__steam i:nth-child(3){animation-delay:.5s;}
.minions-promo__actor--hula.is-active{animation:scene-hula 6.9s ease-in-out both;}
.minions-promo__actor--hula.is-active .minion-sprite{animation:hula-sway .48s ease-in-out infinite alternate;}
.minions-promo__actor--hula.is-active .minions-promo__flowers i{animation:flower-pop .9s ease-in-out infinite;}
.minions-promo__actor--hula.is-active .minions-promo__flowers i:nth-child(2){animation-delay:.2s;}
.minions-promo__actor--hula.is-active .minions-promo__flowers i:nth-child(3){animation-delay:.4s;}
.minions-promo__actor--hula.is-active .minions-promo__flowers i:nth-child(4){animation-delay:.6s;}
.minions-promo__actor--teddy.is-active{animation:scene-teddy 6.4s cubic-bezier(.2,.85,.28,1) both;}
.minions-promo__actor--teddy.is-active .minion-sprite{animation:teddy-wave .55s ease-in-out infinite alternate;}
.minions-promo__actor--teddy.is-active .minions-promo__hearts i{animation:heart-float 1.25s ease-in-out infinite;}
.minions-promo__actor--teddy.is-active .minions-promo__hearts i:nth-child(2){animation-delay:.3s;}
.minions-promo__actor--teddy.is-active .minions-promo__hearts i:nth-child(3){animation-delay:.6s;}
.minions-promo__actor--rope.is-active{animation:scene-rope 7.2s ease-in-out both;}
.minions-promo__actor--rope.is-active .minion-sprite{animation:rope-swing 1.15s ease-in-out infinite alternate;}
.minions-promo__actor--parade.is-active{animation:scene-parade 8.2s linear both;}
.minions-promo__actor--parade.is-active .minion-sprite--parade-a{animation:parade-a .42s ease-in-out infinite alternate;}
.minions-promo__actor--parade.is-active .minion-sprite--parade-b{animation:parade-b .42s ease-in-out infinite alternate;}
.minions-promo__actor--parade.is-active .minions-promo__premiere-sign{animation:sign-wobble .65s ease-in-out infinite alternate;}
.minions-promo__actor--parade.is-active .minions-promo__confetti i{animation:confetti-fall 1.35s linear infinite;}
@keyframes minion-bubble-in{to{opacity:1;transform:translateX(-50%) translateY(0) scale(1);}}
@keyframes scene-dj{0%{transform:translateX(0) rotate(-3deg);opacity:0}6%{opacity:1}82%{transform:translateX(calc(100vw + 260px)) rotate(2deg);opacity:1}100%{transform:translateX(calc(100vw + 360px)) rotate(8deg);opacity:0}}
@keyframes dj-bounce{from{transform:translateY(0) rotate(-3deg) scale(1)}to{transform:translateY(-10px) rotate(4deg) scale(1.02,.98)}}
@keyframes float-note{0%,100%{transform:translateY(0) rotate(-8deg);opacity:.35}50%{transform:translateY(-22px) rotate(10deg);opacity:1}}
@keyframes scene-banana{0%{transform:translateX(0);opacity:0}14%{transform:translateX(-205px);opacity:1}78%{transform:translateX(-205px);opacity:1}100%{transform:translateX(0);opacity:0}}
@keyframes banana-dance{from{transform:rotate(-7deg) translateY(0)}to{transform:rotate(8deg) translateY(-8px)}}
@keyframes peel-pop{0%,100%{transform:translateY(0) rotate(-18deg);opacity:.35}50%{transform:translateY(-8px) rotate(18deg);opacity:1}}
@keyframes scene-coffee{0%{transform:translateX(0);opacity:0}13%{transform:translateX(182px);opacity:1}30%{transform:translateX(168px);opacity:1}48%{transform:translateX(188px);opacity:1}78%{transform:translateX(178px);opacity:1}100%{transform:translateX(0);opacity:0}}
@keyframes coffee-grumble{from{transform:translateY(0) rotate(-1.5deg)}to{transform:translateY(-4px) rotate(1.5deg)}}
@keyframes steam-rise{0%{transform:translateY(15px) scale(.8);opacity:0}40%{opacity:.9}100%{transform:translateY(-22px) scale(1.1);opacity:0}}
@keyframes scene-hula{0%{transform:translateX(-50%) translateY(0) scale(.9);opacity:0}14%{transform:translateX(-50%) translateY(-220px) scale(1);opacity:1}82%{transform:translateX(-50%) translateY(-220px) scale(1);opacity:1}100%{transform:translateX(-50%) translateY(0) scale(.9);opacity:0}}
@keyframes hula-sway{from{transform:rotate(-7deg) translateX(-4px)}to{transform:rotate(7deg) translateX(4px)}}
@keyframes flower-pop{0%,100%{transform:scale(.7) rotate(-10deg);opacity:.35}50%{transform:scale(1.2) rotate(12deg);opacity:1}}
@keyframes scene-teddy{0%{transform:translateY(0) rotate(7deg);opacity:0}16%{transform:translateY(-212px) rotate(0);opacity:1}82%{transform:translateY(-212px) rotate(0);opacity:1}100%{transform:translateY(0) rotate(-7deg);opacity:0}}
@keyframes teddy-wave{from{transform:rotate(-3deg) translateY(0)}to{transform:rotate(4deg) translateY(-5px)}}
@keyframes heart-float{0%,100%{transform:translateY(5px) scale(.7);opacity:.2}50%{transform:translateY(-24px) scale(1.15);opacity:1}}
@keyframes scene-rope{0%{transform:translateY(0);opacity:0}10%{opacity:1}34%{transform:translateY(350px);opacity:1}76%{transform:translateY(350px);opacity:1}100%{transform:translateY(-45px);opacity:0}}
@keyframes rope-swing{from{transform:rotate(-10deg)}to{transform:rotate(10deg)}}
@keyframes scene-parade{0%{transform:translateX(0);opacity:0}5%{opacity:1}88%{transform:translateX(calc(100vw + 400px));opacity:1}100%{transform:translateX(calc(100vw + 480px));opacity:0}}
@keyframes parade-a{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-8px) rotate(3deg)}}
@keyframes parade-b{from{transform:translateY(-7px) rotate(4deg)}to{transform:translateY(0) rotate(-4deg)}}
@keyframes sign-wobble{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
@keyframes confetti-fall{0%{transform:translateY(-12px) rotate(0);opacity:0}25%{opacity:1}100%{transform:translateY(110px) rotate(230deg);opacity:0}}
@media(max-width:900px){
  .minion-sprite--dj{width:165px}.minion-sprite--banana{width:170px}.minion-sprite--hula{width:185px}.minion-sprite--teddy{width:180px}
  .minions-promo__actor--parade{top:96px;}
}
@media(max-width:700px){
  .minions-promo__actor--dj,.minions-promo__actor--rope,.minions-promo__actor--parade{display:none;}
  .minions-promo__actor--coffee{top:auto;bottom:105px;}
  .minions-promo__actor--banana{bottom:110px;}
  .minions-promo__actor--teddy{right:4px;}
  .minion-sprite--coffee{width:145px}.minion-sprite--banana{width:150px}.minion-sprite--hula{width:160px}.minion-sprite--teddy{width:155px}
  .minions-promo__bubble{font-size:11px;max-width:190px;white-space:normal;text-align:center;}
}
@media(prefers-reduced-motion:reduce){.minions-promo{display:none!important;}}

/* --- Minion Chaos v2 overrides --- */
.minions-promo__close{bottom:20px;right:20px;}
.minions-promo__actor{transition:filter .2s ease;}
.minions-promo__actor.is-active:hover{filter:drop-shadow(0 22px 18px rgba(0,0,0,.28)) drop-shadow(0 8px 8px rgba(0,0,0,.2));}
.minions-promo__bubble--cta{
  background:linear-gradient(180deg,#ffe77a,#ffc92b);
  color:#151515;
}
.minions-promo__bubble--cta::after{background:#ffc92b;}

.minions-promo__actor--swarm{
  left:-560px;
  bottom:2vh;
  align-items:flex-end;
  gap:8px;
}
.minions-promo__actor--jam{
  right:-420px;
  top:94px;
  align-items:flex-end;
  gap:8px;
}
.minion-sprite--swarm-a{width:110px;z-index:2;}
.minion-sprite--swarm-b{width:140px;z-index:4; margin-left:-10px;}
.minion-sprite--swarm-c{width:120px;z-index:3; margin-left:-6px;}
.minion-sprite--swarm-d{width:150px;z-index:2; margin-left:-18px;}
.minion-sprite--jam-left{width:170px;z-index:3;}
.minion-sprite--jam-right{width:155px;z-index:4; margin-left:-10px;}
.minions-promo__chaos-bg{
  position:absolute;
  left:-26px;
  right:-26px;
  bottom:8px;
  height:86px;
  border-radius:999px;
  background:radial-gradient(ellipse,rgba(255,226,116,.46),rgba(255,226,116,0) 70%);
  filter:blur(5px);
}
.minions-promo__chaos-icons,
.minions-promo__jam-stars{position:absolute;inset:0;pointer-events:none;}
.minions-promo__chaos-icons i{
  position:absolute;
  font-style:normal;
  font-size:26px;
  filter:drop-shadow(0 6px 6px rgba(0,0,0,.12));
}
.minions-promo__chaos-icons i:nth-child(1){left:14px;top:8px;}
.minions-promo__chaos-icons i:nth-child(2){left:120px;top:-8px;}
.minions-promo__chaos-icons i:nth-child(3){left:220px;top:18px;}
.minions-promo__chaos-icons i:nth-child(4){right:158px;top:-4px;}
.minions-promo__chaos-icons i:nth-child(5){right:82px;top:24px;}
.minions-promo__chaos-icons i:nth-child(6){right:12px;top:6px;}
.minions-promo__jam-floor{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  height:26px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(132,85,255,.20),rgba(255,210,59,.34),rgba(70,209,255,.22));
  filter:blur(2px);
}
.minions-promo__jam-stars i{
  position:absolute;
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
  background:radial-gradient(circle,#fff8c2 0 35%,#ffd53c 36% 100%);
  filter:drop-shadow(0 4px 6px rgba(0,0,0,.12));
}
.minions-promo__jam-stars i:nth-child(1){left:24px;top:22px;}
.minions-promo__jam-stars i:nth-child(2){left:118px;top:-4px;}
.minions-promo__jam-stars i:nth-child(3){left:182px;top:26px;}
.minions-promo__jam-stars i:nth-child(4){right:108px;top:6px;}
.minions-promo__jam-stars i:nth-child(5){right:22px;top:26px;}

.minions-promo__actor--swarm.is-active{animation:scene-swarm 9s linear both;}
.minions-promo__actor--swarm.is-active .minion-sprite--swarm-a{animation:swarm-a .45s ease-in-out infinite alternate;}
.minions-promo__actor--swarm.is-active .minion-sprite--swarm-b{animation:swarm-b .36s ease-in-out infinite alternate;}
.minions-promo__actor--swarm.is-active .minion-sprite--swarm-c{animation:swarm-c .42s ease-in-out infinite alternate;}
.minions-promo__actor--swarm.is-active .minion-sprite--swarm-d{animation:swarm-d .52s ease-in-out infinite alternate;}
.minions-promo__actor--swarm.is-active .minions-promo__chaos-icons i{animation:chaos-icon-pop .85s ease-in-out infinite;}
.minions-promo__actor--swarm.is-active .minions-promo__chaos-icons i:nth-child(2){animation-delay:.1s;}
.minions-promo__actor--swarm.is-active .minions-promo__chaos-icons i:nth-child(3){animation-delay:.2s;}
.minions-promo__actor--swarm.is-active .minions-promo__chaos-icons i:nth-child(4){animation-delay:.3s;}
.minions-promo__actor--swarm.is-active .minions-promo__chaos-icons i:nth-child(5){animation-delay:.4s;}
.minions-promo__actor--swarm.is-active .minions-promo__chaos-icons i:nth-child(6){animation-delay:.5s;}

.minions-promo__actor--jam.is-active{animation:scene-jam 7.6s ease-in-out both;}
.minions-promo__actor--jam.is-active .minion-sprite--jam-left{animation:jam-left .48s ease-in-out infinite alternate;}
.minions-promo__actor--jam.is-active .minion-sprite--jam-right{animation:jam-right .44s ease-in-out infinite alternate;}
.minions-promo__actor--jam.is-active .minions-promo__jam-stars i{animation:jam-stars 1s ease-in-out infinite;}
.minions-promo__actor--jam.is-active .minions-promo__jam-stars i:nth-child(2){animation-delay:.15s;}
.minions-promo__actor--jam.is-active .minions-promo__jam-stars i:nth-child(3){animation-delay:.3s;}
.minions-promo__actor--jam.is-active .minions-promo__jam-stars i:nth-child(4){animation-delay:.45s;}
.minions-promo__actor--jam.is-active .minions-promo__jam-stars i:nth-child(5){animation-delay:.6s;}

@keyframes scene-swarm{
  0%{transform:translateX(0) translateY(8px);opacity:0}
  5%{opacity:1}
  82%{transform:translateX(calc(100vw + 620px)) translateY(-4px);opacity:1}
  100%{transform:translateX(calc(100vw + 700px)) translateY(14px);opacity:0}
}
@keyframes swarm-a{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-9px) rotate(4deg)}}
@keyframes swarm-b{from{transform:translateY(-6px) rotate(-6deg)}to{transform:translateY(0) rotate(5deg)}}
@keyframes swarm-c{from{transform:translateY(0) rotate(4deg)}to{transform:translateY(-12px) rotate(-3deg)}}
@keyframes swarm-d{from{transform:translateY(-3px) rotate(-2deg)}to{transform:translateY(7px) rotate(3deg)}}
@keyframes chaos-icon-pop{0%,100%{transform:translateY(0) scale(.8);opacity:.25}50%{transform:translateY(-14px) scale(1.18);opacity:1}}

@keyframes scene-jam{
  0%{transform:translateX(0) scale(.96);opacity:0}
  12%{transform:translateX(-270px) scale(1);opacity:1}
  84%{transform:translateX(-270px) scale(1);opacity:1}
  100%{transform:translateX(0) scale(.98);opacity:0}
}
@keyframes jam-left{from{transform:rotate(-8deg) translateY(0)}to{transform:rotate(6deg) translateY(-10px)}}
@keyframes jam-right{from{transform:rotate(5deg) translateY(-3px)}to{transform:rotate(-7deg) translateY(6px)}}
@keyframes jam-stars{0%,100%{transform:translateY(0) scale(.7);opacity:.3}50%{transform:translateY(-10px) scale(1.22);opacity:1}}

@media (max-width: 980px){
  .minions-promo__actor--swarm{left:-520px;bottom:10px;transform:scale(.88);transform-origin:0 100%;}
  .minions-promo__actor--jam{top:auto;bottom:148px;right:-350px;transform:scale(.84);transform-origin:100% 100%;}
}
@media (max-width: 700px){
  .minions-promo__actor--swarm,.minions-promo__actor--jam,.minions-promo__actor--parade,.minions-promo__actor--rope{display:none;}
  .minions-promo__bubble{font-size:12px;}
}

/* --- Minion Chaos v6: extra cartoon-inspired cycles --- */
.minions-promo__actor--tower{
  left:50%;
  bottom:-420px;
  width:260px;
  height:410px;
  transform:translateX(-50%);
}
.minions-promo__tower-shadow{
  position:absolute;
  left:50%;
  bottom:8px;
  width:190px;
  height:28px;
  border-radius:50%;
  background:rgba(0,0,0,.18);
  filter:blur(5px);
  transform:translateX(-50%);
}
.minion-sprite--tower-bottom,
.minion-sprite--tower-middle,
.minion-sprite--tower-top{position:absolute;left:50%;transform-origin:50% 100%;}
.minion-sprite--tower-bottom{bottom:14px;width:150px;transform:translateX(-50%);z-index:3;}
.minion-sprite--tower-middle{bottom:128px;width:132px;transform:translateX(-50%) rotate(-3deg);z-index:4;}
.minion-sprite--tower-top{bottom:246px;width:118px;transform:translateX(-50%) rotate(4deg);z-index:5;}
.minions-promo__actor--tower.is-active{animation:scene-tower 7.6s ease-in-out both;}
.minions-promo__actor--tower.is-active .minion-sprite--tower-bottom{animation:tower-bottom .55s ease-in-out infinite alternate;}
.minions-promo__actor--tower.is-active .minion-sprite--tower-middle{animation:tower-middle .48s ease-in-out infinite alternate;}
.minions-promo__actor--tower.is-active .minion-sprite--tower-top{animation:tower-top .42s ease-in-out infinite alternate;}

.minions-promo__actor--banana-rain{
  right:-240px;
  bottom:7vh;
  width:250px;
  height:310px;
}
.minion-sprite--banana-rain{position:absolute;right:18px;bottom:0;width:180px;z-index:4;}
.minions-promo__rain{position:absolute;inset:-130px -70px 0 -180px;overflow:visible;pointer-events:none;}
.minions-promo__rain i{position:absolute;top:-40px;font-style:normal;font-size:30px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.15));}
.minions-promo__rain i:nth-child(1){left:4%;animation-delay:0s;}
.minions-promo__rain i:nth-child(2){left:17%;animation-delay:.4s;}
.minions-promo__rain i:nth-child(3){left:31%;animation-delay:.8s;}
.minions-promo__rain i:nth-child(4){left:47%;animation-delay:1.2s;}
.minions-promo__rain i:nth-child(5){left:61%;animation-delay:.2s;}
.minions-promo__rain i:nth-child(6){left:74%;animation-delay:.7s;}
.minions-promo__rain i:nth-child(7){left:86%;animation-delay:1.1s;}
.minions-promo__rain i:nth-child(8){left:95%;animation-delay:1.45s;}
.minions-promo__actor--banana-rain.is-active{animation:scene-banana-rain 7.4s ease-in-out both;}
.minions-promo__actor--banana-rain.is-active .minion-sprite--banana-rain{animation:banana-rain-dance .38s ease-in-out infinite alternate;}
.minions-promo__actor--banana-rain.is-active .minions-promo__rain i{animation:banana-fall 1.65s linear infinite;}

.minions-promo__actor--lab{
  left:-360px;
  top:20vh;
  width:330px;
  height:250px;
  align-items:flex-end;
}
.minion-sprite--lab{position:absolute;left:112px;bottom:0;width:170px;z-index:4;}
.minions-promo__lab-machine{
  position:absolute;
  left:0;
  bottom:12px;
  width:128px;
  height:112px;
  border:4px solid #27303d;
  border-radius:22px;
  background:linear-gradient(180deg,#8b98a8,#4d5968);
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.12),0 12px 24px rgba(0,0,0,.18);
}
.minions-promo__lab-machine::before{
  content:"";
  position:absolute;
  left:22px;
  top:18px;
  width:76px;
  height:38px;
  border:3px solid #202735;
  border-radius:11px;
  background:linear-gradient(180deg,#b9ff7e,#50c96c);
  box-shadow:inset 0 0 14px rgba(255,255,255,.48);
}
.minions-promo__lab-machine::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:18px;
  height:10px;
  border-radius:999px;
  background:repeating-linear-gradient(90deg,#f3c53a 0 12px,#242936 12px 24px);
}
.minions-promo__lab-machine i{
  position:absolute;
  top:65px;
  width:16px;
  height:16px;
  border-radius:50%;
  border:2px solid #252c38;
  background:#ff4f5d;
}
.minions-promo__lab-machine i:nth-child(1){left:24px;background:#ff4f5d;}
.minions-promo__lab-machine i:nth-child(2){left:53px;background:#ffd43d;}
.minions-promo__lab-machine i:nth-child(3){left:82px;background:#65e27c;}
.minions-promo__lab-bubbles{position:absolute;left:10px;top:-20px;width:150px;height:120px;pointer-events:none;}
.minions-promo__lab-bubbles i{
  position:absolute;
  bottom:0;
  width:20px;
  height:20px;
  border:3px solid rgba(156,255,178,.88);
  border-radius:50%;
  background:rgba(116,255,160,.16);
}
.minions-promo__lab-bubbles i:nth-child(1){left:12px;width:17px;height:17px;animation-delay:0s;}
.minions-promo__lab-bubbles i:nth-child(2){left:36px;width:24px;height:24px;animation-delay:.25s;}
.minions-promo__lab-bubbles i:nth-child(3){left:66px;width:14px;height:14px;animation-delay:.5s;}
.minions-promo__lab-bubbles i:nth-child(4){left:92px;width:30px;height:30px;animation-delay:.75s;}
.minions-promo__lab-bubbles i:nth-child(5){left:122px;width:18px;height:18px;animation-delay:1s;}
.minions-promo__actor--lab.is-active{animation:scene-lab 7.8s cubic-bezier(.2,.85,.28,1) both;}
.minions-promo__actor--lab.is-active .minion-sprite--lab{animation:lab-minion .43s ease-in-out infinite alternate;}
.minions-promo__actor--lab.is-active .minions-promo__lab-machine{animation:lab-machine .27s ease-in-out infinite alternate;}
.minions-promo__actor--lab.is-active .minions-promo__lab-machine i{animation:lab-light .65s steps(1,end) infinite;}
.minions-promo__actor--lab.is-active .minions-promo__lab-bubbles i{animation:lab-bubble-rise 1.7s ease-in infinite;}

.minions-promo__actor--projector{
  left:26px;
  bottom:12vh;
  width:430px;
  height:220px;
  align-items:flex-end;
}
.minion-sprite--projector{position:absolute;left:0;bottom:0;width:135px;z-index:5;}
.minions-promo__projector{
  position:absolute;
  left:110px;
  bottom:32px;
  width:100px;
  height:72px;
  border:4px solid #242a33;
  border-radius:16px;
  background:linear-gradient(180deg,#7a8797,#47515f);
  z-index:4;
}
.minions-promo__projector::before,
.minions-promo__projector::after{
  content:"";
  position:absolute;
  top:-48px;
  width:58px;
  height:58px;
  border:5px solid #2c333e;
  border-radius:50%;
  background:radial-gradient(circle at center,#667384 0 18%,#2b313a 19% 33%,#aab4c1 34% 48%,#2b313a 49% 100%);
}
.minions-promo__projector::before{left:-8px;}
.minions-promo__projector::after{right:-8px;}
.minions-promo__projector i:first-child{
  position:absolute;
  right:-34px;
  top:16px;
  width:40px;
  height:32px;
  border-radius:0 10px 10px 0;
  background:#282f39;
}
.minions-promo__projector i:last-child{
  position:absolute;
  left:16px;
  right:16px;
  bottom:-12px;
  height:12px;
  border-radius:0 0 10px 10px;
  background:#262c35;
}
.minions-promo__projector-beam{
  position:absolute;
  left:196px;
  bottom:50px;
  width:230px;
  height:92px;
  clip-path:polygon(0 38%,100% 0,100% 100%,0 62%);
  background:linear-gradient(90deg,rgba(255,242,169,.65),rgba(255,242,169,.08));
  filter:blur(1px);
  opacity:.68;
  z-index:2;
}
.minions-promo__screen-card{
  position:absolute;
  right:0;
  bottom:27px;
  width:150px;
  height:110px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:5px solid #1d232c;
  border-radius:14px;
  background:linear-gradient(180deg,#fff6c9,#ffe37c);
  color:#1b1b1b;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  z-index:3;
}
.minions-promo__screen-card b{font:900 18px/1 Arial,sans-serif;letter-spacing:.06em;}
.minions-promo__screen-card small{margin-top:7px;font:900 14px/1 Arial,sans-serif;}
.minions-promo__actor--projector.is-active{animation:scene-projector 8.2s ease-in-out both;}
.minions-promo__actor--projector.is-active .minion-sprite--projector{animation:projector-minion .55s ease-in-out infinite alternate;}
.minions-promo__actor--projector.is-active .minions-promo__projector::before{animation:reel-left 1.15s linear infinite;}
.minions-promo__actor--projector.is-active .minions-promo__projector::after{animation:reel-right 1.15s linear infinite reverse;}
.minions-promo__actor--projector.is-active .minions-promo__projector-beam{animation:beam-flicker .32s steps(2,end) infinite;}
.minions-promo__actor--projector.is-active .minions-promo__screen-card{animation:screen-card .8s ease-in-out infinite alternate;}

@keyframes scene-tower{
  0%{transform:translateX(-50%) translateY(0);opacity:0}
  14%{transform:translateX(-50%) translateY(-392px);opacity:1}
  72%{transform:translateX(-50%) translateY(-392px) rotate(0);opacity:1}
  84%{transform:translateX(-50%) translateY(-392px) rotate(9deg);opacity:1}
  100%{transform:translateX(-50%) translateY(-160px) rotate(24deg);opacity:0}
}
@keyframes tower-bottom{from{transform:translateX(-50%) rotate(-2deg)}to{transform:translateX(-50%) rotate(2deg)}}
@keyframes tower-middle{from{transform:translateX(-50%) rotate(-7deg)}to{transform:translateX(-50%) rotate(6deg)}}
@keyframes tower-top{from{transform:translateX(-50%) rotate(9deg)}to{transform:translateX(-50%) rotate(-8deg)}}

@keyframes scene-banana-rain{
  0%{transform:translateX(0);opacity:0}
  14%{transform:translateX(-205px);opacity:1}
  82%{transform:translateX(-205px);opacity:1}
  100%{transform:translateX(0);opacity:0}
}
@keyframes banana-rain-dance{from{transform:translateY(0) rotate(-6deg)}to{transform:translateY(-9px) rotate(7deg)}}
@keyframes banana-fall{0%{transform:translateY(-20px) rotate(0);opacity:0}12%{opacity:1}100%{transform:translateY(330px) rotate(320deg);opacity:0}}

@keyframes scene-lab{
  0%{transform:translateX(0);opacity:0}
  12%{transform:translateX(350px);opacity:1}
  78%{transform:translateX(350px);opacity:1}
  88%{transform:translateX(350px) translateY(-8px) rotate(-2deg);opacity:1}
  100%{transform:translateX(0) rotate(4deg);opacity:0}
}
@keyframes lab-minion{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-5px) rotate(2deg)}}
@keyframes lab-machine{from{transform:translateX(-2px) rotate(-.6deg)}to{transform:translateX(2px) rotate(.6deg)}}
@keyframes lab-light{0%,49%{filter:brightness(.7)}50%,100%{filter:brightness(1.45)}}
@keyframes lab-bubble-rise{0%{transform:translateY(30px) scale(.5);opacity:0}20%{opacity:1}100%{transform:translateY(-100px) scale(1.25);opacity:0}}

@keyframes scene-projector{
  0%{transform:translateY(80px);opacity:0}
  12%{transform:translateY(0);opacity:1}
  84%{transform:translateY(0);opacity:1}
  100%{transform:translateY(80px);opacity:0}
}
@keyframes projector-minion{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-4px) rotate(2deg)}}
@keyframes reel-left{to{transform:rotate(360deg)}}
@keyframes reel-right{to{transform:rotate(360deg)}}
@keyframes beam-flicker{0%,100%{opacity:.48}50%{opacity:.8}}
@keyframes screen-card{from{transform:rotate(-1.5deg) scale(.99)}to{transform:rotate(1.5deg) scale(1.01)}}

@media (max-width:980px){
  .minions-promo__actor--projector{transform:scale(.8);transform-origin:0 100%;}
  .minions-promo__actor--tower{transform:translateX(-50%) scale(.82);transform-origin:50% 100%;}
  .minions-promo__actor--lab{transform:scale(.82);transform-origin:0 50%;}
}
@media (max-width:700px){
  .minions-promo__actor--tower,
  .minions-promo__actor--lab,
  .minions-promo__actor--projector{display:none;}
  .minions-promo__actor--banana-rain{right:-210px;transform:scale(.82);transform-origin:100% 100%;}
}

/* --- v6.1: no-overlap layout --- */
.minions-promo__actor--tower{
  width:420px;
  height:210px;
  bottom:-235px;
}
.minions-promo__actor--tower .minion-sprite--tower-bottom,
.minions-promo__actor--tower .minion-sprite--tower-middle,
.minions-promo__actor--tower .minion-sprite--tower-top{
  bottom:16px;
  z-index:3;
}
.minions-promo__actor--tower .minion-sprite--tower-bottom{
  left:18%;
  width:118px;
}
.minions-promo__actor--tower .minion-sprite--tower-middle{
  left:50%;
  width:126px;
}
.minions-promo__actor--tower .minion-sprite--tower-top{
  left:82%;
  width:112px;
}
.minions-promo__actor--tower .minions-promo__tower-shadow{
  width:360px;
}
.minions-promo__actor--tower.is-active{
  animation:scene-tower-row 7.6s ease-in-out both;
}

.minions-promo__actor--swarm{
  gap:16px;
}
.minions-promo__actor--swarm .minion-sprite{
  margin-left:0 !important;
}
.minion-sprite--swarm-a{width:102px;}
.minion-sprite--swarm-b{width:122px;}
.minion-sprite--swarm-c{width:108px;}
.minion-sprite--swarm-d{width:128px;}

.minions-promo__actor--jam{
  gap:18px;
}
.minions-promo__actor--jam .minion-sprite{
  margin-left:0 !important;
}

@keyframes scene-tower-row{
  0%{transform:translateX(-50%) translateY(0);opacity:0}
  14%{transform:translateX(-50%) translateY(-205px);opacity:1}
  76%{transform:translateX(-50%) translateY(-205px);opacity:1}
  88%{transform:translateX(-50%) translateY(-215px) rotate(-2deg);opacity:1}
  100%{transform:translateX(-50%) translateY(0) rotate(2deg);opacity:0}
}

@media (max-width:980px){
  .minions-promo__actor--tower{
    width:360px;
    transform:translateX(-50%) scale(.82);
  }
}
